Repository navigation
t27f: reel_beats.t27 -- every reel an ordered open, main and close scene sequence, distinct across the course (R7 of #10560) #10584
Copy link
Copy link
Closed
Labels
Description
Sub-issue of epic #10560 (content factory). R7.
Boundary
- New spec
specs/t27f/reel_beats.t27, its seal, and its t27b ledger row. It readsspecs/t27f/reel_factory.t27(t27f: reel_factory.t27 -- content features to a unique scene plan per item #10561, PR t27f: reel_factory.t27 -- content features to a unique scene plan per item (Closes #10561) #10566) and does not change it. - Not in scope: renderers (R3, t27f factory R3: a renderer per scene archetype and the still anomaly gate (SSIM) #10571),
lesson_reelreading the plan (R4), beat timing in frames.
User Scenarios
- The owner said every lesson reel looks almost the same.
reel_factory.t27gives each lesson one scene archetype, capped at 4 uses, so up to four reels of a course share their only scene and differ only in accent, motion and layout. Its own NOT CLAIMED block says the signature-uniqueness test is weak by itself. - Competitors (notes: content-factory-competitors.md): Motion Canvas / Revideo let the data choose the scene LIST per project; slot-filler tools (Canva, Creatomate, Shotstack templates) fill one fixed structure, which is the sameness the owner sees.
- With R7, each reel is an ordered sequence of three beats: open, main, close. Main is the factory's scene. Open is the item's next-best content scene. Close is a generic scene (code, title, task or map) chosen so that the sequences stay apart.
Requirements
- R7.1
main(t) = arche(t);openis the non-generic archetype the item has content for, other than main, with the best term-frequency score; a generic scene only when the item has no second construct. - R7.2
closeis generic, differs from open and main, and rotates so that neighbours do not close alike. - R7.3 Tests over all 27 lessons of course 0: three distinct scenes per reel; all 27 ordered sequences distinct; no two reels share both main and open; two neighbours share no beat in the same position; open shows content the item has.
- R7.4 0 vacuous tests (
t27c test-report), seal saved and verified, t27b ledger row measured with a t27b that includes t27b: std.debug.print lowers by a plan in t27 -- zig_open_slice passes, reel_particles_mux loses its std.* blocker (Closes #10449) #10455.
Success Criteria
t27c test-report specs/t27f/reel_beats.t27passes every test with asserts executed, on the Railway lab.- A printed sequence table for course 0 in the PR body.
- Seal
--verifyMATCH; ledger capmax_not_passdoes not rise.
Requirements
- FR-001: The specification MUST define
main(t) = arche(t)for each reel t. - FR-002: The specification MUST define
openas the non-generic archetype the item has content for, other than main, with the best term-frequency score; a generic scene only when the item has no second construct. - FR-003: The specification MUST define
closeas a generic scene that differs from open and main, and rotates so that neighbours do not close alike. - FR-004: Tests over all 27 lessons of course 0 MUST verify: three distinct scenes per reel; all 27 ordered sequences distinct; no two reels share both main and open; two neighbours share no beat in the same position; open shows content the item has.
- FR-005: The specification MUST produce 0 vacuous tests under
t27c test-report, save its seal, verify the seal, and produce a t27b ledger row measured with a t27b that includes t27b: std.debug.print lowers by a plan in t27 -- zig_open_slice passes, reel_particles_mux loses its std.* blocker (Closes #10449) #10455.
Reactions are currently unavailable
Activity
skills: t27f -- beats section: count the pool before promising unique…
gHashTag commentedon Oct 18, 2026
Amendment to R7.3, measured on the Railway lab (PR #10586).
"No two reels share both main and open" cannot hold as an unordered rule on course 0. 21 of 27 lessons have content only for graph and tests among the constructs, so their scenes come from six archetypes: graph, tests, code, title, task and map. Six archetypes give 15 unordered pairs for 27 reels. The first draft failed 4 of 7 tests for this reason.
The rule is now on ordered pairs (open, main), of which there are 30. It holds: 7/7 tests pass, 0 vacuous. No two reels show the same sequence, and neighbouring reels differ in every beat.
This is not a detection bug.
code_featcounts the keywords correctly. Course 0's snippets contain nowhileorif. 19 of 27 opens are constructs; the other 8 fall back to a generic scene.Skill updated in ca1c2c5 (
.claude/skills/t27f/SKILL.md, section "Application: content factory, beats").github-actions commentedon Oct 18, 2026
Closed by the issue-shape gate (specs/policy/issue_shape.t27, #7498): an issue must have the template's sections. Edit the body; an edit that passes reopens it.
FR-001: ... MUST ...t27f: reel_beats.t27 -- every reel as open, main and close, no two th…