Repository navigation
specs(tools/tri): real tests for 11 tool cards, gen to merging (Closes #7903) - #7904
Merged
Merged
Conversation
…#7903) Each card held no test block and passed vacuously (0 runtime asserts) under both the reference and t27b. The four tests check the rules the card is written under, byte by byte: - QUALIFIED_ID is REPO, ':' and ID (specs/tools/catalog.t27 ID_RULE); - ID is tri/<name>, COMMAND is `tri <name>`, VARIANT is Commands::<Name> with <name> its kebab-case; - the command name and every action are kebab-case, one ACTIONS_ABOUT per action, every ARGS entry a <positional> or a --flag; - AGENTS holds the Queen (T) first, then the domain lead(s), no letter twice. t27c test-report: 4/4 per spec, 0 vacuous. Sealed with seal --save and checked with --verify. 13 hand mutants per card of the constants: every one that applies is killed. Closes #7903 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 8, 2026
…7903) docs/reports/t27b_expectations.json: `bless` of scripts/tri_loop/t27b.py over master 76836e2's lab run, with this branch's t27b verdicts for the 11 specs (t27b test --check on the t27b lab: 4/4 each, 53 to 148 runtime asserts), composed onto master's ledger with only these 11 rows: pass_vacuous -> pass. pass 920 -> 931, pass_vacuous 151 -> 140, max_not_pass unchanged at 36. Closes #7903 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
This was referenced Oct 8, 2026
Contributor
PR DashboardGenerated at: 2026-10-08 20:00:44 UTC
Summary
Seal Status
|
This was referenced Oct 8, 2026
Merged
gHashTag
enabled auto-merge (squash)
October 8, 2026 21:43
#7903) docs/reports/t27b_expectations.json conflicted with master's ledger (408d740). Resolved from master's side: master's ledger with only this branch's 11 rows recomposed by `bless` over this branch's lab run 967bb7b: pass 931 -> 942, pass_vacuous 151 -> 140. Closes #7903 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
PR DashboardGenerated at: 2026-10-08 21:57:13 UTC
Summary
Seal Status
|
gHashTag
pushed a commit
that referenced
this pull request
Oct 8, 2026
From master's side (#7904's tool-card tests and others; no t27b code changed, the conflict is the ledger only). docs/reports/t27b_expectations.json: master's ledger plus this branch's three rows, recomposed as before (gen_hazard_pointers.t27 -> pass, two new pass rows): pass 942 -> 945, max_not_pass 33 -> 32. AGENTS.md: master's remainder plus this branch's clause, re-measured with `wc -l` over master 4daabae: src/*.rs 15227 -> 15266, src/*/*.rs unchanged, tests/*.rs 8164 -> 8172. Merged-tree checks on the t27c lab: cargo test --release -p t27b 130 passed, 0 failed; under `t27b test --check` gen_hazard_pointers.t27 (4/4), pointer_equality.t27, ptr_eq_plan.t27 and opaque_pointer.t27 pass. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gHashTag
added a commit
that referenced
this pull request
Oct 9, 2026
…#7951) (#7958) Each card held no test block and passed vacuously (0 runtime asserts) under both the reference and t27b. The same four tests as #7904 check the rules the card is written under, byte by byte: - QUALIFIED_ID is REPO, ':' and ID (specs/tools/catalog.t27 ID_RULE); - ID is tri/<name>, COMMAND is `tri <name>`, VARIANT is Commands::<Name> with <name> its kebab-case; - the command name and every action are kebab-case, one ACTIONS_ABOUT per action, every ARGS entry a <positional> or a --flag; - AGENTS holds the Queen (T) first, then the domain lead(s), no letter twice. t27c test-report: 4/4 per spec, 0 vacuous. t27b test --check: 4/4, 60 to 101 runtime asserts. Sealed with seal --save and checked with --verify. docs/reports/t27b_expectations.json: `bless` of scripts/tri_loop/t27b.py over lab run 967bb7b with this branch's t27b verdicts for the 10 specs, composed onto master's ledger with only these rows: pass_vacuous -> pass. pass 942 -> 952, pass_vacuous 140 -> 130. Closes #7951 Co-authored-by: Claude <claude@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 #7903. Part of #6063 (t27b coverage), which is item C10 of #6488.
What changes
Eleven tool cards in
specs/tools/trihad no test block. They passed vacuously (0 runtime asserts) under the reference and under t27b, and broke L4 TESTABILITY. Each now carries the same four tests, which check the rules the card is written under. The rules arespecs/tools/catalog.t27(ID_RULE,SCHEMA_2_RULE) and the card's own header (thetri <name>command, read off a clap#[derive(Subcommand)]enum).qualified_id_is_repo_colon_idQUALIFIED_IDisREPO, a:, thenID, byte by byte;SCHEMAis 2id_command_and_variant_name_one_subcommandIDistri/<name>,COMMANDistri <name>, andVARIANTisCommands::<Name>, where<name>is the kebab-case of<Name>(OneAwayisone-away)clap_names_are_kebab_case-; oneACTIONS_ABOUTper action; everyARGSentry is a<positional>or a--flagthe_queen_holds_every_tool_beside_its_leadAGENTShas the Queen (T) first, asdocs/agents/AGENTS_ALPHABET.mdbinds every tool to her, then the domain lead(s): one letter each, none twiceNo test restates a constant: each one relates two or more fields, or a field to the grammar it must follow. Each test walks strings with a
varindex, so its asserts are runtime asserts.Specs changed (all
specs/tools/tri/<name>.t27), with the runtime asserts their 4 tests execute (reference / t27b):genharnesshealthhooksissuesjumpskindsleanledgersloopmergingt27c test-report <spec>on the t27c lab (zig 0.16.0): 4 pass, 0 fail, 0 vacuous for each.t27b test <spec> --checkon the t27b lab (aarch64 under qemu).t27c seal --save, thent27c seal --verify: all hashes MATCH. The 11 seal files are new; these cards had none.Mutants
13 hand mutants per card, each a plausible slip in the data. Each was applied to a copy of the card and run under
t27c test-report:QUALIFIED_IDnames the other repository, or its name drifts fromID;COMMANDjoined by-, or its name drifts;VARIANTwith the enum renamed, the name drifted, or written in lower case;IDloses its/;AGENTSwith the lead before the Queen, or the Queen twice;<...>nor--...;SCHEMA1.Over the 31 cards of
specs/tools/tri, 359 mutants applied and 359 were killed. The other 31 did not apply: an action or arg mutant on a card with no actions or no args. None survived.Skipped
None in this directory: all 31 cards of
specs/tools/triget these tests, in this PR and two more (misreadtored,resealtoworktrees). The specs this lane leaves alone elsewhere (module-path fixtures such asspecs/a/b_c.t27, and empty placeholder modules) are named in the PRs of their directories.Gates
On the t27c lab, from master's
gen/c/policy/own_language.c, withlefthook.yml's one-line C main:check_all()overorigin/master:tools/policy/foreign-exceptions.txt,--andgit diff --name-status origin/master...HEAD: exit 0. A plantedA cli/foo/new.rsline exits 1.check_budget()overgit diff --numstat --no-renames origin/master...HEAD: exit 0. No foreign line is added.Ledger
docs/reports/t27b_expectations.json: the 11 rows move frompass_vacuoustopass; nothing else changes. The rows come fromblessinscripts/tri_loop/t27b.py(whattri t27b ratchet --blessruns), composed onto master's ledger with only these rows. After master 408d740 changed the ledger, master was merged in from master's side (2e8539e) and the 11 rows were recomposed onto its ledger: pass 931 -> 942, pass_vacuous 151 -> 140,max_not_passunchanged.tri t27b ratchet --runof this branch's lab run (below) against the branch ledger has no finding on any of the 11 specs. Against master's ledger the same run gives 11 UNEXPECTED PASS (ledger pass_vacuous, now a pass with N runtime asserts). The run's other findings (2 UNEXPECTED PASS, 73 UNLISTED, 1 STALE, 4 MOVED) are master's own and are not touched here.t27b lab: signed receipts (#7686)
Head 967bb7b (this branch), requested with a fresh 32-byte challenge, against base 76836e2. The base is the newest master ancestor the lab has a receipt for; the merge-base 8378792 has none. Both are signed runs of the deployed lab (rustc 1.99.0, zig 0.16.0, qemu-aarch64 7.2).
/work/t27c-master corpus-receipt compare BASE HEAD --challenge-head <mine>, from/work/t27on the t27b lab:Exit 3, IMPROVED_ONLY. The PR head 2e8539e is 967bb7b with master 408d740 merged in and the ledger rows recomposed; it changes no spec beyond master's. The two neutral rows are the two master commits between the base and the merge-base (#7436, #7866); their verdicts do not change.
11 specs move from
pass_vacuoustopass; none regresses.Native arm64 CI:
t27b-native-ratcheton 967bb7b reports reference disagree 0 files, 0 tests (of 1160 compared), and no finding on any of the 11 specs. It is red on master's own ledger findings, as on master.Generated with Claude Code