Plan/assemble craft: validator-true prose, the signature-safe envelope, and coverage as QA - #21
Merged
Merged
Conversation
…re-safe envelope, and coverage as QA Sync of the plan/edit/assemble refinements from Orkas release_1.6.5 (9378b315a, e2a2797f3, 33904ce59, f9cd7a16d, 13c145d6a, 3b9451d78, fb1cd2991, 8a94dc1c0 context), prompt-only, re-mapped onto the ovs pack: - stage-plan: edit_strategy is four non-empty string ARRAYS at the plan top level with a closed decision-signal set (the validator already enforced E_EDIT_STRATEGY_BOUNDARY/E_EDIT_STRATEGY_SIGNAL; the prose never said so); target_sec is a DURATION and windows must not overlap (E_NARRATION_WINDOWS_OVERLAP, landed in #15); a temporal anchor signs the consumed interval; flagged risks resolve at the Production plan confirmation (both stray "direction confirmation" pointers fixed); full-frame overlays are a plan-shape problem (the guard landed in #14); silent beats are reserved, not speech budget; Gate B is two turns — present the validator's own summary verbatim, never twice, and "an unapproved plan after the user answered means you owe the transition, not another confirmation". - stage-edit: the array-shape rule with its error code; may_change must name every authorized change class; delivery locators move into the reserved `_runtime` envelope — the old instruction to write top-level `draft`/`video` keys invalidated the Gate B signature on success, because unknown top-level plan fields are approval-bearing by gate-control's own rule (approval.ts reserves `_runtime`/`_catalog`). - stage-assemble: the real trim flags (`--start/--end/--out`); only compose segments need frame evidence (media segments are captured by their produced_path); the overlay-opaque refusal is a re-plan, not a retry; the coverage report is QA — coverageRatio only says how far the LAST line reached, a half-silent track can still score 0.95; never speed up speech or pad with filler; skip a caption line that repeats visible on-screen copy; delivery QA holds every route to the same bar, including hand-written ffmpeg; `_runtime` write-back rule. - orchestration: the plan.json record points at `_runtime.render.*` instead of a top-level `draft` key; narration fit revises OVER only. Verified: full OVS_E2E=1 suite 275/276; content tests pin the error codes, the envelope rule, the 0.95 trap, and the two-turn Gate B. Prompt audit: every added clause states behavior the code actually has (validator codes from #15, the overlay guard from #14, the reserved envelope in approval.ts) or fixes prose that contradicted it (top-level draft/video keys, "direction confirmation" pointers, over/under fit); no clause duplicates gate-control authorization or #19's checkpoint craft; the trim command was verified against the CLI definition. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VL7mRpmEphLAbcH7YmABnV
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Batch 8/8 of the release_1.6.5 sync (plan/edit/assemble layer, prompt-only). Stacked on #20. Re-mapped by hand from Orkas commits
9378b315a,e2a2797f3,33904ce59,13c145d6a,3b9451d78,fb1cd2991.The headline fix: prose that invalidated its own approval
stage-editstep 4 andorchestrationboth instructed writing top-leveldraft/videokeys into plan.json after a successful render. But gate-control's own rule says unknown plan fields remain signed so new semantics cannot bypass review — andapproval.tsreserves exactly two envelopes (_runtime,_catalog) as non-approval-bearing. Following the skill as written invalidated the Gate B signature the moment the render landed. Delivery locators now go under_runtime.render.*in all three files.Prose brought in line with the validator (the #15 / #14 code, named)
edit_strategy: four non-empty string ARRAYS at the plan top level, closed signal set — the validator has enforcedE_EDIT_STRATEGY_BOUNDARY/E_EDIT_STRATEGY_SIGNALall along; the prose never said "arrays", soobjectiveskept arriving as a sentence.target_secis a DURATION, never an end time; overlapping windows are rejected (E_NARRATION_WINDOWS_OVERLAP, See interior dead air and colliding narration windows; validator hands over the summary #15) because they mix as two voices.ovs edit trim <input> --start --end --out), verified against the CLI definition.Craft
coverageRatioonly says how far the last line reached — a half-silent track can still score 0.95 (literally true of the implementation before See interior dead air and colliding narration windows; validator hands over the summary #15). JudgevoicedRatio/interiorGaps/overlapped; never raise speech speed or pad with filler.ovs plan validatesince See interior dead air and colliding narration windows; validator hands over the summary #15), never twice; an unapproved plan after the user answered means you owe the transition, not another confirmation.produced_path. Skip a caption line that repeats visible on-screen copy. Delivery QA holds every route to the same bar, including a hand-written ffmpeg assembly. Flagged ingest risks resolve at the plan confirmation (two stray "direction confirmation" pointers fixed).Verification
Full
OVS_E2E=1suite 275/276; content tests pin the error codes, the_runtimerule (and the absence of the old top-level instruction), the 0.95 trap, and the two-turn Gate B.🤖 Generated with Claude Code
https://claude.ai/code/session_01VL7mRpmEphLAbcH7YmABnV