feat(t27b): tri t27b gen-check proves steward.c against master t27c on the t27c lab - #6233
Merged
Merged
Conversation
…n the t27c lab gen/c/tri/t27b/steward.c is t27c gen-c output (L2), and t27c runs on the Railway lab t27c-lab, never on the Mac. The byte-identity proof was a hand-run railway ssh per PR. tri t27b gen-check sends the local spec to the lab (base64, chunked under the 128 KiB argument cap), runs the lab's master t27c gen-c in a scratch dir it removes, and compares sha256 and length: SAME 0, DIFFERS 1, UNREACHABLE 2 (never a guess), plus the lab binary's path, mtime, sha and the lab checkout commit. Live: SAME 7ab146aa8a9d (lab t27c 18:21:13Z, source 88862a9). Census: shell run: steps 285 -> 286 (and runner-named 264 -> 265): the new loop-tools-gate step for scripts/ci/test_the_t27b_gen_check_asks_the_lab.py. Closes #6231 Refs #6063 #6226 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
6 tasks
Contributor
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 #6231
Refs #6063 #6226
What
tri t27b gen-check [--spec specs/tri/t27b/steward.t27] [--gen gen/c/tri/t27b/steward.c] [--json](scripts/tri_loop/t27b.py). The local spec goes to the Railway lab t27c-lab as base64 insiderailway ssh(chunked at 64000 chars; one kernel argument is capped at 128 KiB -- 80 KB went through, 133 KB returned "Argument list too long"). The lab runs its master/data/target/release/t27c gen-cin/tmp/t27b-gen-check-<token>(removed by an EXIT trap) and answers sha256 + byte length; the tool compares with the local gen file.SAME <sha12>exit 0,DIFFERS lab <sha12> local <sha12>exit 1,UNREACHABLE <reason>exit 2 (ssh failed, partial answer, garbled digest, or gen-c itself failed -- never a guess).STALE?when the binary is older than the checkout.T27C_LAB_RAILWAY,T27C_LAB_DIR(+T27C_LAB_SERVICE,T27C_LAB_ENV,T27C_LAB_BIN,T27C_LAB_SRC);T27B_GEN_CHECK_FAKEfor tests.Live
Also live: chunked path (3 commands) SAME; a local copy with one extra byte DIFFERS; a missing railway CLI UNREACHABLE exit 2; no scratch dir left on the lab.
Test
scripts/ci/test_the_t27b_gen_check_asks_the_lab.py(loop-tools-gate,loop-tools-tracked), no network: SAME, DIFFERS (incl. a same-length byte flip), five UNREACHABLE cases, chunk reassembly byte for byte, CLI exit codes 0/1/2 throughT27B_GEN_CHECK_FAKE. Mutation control: a copy comparing lengths only calls the flip SAME. 21/21 ok. The three existing t27b tests and loop-tools-tracked.sh still pass.Census:
shellrun: steps 285 -> 286 (the new step), re-blessed.Not touched: specs/tri/t27b/steward.t27, gen/c/tri/t27b/steward.c, t27b_rules.py.
🤖 Generated with Claude Code