Signal/docs/reviews/2026-06-11-demo-mvp-gap-analysis.md
Kisa cc2a5f4b47 coverage calculator and UI refinements; add demo MVP gap analysis and quality review docs
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 13:04:23 -04:00

46 lines
3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Demo MVP Spec Gap Analysis — 2026-06-11
Spec: docs/superpowers/specs/2026-06-07-signal-demo-mvp-design.md. Read-only analysis by background agent.
## DONE
- Visit date priority chain — _resolve_visit_date() coverage_calculator.py:167-183 (CSV > Supabase confirmed > shipment30d estimate)
- 6-month validation — _compute_visit_flag() + /api/confirm-visit main.py:511-523
- 90/60/45 tier system + urgency sort — _compute_priority() coverage_calculator.py:203-224
- 45-day prescriber outreach flag — FLAG_ACTIONS RENEWAL_CRITICAL
- Confirm Visit workflow end to end — modal, persistence, recompute, live row update, persists across imports
- Full 5-item payer-dependent doc state machine — doc_state_machine.py matches spec exactly
- Cascade on expanded row + 5-dot status bar — WorklistTable.jsx:260-293, DocStatusBar.jsx
- Transfer detection via Transfer_From column — normalizer.py:75-78, TRANSFER_PENDING short-circuit
- CSV test suite — 50 files (PA+NJ), parameterized generators, market_data.json
- Legal drafts — pitch/legal/ (LOI, NDA, BAA)
## PARTIAL
- Status labels deviated from spec — RESOLVED 2026-06-11: locked to At Risk / Action Needed / On Track / Clear to Ship everywhere (see quality review doc)
- Supply Lapsed alert banner — sorts to top, no banner component
- Estimated label wording — spec's "Estimated — verify with prescriber office" not in UI
- Cascade format — all-gaps list vs spec's single chain (deliberate redesign, commit ff657f4)
- Per-item recommended actions in expanded checklist — live in cascade lines only
- Cycle reset via re-import — recompute works, but NO diff vs previous import; CSV visit dates not persisted to confirmed_visits
- Transfer clearing — "Verify Docs" button has no onClick handler
- MFA on admin accounts NOT VERIFIED; attorney review of LOI/NDA pending
## NOT BUILT
- Patient-disappeared-from-import flag (needs import diff: persistence.py previous batch load, main.py compare + new flag, frontend badge)
- Transfer detection via history gap (same import-history dependency)
- Duplicate patient_id detection in one file (normalizer.py has none; collapses silently)
- Watcher Agent (nothing exists; demo needs it only as talking point)
- 6 pilot questions in /pilot-prep skill (zero present)
## Empty-state / status legend
Spec does NOT cover either — no overlap, safe to build separately. EmptyState.jsx exists (no CSV guidance); zero "legend" hits in signal-ui/src. Maps directly to the last PARTIAL pilot-readiness item.
## Recommended build order
1. Status legend + empty-state guidance (clears pilot readiness to 13/13)
2. Pilot-prep skill questions (5-minute edit)
3. Import diff package: previous-batch lookup, disappeared flag, persist CSV visit dates ("Signal gets smarter every import")
4. Wire Verify Docs transfer clearing
5. Duplicate patient_id flagging
6. Watcher Agent (trail)
7. Parallel ops: MFA verification, attorney review
Beyond-spec already built: column mapping review UI (CSVImport.jsx) — spec Sec 12 excluded it; no action.