Repository navigation
t27b ledger: batch bless from a full lab run on master (Closes #7432) - #7476
Merged
Merged
Conversation
The ledger is rewritten by `tri t27b ratchet --bless --accept-new` from a full t27b Railway lab corpus run at master ba161bb (1539 of 1539 files, --jobs 2, reference = that head's t27c; crash 0, mismatch 0, JIT/interpreter mismatch 0, reference disagree 0 of 992). The four specs master added or changed up to 848490e were run again with the same binaries. The result is byte-identical to the lab's blessed ledger, and the ratchet of the run against it is green. Moves: 123 pass_vacuous -> pass, plus 224 new rows (170 pass, 12 pass_vacuous, 39 blocked, 3 codegen). Counts pass 535 -> 828, pass_vacuous 262 -> 151, not_pass 24 -> 66; the cap rise of 42 is all new specs. specs/policy/own_language.t27 keeps master's pass row (lab, cfda070); since #7399 it uses @intcast, which t27b blocks (lane 4, #7412). Refs #6063 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gHashTag
enabled auto-merge (squash)
October 7, 2026 10:31
This was referenced Oct 7, 2026
Closed
This was referenced Oct 7, 2026
Ledger = master's plus the bless moves, re-blessed on the lab at 3489726 (the 18 specs master added or changed since ba161bb run again). Plus one row by hand: specs/ml/recurrent/self_attention.t27 blocked on StmtAssign(undeclared); CI's arm64 reference passes it, the lab's x86 reference fails it. Counts pass 535 -> 831, pass_vacuous 262 -> 150, not_pass 24 -> 67 (cap 67). Refs #7432 Refs #6063 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 7, 2026
Closed
Contributor
This was referenced Oct 7, 2026
Merged
Merged
Contributor
PR DashboardGenerated at: 2026-10-07 13:22:49 UTC
Summary
Seal Status
|
…nst today's base (Refs #7432) The own-language run on 72c07b2 used pull_request.base.sha 848490e, so its foreign-line budget counted bootstrap/src/service.rs from #7416 and #7434, already on master. Against current master this branch changes only the t27b ledger and its docs/now note. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 7, 2026
Contributor
PR DashboardGenerated at: 2026-10-07 14:12:29 UTC
Summary
Seal Status
|
…n and large_frame rows (Refs #7432) Header-only conflict with #7425 (t27b: frames over 16 KiB). Its two rows (gen_w384_lean codegen -> pass, large_frame.t27 pass) merged cleanly; counts and cap recomputed from the entries: pass 841, pass_vacuous 150, not_pass 71, max_not_pass 72 -> 71. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
PR DashboardGenerated at: 2026-10-07 14:25:47 UTC
Summary
Seal Status
|
This was referenced Oct 7, 2026
gHashTag
added a commit
that referenced
this pull request
Oct 7, 2026
… Q59) (Refs #7410) Re-merge after the #7476 batch bless. The ledger is master's ledger plus only this PR's own moves (Q61): specs/numeric/gfternary.t27 blocked -> pass, specs/tri/t27b/conformance/eval_branch_quota.t27 new, pass. Recounted: pass 843, pass_vacuous 150, not_pass 70 (max_not_pass 70), no duplicate paths (Q65). source.rs keeps master's new tests and adds this PR's one; foreign-exceptions.txt keeps both blocks. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gHashTag
added a commit
that referenced
this pull request
Oct 7, 2026
…59) (Refs #7402) Re-merge after the #7476 batch bless. The ledger is master's ledger plus only this PR's own moves (Q61): gen_ring_buffer, gen_rtree and gen_wal blocked (ExprReturn) -> pass, gen_work_stealing ExprReturn -> the frame-size row this PR recorded, conformance/return_undefined_void.t27 new, pass. Recounted: pass 845, pass_vacuous 150, not_pass 68 (max_not_pass 68), no duplicate paths (Q65). source.rs keeps master's new tests and adds this PR's one; foreign-exceptions.txt keeps both blocks. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gHashTag
added a commit
that referenced
this pull request
Oct 7, 2026
…, Q59) (Refs #7413) Re-merge after the #7476 batch bless. The ledger is master's ledger plus only this PR's own move (Q61): trios-mesh packet.t27 blocked (type [*]T) -> pass; the server_main.t27 row this PR once added is already on master with the same value. Recounted: pass 842, pass_vacuous 150, not_pass 70 (max_not_pass 70), no duplicate paths (Q65). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gHashTag
added a commit
that referenced
this pull request
Oct 7, 2026
… Q59) (Refs #7404) Re-merge after the #7476 batch bless. The ledger is master's ledger plus only this PR's own moves (Q61): layernorm_layer.t27 and ternary_mac_synth.t27 blocked -> pass, wrapup-auto.t27 stays blocked with its new first blocker ExprArrayLiteral(to slice field). Recounted: pass 843, pass_vacuous 150, not_pass 69 (max_not_pass 69), no duplicate paths (Q65). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gHashTag
added a commit
that referenced
this pull request
Oct 7, 2026
…Q59) (Refs #7422) Re-merge after the #7476 batch bless. The ledger is master's ledger plus only this PR's own moves (Q61): zig_test_shadowing.t27 blocked (StmtAssign(reference redeclares)) -> pass, conformance/shadow_module_var.t27 new, pass. Recounted: pass 843, pass_vacuous 150, not_pass 70 (max_not_pass 70), no duplicate paths (Q65). foreign-exceptions.txt keeps both blocks. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gHashTag
added a commit
that referenced
this pull request
Oct 7, 2026
…Q59) (Refs #7448) Re-merge after the #7476 batch bless. The ledger is master's ledger plus only this PR's own moves (Q61): boards/xc7a100t_minimal.t27 blocked -> pass, conformance/str_module_var.t27 and undefined_module_var.t27 new, pass, vsa/similarity_search.t27 stays blocked with its next blocker ExprCall(@intcast). Recounted: pass 844, pass_vacuous 150, not_pass 70 (max_not_pass 70), no duplicate paths (Q65). foreign-exceptions.txt keeps both blocks. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gHashTag
added a commit
that referenced
this pull request
Oct 7, 2026
#7537) * t27b: the Mach-O object layout and bytes are a t27 spec (Closes #7526) specs/tri/t27b/macho.t27 states the MH_OBJECT writer: the mach_header_64, LC_SEGMENT_64 with its __text and __const sections, LC_BUILD_VERSION, LC_SYMTAB and LC_DYSYMTAB, the alignment math, the relocation pairs and the nlist_64 entries. Its 15 tests assert the exact bytes master's Rust wrote for three inputs. t27c gen-rust gives gen/rust/tri/t27b/macho.rs, which cli/t27b/src/macho.rs mounts the way check_budget is mounted. cli/t27b/src/macho.rs: +21 glue, -153 hand Rust. Generated: 278 lines. Spec: 476 lines. t27b build over all 1552 specs: the 980 objects are byte-identical to master's; the t27b lab corpus counts are unchanged apart from the new spec itself, mismatch 0, cargo test 126/126. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * ci/affected: Markdown anywhere and seal files select nothing (Closes #7527) (#7529) The selector sent every path outside specs/ to RUN_ALL. Over the last 400 first-parent master commits that ran everything on 373 of them, 208 because of docs/*.md alone, so wiring it into CI would have saved almost nothing. Two exceptions, both things no spec test reads: a .md file anywhere is prose, and .trinity/seals/*.json is the verdict record t27c writes, not an input. .txt stays RUN_ALL outside specs/ (tools/*.txt are baselines). Measured on the lab with the regenerated gen/c/ci/affected.c: 284 of 400 commits are now selective, median 1 affected spec of 1545, p90 5, max 49. 15/15 tests (zig and the C runner); 5/5 mutants of the new lines killed. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * gen-rust: wrap a value returned from a ?T fn in Some (Closes #7534) (#7536) * gen-rust: wrap a value returned from a ?T fn in Some (Closes #7534) gen-rust lowered a `?T` return type to `Option<T>` and `return null;` to `return None;`, but a plain value return reached rustc as is: E0308 at `return (x / 2);`. expr_to_rust_as, which every return and fn tail goes through, now wraps the value in `Some(..)` when it is surely not optional already (literal, operator, cast, struct, tuple, `x.?`, or a name or call whose declared type is not Option). `null`, an optional local, a call to a `?T` fn and anything of unknown type pass through unchanged, so output that compiled before is not double-wrapped. The width cast for a narrower integer goes inside the `Some`. Fixture: specs/compiler/rust_optional_returns.t27. The compiler.rs seal moves in bootstrap/stage0/FROZEN_HASH (shasum -a 256 of the new file). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * spec(compiler): no lone ; line in the rust_optional_returns header (Refs #7534) A ; alone on a line made the parser read the next comment as a statement (parse error at line 6). Joined the two comment paragraphs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * seals: gen_hash_rust for the 16 seals whose Rust output the Some wrap changes (Refs #7534) Only the gen_hash_rust line moves, and only in seals whose gen_hash_rust held with the master binary (7959d8b): 9 specs, 16 seal files, of 1400 checked (1394 held with master). Computed by `t27c seal` with this branch's binary on the Railway lab. Each moved output was compiled with rustc on the lab, master vs this branch: no new rustc error in any of the 9; E0308 drops by one or two in array, bitmap, net, regex and bytes. The other four stop at a parse error before type checking, unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * seal: compiler_RustOptionalReturns for the #7534 fixture (Refs #7534) t27c seal --save with this branch's binary on the Railway lab, zig on PATH: 7 of 7 tests pass. Without a seal the suite's seal-verify phase counts the new spec as a failure. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * t27b: the A64 instruction encoders come from specs/tri/t27b/a64.t27 (Closes #7531) (#7535) Port slice of #6198. The functions that build one 32-bit AArch64 instruction word from register numbers and immediates, the Cond/Ext/Shift/LogOp enums, the register and access-kind constants and the two patch helpers move from hand-written cli/t27b/src/a64.rs into specs/tri/t27b/a64.t27. cli/t27b mounts its `t27c gen-rust` output gen/rust/tri/t27b/a64.rs the way main.rs mounts check_budget.rs; the encoder `b` is `branch` in the spec (the Zig prelude's assert_eq(a, b) shadows a fn named b, #7532) and is re-exported as `b`. Hand Rust: -531 lines, +11 glue (a64.rs 1067 -> 547). Generated: 531 lines. Spec: 1253 lines, 30 tests, all with runtime asserts. Still hand-written in a64.rs: impl Cond (invert/name/from_bits), bitmask_imm, logic_imm (now calls the generated logic_imm_word), mov_imm and the disassembler. bitmask_imm/logic_imm wait on #7534 (gen-rust does not wrap a ?T return value in Some). Checks: spec asserts hold on the old hand Rust and on the generated Rust; 18.6M random-argument words identical between the two; 56 words checked against LLVM's assembler; 639 literal mutants of the encoder half: 582 killed, 52 rejected by the compiler, 5 equivalent. t27b lab, head vs master ec5c3cf over the same 1553-file tree: pass 844, pass_vacuous 151, fail 16, blocked 536, mismatch 0 on both, per-file verdicts/tests/asserts identical; `t27b asm` output byte-identical for all 995 passing files (10.85 MB); cargo test -p t27b 126 passed, 0 failed. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * t27b ledger: batch bless from a full lab run on master (Closes #7432) (#7476) The ledger is rewritten by `tri t27b ratchet --bless --accept-new` from a full t27b Railway lab corpus run at master ba161bb (1539 of 1539 files, --jobs 2, reference = that head's t27c; crash 0, mismatch 0, JIT/interpreter mismatch 0, reference disagree 0 of 992). The four specs master added or changed up to 848490e were run again with the same binaries. The result is byte-identical to the lab's blessed ledger, and the ratchet of the run against it is green. Moves: 123 pass_vacuous -> pass, plus 224 new rows (170 pass, 12 pass_vacuous, 39 blocked, 3 codegen). Counts pass 535 -> 828, pass_vacuous 262 -> 151, not_pass 24 -> 66; the cap rise of 42 is all new specs. specs/policy/own_language.t27 keeps master's pass row (lab, cfda070); since #7399 it uses @intcast, which t27b blocks (lane 4, #7412). Refs #6063 Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * spec(policy): drop a redundant @intcast in added_lines so t27b compiles own_language (Refs #7023) (#7479) #7399 wrote `@as(u32, @intcast(c - '0'))` in added_lines. `c - '0'` is already a u8 that @as widens to u32 losslessly; the @intcast adds nothing, and t27b refuses it (ExprCall(@intcast), lane 4, #7412), so the t27b-native ratchet row for specs/policy/own_language.t27 went from pass to fail. `@as(u32, c - '0')` says the same thing. gen/c/policy/own_language.c is regenerated with `t27c gen-c` (one line: a redundant pair of parentheses). t27b test specs/policy/own_language.t27: 32 passed, 0 failed (was a compile refusal). t27c test-report: 0 of 32 vacuous. Census re-blessed (tri census pin --bless), byte-identical to #7454: quiet `named a path but not quiet` 181 -> 182 and shell `run: steps` 301 -> 302, both moved by #7399's new own-language.yml step. Without it the pre-commit census gate refuses every commit on master. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * specs(tri): TemplateEntry, not Entry, so template.t27 adds no type conflict (Refs #7383) (#7488) Follows #7386. That PR added `pub const Entry = struct { name, value }` to specs/tri/utils/template.t27, but master already declares a type `Entry` in specs/port/browseros/trios/agent-server/apps/server/src/tools/filesystem/ls.t27, so `tri types ratchet` reports `+ Entry NEW conflict`. Rename the template's struct to TemplateEntry at all six uses in that file; no other spec touched. Evidence (merge of this branch with PR #7482, local scratch, not pushed): tri types ratchet observed 111 -> 110, RATCHET CLEAN t27c test-report template.t27 3 pass, 0 fail, 0 vacuous t27c seal --verify template.t27 all hashes MATCH (both seal files resealed) check_seal_currency / check_seal_coverage / check_duplicate_declarations rc 0 Census re-bless, not caused by this change: master is already off its pin since #7399 (.github/workflows/own-language.yml adds one run: step), which moves quiet "named a path but not quiet" 181 -> 182 and shell "run: steps" 301 -> 302 ("the runner does" 280 -> 281). `tri census explain` names that file as the only mover for both. The pre-commit census gate refuses every commit on master until re-blessed, so tools/census/{quiet,shell}.txt are re-recorded here with `tri census pin --bless`. 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 #7432
Refs #6063
What
One batch bless of
docs/reports/t27b_expectations.jsonfrom a fresh full lab corpus run on master, so thatt27b-native-ratchetgoes green. This PR changes data and adds one NOW entry. It has no Rust and no other code, and check_budget passes on the diff.The run (t27b Railway lab)
t27b corpus specs --jobs 2 --blockersat master ba161bb, with the same head'st27cas the reference.ed25519.t27,device_dna.t27,postfix_optional.t27): mismatch 0, reference disagree 0, and the 254 other rows agree.tri t27b ratchet --bless --accept-newthen wrote the ledger. A row is recorded only where the reference passes. The committed ledger is byte-identical to the lab's, and the ratchet of the run against it is green: UNEXPECTED FAILURE 0, UNEXPECTED PASS 0, UNLISTED 0, STALE 0, OVER CAP 0.specs/ml/recurrent/self_attention.t27, blocked onStmtAssign(undeclared). The first CI run (37607915852) listed it as UNLISTED because CI's native arm64 reference passes it. The lab's x86 reference fails its one test (forward_basic_case) with the same zig 0.16.0. t27b blocks it on both machines.Ledger moves (vs master b94f486)
pass_vacuous->pass. These are specs whose asserts now count: crons 28, skills 27, tools 26, agents 21, functions 12, docs 7, i18n 2. The list includes the 14 crons andwallet.t27that were reported as UNEXPECTED PASS.specs/verified/verdict.t27,specs/queen/*.t27andspecs/isa/*.t27.Left red, outside this bless
specs/policy/own_language.t27changed in #7399 and now uses@intCast, which t27b blocks (ExprCall(@intCast), lane 4's #7412 / #7417). The bless keeps master'spassrow for it, which was measured on the lab at cfda070 before the change. On master, the ratchet will show that one UNEXPECTED FAILURE until@intCastlands.🤖 Generated with Claude Code