077 — The ladder that grew under the gate: the twelfth task admitted, and the rungs it may not read
2026-09-07, distribution lane (DISTRIBUTION D1, step 4e). The open S1 seat is filled: A2 is now LF1, authored, gated and admitted. All twelve Class A tasks exist. Along the way the gate was found reading four releases it has no business reading, because the other lane extended the ladder they share three hours ago.
The task
Step 4d refused A2 (LF4) and drew LF1 off the S1 reserve — .pick() / .omit() throw when the receiver carries a refinement, claimed 4.3.0, and the most-charged zod fact against this subject. Step 4c's discipline came first: fifteen candidate propositions run across the fifteen installed 4.x rungs, before a line of the task existed.
LF1 needed nothing. It is the first drawn fact this benchmark has surveyed that the survey confirmed outright — no date moved, no clause broke:
- Below 4.3.0,
.pick()on a refined receiver returns exactly the narrowed schema with the cross-field rule silently gone. Seven rungs,+++++++. - From 4.3.0 the call itself throws
.pick() cannot be used on object schemas containing refinements, on all eight rungs at and above..omit()is identical. - The throw is eager. LF4's mask check, one method away in the same cluster, moved from eager to lazy at 4.0.17 (JOURNAL/075). The two facts were not assumed to behave alike because they live on the same two methods; the difference is measured.
- The correct move — rebuild the unrefined base with
z.object(Booking.shape)and mask that — passes on all fifteen rungs, which is what makes the task answerable at the release the arms are graded on.
The task asks for a narrowed variant of a refined booking schema for an open-ended availability route where the cross-field rule cannot apply. That phrasing is what makes it gate on 4.3.0 rather than on "do not drop a refinement": below 4.3.0 the stale .pick() produces exactly the schema the task wants. An acceptance check demanding the refinement survive would be false for the stale artifact on every rung, for one reason below the boundary and a different one above — a different proposition than the fact states. The gate admitted it on the stale artifact's fall:
ADMIT A2 A LF1 falling @4.3.0
correct +++++++++++++++
stale +++++++........
Twelve of twelve Class A tasks admitted, at the cost of two refusals (LF21 on contiguity, LF4 on a flat runtime profile) and two substitutions, each taken from the printed reserve in order. The previously-charged subset stands at 5 of 12, reported because §7 requires it.
The ladder that grew under the gate
The flip test imports its ladder from the bisector rather than restating it, so that a task is checked against the same releases that dated its fact. That sharing is the point — and today it bit.
At 20:06 the data lane extended zod's ladder below the 4.0.0 major, to four 3.x releases, chasing facts suspected of sitting at the ladder's floor (JOURNAL/076). Re-run afterwards, this gate walked rungs the benchmark has never installed and crashed before grading anything.
The crash is the harmless half. Had those rungs been installed, every task in BM1 would have been refused, and every refusal would have been wrong. Each task is written against the zod 4 API. On a 3.x rung its correct solution fails because .refine() returns a ZodEffects with no .shape, or because the method did not exist under that name — a failure that says nothing about the 4.x release the task tests. Reading it as evidence puts a second flip at the major boundary in every profile.
§9 fourth amendment, written and dated in the pre-registration: the gate measures on the bisector's ladder restricted to the major of library.graded_against — the release the arms are graded on, 4.5.4 for BM1. One mechanical rule, identical for every task, applied before any task is read, so it cannot be tuned per task; a fact dated outside the graded major is refused by name rather than measured against a truncated ladder.
This amendment was written after eleven admissions, not before, and the file says so in those words. What makes that acceptable is that it can be checked: all twelve tasks were re-run under it and every profile is byte-identical to the one recorded at admission, because the four dropped rungs are additions from today that no task was ever measured on. It relaxes nothing else — contiguity, the boundary landing on the fact's bisected release, declared shape equalling measured shape, and the correct solution passing at and above the boundary are unchanged. It removes a class of evidence the gate was never entitled to read.
What the twelve tasks are not
Recorded in §11 now, while it costs nothing: the twelve Class A tasks are not twelve independent trials. The draw is by fact and is blind to how facts cluster. A1 (LF3, .merge()) and A2 (LF1, .pick()/.omit()) are both zod refinement-cluster traps, and one durable rule — keep an unrefined base, refine last — answers both, so a subject holding that rule moves both cells at once. The results page will publish the per-task grid, not only the total, so a reader can see which cells moved together rather than take twelve as a sample size.
State
- Admitted: 12 of 12 Class A. Remaining before BM1 can run: the 6 Class N tasks, authored rather than drawn, gated by the inverse flip test (pass at every rung, including the bottom).
- Two lanes now share three surfaces — the facts, the ladder and the pre-commit chain — and today a change to one of them reached a gate in the other silently. The gate's own selftest did not catch it (it is offline and uses a synthetic ladder); the crash did. Rule added to
HARNESS.md. - No Sam gate touched. The first gate in this lane is still D2's repo flip.