diff --git a/components/reasoning-workspace.jsx b/components/reasoning-workspace.jsx index 15d0b20..2e1c088 100644 --- a/components/reasoning-workspace.jsx +++ b/components/reasoning-workspace.jsx @@ -117,37 +117,6 @@ function ContinueLaterBanner({ onRestart }) { ); } -// ── Session persistence hook (Phase 3) ──────────────────────── - -function useSessionPersistence() { - const [sessionReady, setSessionReady] = useState(false); - const sessionKey = "confidence-engine-session"; - - function saveSession(state) { - if (typeof sessionStorage === "undefined") return; - try { - sessionStorage.setItem(sessionKey, JSON.stringify(state)); - } catch (_) { /* quota or disabled — ignore silently */ } - } - - function loadSession() { - if (typeof sessionStorage === "undefined") return null; - try { - const raw = sessionStorage.getItem(sessionKey); - return raw ? JSON.parse(raw) : null; - } catch (_) { - return null; - } - } - - function clearSession() { - if (typeof sessionStorage === "undefined") return; - try { sessionStorage.removeItem(sessionKey); } catch (_) {} - } - - return { saveSession, loadSession, clearSession, sessionReady: true }; -} - // ── Shared focused-question body (extracted from OpenQuestionsPanel) ── function FocusedQuestionBody({ @@ -1289,22 +1258,6 @@ export default function ReasoningWorkspace({ const [initialReflectionActive, setInitialReflectionActive] = useState(false); const [postAnalyseStatus, setPostAnalyseStatus] = useState(null); - const { saveSession, loadSession } = useSessionPersistence(); - - // Persist workspace state on every successful update (Phase 3) - useEffect(() => { - if (updateStatus === "success" && result?.situationGraph) { - saveSession({ - scenario, - situationGraph: result.situationGraph, - selectedQuestion: result.selectedQuestion, - summary: result.summary || propUnderstanding, - updatedAt: new Date().toISOString(), - focusedContributions, - }); - } - }, [updateStatus, result, focusedContributions]); - // Capture the current selected question at submit time (not from a stale ref) const capturePendingTurn = (selectedQuestion, answerText) => { if (!selectedQuestion || !answerText?.trim()) return null; @@ -1402,23 +1355,6 @@ export default function ReasoningWorkspace({ const [focusedInvestigations, setFocusedInvestigations] = useState({}); const [focusedAnswer, setFocusedAnswer] = useState(""); - // ── Persist focused contributions immediately after deconstruct success ──── - const lastPersistedContribCount = useRef(0); - - useEffect(() => { - if (!graph) return; - if (focusedContributions.length === lastPersistedContribCount.current) return; - lastPersistedContribCount.current = focusedContributions.length; - saveSession({ - scenario, - situationGraph: graph, - selectedQuestion: result?.selectedQuestion, - summary: result?.summary || propUnderstanding, - updatedAt: new Date().toISOString(), - focusedContributions, - }); - }, [focusedContributions]); - function getFocusedInvestigation() { if (!focusedPresentationItemId) return null; return focusedInvestigations[focusedPresentationItemId] || null;