Repository navigation
t27b: @truncate lowers, utf8 passes; ledger rows for 8 unlisted specs, cap stays 129 (Closes #10837) - #10862
Merged
Conversation
…c's Zig backend prints it (Refs #10837) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… on host I/O), 11 sqrt specs flip to pass, cap 139 -> 129 (Closes #10837) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…s two unlisted hslm specs (Closes #10837) #10380 merged specs/nn/hslm_tokenizer.t27 and specs/ml/hslm_corpus.t27 with no ledger rows, so every PR built on master got UNLISTED 2 from t27b-native-ratchet. hslm_corpus is blocked (cross-module use-resolution), and the ledger already sat at max_not_pass 139: its row would have been the 140th not-pass row, which reads as OVER CAP. The cap stays where it is. This change frees a slot instead. specs/tri/utils/utf8.t27 was blocked only by ExprCall(@truncate). @truncate now lowers through int_cast_plan.t27: - truncate_plan is plan in wrap mode, so it keeps the low bits and never traps; - a comptime operand folds with wrap; - a result type wider than the operand is refused (REFUSE_WIDER), as Zig refuses it; - from_destination now names @truncate, so `x = @truncate(e)` takes x's type. lower.rs is glue only, net 0 lines: int_cast takes a trunc flag that picks ic::truncate_plan and the @truncate site texts. gen/rust/tri/t27b/int_cast_plan.rs is regenerated by t27c gen-rust, and the seal is re-saved. Ledger: utf8 -> pass, hslm_tokenizer pass, hslm_corpus blocked. That leaves 138 blocked + 1 codegen = 139, at the cap, which is unchanged. The t27b-loop skill records four traps: the cap trap, the x86 lab without a qemu runner, the full /data volume, and old negative tests that flip. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…b (Refs #10837) mos_psp103, mos_psp103_data, sar_switch (specs/analog), idea_factory, particle_ds, petal_menu (specs/t27f) landed on master with no rows in docs/reports/t27b_expectations.json. t27b passes all six on the lab (qemu-aarch64 corpus on 535334d), so they cost no not-pass slot: the ledger stays at 139 not-pass rows, the cap. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rifted rows) Both PRs close #10837 and each one alone stays red on t27b-native-ratchet: #10853 has UNLISTED 8 and MOVED 2, and #10862 cannot list eval_hslm and ngram_hslm without two free slots. Together they free 12 slots, list all 10 drifted specs, and move two blockers to what native CI reports: - specs/ml/pathway/mlp.t27: ExprArrayLiteral(repeat count) - specs/nn/gla.t27: ConstDecl eval_hslm and ngram_hslm are listed blocked (ExprCall(undeclared fn)). Not-pass rows: 129 blocked + 1 codegen = 130, and max_not_pass goes from master's 139 to 130. That lowers the cap; it never rises above master. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gHashTag
enabled auto-merge (squash)
October 19, 2026 05:12
…ck to #10858 (Refs #10837) #10853 merged on its own with max_not_pass 129, the exact count, so master has no room for eval_hslm and ngram_hslm. With @truncate freeing utf8, keeping both rows would need 130 and raise master's cap. This branch drops them and takes master's 129: 128 not-pass rows, one slot free for #10858. The cap line now matches master's, so the branch merges without conflict. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ch master and check merge-tree (Refs #10837) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
This was referenced Oct 19, 2026
gHashTag
added a commit
that referenced
this pull request
Oct 19, 2026
…s_psp103_50c_data, worktrees/reap pass, ngram_hslm blocked; cap equals reality at 129 (Closes #10887) (#10889) * analog: rename sar_adc's Range to SarErrRange, a second type named Range broke the types ratchet (Closes #10887) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * t27b ledger: rows for sar_adc, tri/worktrees/reap and ml/ngram_hslm, not-pass 129 at cap 129 (Refs #10887) #10862 auto-merged at 330dd0a, one push before its sar_adc and reap rows, so master's native ratchet reports them UNLISTED. ngram_hslm takes the last free slot. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * analog: take master's ErrRange rename from #10892, keep only the missing ledger rows (Refs #10887) #10892 renamed sar_adc's Range to ErrRange on master, so this branch's SarErrRange rename now conflicts. The spec and its seal are set to master's. The ledger is master's (d0959ff) plus the three rows master still lacks: sar_adc and worktrees/reap pass, ngram_hslm blocked. Not-pass is 129, which equals the cap, so loop-tools-tracked's "cap equals reality" holds again. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * tri/worktrees/reap: a neutral home path in the plain() test, so the devhome guard passes (Refs #10887) The scan check's check_devhome_paths.py fails on master for this line: it named a developer's home directory. The test only needs a plain path, so it now uses /Users/dev/. The seal is re-saved in the next commit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * tri/worktrees/reap: re-save the seal after the test path change (Refs #10887) Railway lab, t27c built from master: 13 tests, 0 FAIL, 0 vacuous; seal --verify all hashes MATCH. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * ledger: name mos_psp103_50c_data and sar_comparator_psp, both pass on master (Refs #10887) Master merged both specs without ledger rows, so t27b-native-ratchet reports them UNLISTED on every open PR. Both pass the reference and t27b; not-pass stays 129 = cap. 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 #10837. Refs #10858.
What
@truncatelowers in t27b, sospecs/tri/utils/utf8.t27passes. That frees one ledger slot. Eight specs that master merged with no rows indocs/reports/t27b_expectations.jsonnow have pass rows.#10853 (bare
sqrt, 11 rows flipped) merged first, withmax_not_pass129. This PR keeps that cap, holding 128 not-pass rows (127 blocked + 1 codegen). One slot stays free for #10858.@truncatespecs/tri/t27b/int_cast_plan.t27gainstruncate_plan:planin wrap mode: it keeps the low bits and never traps;REFUSE_WIDER), as Zig refuses it;from_destinationnow names@truncate, sox = @truncate(e)takes x's type.cli/t27b/src/lower.rsis glue only, net 0 hand-written lines (9 added, 9 deleted):int_casttakes atruncflag.t27c gen-rustregeneratedgen/rust/tri/t27b/int_cast_plan.rs, and the seal was re-saved (--verify: all MATCH).Ledger
tri/utils/utf8.analog/mos_psp103,analog/mos_psp103_data,analog/sar_logic,analog/sar_switch;policy/secret_gate;t27f/idea_factory,t27f/particle_ds,t27f/petal_menu.ml/pathway/mlp->ExprArrayLiteral(repeat count);nn/gla->ConstDecl.ml/eval_hslmandml/ngram_hslm(spec(ml): eval_hslm and ngram_hslm -- HSLM held-out loss at step 8000 against unigram, bigram and trigram baselines (Refs #10372) #10467). Both are blocked, and their two rows would need 130 not-pass rows, which would raise master's cap. t27b ledger: eval_hslm and ngram_hslm are unlisted, and two not-pass slots must be freed first #10858 covers them, and it now needs only one more freed slot.LC_ALL=Corder.The native ratchet on 8f043ad reported UNLISTED 2 (
sar_logicandsecret_gate, now listed) and 0 in every other count. On a merge with master it will also show UNLISTED foreval_hslmandngram_hslm, as master's own run does today.Evidence (Railway lab, x86_64 host, t27b cross-built for aarch64 and run under qemu)
int_cast_plan.t27:truncate_keeps_the_low_bits_in_either_mode_and_never_traps;t27b corpus, t27b against t27c + zig, compared per test, with 0 disagreements:specs/tri/utilsspecs/tri/t27bspecs/nnspecs/benchmarksspecs/compilerutf8.t27: pass, 8 tests, 14 asserts.The crate's own Rust suites (aarch64 under qemu, with the
@truncateglue): rc 0, every suite ok.The
t27b-loopskill records the traps hit here, including a cap lowered to the exact count and two sessions on one issue.🤖 Generated with Claude Code