docs(confidence-engine): record Phase 6 UNCLEAR + INVESTIGATING cue results
- Document live Playwright verification of amber INVESTIGATING indicator on Open Questions cards with matching contribution targetNodeId - Document 11 new deterministic tests in focused-investigation-history describe block - Confirm UNCLEAR and INVESTIGATING coexist independently (epistemic vs activity) - Note that cue only renders inside OpenQuestionsPanel, not initial reflection surface
This commit is contained in:
@@ -1574,6 +1574,63 @@ With Contribution persistence demonstrated working, the remaining unresolved bou
|
||||
|
||||
**Selected next boundary: Focused → global Finding integration / Previous Learning presentation.**
|
||||
|
||||
### PHASE 6 — UNCLEAR + INVESTIGATING CUE ON OPEN QUESTION CARDS
|
||||
|
||||
#### What was done
|
||||
|
||||
Added an amber **INVESTIGATING** cue to the `ThreadContributionsBadge` component (line ~583-590 of `reasoning-workspace.jsx`). The cue renders above the "📝 N learned contribution" detail element whenever the node has one or more matching contributions identified by `c.targetNodeId === nodeId`.
|
||||
|
||||
The cue is also visible on Done-for-now cards (same ThreadContributionsBadge component).
|
||||
|
||||
UNCLEAR (epistemic state tag) and INVESTIGATING (activity indicator) are **independent** — both render on the same card simultaneously. One does not suppress or replace the other.
|
||||
|
||||
#### Deterministic tests added (11 new)
|
||||
|
||||
File: `tests/open-questions-vs-assumptions.test.jsx` — describe block "Focused investigation history cue"
|
||||
|
||||
| Test | What it verifies |
|
||||
|------|------------------|
|
||||
| investigated question matches contributions by targetNodeId | identity rule correctness |
|
||||
| uninvestigated question gets zero threadContribs | no false-positive cue |
|
||||
| unrelated contributions do not contaminate another node | isolation |
|
||||
| 1+ contributions → cue shows | visibility logic |
|
||||
| UNCLEAR and INVESTIGATING coexist on same node | epistemic vs activity independence |
|
||||
| Done-for-now retains cue when contributions exist | persistent indicator state |
|
||||
| identity rule distinguishes contributed from uninvestigated | discrimination test |
|
||||
| multiple contributions on same node still show single cue | idempotent cue, not count-dependent |
|
||||
| null/undefined contributions → no cue | guard against falsy |
|
||||
| empty array → no cue | boundary value |
|
||||
| mismatched targetNodeId → no match | selector correctness |
|
||||
|
||||
All 57 tests pass.
|
||||
|
||||
#### Live Playwright verification (2026-08-28)
|
||||
|
||||
Canonical scenario: e-commerce checkout abandonment, `targetNode = n58lwnx`.
|
||||
State: 1 contribution targeting n58lwnx, 3 findings.
|
||||
|
||||
**Observed on first Open Question card ("Relative contribution..."):**
|
||||
- `INVESTIGATING` (amber text) visible above the card content
|
||||
- `📝 1 learned contribution` badge visible below INVESTIGATING
|
||||
- Both UNCLEAR and INVESTIGATING present simultaneously — coexist, no suppression
|
||||
|
||||
**Observed on other two Open Question cards:**
|
||||
- No INVESTIGATING cue — correct (zero matching contributions by targetNodeId)
|
||||
|
||||
#### What is OUT OF SCOPE for this phase
|
||||
|
||||
- The cue does NOT render in the initial reflection surface (plain buttons). It only renders inside `OpenQuestionsPanel` → `ThreadContributionsBadge`. This is by design; the panel appears during focused workspace operation, not the initial scenario entry.
|
||||
- No CSS animation, transition, or expansion behavior — just a static indicator.
|
||||
- Does NOT affect which cards are clickable/investigable (UNCLEAR handles that).
|
||||
|
||||
#### Remaining open boundaries (unchanged)
|
||||
|
||||
1. **Follow-up selected-question duplication** (OPEN UI ISSUE) — proposed follow-up appears simultaneously as ACTIVE QUESTION and STILL-AVAILABLE FOLLOW-UP; proposal state vs active-question state disconnect
|
||||
2. **Focused → global ownership/integration** (STILL OPEN) — how accumulated focused Findings map into the global SituationGraph reasoning layer
|
||||
3. **Current Understanding incorporating focused learning** (STILL OPEN) — narrative understanding should be reconstructed from globally eligible Findings + graph state, not directly from latest focused result
|
||||
|
||||
**Selected next boundary: Focused → global Finding integration / Previous Learning presentation.**
|
||||
|
||||
**Why this is now the strongest next boundary:**
|
||||
- The Contribution persistence blocker that prevented assessing previous-learning completeness has been removed. If Contributions persist correctly to canonical storage and survive reload, then the Previous Learning panel should be able to render them without a persistence defect obscuring the UI question.
|
||||
- This is a product-semantic/user-facing progression (not internal cleanup). It directly tests whether the findings domain model established in the handoff can be exercised end-to-end: accumulated focused evidence → visible to user as usable context.
|
||||
|
||||
Reference in New Issue
Block a user