Skip to content

spec(t27f): a research reel through the same topic workflow -- GF16 vs bfloat16 NMSE (Closes #10010) - #10012

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

gHashTag merged 1 commit into
masterfrom
t27f/reel-research

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Closes #10010
Refs gHashTag/trinity#1677

What

gHashTag/trinity#1677 asks for at least two very different domains on one widget and one workflow, "without duplicated orchestration code". This PR adds the second domain and moves the workflow into one place.

  • topic_engine.t27: keyword_hits and route_brief. KEYWORD_MATCH was a sentence, and a reel counted its hits by hand. Now the engine counts them on the brief's own text (lowercase, split on non a-z/0-9, exact words, every repeat counts) and hands the counts to the existing route. Test keyword_match_is_executed covers the edge cases: case, hyphens, plurals ("villas", "tests"), the empty brief and ties. The two demo briefs now route through it as well.
  • topic_reel.t27 (new): the one workflow. statuses_earned / first_unearned (every drawn status is earned_status of its measurements), gaps_are_named (a sourceless cell says what is missing), slides_fit / stage_slides_bare (slide text fits every preset as the host breaks it), and counts. It has 5 tests of its own on fixtures.
  • reel_t27_basics.t27 is now data plus the checks that concern the course. Its BRIEF is the source's TITLE + DESCRIPTION verbatim, routed with route_brief. Its local measured_status, count_*, row_count, head_chars and row_chars are gone, and stage_slides_carry_no_card_text became a call to the shared check.
  • reel_gf16_nmse.t27 (new): the research reel, "GF16 against bfloat16 NMSE":
    • Its sources are specs/benchmarks/gf16_bfloat16_nmse.t27, docs/GF16_BFLOAT16_NMSE_PROTOCOL.md, schemas/nmse-protocol-v1.json and the PUB-01/PUB-02 roadmap.
    • The BRIEF is the protocol header's first three sentences. route_brief counts gf16 twice and benchmark once, so the reel routes to research.

The research map

The three lenses are formats (steps 1-9), protocol (10-18) and claims (19-27). Status counts: 15 published, 1 verified, 6 drafts, 5 gaps.

  • Measurements, 2026-10-17:
  • The gaps are the finding. PUB-02 asks for one sealed bench/results/nmse-*.json, and the repo holds none. So these are named gaps, each with a MISSING text:
    • the run itself;
    • its schema check;
    • the ratio per distribution;
    • the paper's Delta_dB, which PUB-02 forbids before that manifest exists;
    • the chip repo's manifest: tt-trinity-gamma nmse_gf16_bf16.golden.json at de484c4f pins seeds but says measured_silicon: false.
  • The 2026-04-05 numbers in conformance/gf16_bench_results.json (no seed, no seal) are drawn as a draft. The protocol itself says they do not count.

Two compilers, t27c and t27b (Railway lab)

spec t27c t27b (test --check, qemu-aarch64)
topic_engine.t27 14/14, 0 vacuous 14/14
topic_reel.t27 (new) 5/5, 0 vacuous 5/5
reel_t27_basics.t27 6/6, 0 vacuous 6/6
reel_gf16_nmse.t27 (new) 6/6, 0 vacuous 6/6
reel.t27 20/20, 0 vacuous 20/20
deck.t27 15/15, 0 vacuous 15/15
benchmarks/gf16_bfloat16_nmse.t27 (unchanged) 7/7, 5 vacuous 7/7
planted fault fails, same name under t27c and t27b
step 16 (a gap) drawn as a draft a_gap_is_named_not_filled, a_status_is_earned_not_chosen
step 20 (source not live) drawn published a_status_is_earned_not_chosen
what step 16 is missing deleted a_gap_is_named_not_filled
brief word benchmark -> compiler the_domain_is_routed_not_chosen
domain set to engineering the_domain_is_routed_not_chosen
the old numbers marked reviewed, status left draft a_status_is_earned_not_chosen
protocol spec GF16_MANT_BITS = 8 both_layouts_are_sixteen_bits, gf16_trades_exponent_for_mantissa
basics: lesson 7 drawn published a_status_is_earned_not_chosen
shared first_unearned never reports a mismatch topic_reel.t27 a_drawn_status_must_be_the_earned_one

When the shared first_unearned is broken, the research reel itself stays green: a reel trusts the shared checker, and topic_reel.t27's own test is what catches the break. That is the intended split.

Each plant was restored afterwards, and the lab files match the commit byte for byte (sha256 prefixes 8b37f309, 2a873424, adc9acbf, 74baa4aa).

A first draft of the research reel was refused by both compilers in every_slide_fits_every_preset. The call headline "One run is missing" is 18 characters, which is over the split card's one-line limit, so it is now "The missing run".

Stills

t27f_view (t27-mcp 07e2c7c) drew 15 of 15 stills (5 scenes x wide/square/tall) and refused none. The overview's cells are, in step order:

  • 15 in the published colour #5eead4;
  • 1 in the verified colour #2dd4bf (step 20);
  • 6 in the draft colour #fbbf24;
  • 5 as gap outlines #ff7a45.

The focus slide is step 11, "Check phi before any NMSE".

Not claimed

No NMSE value, no ratio and no winner: the reel says that run does not exist. No GIF or MP4. CI reds cli-tri (#9634) and t27b-native-ratchet are inherited from master.

🤖 Generated with Claude Code

…s bfloat16 NMSE (Closes #10010)

- topic_engine: keyword_hits + route_brief execute KEYWORD_MATCH on a
  brief's own text; no reel counts hits by hand any more.
- topic_reel (new): the one workflow every topic reel calls --
  statuses_earned, gaps_are_named, slides_fit, stage_slides_bare, counts.
- reel_t27_basics: data plus course-specific checks; its local copies of
  the counting and slide-fit functions are gone.
- reel_gf16_nmse (new): second domain, research. 27 steps from the NMSE
  protocol spec, doc, schema and PUB-01/PUB-02; 15 published, 1 verified,
  6 drafts, 5 named gaps (the sealed run PUB-02 asks for does not exist).

t27c and t27b agree on every test of all seven touched or dependent
specs, and on 10 planted faults.

Refs gHashTag/trinity#1677

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-17 16:14:32 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 enabled auto-merge (squash) October 17, 2026 16:14
@gHashTag
gHashTag merged commit f455441 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): second reel in a second domain -- GF16 vs bfloat16 NMSE (research), through one shared topic workflow

1 participant