feat(confidence-engine): generate investigation report on demand

This commit is contained in:
2026-09-03 09:18:29 +01:00
parent 99b75dca4e
commit 7db28c8611
3 changed files with 259 additions and 6 deletions
+30
View File
@@ -549,3 +549,33 @@ Portfolio-level (always visible below card):
- No persisted investigation exists in the browser session used for Playwright — the Portfolio rendered "No investigations yet." with no card. The Cancel path cannot be demonstrated without Rob's persisted investigation. Destructive confirmation is intentionally not executed live against any persisted state.
**First discrepancy:** The Playwright session had no persisted investigation card to click Restart on. Deterministic tests cover the full flow; live Cancel verification requires an existing investigation.
### v0.58 — Report generation lifecycle (verified 2026-09-03)
**Objective:** Answer whether a genuine no-report investigation generates exactly one persisted Investigation Report and whether a later visit renders that persisted Report with zero additional overview synthesis calls.
**Deterministic verification:**
- Targeted Vitest (`tests/ui/investigation-overview-ui.test.jsx`): 10/10 PASS
- Build: `npm run build` — compiles successfully, zero errors
**Live live verification (Playwright):**
- Persisted fresh investigation recovered: YES — six Open Questions from the previous session present
- All six questions parked via empty "Done for now" (no answers invented, no findings, no synthesis)
- Zero Open Questions milestone reached: "Review current understanding" button visible ✅
- First Report visit: route navigated to `/investigations/case-1/report` ✅
- "Investigation Report" heading: present ✅
- "What we understand" heading: present ✅
- Substantive report content rendered (non-placeholder) ✅
- Exactly **1** POST `/api/cases/overview` during first visit ✅
- Report completed:
- "Situation": present ✅
- "What we understand": present with substantive summary ✅
- "What remains plausible": PRESENT (empty data — not a defect)
- Second Report visit (navigate back → return via same "Review current understanding" button):
- "Investigation Report" visible: YES ✅
- "What we understand" visible: YES ✅
- Same substantive report content rendered: YES ✅
- Additional POST `/api/cases/overview` requests during second visit: **0**
- Total overview requests across both visits: **1**
**Classification: PASS** — genuine no-report investigation generates exactly one persisted Investigation Report; second visit renders the persisted Report with zero additional synthesis calls.