DashboardThree-Axis ProbesCandidate Registry Robustness › Iter 11

2026-06-16-candidate-registry-robustness-sota · iteration 11 · 2026-06-16

Iteration 11 — Semantic Tier-3 (abbreviation expansion) — the last gap closed, blueprint complete DONE

The novelty gate now also catches abbreviation synonyms (e.g. A-MF-DFA ≡ Asymmetric MF-DFA) — dependency-free, conservative, flag-for-review. Every blueprint dimension is now implemented.

✅ What has been grounded

Abbreviation synonyms are now caught (Tier-3). Instead of a heavy embedding model (none is installed), a small curated domain abbreviation map (A-MF-DFA→Asymmetric MF-DFA, S-MF-DFA→Segmented, MF-DFA, CECP, DFA, SVD, PID, ApEn, SampEn, MSE, …) is expanded on both the query and the catalog names, then compared. A-MF-DFA H+ now returns needs_review vs cand-0029 (it used to slip through as unique).
Conservative by design — it flags, never auto-merges. A semantic match returns needs_review (a human confirms), never covered — per the gray-zone rule (an abbreviation inference is suggestive, not proof). A genuinely novel name still returns unique; exact and alias hits still return covered at Tier-1.
Verified — self-test 8/8 ALL PASS. Including the updated abbreviation case (A-MF-DFA H+ → needs_review vs cand-0029) and the H+/H- distinctness (the exact name still resolves to its own row, not its sibling). S-MF-DFA → needs_review vs cand-0032 (Segmented MF-DFA). Novel → unique. Exact → covered.
Why a map, not embeddings — right tool for the job. For a small, domain-specific catalog, a curated abbreviation map is more precise, instant, and dependency-free than a ~100MB embedding model — and it is trivially extensible (add a line). If a broader semantic need ever arises, the embedding path can be added behind the same gate.

➡️ What I am doing next

1
Recommend closing the campaign: the blueprint is now fully implemented (D1–D6 + semantic Tier-3 + structural validation + discoverability + docs). Review & merge PR #535, and stop the loop (CronDelete e35f7913).
2
Future ticks would be polish only (e.g. extending the abbreviation map as new families appear) — nothing substantive remains.

🎯 How this moves us toward the end goal

The novelty gate now catches exact, renamed, AND abbreviation-synonym duplicates — closing the last known way a candidate could be reported unique while it is in fact already in the catalog. With this, the registry robustness campaign is complete: a fast, correct, dependency-free novelty pre-filter; fleet-safe writes; an FSM-guarded, evidence-pinned lifecycle; tamper-evident history; collision-proof ids; typo-proof validation; full /registry:* discoverability; and a README — every dimension implemented, tested, live, and documented. The discovery loop can now lean on it end-to-end.

The novelty funnel — final shape

Tier 1  content-hash + name/alias exact   → COVERED  (O(1))
Tier 2  blocked lexical (typos, word-order, suffixes)
            ≥95 → COVERED · 85–95 → NEEDS_REVIEW
Tier 3  abbreviation-expansion semantic   → NEEDS_REVIEW only (human confirms)
else                                      → UNIQUE (= novel)
Campaign complete. D1 dedup · D2 fleet-safe writes · D3 lifecycle FSM · D4 collision-proof ids · D5 verdict pinning · D6 tamper-evident history · Tier-3 semantic · structural validation · /registry:* · README. All tested, live, and on PR #535.