The TypedMemEval taxonomy closes. Procedural ships at 80 questions and headroom +0.80 — the largest in the family and fully reachable — bringing the family to 565 questions across 36 shapes in 10 verticals. Every memory type the consuming engine ships is now covered.
Purely additive. All nine existing corpora are byte-identical, verified by diffing v0.33.0-beta rather than asserted. Nothing a current consumer runs changes.
Procedural
Corpus d431a7fc9ac5. Recall only — whether a system remembers a procedure it was told across sessions, not whether it can execute one or improves at one.
| shape | what only it tests |
|---|---|
step-order |
an order that must hold; violating it is an error, not a wrong answer |
precondition |
a constraint that is neither a step nor a value, reached through a second hop |
amended-step |
one element of a sequence replaced, the rest intact |
retired-step |
a position removed from a sequence — not a fact invalidated |
V1 80/80 · V2 80/80 · V3 80/80 · V6 70/72 · V8 80/80 · V9 16/80 · headroom +0.80 · interference 0.0
The defect worth reading, and it was ours
The first build measured V6 77/80. That number was flattering. step-order's dependency sessions state the adjacent pairs of a 4-chain, so their transitive closure is the gold order — and filler stated only isolated pairs. The gold chain was the only complete order in the haystack, which made the membership session, the shape's entire second hop, redundant on all twenty questions. 14 of 60 membership-drop samples had reproduced the gold order verbatim; only 3 were condemned, the rest rescued by the resolution grader saying declined.
The arm reported four numbers before a true one — 60/80 → 77/80 → 68/80 → 51/52 → 70/72 — and each moved for a different reason, only the last moving the corpus. Three rules came out of it:
- A chance floor absent is not a floor of zero. It collapses the required-hit threshold to 1, condemning components that are load-bearing against a guesser firing at 1−(2/3)³ = 0.70. That is the understating direction, which is exactly why it survived a probe and a review.
- An undecidable result is not a pass, and a smaller denominator is not a better score. 51/52 reads better than 68/80 while saying nothing about a quarter of the corpus.
- A structural claim needs competition, not declaration. The generator now refuses a corpus whose rival chains are missing, short, or overlapping.
step-order realises 0.400 coverage against a 0.50 band floor and is declared out of band rather than tuned back in — a proxy traded for a measurement, which is what ADR-028 licenses. Removing the rivals would restore the number and delete the construct.
Also in this release
- Judge calibration re-measured over 257 cases (was 230): 0.988 / 0.992 / 0.992 across three runs, Procedural 27/27 in all three, prompt fingerprint unchanged.
- Name-collision audit extended to Procedural's seven entity banks, which the instrument had never covered — 206 names tested (was 171);
procedural:STEPS, the ordered bank and the only one the harm model puts at risk, returned zero collisions. - A dead generator branch fixed that had made the precondition frame gold-only.
AGENTEVAL_CALIBRATION_ONLYgives the live judge arm a smoke stage that asserts nothing about agreement.
Verification
1181/1181 on net8.0, net9.0 and net10.0 · corpus reproduces byte-identically from its committed generator · probe, calibration-search and separability self-tests green · published tables regenerated from the sidecars.
Known limitation
Eight precondition questions are undecidable on V6 — their haystacks carry only two distinct conditions, so k=2 leaves no hit threshold at three samples. V6 scope is 72 of 80.
ADR-029 §§10–14 carry the full reasoning.