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
Only-t27 gate: a foreign-line budget the label cannot lift; local hook reads exceptions from origin/master #7371
Owner order 2026-10-07 (translated): "set lefthook up so it slaps the idiots' hands", after R3-1's tool half (#7363) landed ~800 hand-written Rust lines of new logic in bootstrap/src/service.rs.
Problem
The Only-t27 gate (specs/policy/own_language.t27) has three holes that let an agent ship a whole foreign-language feature:
An exception is a whole file. Once bootstrap/src/service.rs is listed, any number of new lines pass.
Requirement
A foreign-line budget in own_language.t27: at most FOREIGN_ADDED_MAX (40) added lines per hand-written foreign file and FOREIGN_ADDED_TOTAL_MAX (80) per diff, read from git diff --numstat --no-renames. Exceptions and the label do not lift it. Deletions are free. Generated roots and .t27 are exempt.
lefthook pre-commit/pre-push: the exception list comes from origin/master in --ci mode (a branch cannot list itself), plus the budget command.
CI: the budget step runs whether or not the label is set, compiled from the BASE revision's generated gate when BASE has it (a PR cannot loosen its own budget).
Acceptance
spec tests pass on the lab (zig), hand mutants of the budget killed, gen/c regenerated
Status: the change is ready on branch claude/own-language-budget-7371 (staged, verified on the lab: 32/32 zig tests, 19/19 hand mutants killed, the #7363 merge diff gives 3 DENYs). The gate denies every local change to its own files, so the owner commits it. own-language was added to the required status checks of the master ruleset (owner's decision in chat, 2026-10-07).
Activity
gHashTag commentedon Oct 7, 2026
Status: the change is ready on branch
claude/own-language-budget-7371(staged, verified on the lab: 32/32 zig tests, 19/19 hand mutants killed, the #7363 merge diff gives 3 DENYs). The gate denies every local change to its own files, so the owner commits it.own-languagewas added to the required status checks of the master ruleset (owner's decision in chat, 2026-10-07).t27b: the large-frame test in one-line string form, so the PR stays i…
t27b test: the release-only case lives in the .t27 conformance spec, …
t27b ledger: postfix_optional passes, 823 -> 824; the Rust test leave…
t27c gen-c: fit #7331 into the foreign-line budget; its tests become …
t27b: a postfix optional type T? is ?T, 823 -> 824 (Closes #7415) (#7462
t27b: frames over 16 KiB, probing the stack one page at a time (Closes …
verified: a signed corpus receipt and a base-vs-head compare for t27b…
t27b: return undefined in a void fn is a plain return (Closes #7402) (#…
verified: signed t27b corpus receipts and a base-vs-head compare (Closes
docs(skills): every skill opens with the Only-t27 rule (Closes #7588) (…
t27b: @abs, @max, @min and std.math.pi / e lower from a t27 plan (Closes
t27b: a test local named for a module var (Closes #7668) (#7447)
t27c gen-c: size_t range counter, refuse an integer switch without el…
tri test / tri mutate plant: every rule in t27, Rust is glue (Refs #7369