Repository navigation
bench(nmse): first sealed GF16 vs bfloat16 NMSE manifest, from a t27 run harness (Closes #10019) - #10021
Merged
Conversation
…run harness (Closes #10019) - specs/benchmarks/gf16_bfloat16_nmse_run.t27 (new): the PUB-02 run procedure in t27. L5 witness first (an abort writes nothing), xoshiro256pp seeded by splitmix64, the five protocol distributions, GF16 and bfloat16 round-to-nearest-even quantisers with a declared subnormal policy, Neumaier sums, and the manifest text. seal_hash is FROZEN_HASH only when it equals the built compiler.rs sha256, else "unsealed"; the manifest records the harness's own sha256. Driven by t27c gen-c and the lefthook.yml one-line stdin/stdout main; no hand-written code is committed. 19 tests. - bench/results/nmse-railway-x86_64-0x2545F4914F6CDD1D-2026-10-17.json: 10,000,000 samples per distribution on the Railway lab, sealed, ieee subnormals. NMSE(GF16)/NMSE(BF16) is 0.0623 to 0.0626 on all five distributions; 0 ties, flushes, subnormals or Infs observed. - docs: protocol section 6.1 points at the harness and declares the two readings the protocol leaves open (D_PHI as mean/variance; ties-to-even against the frozen SSOT encoder's ties-toward-zero). PUB-02 records the manifest as a software run, not a silicon measurement. Verified on the lab: 19/19 under t27c test-report (0 vacuous) and via gen-c plus a C test main; 0 schema errors and 5/5 mutants rejected; 15/15 numbers within 2.3e-10 relative of an independent exact reference on the same stream; corpus ratchet CLEAN with the spec in the corpus. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
gHashTag
enabled auto-merge (squash)
October 17, 2026 16:55
This was referenced Oct 17, 2026
Closed
gHashTag
added a commit
that referenced
this pull request
Oct 17, 2026
…Closes #10025) (#10027) #10021 landed specs/benchmarks/gf16_bfloat16_nmse_run.t27 without moving the duplicate-body ledger. Its put_lit and put_range repeat put_msg and put_range in specs/policy/own_language.t27, so the Duplicate Body Ratchet has been red on master since cc80a30. The copies are deliberate. The harness lowers through t27c gen-c into one C file, and the committed manifest records the spec's own sha256 as x_extension.harness_sha256. Editing the spec to reuse the existing functions would leave that manifest pointing at a file that is no longer in the tree. So the ledger moves instead, written by `python3 tools/dupe_scan.py --bless` on the Railway lab at cc80a30: two added lines, put_lit 2 and put_range 2. No spec changes. Verified on the lab: dupe_scan exits 1 before the bless and 0 after; --self-test exits 0. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
gHashTag
added a commit
that referenced
this pull request
Oct 17, 2026
…earned drafts (Closes #10023) Cells 15, 16 and 24 (steps 16, 17, 25) of specs/t27f/reel_gf16_nmse.t27 named 'the sealed run PUB-02 asks for does not exist' as their gap. PR #10021 landed it: specs/benchmarks/gf16_bfloat16_nmse_run.t27 and bench/results/nmse-railway-x86_64-0x2545F4914F6CDD1D-2026-10-17.json. The three cells now cite those artefacts and are grounded. They are research DELIVER steps and #10021 has 0 reviews, so earned_status gives DRAFT. Counts move to 15 published, 1 verified, 9 drafts, 2 gaps. A new test pins that a test pass or a live page does not lift them and a review would. The reel quotes no NMSE value and claims nothing about silicon. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 17, 2026
gHashTag
added a commit
that referenced
this pull request
Oct 17, 2026
…earned drafts (Closes #10023) (#10031) Cells 15, 16 and 24 (steps 16, 17, 25) of specs/t27f/reel_gf16_nmse.t27 named 'the sealed run PUB-02 asks for does not exist' as their gap. PR #10021 landed it: specs/benchmarks/gf16_bfloat16_nmse_run.t27 and bench/results/nmse-railway-x86_64-0x2545F4914F6CDD1D-2026-10-17.json. The three cells now cite those artefacts and are grounded. They are research DELIVER steps and #10021 has 0 reviews, so earned_status gives DRAFT. Counts move to 15 published, 1 verified, 9 drafts, 2 gaps. A new test pins that a test pass or a live page does not lift them and a review would. The reel quotes no NMSE value and claims nothing about silicon. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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 #10019
What
PUB-02 asks for one sealed-toolchain NMSE manifest under
docs/GF16_BFLOAT16_NMSE_PROTOCOL.md. This adds the procedure that produces one, written in t27, and the first manifest it produced.specs/benchmarks/gf16_bfloat16_nmse_run.t27(new, 19 tests): the L5 witness runs first and an abort writes no manifest; one xoshiro256pp stream seeded by splitmix64; D_NORM, D_LOG, D_RELU, D_PHI, D_DEEP; GF16[S1|E6|M9]bias 31 with no subnormals, and bfloat16 withieeeorftzsubnormals, both round-to-nearest-even from f64; Neumaier-compensated sums; the manifest JSON. The input is a facts file on stdin, so there is no hand-written logic outside t27.seal_hashis FROZEN_HASH only when it equals the sha256 of the compiler.rs that was built, otherwiseunsealed.x_extension.harness_sha256records the sha256 of this spec.bench/results/nmse-railway-x86_64-0x2545F4914F6CDD1D-2026-10-17.json: 10,000,000 samples per distribution, Railway lab x86_64, sealed,ieee.docs/GF16_BFLOAT16_NMSE_PROTOCOL.mdsection 6.1: how the harness is driven, and the two readings the protocol leaves open, now declared in every manifest.docs/SCIENTIFIC_IMPROVEMENT_PLAN.mdPUB-02: the manifest is recorded as a software run, not a silicon measurement. Its label staystarget, because attaching it to a draft is still open.Result (from the committed manifest)
The ratios sit near 1/16, which is what two extra mantissa bits predict. Across 50M samples, no sample hit a tie, a GF16 flush, a bf16 subnormal or an Inf: the D_LOG range
2^-10..2^10stays inside both formats' normal range. So this run does not exercise the ties-to-even vs ties-toward-zero difference, or the subnormal policy.How it was run (Railway lab only)
The facts are seed, samples, policy, a UTC timestamp, host_arch, the compiler string, FROZEN_HASH, the sha256 of
bootstrap/src/compiler.rs, the sha256 of the harness, and the driver text. 10M x 5 takes 3.5 s.Verification
t27c test-report(t27c built from master efe3c94, Zig 0.16.0): 19 pass, 0 fail, 0 vacuous. All 19 also pass through gen-c with a C test main, and a mutated KAT traps.gen-coutput is byte-identical between t27c 90fc25b and master.schemas/nmse-protocol-v1.json(Draft 7, plus an RFC3339 check). Five schema-breaking mutants are all rejected: bad seal, missing results, zero ratio, bad RNG family, n below 1000.x_extension.harness_sha256=30ba8c16...0b03, which issha256sum specs/benchmarks/gf16_bfloat16_nmse_run.t27at this commit.t27c suite --repo-root . --ratchet --corpus-onlyon master plus this spec): RATCHET CLEAN, 0 unexpected failures. The spec has no seal file, the same as the other new specs landed this week.Not in this PR
specs/t27f/reel_gf16_nmse.t27against this manifest.specs/api/tri_net_api.t27still saysbench/results/does not exist. It is sealed, so changing it means re-sealing.🤖 Generated with Claude Code