Feature/product platform foundation v0.62 #1

Merged
robbond merged 683 commits from feature/product-platform-foundation-v0.62 into feature/emergent-unknowns-v0.5 2026-09-09 07:58:20 +01:00
Showing only changes of commit 06f3f501d2 - Show all commits
+104 -2
View File
@@ -1019,7 +1019,9 @@ The remaining boundaries are NOT persistence issues. They belong to the next fea
### v0.49 — MULTI-TURN / COLD-RETURN ACTIVITY VISIBILITY REPAIR (2026-08-28)
**Closed:** Multi-turn/cold-return regression in Open Question activity visibility (INVESTIGATING cue).
**Checkpointed:** Single-turn visibility: passed. Multi-turn identity regression: repaired at 10cbcbd. Cold-return activity visibility: checkpointed subject to the canonical identity rule (`c.targetNodeId === nodeId || c.originatingTargetNodeId === nodeId`).
**This repair does NOT solve** restored workspace lifecycle or reopened Finding interaction controls (see RESTORE / PRESENTATION FINDINGS section below).
**Root cause:** `ThreadContributionsBadge`, `PriorContributionsSummary`, and `SecondaryPreviousLearning` all filtered contributions via `c.targetNodeId === nodeId`. Multi-turn follow-up Contributions carry a different immediate `targetNodeId` while the canonical origin remains on Findings (`originatingTargetNodeId`). When only the follow-up turn survives cold return, the filter finds zero matches.
@@ -1035,6 +1037,104 @@ The remaining boundaries are NOT persistence issues. They belong to the next fea
---
## RESTORE / PRESENTATION FINDINGS — MANUAL USER-PATH (2026-08-28)
### Open restore / focused-workspace presentation issue
The following findings were established by manual user-path testing after the v0.49 multi-turn activity visibility repair at 10cbcbd. They are **separate and additional** to that repair; the identity fix for INVESTIGING cue on Open Question cards remains valid and unimpaired.
#### A. Cold return can land on underlying investigation surface rather than focused-overlay
After manually completing focused investigation work, closing the browser, and returning later:
- The application can hydrate into the **underlying/main investigation surface** (case overview + situation + open questions with INVESTIGING cues) rather than automatically reopening the focused-investigation overlay.
- The main/restored surface includes: Open Questions (with INVESTIGING cues), Situation, persisted investigation content, and a saved-state message/banner stating that previous investigation state is still saved and can continue or restart.
- **No focused overlay is automatically reopened.**
This indicates there appear to be **distinct presentation states**:
A. Restored underlying investigation surface (case overview)
B. Focused-investigation overlay (opened per Open Question)
The ownership / lifecycle relationship between A and B has NOT yet been traced or resolved.
#### B. Restored surface + saved-state banner presents semantically odd signal
The main investigation is already visibly restored when the UI simultaneously presents messaging equivalent to:
> "Your previous investigation state is still saved. You can continue where you left off or start fresh."
This may indicate a **restored/resumed workspace-state distinction** that is not currently obvious to the user.
**Do not conclude persistence is broken.** Persistence remains demonstrated working. This is a **presentation / workspace-lifecycle observation**.
#### C. Reopened focused stream loses Finding interaction controls
After returning to the restored investigation and manually reopening the previously investigated focused stream:
- Prior Finding proposition(s) are visible under "What this tells us"
- The Finding text itself survives
- **The controls "Not quite" / "Not relevant" are absent**
This differs from the live current-turn focused surface where canonical Findings display those controls.
**REOPENED CANONICAL FINDING CONTROLS — UNRESOLVED**
Leading hypothesis (unproved): the reopened/restored rendering path may be presenting Contribution-derived observation text or another historical representation instead of the same canonical Finding objects used by the live current-turn path. **This is NOT YET PROVED.**
---
### Separation from prior repair
The recent activity-visibility repair at 10cbcbd:
- Repaired INVESTIGATING cue identity for direct/originating focused-thread identity via `c.targetNodeId === nodeId || c.originatingTargetNodeId === nodeId`
- **Does NOT solve** restored workspace lifecycle (section A)
- **Does NOT solve** reopened Finding interaction controls (section C)
These are distinct issues with distinct boundary surfaces.
### What remains proved (unchanged from prior handoff)
- post-authoritative Current Understanding isolation was proved
- Done-for-now promotion was deterministically and live verified
- promotion survives reload
- no case/update or extra LLM call is required for Done-for-now promotion
The new manual observations are **presentation/lifecycle issues downstream of persisted state**, not evidence that the promotion seam failed. Do NOT reopen those completed v0.49 findings.
### What remains unresolved
| Item | Status |
|------|--------|
| Cold-return can land on underlying surface rather than focused overlay | MANUALLY OBSERVED — unproven presentation/lifecycle gap |
| Saved-state banner + already-restored investigation signal | MANUALLY OBSERVED — semantic oddity of workspace state |
| Reopened Finding proposition survives | PROVED (text persists) |
| Reopened Not quite / not relevant controls absent | UNRESOLVED — hypothesis noted, root cause unproved |
### NEXT BOUNDARY — REOPENED FOCUSED FINDING PRESENTATION / RESTORE WORKSPACE OWNERSHIP
**Do NOT implement this trace now. Record as next bounded investigation.**
The immediate next trace should compare:
| LIVE CURRENT-TURN FOCUSED RENDERING | versus | COLD-RESTORED / REOPENED FOCUSED RENDERING |
|---|---|---|
| canonical Finding objects present | vs | whether same objects survive reopen |
| Finding.id available | vs | identity continuity |
| proposition | vs | wording continuity |
| userDisposition available | vs | disposition survival |
| onUpdateFindingDisposition | vs | callback availability |
| onUpdateFindingProposition | vs | rewording availability |
The trace must identify the **first boundary** where any of the fields above stop being available or stop being rendered.
Also trace whether:
- the main restored surface (A) and the focused overlay (B) are driven by **distinct lifecycle/presentation state**, and if so, what governs the transition between them;
- the reopened Finding controls gap is a rendering-path difference or a data-model gap.
---
### BRANCH CLEAN STATE
This branch has NO tracked working tree changes at HEAD b215846. Documentation closure recorded in this section only. No production or test modifications required.
@@ -1589,6 +1689,7 @@ With Contribution persistence demonstrated working, the remaining unresolved bou
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
4. **Reopened focused Finding presentation / restore workspace ownership** (NEW — MANUAL OBSERVATION) — cold return can land on underlying surface; reopened Finding controls absent
**Selected next boundary: Focused → global Finding integration / Previous Learning presentation.**
@@ -1641,11 +1742,12 @@ State: 1 contribution targeting n58lwnx, 3 findings.
- 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)
#### Remaining open boundaries
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
4. **Reopened focused Finding presentation / restore workspace ownership** (NEW — MANUAL OBSERVATION) — cold return can land on underlying surface; reopened Finding controls absent
**Selected next boundary: Focused → global Finding integration / Previous Learning presentation.**