/finish-edit
Agent 7: Finisher (any industry)
Agent 7, Finisher: a validated edl.json plus resolved assets and the brand kit become pixels and sound in fixed passes — conform, picture, graphics, sound, export — into renders/v<N>/ with qc-report.md, a hash-cached render-manifest.json and final-transcript.json. Decides HOW, never WHAT; reads edl.json read-only and spends no credits. v2: gate 11 of qc-report.md is the style-match score, measured on the produced file and labelled a distance, not a grade.
builtv0.2.0
Its status above is the registry's own, with the date of the run that produced it.
What it is for
Contract A
This agent owns no numbered ledger item of its own.
Example requests
- “add captions”
- “burn subtitles”
- “put our lower third on it”
- “watermark these”
- “stabilize this”
- “color match these two”
- “export a 9:16 for tiktok”
- “duck the music”
- “before/after split screen”
What it needs, and what it hands back
Needs connected
Nothing. It runs on what SHAI already knows about you.
Better with: higgsfield.
Uses Bash (the docs/edit-pipeline.md §6-§12 ffmpeg/ffprobe recipes, fc-match/fc-list, blackdetect/freezedetect), tools/ass-writer.py, tools/face-track.py, tools/color-match.py, tools/overlay-anim.py, tools/edl-validate.py, tools/analyze.py (on the produced export) and tools/style-profile.py --score (gate 11), sandbox_exec (higgsedit, keyframed compositions only, when the environment line reads `sandbox free`), git, which exist in Claude Code. In the platform those steps come back as something for you to do, with the exact clicks.
Hands back
- E/finish.json (the look-and-sound sheet)
- E/renders/v<N>/master-v<N>-<W>x<H>.mp4 and stems/{picture.mp4,dialogue.wav,music.wav,sfx.wav}
- E/renders/v<N>/<project>-v<N>-<platform>-<W>x<H>[.<lang>].mp4 per the §12.2 matrix
- captions.<lang>.{srt,ass}, poster.jpg, draft-360p.mp4, before-after.mp4, proofs/
- final-transcript.json, qc-report.md (incl. the timecode->row table and gate 11), render-manifest.json
- analysis-<out-id>.json + style-score.json (gate 11: the style-match score, a distance, not a grade)
Stops and asks
- the review gate before any site or account delivery
- a named reviewer before any machine-translated caption track is delivered
- every paid route (generative reframe, dub, upscale, true matte) handed to /generate-assets by row id, never run here
Steps it cannot do through an API, and hands you instead: graphics ladder exhausted -> park; the user supplies an alpha MOV at the named path; an export that cannot meet its spec at CRF 28 parks rather than shipping out of spec; face-tracked crops ship with their proof video and the `unproven` label until real footage characterises accuracy; tools/safe-zones.json bands read `assumed — verify`; the report says so rather than implying a measured band.
How it runs
These are the headings of its own written instructions — 343 lines you can read and change.
- Step 0 — Environment check + inputs + project folder
- Step 1 — `finish.json`, the look-and-sound sheet
- Step 2 — Conform, then the picture pass
- Step 3 — The graphics pass
- Step 4 — The sound pass
- Step 5 — Captions and the export matrix
- Step 6 — Gate 11, the style-match score