Design-layer craft: frame-0 truth, advisory taste, and the de-scored review - #20
Merged
Merged
Conversation
… the de-scored review Sync of the design-layer refinements from Orkas release_1.6.5 (e6a71cc8f, ce7b2427c, e31659e50, 415a60c8d, f93eb4c40, 61cf39158 context), prompt-plus-cleanup, re-mapped onto the OSS pack: - stage-compose: the economical frame pass replaces read-every-frame (sheet as the complete index; full scale only for the cover, QA-named frames, and risky cells — a deliberate reversal, with the cost rationale); only `error` findings stop the line while taste checks stay advisory and waivable; "a retime moves every scene window — re-time the motion inside them"; "frame 0 renders something, each AUTO segment too"; audio.owner:"assembler" whenever any scene carries narration_text; an under-length narration is an accepted delivery (only `over` forces a revision); the dead FROZEN_FRAME_RUN repair entry is removed (its check was deleted). - frontend-design: the resolved frame must be what renders at t=0, bound to the promise-carrying elements rather than the container; cover signals are read off visible copy, a headline-echo does not count as a second signal, and rendered hooks report as advisories; casing findings are advisory EXCEPT changing user-approved casing. - composition-design-review: converted from a scored verdict layer to an advisory checklist — "quality is judged by what is visibly broken in a specific frame, never by a number". The verdict/quality_scores output and its 80/70 floors are gone; output is three bullets that travel with the Gate D note; narration-map.json joins the inputs as READ-ONLY alignment evidence. - composition-qa.ts: the scorecard compiler/verdict assertions are deleted — they had no consumer outside their own tests (no CLI/MCP tool, no draft-pipeline call); the model self-issued and self-honored the numbers. The reference-fidelity floor constant survives only to sanity-check the contract's own declared threshold. Verified: build green; full OVS_E2E=1 suite 274/275. Content tests pin the new contracts and pin the ABSENCE of the scoring vocabulary. Prompt audit: every scored-review clause (verdict, quality_scores, 80/70 floors, read-every-frame x4) dropped together with the code that pretended to enforce them; added clauses each state behavior the QA code actually has after PR3-PR5 (advisory severities, waivers, frame-0 sampling, headline-echo rule) so prompt and code cannot disagree; the under-narration and retime rules are new craft with no prior owner. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VL7mRpmEphLAbcH7YmABnV
…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
Plan/assemble craft: validator-true prose, the signature-safe envelope, and coverage as QA
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 7/8 of the release_1.6.5 sync (design layer). Stacked on #19. Re-mapped by hand from Orkas commits
e6a71cc8f,ce7b2427c,e31659e50,f93eb4c40,61cf39158.Two deliberate position reversals (flagged for review)
composition-design-reviewcarried averdict+ six 0-100quality_scoreswith ≥80/≥70 floors — and the supporting code (compileVideoStudioDesignQualityScorecard/assertVideoStudioDesignQualityVerdict) had no consumer outside its own tests: no CLI/MCP tool, no draft-pipeline call. The model self-issued and self-honored the numbers. Replaced with the upstream contract: "quality is judged by what is visibly broken in a specific frame, never by a number" — three bullets that travel with the Gate D note. The code and its tests are deleted with it (mechanism-removal hygiene).The rest
errorfindings stop the line (taste = advisory + waivable, matching Repair QA self-contradictions, see split CJK copy, calibrate taste findings to advisory #16/Exhausted QA becomes a user fork; dictated changes apply directly; findings can be waived #18's severities); a retime moves every scene window — re-time the motion inside them (pairs with Anchor tweens to scene windows; name every literal second's replacement #17's S()/D() anchors); frame 0 renders something, each AUTO segment too;audio.owner:"assembler"whenever any scene carriesnarration_text(the two-voices trap); an under-length narration is an accepted delivery — never trim approved words to hit the nominal target; the deadFROZEN_FRAME_RUNrepair entry is removed (its check was deleted in Repair QA self-contradictions, see split CJK copy, calibrate taste findings to advisory #16).narration-map.jsonjoins the inputs as read-only alignment evidence — findings go back to stage-compose.Verification
Build green; full
OVS_E2E=1suite 274/275. Content tests pin the new contracts and the absence of the scoring vocabulary.🤖 Generated with Claude Code
https://claude.ai/code/session_01VL7mRpmEphLAbcH7YmABnV