Skip to content

Design-layer craft: frame-0 truth, advisory taste, and the de-scored review - #20

Merged
leochenpm merged 3 commits into
sync/checkpoint-craftfrom
sync/design-craft
Aug 12, 2026
Merged

Design-layer craft: frame-0 truth, advisory taste, and the de-scored review#20
leochenpm merged 3 commits into
sync/checkpoint-craftfrom
sync/design-craft

Conversation

@leochenpm

Copy link
Copy Markdown
Collaborator

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)

  1. The economical frame pass. OSS currently says "review every immutable full-size frame" / "the contact sheet is only an index and never substitutes" in four places. Upstream reversed this after measuring the cost: reading every frame individually costs minutes per pass and repeats what deterministic QA already sampled. New rule: the sheet is read once as the complete index; full-scale opens go to the frame-0 cover, QA-named frames, and risky cells only.
  2. The scored design review is gone. composition-design-review carried a verdict + six 0-100 quality_scores with ≥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

Verification

Build green; full OVS_E2E=1 suite 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

leochenpm and others added 2 commits August 12, 2026 01:40
… 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
@leochenpm
leochenpm merged commit aa59ed4 into sync/checkpoint-craft Aug 12, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant