fix(confidence-engine): show canonical findings in previous learning

This commit is contained in:
2026-08-29 14:38:04 +01:00
parent a8539e2494
commit 0f4dfcbb17
3 changed files with 208 additions and 40 deletions
+32
View File
@@ -1035,6 +1035,38 @@ The remaining boundaries are NOT persistence issues. They belong to the next fea
**No changes to:** Finding eligibility, Finding disposition, Current Understanding, Done-for-now promotion, SituationGraph, persistence provider, or graph reasoning.
### v0.49.5 — CANONICAL PREVIOUS LEARNING PROPOSITION REPAIR (2026-08-29)
**Objective:** Ensure Previous Learning surfaces on focused investigation cards resolve canonical historical propositions through the Finding→Contribution identity chain rather than showing stale or missing content.
**Resolver semantics implemented in `reasoning-workspace.jsx`:**
| Matching canonical Findings for a Contribution | Behaviour |
|---|---|
| ZERO matching canonical Findings | Fallback to `Contribution.observations` |
| ONE OR MORE matching canonical Findings | Canonical Findings are authoritative; use `Finding.proposition` |
| Matching Findings exist but all are `not_relevant` | Render nothing for that Contribution; DO NOT resurrect old observations |
| Each Contribution's findings filtered by | `Finding.contributionId === Contribution.id` (one-to-one ownership) |
**Applied to historical-learning surfaces:** `PriorContributionsSummary`, `SecondaryPreviousLearning`, `ThreadContributionsBadge`.
**Files changed:**
- `components/reasoning-workspace.jsx` — canonical proposition resolver in Previous Learning panel
- `tests/open-questions-vs-assumptions.test.jsx` — 78 tests covering legacy fallback, empty fallback, corrected canonical proposition, all-not_relevant suppression, turn ownership, mixed dispositions, null/undefined findings
**Deterministic gate:** 78 tests passed. **Build gate:** clean production build.
**Live verification (canonical onboarding fixture):**
- Persisted Finding `finding-5rf99h` carries corrected proposition `"Approximately 62% of users abandoning the verification step report no problem receiving their code. [previous-learning-check]"` with `contributionId: "contrib-0002"`
- Workspace opened without crash or ReferenceError
- Turn 2 → canonical proposition with `[previous-learning-check]` marker rendered in Previous Learning "What this tells us"
- No stale original wording shown; no duplication of old+corrected text
- Correct turn ownership confirmed (Turn 2 = `contrib-0002`, matching Finding scoped to that contribution)
- Zero LLM/API calls during verification
- Persistence/schema/reasoning paths unchanged
**No changes to:** Persistence schema, Finding schema, Contribution schema, SituationGraph reasoning, activity visibility, completed-turn lifecycle, or overlay controls.
---
## RESTORE / PRESENTATION FINDINGS — MANUAL USER-PATH (2026-08-28)