4c. Deduplication#

The brain flags near-duplicate concepts and lets a human resolve them:

  • At ingest: as a curated draft lands, it's compared against the workspace's existing concepts. Review-worthy pairs (≥85% similar) are flagged; ≥95% counts as near-certain. Extra signals — a normalized title match, or both distilled from the same source — are recorded as reasons.
  • On demand: the Review tab's Duplicates section (admin-only) has a Scan for duplicates button that sweeps the whole corpus.

The Dedup queue (Review tab → Duplicates, admin-only) shows one card per open pair — both concepts side by side with the similarity percentage, the detection reasons, and the recommended survivor highlighted:

  • Keep this copy (on either side) — supersede: keeps that copy and deprecates the other with a lineage link, exported as superseded_by in OKF frontmatter (§7).
  • Keep both — a legitimate pair (e.g. deliberate per-team variants); the pair is never flagged again.
  • Dismiss — false positive; also never flagged again.

A pair is only shown to an admin who can see both concepts — flagging a duplicate of a restricted-group concept never leaks its title to a non-member.

Retrieval contention collapse: when near-certain duplicates (≥95%) both match a query, retrieval serves the better copy — freshest, most verified — instead of splitting the answer across both. Resolving the pair in the queue makes the choice permanent.