koala73 / koala73/worldmonitor
feat(company-monitoring): add a lazy portfolio monitoring workspace
- Dominant language
- TypeScript
- Stars
- 86.6k
- Forks
- 13.1k
- Avg merge
- 8h 4m
- Merged PRs (30d)
- 825
Description
## Parent
#6002
## What to build
Deliver one lazy-loaded native workspace for portfolio onboarding, current material impacts, evidence, confidence, coverage, corrections, and retractions without adding a dashboard panel or eager data-loader domain.
## Acceptance criteria
- [ ] A compact launcher opens one lazy singleton workspace with Companies and Events views.
- [ ] Companies supports direct add, browser-parsed CSV batches of at most 100 rows, import progress, pause, remove, retry, and claim confirmation.
- [ ] Events provides server-paginated list and detail views with direction, affected channel, magnitude, confidence rationale, bounded evidence, correction/retraction state, and coverage context.
- [ ] Required states include empty portfolio, awaiting first scan, adequate quiet, events observed, partial/stale/unavailable coverage, needs confirmation, provider capped, correction, retraction, partial import failure, and mutation timeout reconciliation.
- [ ] snapshot_required automatically resnapshots while preserving filters and valid selection, closes removed detail, restores accessible focus, and exposes an error only when recovery fails.
- [ ] Entitlement lapse stops polling and clears account-scoped client data immediately; unpurged reactivation takes a fresh snapshot and post-purge reactivation starts explicit onboarding.
- [ ] CSV content and progress remain local only for the active upload; sign-out and account switch leave no retained portfolio content.
- [ ] Tests cover 500-row pagination, replay-safe partial imports, concurrent removal, failed resnapshot, keyboard and screen-reader flow, mobile overflow, and bounded network/data behavior.
## Blocked by
- #6014
## Promotion gate
Implementation may be prepared behind the UI flag, but activation and issue completion require both Stage 1 arms: the two-customer historical-usefulness result and the fourteen-day live-operability tracer.
Contributor guide
Research direction
Start with parent issue #6002 and blocker #6014, then trace the compact launcher and the Companies and Events views described here. Treat the acceptance criteria as the completion checklist, including lazy loading, required states, account-data cleanup, recovery behavior, accessibility, and the listed tests; activation also depends on both Stage 1 promotion arms.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- full-stack
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 30/100