Operators & contributors
Boundary Tuning
All shot-boundary work lives under this name: where you record human verified cuts, run detection against gold, score presets, optionally get plain-language insights, publish profiles for the ingest picker, and dig into JSON. Composition and Gemini classification are global — this hub is only about when shots start and end.
How the journey flows
Follow the steps in order the first time; later you can jump straight to the workspace or annotator.
- 1
Human verified cuts
Open annotator →Mark interior hard-cut times in seconds on the same clock as your reference file. Download JSON for CLI, or save artifacts. To drive in-app eval and guided prep, append revisions with
POST /api/eval-gold-revisions(see tuning workspace copy). - 2
Guided prep
Start guided prep →Pick film, gold revision, and baseline preset; run boundary-detect on your worker; save eval; optional Gemini explanation; publish a preset for the shared ingest library.
- 3
Workspace
Open workspace →Global presets (duplicate, community visibility, JSON), gold revision list, worker detect, eval runs, and applying a default preset to a film row.
- 4
Ingest
Run ingest →Choose a boundary model on the ingest form (or Auto), then run the full pipeline. Worker env should align with your winning preset when you are not passing a DB preset id.
Reference · Cemented Ran baseline (2026-04-11)
Locked after merge-gap and multi-knob sweeps; evidence links below. Use as the default system preset in the database after pnpm db:seed / push.
| Knob | Value | Notes |
|---|---|---|
| METROVISION_BOUNDARY_DETECTOR | pyscenedetect_ensemble_pyscene | Dual PyScene + merge. Single adaptive/content scored lower on Ran human verified cuts. |
| METROVISION_BOUNDARY_MERGE_GAP_SEC | 0.18 | Recall-first default (code + DB preset). Ran1243 ensemble plateau 0.12–0.45 — use 0.22 only to match older CLI logs. |
| Extras / fusion | None + merge_flat | No TransNet in baseline. Use merge_flat when adding --extra-cuts. |
| Eval tolerance | 0.5 s | Primary F1 benchmark. Loosen only for reporting, not detector quality. |
| Reference benchmark | P ≈ 0.784 · R ≈ 0.817 · F1 = 0.80 (tol 0.5) vs gold-ran-2026-04-10.json | |
CLI (same contract)
- pnpm detect:export-cuts — detect-only JSON
- pnpm eval:pipeline — gold vs predicted metrics
- pnpm eval:boundary-misses — FN/FP lists
export METROVISION_BOUNDARY_DETECTOR=pyscenedetect_ensemble_pyscene export METROVISION_BOUNDARY_MERGE_GAP_SEC=0.18 pnpm detect:export-cuts -- /path/to/Ran1243.mov --start 0 --end 780 \ --gold eval/gold/gold-ran-2026-04-10.json --tol 0.5 \ --fusion-policy merge_flat --out eval/predicted/run.json
Evidence & logs (GitHub)
- eval/runs/STATUS.md — living baseline + CEMENTED section
- Knob sweep summary + .log
- Merge-gap sweep summary + .log
- docs/tuning-flow.md — staged workflow (CLI → product)
Canonical S3 object: s3://metrovision-superai/films/ran-1985/source/Ran1243.mov. Use a fresh presigned URL to download; do not commit presigned links.
Roadmap
In-app HITL boundary review and multi-film gold corpora are later phases (see .planning/ROADMAP.md). This hub links the shipped Boundary Tuning surfaces; deep eval history stays in Git until those land.