Repository navigation
fix(specs): seven ml specs stop discarding tokens - #5575
Merged
Merged
Conversation
The last seven core specs the corpus ratchet reported as newly discarding
tokens after 2026-09-12, all under specs/ml/:
- gelu_approx, sgd, attention_mechanism, ppo_actor, sac_critic: given/when/then
blocks in pseudo-syntax ([]f32{len = 3; ...}, new f32[2]{...}, [0.0] * 12,
`then result == void`, statements and loops inside clauses) become braced
tests that keep their checks: batch lengths and signs, the SGD step moving
both parameters, attention output and gradients and causal masking, PPO
probabilities summing to one and bounded log_std and actions, the SAC soft
update moving targets toward their sources.
- contrastive_loss: the loop body was pasted twice; the second copy read
anchor[anchor_len] and its `}` closed the function before the average. Removed.
- sigmoid: a std.meta.fields reflection test t27 cannot lower is removed; the
@sizeof test beside it already pins the empty config.
All seven parse with nothing discarded and generate in every backend as
before; Zig test-report unchanged but for sigmoid's removed empty test. The
seven are resealed.
Refs #5497
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
📓 NotebookLM Notebook linked to this PR
This notebook contains session context, decisions, and artifacts for this work. |
Contributor
This was referenced Oct 2, 2026
Closed
gHashTag
added a commit
that referenced
this pull request
Oct 5, 2026
dmitrii-f-t27
added a commit
that referenced
this pull request
Oct 10, 2026
check_seal_currency.py reported 544 stale generated-code hashes on master db870cd, and the seal-coverage gate restored by #5454 604 seals that no longer hold. Nothing in the merge path reseals; the first gate sat behind Spec Guards' first red step and the second was empty until #5454. Why they moved, measured. 90 specs never changed while their output did: bisecting t27c across the history puts it on the 2026-09-17 compiler changes (#3962 "and the seal moves for it", #3973, #4114) and the 2026-09-08 gen-c/gen-rust wave, plus S07-S10 seals made with a pinned binary on 2026-10-01. 245 specs changed after sealing: 154 last edited by bee commits that implement bodies and never reseal, 91 by repairs on master. 336 specs are resealed with the t27c built from master (compiler sources unchanged since 756bcff): the 307 currency-stale ones and 29 more the coverage gate flags, 34 of them hollow seals whose specs now generate. specs/ar/ternary_logic.t27 still generates nowhere and is resealed with --force, on the record as hollow. tri seals sync-twins: all consistent. Currency stale 544 -> 14 and coverage 604 -> 14; the 14 are the seven specs/ml/ seals #5575 reseals. Hollow 65 -> 31. A reseal records what the compiler produces, not that it is correct, as in #3440 and #2909. Refs #5497
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.
What
These are the last seven core specs that the corpus ratchet reported as newly discarding tokens after 2026-09-12, all under
specs/ml/. After #5572 and this PR, the ratchet's unexpected failures go 29 -> 2. The two that remain are typechecker defects, filed with a patch as #5573 and #5574.[]f32{len = 3; [...]}pseudo-literals -> braced tests on real arrays (lengths, signs)new f32[2]{...}/3u32-> braced tests; update moves both parameters; init runs on a fresh state, by value[0.0] * 12,then result == void-> braced tests: output, gradients, causal masking}-> braced tests: probabilities in [0,1] summing to 1, bounded log_std and actions, entropy >= 0t = tau*s + (1-tau)*t)anchor[anchor_len]and its}closed the function before the average. Removed.std.meta.fieldsreflection test t27 cannot lower is removed; the@sizeOftest beside it pins the empty configChecks (on master db870cd)
t27c parse-complete --show: nothing discarded in any of the seven.t27c test-report(Zig 0.16.0): unchanged, except sigmoid's removed empty test. The other six are BLOCKED in Zig before and after.UNEXPECTED FAILURES: 2(mha_block and disjoint_set, both [typecheck], A qualified call module::f is typechecked against the local f of the same name #5574 and A module-level var array is typechecked as const: W456 rejects every write into it #5573),UNEXPECTED PASSES: 0.DISCARD WORSENED: 7is unchanged; those seven come from formal statements added on 2026-09-23..30 and are left for their author.x.lenfield reads 2199 -> 2191,abs(418 -> 417, each with its reason.Refs #5497
Dmitrii Fedorov (@dmitrii-f-t27)