continuity_check
Identify rewinds, replays, short shots, and stubs in a cut. Reports findings for your review rather than making automatic decisions.
Instructions
Rewinds, replays, short shots, and film-internal-cut stubs — reports, never decides.
Rewind: a shot lands behind where its own asset last left off, with
under gap seconds of timeline since. Replay: an earlier shot's
source range is re-shown, gap seconds or more later — reported, never
refused, because a deliberate narrative rhyme and a mistake look
identical from the cue table alone. short_shot: under min_shot
seconds (stills excluded). stub: a shot ends or begins right where
its own footage has a real internal cut — likely a fragment rather than
the shot itself.
The stored cold open (head) is walked as a pseudo-shot before the
first real one, so a body shot that rewinds into the head's own footage
is caught the same way a body-to-body rewind is. Overrun is never a
finding: mlt.plan_picture already refuses it structurally, so nothing
reaches this walk having overrun its asset.
stubs=True costs a scene-cut decode per distinct asset placed —
stubs=False skips it. scene_threshold defaults to the pinned 0.15 but
is caller-settable: darker footage from a different film has needed 0.12.
Findings already acknowledged by continuity_accept are dropped unless
the shot moved under the mark, in which case they are kept and marked
accepted_stale: True rather than silently re-suppressed.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| gap | No | How much timeline may pass before re-showing an asset reads as a replay rather than a rewind, in seconds. | |
| path | No | The project directory to act on. Omit it — the usual case — when this server is bound to a project (started as `proofcut -C DIR mcp`, or inside a project; `ping` says which): it then resolves to that one bound project, a relative path resolves against it, and a path outside it is refused by name. Unbound, `path` is the whole address and omitting it refuses rather than guessing. | |
| stubs | No | Look for stubs. On by default, and it costs a scene-cut decode per distinct asset placed — `false` skips that. | |
| min_shot | No | Shortest a shot may run before it is reported as a short shot, in seconds. Stills are excluded. | |
| stub_tolerance | No | How close a shot edge has to sit to its footage's own internal cut to be called a stub, in seconds. | |
| scene_threshold | No | The scene-cut threshold for the stub scan. It defaults to the pinned 0.15, but darker footage from a different film has needed 0.12. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||