Repository navigation
spec(nn): make attention.t27 compile and pass with 0 vacuous tests (Closes #10094) - #10095
Merged
Merged
Conversation
…loses #10094) The module read constants::PHI_CUBED_INV from math::constants, which t27c does not resolve. It is now self-contained (use base::types only): phi, phi^-3 = 1/phi^3 and the sacred scale 81^(-phi^-3) are local constants, checked by tests against phi^2 = phi + 1, phi^2 + phi^-2 = 3, sqrt(5) - 2 and exp(-gamma ln 81). Math fix: the causal mask set masked scores to 0.0 before the softmax, so future positions still got positive weight. The mask is now a very negative score and future weights are exactly 0.0. The QK-gain ablation module is folded in, with the two empty-bodied functions implemented and the gain applied to Q and K (score x gain^2). Dropped: unused attention types and phase constants, the bench blocks, the BPB training run, and tests that asserted constants against themselves. 35 tests, 35 pass, 0 fail, 0 vacuous; 9 invariants. Five mutants (mask, causal comparison, softmax shift, RoPE sign, QK gain) each fail >= 1 test. Seals re-saved on the lab. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 17, 2026
spec(policy): l2_generation -- gen/json/ is t27c gen-json's backend directory (Closes #10079)
#10082
Merged
Merged
Merged
Contributor
This was referenced Oct 17, 2026
Merged
gHashTag
enabled auto-merge (squash)
October 17, 2026 19:36
This was referenced Oct 18, 2026
gHashTag
added a commit
that referenced
this pull request
Oct 18, 2026
…loses #10163) (#10164) * spec(igla): own_model cell 23 verified -- 17 of 17 ML specs compile (Closes #10163) nn/attention 35/35 on the Railway lab after #10095; the other ML specs still pass on the same checkout. Tally 1 published, 16 verified, 5 drafts, 5 gaps; the board event follows. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * spec(igla): own_model -- re-take the DELIVER cells' evidence for review (Refs #10163) nn/ternary_ste 26/26, nn/hslm_backward 15/15, nn/hslm_data 39/39, ml/arena_heap 10/10, ml/file_io_contract 12/12 on the lab; HF and board endpoints re-read. REVIEWED stays false until a later PR names the review. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
gHashTag
added a commit
that referenced
this pull request
Oct 18, 2026
…n, t27mcp duplicate helpers (Closes #10171) (#10172) * fix(ci): master green again -- 8 stale corpus-ledger rows, census re-pin after pr-budget.yml (Closes #10171) Corpus ratchet: #10101 (seven igla/coder specs) and #10095 (nn/attention) now pass every phase; their rows are dropped and the cap follows 81 -> 73. Re-pinned: bench_proxy 738 -> 696, prm 521 -> 520, benchmark 315 -> 319 (bdd-block-fallback only: #10101 lengthened then-conditions in BDD blocks the parser already skips). Census: #10087 added pr-budget.yml. workflow files 66 -> 67, jobs 87 -> 88, run steps 313 -> 314, bash steps 292 -> 293, path-not-quiet 198 -> 200. Re-pinned with tri census pin --bless. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * spec(t27mcp): examples.t27 uses check_hints' find/has instead of a second copy (Refs #10171) #10157 landed examples.t27 with byte-identical find(), has() and NO_POS from check_hints.t27, so duplicate-bodies on master reports two new groups. examples.t27 now imports t27mcp::check_hints. gen-c still emits both definitions in the one C file the wasm build compiles; 8/8 tests, 0 vacuous. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- 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 #10094. Part of epic #10024 (cell 23, ML specs that compile).
What changed
specs/nn/attention.t27never compiled:use math::constantsis not resolved by t27c, soconstants::PHI_CUBED_INVwas an undeclared identifier. The module is now self-contained (use base::typesonly).get_qk_gainandeffective_score_scalehad empty bodies and are implemented. The gain is applied to Q and K, so the score scales by gain^2 (tested).Dropped from the old spec, and why
run_attention_with_gain(a BPB training measurement) andattention_forward: they exist nowhere and cannot be checked by the compiler.benchblocks: they named buffers and calls that do not exist.Measured on the Railway lab (t27c,
test-report)First lab run had 4 vacuous constant tests (pure comptime expressions, 0 runtime asserts); they now read the constants through functions and execute.
Mutation check
Each mutant was made on a copy on the lab; the real spec was untouched.
0.0 - 1.0e30to0.0(the old behaviour), mask invariant also relaxedj > positiontoj < positions - maxtos + maxx0*c - x1*stox0*c + x1*sqk_gain * qk_gaintoqk_gain5 of 5 mutants killed.
Seals
.trinity/seals/SacredAttention.jsonandnn_SacredAttention.jsonre-saved on the lab (spec hash matches the committed file: sha256 c40795145b...).Only
.t27and seal data are touched. Not merged.🤖 Generated with Claude Code