MeridiansMeridians

Extraction jobs [UI]

From the Meridians Wiki · Public · Maintained · joint

The surface for turning a corpus into a Domain: a jobs list, a per-job detail with live progress, and a new-job setup. This is the UI over the extraction-pipeline — the same runner that onboarding's Build step drives in the background.

flowchart LR
    Route["/extraction · /extraction/[id]<br/>(also /extensions, scoped by domain)"] --> Shell

    subgraph Shell["ExtractionShell — route-driven switch"]
        direction TB
        List["**JobsList**<br/>all jobs for this domain + status"]
        Detail["**JobDetail**<br/>model map · streamed output · bounded scene transport · logs"]
        Setup["**NewJobSetup**<br/>pick source → configure → start"]
        List -->|"open /extraction/[id]"| Detail
        List -->|"new"| Setup
        Setup -->|"start → background run"| Detail
    end

    Detail -.->|"onStream / onChunkStream / onChunkDone"| Runner(["extraction-runner<br/>concurrent chunks · incremental persist"])
    Runner -.->|"merge to master branch"| Domain(["canonical Domain"])
  • Route segment wins. ExtractionShell opens the job from the /extraction/[id] segment (the legacy ?job= query is a fallback); /extensions scopes by domain rather than a job segment.
  • Detail is live and bounded. The runner streams per-chunk output and done-signals; the detail view reflects concurrent chunk progress and incremental persistence, so a long extraction shows movement and survives a reload. The central model map derives recurrence and provenance in one pass; Overview and World/Fate/System lenses let the operator revisit the extraction in coherent parts, and a selected entry reveals its first supporting scene. Both scene pickers share a bounded window instead of mounting the whole corpus twice.
  • Background by design. Starting a job returns you to a running detail view — extraction runs in the background (the same path onboarding's Build step uses), so you can leave and return.

Where it lives: src/features/extraction/ExtractionShell.tsx · ExtractionJobsList.tsx · ExtractionJobDetail.tsx · ExtractionNewJobSetup.tsx. Routes: src/app/(instance)/{extraction,extensions}/. The pipeline behind it: extraction-pipeline.