Repository navigation
skills: t27/idea-factory card -- TRI CLAW unpacks any idea in any particle preset (Closes #10796) - #10800
Merged
Conversation
…article (Closes #10771) particle_ds.t27 is the particle design system: five presets (noir-gold, neon-vortex, trit-charge, paper-ink, rain) as rows of integers -- palette, blend, radius, gain, spring, dashpot, force law, kick, card -- and one Q8 integer step, kernel, tone curve and finish. idea_factory.t27 is the factory: (idea, preset) -> 1080x1920 RGB24 frames. It wraps the idea into lines and scenes, sets each scene in the 3x5 font, gives every particle a target cell or a card-border point at each cut, and closes on the address. Lab: test-report 12/12 and 8/8 pass, 0 vacuous; seals saved and verified; dupe_scan clean; 5-preset preview rendered at 1080x1920. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… on the lab, legibility by luma (Refs #10771) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…lic font of particles (Closes #10788) glyph57.t27 decodes UTF-8, folds lower case to capitals and stores a 5x7 font: ASCII 32..95 plus the 21 Cyrillic capitals with no Latin twin. The 11 look-alikes and Yo reuse Latin glyphs through a 32-entry map. idea_factory now wraps by characters, keeps positions in bytes, and sets text in the 5x7 font (advance 6, line pitch 9). t27c keeps "\xNN" in a string as four characters, so non-ASCII samples are u8 arrays (RU_IDEA, 80 bytes). Lab: glyph57 7/7, idea_factory 10/10, 0 vacuous; seals verified; dupe_scan clean. The t27f skill records the trap. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…the ledger (Refs #10788) #10784 merged with t27b-native-ratchet red: five specs that pass under t27b had no row in docs/reports/t27b_expectations.json (UNLISTED). Rows added, sorted by path, all "pass" as the ratchet reported them: specs/fpga/analog_cell_ax7203.t27 specs/port/trios-railway/crates/trios-igla-race/src/bin/debug_queue.t27 specs/port/trios-railway/crates/trios-igla-race/src/bin/smoke_agent.t27 specs/t27f/idea_factory.t27 specs/t27f/particle_ds.t27 max_not_pass stays 138. glyph57.t27's row waits for this branch's arm64 run: the lab is x86_64 and the t27b JIT runs only on arm64. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ep the PR a draft until then (Refs #10788) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
On the x86_64 lab, the t27b front-end check (--check) prints every blocker before it stops at "the t27b JIT runs only on arm64". glyph57.t27 and petal_menu.t27 (new on master from #10786, also unlisted) reach that line with no blocker. The control, frame_shard.t27, prints ExprCall(rejected fn). Both rows are pass; this branch's arm64 run confirms them. max_not_pass stays 138. The t27f skill's ratchet note said the lab cannot give a verdict. That was wrong; it now gives the --check method and its control. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ticle preset (Closes #10796) specs/skills/t27-idea-factory.t27 is a spec-only skill card in the shape of t27-reel-beat. It points at idea_factory.t27, glyph57.t27 and particle_ds.t27 and copies none of their law. It names the five presets in preset-number order and says how to pass a Russian idea (a u8 array of UTF-8 bytes, never "\xNN"). It claims no voice, music or synthesised FPGA design. Cards import nothing, so the preset list is checked on the lab against particle_ds.PRESET_NAMES, byte for byte: PRESETS_MATCH. Railway lab: 2/2 tests, 16 runtime asserts, 0 vacuous. Seal saved, all hashes MATCH. The t27b front end raises no blocker, so the row is pass; max_not_pass stays 138. The t27f skill points at the card. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 19, 2026
Contributor
…m master (Refs #10788) Two of the three red checks on this PR came from master, not from the glyph57 change. specs/analog/mos_psp103.t27 and mos_psp103_data.t27 landed on master without t27b ledger rows, so the ratchet reported them UNLISTED. They are added in sorted position as pass. The t27b front end on the lab (--check) reports 0 unsupported constructs for both, matching the pass the CI run measured. frontend.t27 does not import glyph57, but a module it uses moved on master after its seal, so all four gen hashes were stale. It is re-sealed on the lab against this branch's tree, and --verify reports all hashes MATCH. The coverage gate failed on the same seal. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 19, 2026
#10788) specs/analog/sar_switch.t27 (analog M4c) reached master without a t27b row, so this PR's ratchet reported it UNLISTED. The arm64 run on 7f33764 measured it as a t27b pass, so the row says pass. Master is merged in first so the row names a file this branch contains. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4f739c1 put the sar_switch row before sar_comparator, so the loop-tools gate failed 'ledger: sorted, one entry per spec'. This commit also carries the merge of master, which brings move_gate's row and the cap of 139. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
PR DashboardGenerated at: 2026-10-19 04:02:16 UTC
Summary
Seal Status
|
Contributor
PR DashboardGenerated at: 2026-10-19 04:41:43 UTC
Summary
Seal Status
|
This was referenced Oct 19, 2026
This was referenced Oct 19, 2026
…erges clean (Refs #10609) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 19, 2026
Contributor
PR DashboardGenerated at: 2026-10-19 06:15:29 UTC
Summary
Seal Status
|
gHashTag
marked this pull request as ready for review
October 19, 2026 06:17
gHashTag
enabled auto-merge (squash)
October 19, 2026 06:17
Owner
Author
|
loop-tools-tracked fails here with "the cap equals reality (128, cap 129)", the same failure master has. The missing not-pass row is specs/ml/ngram_hslm.t27 (blocked), which #10889 adds. The check is not required for merging. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #10796. Part of epic #10560. Stacked on #10792 (Russian text in the factory). The base is master, so until #10792 merges this diff also shows its commits. Only the last commit is new here.
What this does
TRI CLAW had skill cards for the beat reel, the why card and the deps card, and none for the idea factory. This adds
specs/skills/t27-idea-factory.t27, a spec-only card in the shape oft27-reel-beat:idea_factory.t27,glyph57.t27andparticle_ds.t27. The card copies none of their law.social-visual,reel,factory,particlesandt27f.u8array of UTF-8 bytes, never\xNN.The t27f skill now points at the card and says to update
PRESETSwhen a preset is added.Evidence (Railway lab)
t27c test-reportpasses 2 of 2 tests, with 16 runtime asserts and 0 vacuous tests.particle_ds.PRESET_NAMESbyte for byte. Result:PRESETS_MATCH.pass, andmax_not_passstays 138.--verifyreports all hashes MATCH.Not claimed
lesson_reelmode 5 does.specs/skills/README.md).A draft until #10792 lands, so the issue gate does not merge it ahead of its base.
🤖 Generated with Claude Code