โ€บNavigation
Dashboard โ€บ Three-Axis Probes โ€บ Candidate 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.