2026-06-16-candidate-registry-robustness-sota · iteration 07 · 2026-06-16
A candidate can no longer be promoted without evidence, and every registry capability is now a discoverable slash command with a one-glance health check — making the PR capability-complete per the Eon standard.
promoting is refused unless all three axes PASS (parameterless + agnostic + orthogonal); moving to promoted is refused unless it has a production bar_* column. Verified: the block path fires (e.g. a row with parameterless=FAIL is blocked), the allow path works when all three PASS, and promoted without a bar_ alias is blocked./registry:novelty, /registry:doctor, /registry:check-full, /registry:validate, /registry:transitions, /registry:migrate, /registry:self-test. Backed by a mise task file (the description SSoT) + committed .claude/commands/registry/ wrappers, registered in .mise.toml./registry:doctor reports rows/stage counts, content-hash coverage (44/44), the needs_review list, transition-table sanity, novelty-engine presence, and validate — all green right now. /registry:check-full runs the novelty self-test (8/8) + validate + doctor together.mise tasks lists all 7 registry tasks; registry:check-full passes; the promotion-guard block/allow/alias paths were exercised on a throwaway copy. The live 44-row ledger stayed exactly 44, still valid.input_lock (data snapshot + code SHA + params hash + harness version) + subject_digest, so a verdict cannot be reused on a different data window and the → promoting guard also requires a complete lock + leakage gates./registry:* entries with the mandated :doctor and :check-full, the PR is now capability-complete by the Eon standard. The remaining P2/D4 work hardens trust (verdict pinning, tamper-evidence) but the registry is already safe, fast, and easy to track stage-by-stage.| command | what it does |
|---|---|
/registry:novelty "NAME" | catalogue-uniqueness verdict: covered / unique / needs_review |
/registry:doctor | health + enumerate (rows, stages, hash coverage, needs_review, validate) |
/registry:check-full | all gates: novelty self-test + validate + doctor |
/registry:validate | fail-closed ledger validation |
/registry:transitions | print the legal lifecycle transition table |
/registry:migrate | backfill dedup + content hash (idempotent) |
/registry:self-test | 8 novelty-engine assertions on the live catalog |
→ promoting needs parameterless+agnostic+orthogonal all PASS · → promoted needs a bar_* production column.