You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
tri mutate spec: guard and operator mutants of a .t27 spec, run through t27c gen + zig test #6993
tri mutate run perturbs numeric literals only. The mutation runs that found 6 test gaps and 2 dead lines in specs/queen/actors.t27 (#6963) and 2 more in its follow-up (#6971) mutated guards and operators -- dropping an if (...) { return ...; } line, >= -> >, == -> != -- from a hand-written throwaway pairs list in /tmp, at about 13 s per mutant. Every spec loop rewrites that list.
Change
tri mutate spec --file <spec.t27> [--fn <name>] [--max N] [--jobs N]: generates the mutants itself (drop a one-line guard, flip a comparison, and<->or, + 1 -> nothing), lowers each with t27c gen, runs zig test on it, and prints each survivor with its line, so a survivor is read as a dead line or a test gap. The file is never edited in place: mutants live in a temp dir. --fn limits the run to the lines of one function, so a loop tick mutates only what it changed.
a planted test gap (delete one assert of each_strategy_picks_its_own_children) is reported as a survivor -- the negative control;
card specs/tools/tri/mutate.t27 lists the new action; tri inventory check green.
Foreign code: Rust in cli/tri/src/mutate.rs under the owner's standing owner-approved-foreign approval (2026-10-06). Built on the Railway lab, not the Mac.
Activity
spec(queen): actors control lane, call, backoff, hung turn, dead lett…
spec(queen): actors jitter, significant children, call cycle, max chi…
feat(t27b): std.mem.eql/indexOf on byte slices and byte-array pointers (
fix(codegen): gen-rust enum order and gen-zig float-call cast (#6941) (…