Entity Resolution: The Hardest Problem Nobody Talks About
"PROJ-142," "the checkout branch," "#feat-checkout," and the design doc titled "Checkout Flow v2" are the same initiative. No ID joins them. No system knows they are related. The founder who wants the full picture must manually connect Jira to GitHub to Slack to Google Docs, reconstructing the narrative every time.
This is entity resolution: the problem of determining that multiple references across multiple systems refer to the same real-world thing. It is the hardest engineering problem in organizational intelligence, and it is mostly invisible to users until it fails.
The Three Layers of Resolution
Layer 1: Deterministic. Explicit references: a PR description that says "fixes PROJ-142," a commit message that includes the Jira key, a Slack thread that links to the design doc. These are extractable with regex and string matching. They are reliable but incomplete — most references are implicit.
Layer 2: Model-Based. Implicit references: a PR that touches the same files as the Jira ticket's acceptance criteria, a Slack thread that mentions "checkout" in the same week the branch was created. These require correlation models with confidence scores. They are broader but noisier — false positives propagate into every downstream synthesis.
Layer 3: Human. The founder who says "these are the same thing" or "these are not the same thing." Human corrections are the highest-trust signals and the most valuable training data. They are also the most expensive — they require the founder's time.
The Graceful Degradation Requirement
A bad entity link is worse than no link. If the system incorrectly merges two initiatives, every downstream synthesis is wrong: the brief claims a PR is part of a sprint it is not, the risk assessment conflates two unrelated blockers, the board update misattributes a delay.
The product must degrade gracefully. A sparse brief — "we see two possibly related initiatives but have not linked them" — is acceptable. A wrong brief is not. This means: - Confidence thresholds: links below a threshold inform ranking but are never asserted in prose - Provenance on every link: the system can explain why it thinks two things are related - Human override: the founder can correct a link, and the correction is permanent and higher-trust than any model inference
Entity resolution is not called out on its own in The Olmex Standard's four requirements, but it is the plumbing underneath all of them — nothing correlates, cites, or persists correctly without it.
The Honest Position
Olmex's entity resolution will be mediocre at first and improve per-customer. This is not a bug — it is the nature of the problem. Every company uses different conventions for branch names, ticket keys, and Slack shorthand. A model trained on one company's patterns will fail on another's.
The approach is layered: deterministic first, model-based second, human third. The product ships with deterministic resolution and improves with usage. The founder's corrections are not a failure of the product --- they are the product getting smarter.
The hardest problem nobody talks about is also the problem that, when solved, makes everything else possible. Cross-system correlation, trend detection, root cause analysis — all depend on entities being correctly resolved. The patience to build this layer correctly is the patience that separates products that demo from products that last.