2026-06-16-candidate-registry-robustness-sota · iteration 10 · 2026-06-16
New candidates now get a collision-proof id automatically, stray/typo fields are rejected, and a README ties the whole subsystem together. All six robustness dimensions are implemented.
--add no longer needs a hand-typed --num: it auto-assigns the next free number under the lock and refuses an id collision. (Decision: the 44 existing ids are deliberately not re-minted — re-keying rows referenced across the repo + live dashboard is risky for marginal benefit, since content identity already lives in spec_hash.)--validate flags any unknown top-level field (e.g. a misspelled key) and type-checks aliases/history — fail-closed. Since jsonschema is absent in the environment, this is pure stdlib. Verified: an injected typpo_field is caught (unknown field(s) ['typpo_field']).REGISTRY-README.md) maps the files, the /registry:* commands, the six robustness features (D1–D6, all implemented), the FSM lifecycle, and the new-candidate flow — so anyone can pick it up fast.--validate on the real ledger PASS; --add without --num auto-assigned cand-0064; a covered name was refused; the typo guard fired; the real 44-row ledger was untouched./registry:check-full and mark PR #535 ready for your review — the blueprint is substantially implemented./registry:* commands. This is the high-quality candidate tracking the campaign set out to deliver: tomorrow's discovery loop can register, dedup, and track candidates at speed, in parallel, without waste, double-evaluation, or corruption — and only spend the expensive orthogonality compute on candidates that are genuinely new to the catalog.| dimension | status |
|---|---|
| D1 — novelty dedup funnel (content-hash → lexical → review band) | DONE |
| D2 — fleet-safe writes (append + flock + atomic rename) | DONE |
| D3 — lifecycle FSM transition guards | DONE |
| D4 — collision-proof ids (auto-num; spec_hash identity) | DONE (safe subset) |
| D5 — verdict input-lock pinning + evidence-gated promotion | DONE |
| D6 — tamper-evident hash-chained history | DONE |
| + structural (typo) validation · /registry:* discoverability · README | DONE |
findings/evolution/shared_data/REGISTRY-README.md · design: REGISTRY-ROBUSTNESS-BLUEPRINT.md · all gates: /registry:check-full.