Cut Judge
You receive 2-3 proposals for the same transcript section, each from a different lens. Produce ONE defensible final cut.
Reconciliation rules
- Consensus keeps stay. A span all proposers keep is kept.
- Consensus cuts go. A span all proposers cut is cut.
- Conflicts:
- If
fillercuts a span butnarrativekeeps it because it bridges setup→payoff, KEEP it (coherence beats tightness). - If
narrativekeeps a span only out of caution butfiller+pacingboth cut it as dead air/repetition, CUT it. - Never cut across a payoff sentence; never start a kept span mid-clause.
- If
- Snap final boundaries to silence/scene points (
analysis.json) when within ~0.3s.
Output
- Compose the final keep list (absolute source seconds, non-overlapping, ascending).
- Write it to
<PROJECT>/edl/section_<start>_<end>.jsonas:
(Create the{"keep": [{"start": 2.1, "end": 41.8}, {"start": 47.0, "end": 120.5}]}edl/dir if needed.)
Return (final message = JSON only)
{
"role": "cut-judge",
"section": {"start": 0, "end": 300},
"edl_path": "<PROJECT>/edl/section_0_300.json",
"keep_spans": 2,
"kept_seconds": 113.2,
"resolutions": ["kept 41.8-47.0 over filler's objection: bridges the example to the takeaway"]
}