resolve_phrase
Resolve a spoken phrase to a word range in a clip's transcript. Handles ambiguous matches via occurrence, falls back to fuzzy matching, and explains when it cannot pinpoint a match.
Instructions
Resolve a phrase to a word range against clip_id's transcript.
What phrase= on cue_add/cue_rm/unspoken_add/unspoken_rm/vo_extend/music/
locate calls internally, exposed on its own so a resolution — including
its full ambiguity list — can be inspected without attempting a write.
Companion to get_transcript with search=, which lists every match
with no cursor/occurrence/fuzzy; this picks exactly one, or explains why
it can't.
after skips matches at or before that word index (forward cursor, -1
means from the start). More than one exact match with no occurrence
given fails with every candidate's word range and text — pass
occurrence (1-based) to pick one, or narrow the phrase. Zero exact
matches falls back to a fuzzy match (fuzzy=False to refuse instead) —
ratio is set only on a fuzzy hit, never disguised as exact. Read-only.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| 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. | |
| after | No | A forward cursor over a phrase's matches: any match at or before this word index is skipped. -1, the default, means from the start. | |
| fuzzy | No | Fall back to a fuzzy match when nothing matches exactly. A fuzzy hit sets `ratio` and is never reported as an exact one; `false` refuses instead. | |
| phrase | Yes | The words to find, as they were spoken. | |
| clip_id | Yes | The transcript to resolve against. | |
| occurrence | No | Disambiguate a phrase by count when it matches more than once, **1-based** in transcript order among the matches after `after`: 1 is the first, 2 the second. Unset, an ambiguous phrase is refused — listing every candidate's range and text — rather than guessed at. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||