Skip to content

t27f: reel_beats.t27 -- every reel an ordered open, main and close scene sequence, distinct across the course (R7 of #10560) #10584

Closed

Description

@gHashTag

Sub-issue of epic #10560 (content factory). R7.

Boundary

User Scenarios

  1. The owner said every lesson reel looks almost the same. reel_factory.t27 gives 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.
  2. 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.
  3. 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); open is 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 close is 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.t27 passes every test with asserts executed, on the Railway lab.
  • A printed sequence table for course 0 in the PR body.
  • Seal --verify MATCH; ledger cap max_not_pass does not rise.

Requirements

  • FR-001: The specification MUST define main(t) = arche(t) for each reel t.
  • FR-002: The specification MUST define open as 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 close as 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.

Activity

  1. added a commit that references this issue on Oct 18, 2026
    ca1c2c5
  2. gHashTag commented on Oct 18, 2026

    @gHashTag
    OwnerAuthor

    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_feat counts the keywords correctly. Course 0's snippets contain no while or if. 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").

  3. added
    shape-refusedClosed by the issue-shape gate (specs/policy/issue_shape.t27); a passing edit reopens it
    on Oct 18, 2026
  4. github-actions commented on Oct 18, 2026

    @github-actions
    Contributor

    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.

    • missing: ## Requirements -- numbered obligations, FR-001: ... MUST ...
  5. added a commit that references this issue on Oct 18, 2026
    c09e46b
  6. removed
    shape-refusedClosed by the issue-shape gate (specs/policy/issue_shape.t27); a passing edit reopens it
    on Oct 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions