Analysis batch runs¶
Related: analysis-run-storage.md, import-run.md, notebook-corpus.md, ocr-batch-run.md, public_surfaces.md.
Role¶
AnalysisBatchRun is a workspace record of “same Analyse plan template × N notebooks”. It does not own published module results. Per-notebook AnalysisCoordinator / AnalysisRunPlan / analysis/<module>/published.json remain execution and publish authority.
Bulk import / OCR never auto-starts Analyse. The UI may offer opt-in CTAs that seed Batch from an ImportRun or notebook id list.
Storage¶
Directory:
{TRANSCRIBE_DATA_DIR}/corpus/analysis-runs/File:
{analysis_batch_id}.jsonFormat:
transcribe.analysis-batch-runschema_version:1
Fields¶
Field |
Rule |
|---|---|
|
Stable UUID; filename stem |
|
|
|
Ordered modules applied to every notebook (hard parents expanded at create) |
|
Ordered detectors applied to every notebook after modules (may be empty); publish under |
|
Optional; same Ask text for every notebook when |
|
Frozen EffectiveConfig snapshot at create |
|
Fingerprint of config + text model + modules + question (template-level) |
|
Frozen text-model identity when any LLM module is included (batch picker / |
|
SHA-256 of execution-significant template fields (excludes per-notebook |
|
Preset identity when launched from a named preset |
|
Optional; set when seeded from an ImportRun |
|
Ordered notebooks; unique |
Item fields¶
Field |
Rule |
|---|---|
|
Locator + display |
|
See item states |
|
Counts from the inner Analyse run |
|
Optional |
|
Optional; project-local |
Item states¶
pending | running | completed | skipped | failed | cancelled
Notebooks with no effective page text are
skipped.A notebook that finishes with mixed module outcomes is
completedwith failed/skipped module counts recorded.Crash while
running: resume resets that item topending(inner cache hits still apply).
Execution¶
Resolve each item to a managed notebook root (corpus index, else project-folder scan).
Build a per-notebook
AnalysisRunPlanfrom the frozen template (newrun_id, thatproject_id, same modules/detectors/config/model/preset/question); verifyplan_hash.AnalysisCoordinator.run_blocking(plan)with nested progress forwarded to the workspace progress snapshot (modules then detectors).One notebook at a time; per-project
.transcribe.analysis.lockstill applies.Cancel: request cancel on the active inner coordinator; do not start remaining notebooks (
cancelleditems).
Non-goals¶
Parallel notebooks in one process
Cross-notebook / corpus-level Analyse synthesis
OCR-style
forcerecompute flagAuto-start Analyse after import or OCR
Replacing per-module or per-detector publish / cache / health semantics
Implementing detectors as analysis modules