Skip to content

spec(t27f): reel status goes through the topic engine, not a rule of its own (Closes #9999) - #10000

Merged
gHashTag merged 1 commit into
masterfrom
t27f/reel-engine-status
Oct 17, 2026
Merged

gHashTag merged 1 commit into
masterfrom
t27f/reel-engine-status

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Closes #9999
Refs gHashTag/trinity#1677

What

reel_t27_basics.t27 (#9997) drew all 27 lessons as published by a rule of its own. The project already has the gate for this, topic_engine.t27, and by that gate 9 of the 27 have not earned it. This PR removes the second rule.

  • topic_engine.t27: earned_status(step, domain, grounded, test_pass, reviewed, live). It walks a step's measurements through the existing gates and decides nothing on its own:

    • no source -> GAP;
    • otherwise DRAFT, then the source link, a passing test and a review each go through verify;
    • a live item goes through after_action(PUBLISH), which publishes only a VERIFIED one.

    Test a_live_page_does_not_verify_a_step covers each stage.

  • reel_t27_basics.t27. Its own STATUS_* codes and measured_status rule are gone.

    • The domain is route of the measured keyword hits: the brief hits spec, compiler, fpga, so engineering (the_domain_is_routed_not_chosen).
    • Every cell's status is earned_status of four measurements, with REVIEWED added.
    • The evidence slide row "A planted wrong assert turns it red" is now "18 published; 9 wait for a review".

Why 9 lessons are drafts

The engine asks an engineering DELIVER step for a review. Neither trinity PR that wrote the course (gHashTag/trinity#1463, gHashTag/trinity#1472) has a review, so lessons 7-9, 16-18 and 25-27 stay DRAFT although their pages are live and their specs pass. A test asserts that the drafts are exactly the DELIVER lessons. A review on the course, recorded in REVIEWED, turns them published, and the test then demands the new statuses.

Two compilers, t27c and t27b (Railway lab)

spec t27c t27b (test --check, qemu-aarch64)
topic_engine.t27 13/13, 0 vacuous 13/13
reel_t27_basics.t27 7/7, 0 vacuous 7/7
reel.t27 20/20, 0 vacuous 20/20
deck.t27 15/15, 0 vacuous 15/15
planted fault t27c t27b
lesson 7 drawn published FAIL a_status_is_earned_not_chosen same test, line 230
lesson 7 marked reviewed, status left draft FAIL a_status_is_earned_not_chosen same test, line 230
domain set to research FAIL the_domain_is_routed_not_chosen same test, line 252

Restoring the file returns both compilers to 7/7 (sha256 prefix c59cdabfd7c71963, same as the commit).

Stills

t27f_view (t27-mcp 07e2c7c, fresh process) drew 15 of 15 stills from the new statuses and refused none. The overview now has 18 cells in the published colour (#5eead4) and 9 in the draft colour (#fbbf24); before this change, all 27 were published.

Not claimed

No GIF or MP4. CI reds cli-tri (#9634) and t27b-native-ratchet are inherited from master and are not signals for this diff.

🤖 Generated with Claude Code

…its own (Closes #9999)

topic_engine.t27 gains earned_status(step, domain, grounded, test_pass,
reviewed, live): it walks the measurements through verify() and
after_action(PUBLISH) and decides nothing on its own. reel_t27_basics.t27
drops its own STATUS_* codes and status rule, takes its domain from route()
and every cell's status from earned_status.

The engine routes the course brief to engineering (spec, compiler, fpga),
where a DELIVER step needs a review. No trinity PR that wrote the course has
one, so lessons 7-9, 16-18 and 25-27 stay draft although their pages are
live: 18 published, 9 draft, not the 27 published the first draft showed.

t27c and t27b agree: topic_engine 13/13, reel_t27_basics 7/7, reel 20/20,
deck 15/15; three planted faults fail the same test in both.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@gHashTag
gHashTag enabled auto-merge (squash) October 17, 2026 15:53
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-17 15:53:49 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 49
PRs with All Checks Green 1
READY 0
FAILING 49
PENDING 0
NO CHECKS YET 0

These columns do not partition: 0 + 49 + 0 + 0 = 49, and there are 50 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=e769ef021713 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@gHashTag
gHashTag merged commit de2cff8 into master Oct 17, 2026
27 of 29 checks 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.

spec(t27f): reel status goes through the topic engine, not a rule of its own

1 participant