Skip to content

t27f: scene renderers for the 12 archetypes and the still anomaly gate (R3) - #10592

Open
gHashTag wants to merge 34 commits into
masterfrom
claude/t27f-factory-renderers
Open

gHashTag wants to merge 34 commits into
masterfrom
claude/t27f-factory-renderers

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Closes #10571. Part of epic #10560 (R3).

What this does

reel_factory.t27 (PR #10566) plans one of 12 scene archetypes per lesson, but no code drew a plan. This PR gives each archetype a renderer that turns the lesson's own content into a still, and adds the gate that looks at the pictures.

  • Shared parts (built on the reel_still work, PR claw: reel_still.t27 -- the TRI CLAW /mcp tool that renders one particle still #10548): scene_raster.t27 (integer raster: rgb, discs, rings, segments, the bitmap font), scene_lex.t27 (lesson lines, bytes and keyword counts), scene_bg.t27 (lesson-seeded backdrop).
  • 12 renderers, one .t27 each, <name>_px(t, acc, n, x, y) on a 360 x 640 canvas: scene_code, scene_graph, scene_tests, scene_trit, scene_loop, scene_branch, scene_data, scene_links, scene_guard, scene_title, scene_task, scene_map. scene_still.pixel dispatches by archetype and applies the plan's accent, motion and layout.
  • still_gate.t27: renders the 27 course-0 stills (108 x 192 luma), scores all 351 pairs with an integer block SSIM (12 x 12 blocks, i64, the same number on every machine) and refuses the course when the most similar pair is above SIMILAR_MAX_PERMILLE (850).

Result

Measured on the Railway lab, never on the Mac: the most similar pair of course 0 is lessons 8 and 20 at 607 permille, 243 under the bound. The gate's test pins that pair, so a renderer change that moves it must move the test. Negative controls: a still against itself scores 1000 and is refused; each renderer's tests check that another lesson draws a different picture and that the same lesson twice is one picture.

Verification

  • t27c test-report on all 17 new specs: every test passes, 0 vacuous passes.
  • t27c seal --save then --verify: all hashes match; the 17 seals are in this PR.
  • t27b: none of the 17 specs is rejected (t27b corpus specs/t27f --list on the lab shows no UNSUPPORTED for them). The lab is x86 and the JIT runs on arm64 only, so the pass verdict itself is the arm64 CI's. Ledger: 17 pass rows, max_not_pass unchanged at 134. @mod is replaced by fmod (t27b rejects @mod), and no spec has a printing main.
  • Skill t27f content-factory row updated.

Not claimed

SSIM on luma sees layout and contrast, not meaning: two stills with different words in the same boxes would pass. lesson_reel still draws token_floor (R4, next). No render output is committed (nothing under out-reels/).

Stack

The branch is stacked on #10566 (reel_factory) and #10548 (reel_still, draft, based on #10508): their commits show in the diff until they merge. The new work is specs/t27f/scene_*.t27, specs/t27f/still_gate.t27, their seals, 17 ledger rows and the skill row.

🤖 Generated with Claude Code

gHashTag and others added 30 commits October 18, 2026 22:32
…, by host, readable or redrawn

One rule for the t27 MCP server's instructions and TRI CLAW's chat prompt:
needs_visual, answer_channel (desktop inline widget, TRI CLAW image URL,
markdown table fallback), inline_readable (font * 680 >= 11 * width),
inline_source (embed or redraw from t27f_outline), answer_verdict.

Lab: t27c test-report 9/9, 0 vacuous; a mutant readability rule fails 3.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Closes #10508)

Owner order 2026-10-18: every Claude Code output carries a visual, built on
the T27F visualizer and its MCP tools, written into the TRI CLAW rules. The
T27F meant here is the particle video (token_floor reels).

- specs/claw/visual_output.t27: which output kind carries which visual
  (particle still by default, reel, spec graph, check-run link), lab vs MCP
  host rendering, session-folder placement through T27fReel.channel_for,
  EXPORTED/FOLDED/MANUAL graph labels at the t27f_graph caps, and report_ok:
  every needed visual is made or reported missing. 8/8, 0 vacuous on the lab.
- Seal written by t27c seal --save; spec_hash matches.
- Skill t27f: "Visual in every output" steps pointing to the law; the
  particle reels are T27F too.
- docs/claw/README.md: one row pointing to the law.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The t27b-native ratchet reported the new spec as UNLISTED: the reference
passes it and the ledger did not name it. A pass row; max_not_pass is
unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
It landed on master without a ledger row, so the t27b-native ratchet
reports it UNLISTED on every branch. A pass row; max_not_pass unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…the rule from t27mcp::visual_output (#10504) (Closes #10508)

The owner picked specs/t27mcp/visual_output.t27 as the single home of the
visual-output rule. The claw spec now imports needs_visual, answer_channel and
the K_/HOST_/CH_ numbers from it and adds only takes_still, still_channel,
place_for, still_ms_ok and still_report_ok. Lab: 6/6, 0 vacuous; t27mcp
spec 9/9, 0 vacuous. Resealed. Ledger row for specs/t27mcp/visual_output.t27
(t27b pass, per #10504's own ratchet run).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…loses #10508)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…cle still (Closes #10547)

specs/claw/visual_output.t27 says a report's visual is one PNG frame of a
token_floor reel at STILL_MS, rendered on the Railway lab, and that no MCP
tool renders one. This spec is that tool's contract: the name is homed in
TRI CLAW by specs/t27mcp/service.t27, topics resolve through
specs/t27f/reel_topics.t27, the frame is 270 of 450 and frame_shard draws
only it (TF_SHARD=270 TF_SHARDS=450 TF_CUT=aspect), the overlays enter
with -itsoffset 9, and a call off the lab is refused.

Lab: 13/13 pass, 0 vacuous; t27b 13/13; mutants of the topic lookup, the
frame formula (/1001; /999 is an equivalent mutant) and the lab check are
killed. Sealed; t27b ledger row; docs/claw/README.md row.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… 270 (#10547)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… item (Closes #10561)

The content factory of epic #10560 (R1 + R2). Each lesson's code and
title are read into eleven feature counts; twelve scene archetypes are
scored by term frequency over course frequency; the course is planned
at once (best pair first, cap 4, no repeat within 2 items, then the
least-used generic scene); accent, motion and layout dress the plan;
eight output formats and the SSIM anomaly bound for R3.

Lab: test-report 8/8 pass, 0 vacuous; seal --verify MATCH; t27b front
end accepts it (JIT verdict is the arm64 ratchet's).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rs (WIP, #10571)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… scene renderers (WIP, #10571)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…scene_still (WIP, #10571)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…bare lesson (WIP, #10571)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
#10571)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…usal (WIP, #10571)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…7 permille (WIP, #10571)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This was referenced Oct 18, 2026

This branch has not been deployed

No deployments
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.

t27f factory R3: a renderer per scene archetype and the still anomaly gate (SSIM)

1 participant