koala73 / koala73/worldmonitor
feat(correlation): implement conditional fuzzy entity resolution
- Dominant language
- TypeScript
- Stars
- 86.6k
- Forks
- 13.1k
- Avg merge
- 8h 4m
- Merged PRs (30d)
- 825
Description
## Parent
#5981
## What to build
If the Phase 1b gate passes, resolve fuzzy or transliterated open-vocabulary names into existing registry entities without allowing raw names or false transitive groups to become card identity.
## Acceptance criteria
- [ ] Consume the approved cross-runtime unknown-name producer and honor its fallback contract.
- [ ] Score incoming names against each registry name and alias with the documented two-factor model and a held-out-tuned threshold.
- [ ] Preserve typed and length prefilters without dropping the single-token misspelling cases this feature targets.
- [ ] Require every card-bearing group to contain a registry entity and prevent unrelated open-vocabulary names from chaining together.
- [ ] Produce deterministic groups with reproducible score breakdowns and non-empty merge reasons.
- [ ] Keep `exact` mode behavior unchanged and prove browser/seeder parity in `fuzzy` mode.
## Blocked by
- #5984
- #5986
- #5988
Contributor guide
Research direction
Begin with parent #5981 and blocked issues #5984, #5986, and #5988; confirm the approved unknown-name producer and fallback contract before implementation. Trace the browser and seeder entry points, then verify the acceptance criteria: deterministic fuzzy groups, reproducible score breakdowns, unchanged exact mode, and browser/seeder parity.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- data
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100