Skip to content

t27f: first real reel -- the t27 basics course as a 27-cell map (trinity#1677) #9996

Closed

Description

@gHashTag

Problem

T27F has a reel camera (specs/t27f/reel.t27), a slide look (specs/t27f/deck.t27) and a chat viewer (t27f_view), but no real topic drawn with them: every still so far is the demo with placeholder text. gHashTag/trinity#1677 (Topic-to-Value Engine) asks for a 27-step map that is source-grounded and shows gaps instead of filler.

Proposal

The first real reel: one topic, the t27 basics course (27 lessons, gHashTag/trinity apps/website/specs/course/t27-basics.t27), as specs/t27f/reel_t27_basics.t27.

  • 27 cells = the 27 lessons, in course order; each reel row (lens) is three whole course modules.
  • A cell's status is measured, not chosen: lesson page live on t27.ai AND lesson spec passes on the lab -> published; spec passes only -> verified; otherwise draft.
  • Slide text for the five demo scenes (overview, lens, focus on lesson 11, evidence, call), checked against deck.t27 for all three presets, so the viewer never refuses it.
  • Run under both compilers, t27c (Zig backend) and t27b (native AArch64), and require the same verdict on every test.

Boundary

  • specs/t27f/reel_t27_basics.t27

User Scenarios

  • Given the t27 basics course with 27 live lesson pages and 27 passing lesson specs, when a host draws reel_t27_basics with t27f_view, then all 27 cells are drawn in the published style and every slide's text fits its preset.
  • Given a lesson page that is not live, when its STATUS is still marked published, then a_status_is_earned_not_chosen fails under both compilers.

Requirements

  • FR-001: The spec MUST map the 27 course lessons, in order, to the 27 reel cells, with each reel row covering three whole course modules.
  • FR-002: Every cell's STATUS MUST equal the status computed from its two measurements (page live, spec passes).
  • FR-003: Every slide headline and card row MUST fit the deck.t27 limits on the wide, square and tall presets without wrapping.
  • FR-004: The spec MUST give the same per-test verdict under t27c and t27b.

Success Criteria

  • t27c test-report specs/t27f/reel_t27_basics.t27 reports 6/6 tests passing with 0 vacuous.
  • t27b test specs/t27f/reel_t27_basics.t27 --check reports 6/6 tests passing.
  • Each of 3 planted faults (a page marked not live, a 47-char row, a 23-char headline) fails the expected test under both compilers.
  • t27f_view draws 15 of 15 stills (5 scenes x 3 presets) from this text and refuses none.

Activity

  1. added
    shape-refusedClosed by the issue-shape gate (specs/policy/issue_shape.t27); a passing edit reopens it
    on Oct 17, 2026
  2. github-actions commented on Oct 17, 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: ## Boundary -- list every file this task may touch, one per line (- specs/x.t27); without it the Queen reserves nothing and no bee can take the issue
    • missing: ## User Scenarios -- at least one Given/When/Then scenario
    • missing: ## Requirements -- numbered obligations, FR-001: ... MUST ...
    • missing: ## Success Criteria -- an outcome a machine can settle: a number with a unit, a backticked file, exit 0, or a backticked command
  3. added a commit that references this issue on Oct 17, 2026
    665dd04
  4. removed
    shape-refusedClosed by the issue-shape gate (specs/policy/issue_shape.t27); a passing edit reopens it
    on Oct 17, 2026
  5. github-actions commented on Oct 17, 2026

    @github-actions
    Contributor

    The shape check passes now (specs/policy/issue_shape.t27); reopened.

  6. gHashTag commented on Oct 17, 2026

    @gHashTag
    OwnerAuthor

    Done in #9997 (merged); its status rule was then replaced by the topic engine in #10000.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions