koala73 / koala73/worldmonitor
feat(company-monitoring): add bounded Exa cohort discovery
- Dominant language
- TypeScript
- Stars
- 86.6k
- Forks
- 13.1k
- Avg merge
- 8h 4m
- Merged PRs (30d)
- 825
Description
## Parent
#6002
## What to build
Add the Exa discovery path for typed US/UK company cohorts with bounded query compilation, explicit company inclusion, checkpoint-safe pagination, measurable coverage, and attributable cost.
## Acceptance criteria
- [ ] Compile search queries only from validated company claims; claim content cannot inject Exa operators or change query structure.
- [ ] Pack cohorts within measured query and result limits and report every omitted company rather than silently dropping it.
- [ ] Return provider-observable publication time, retrieved window, caps, pagination state, result counts, and attributable cost.
- [ ] Advance checkpoints by provider-returned rows and preserve them on capped, partial, timeout, or malformed responses.
- [ ] Key rotation and timeout fallback do not double-count requests or cost.
- [ ] Confirmation queries remain disjoint from frozen discovery queries used for rediscovery measurement.
- [ ] Exact-name collisions and unrelated lookalikes remain candidates for the attribution stage rather than being accepted here.
- [ ] Provider fixtures prove packing, omission reporting, caps, pagination, query safety, and the frozen discovery protocol.
## Blocked by
- #6007
## Coordination checkpoint
The frozen discovery protocol from #6006 must exist before query tuning or rediscovery scoring. #6006 completion is not a native blocker because its corpus grows alongside this provider work.
Contributor guide
Research direction
No files or tests are named. Start by reading the parent #6002, blocker #6007, and frozen discovery protocol in #6006 before working on query tuning; use provider fixtures as the test entry point. Done means all listed acceptance criteria are covered, including bounded safe queries, omission reporting, checkpoint preservation, cost accounting, disjoint confirmation queries, and fixture coverage.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend, data, search, testing-qa
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100