{"record":{"id":"a6142560662c1518","repo":"coleam00/Archon","slug":"dag-session-resume-failed","errorCode":"dag.session_resume_failed","errorMessage":"⚠️ Node `${node.id}`: could not resume the prior session — continued with a fresh session, so the earlier context was not restored.${recoveryPointer}","messagePattern":"⚠️ Node `(.+?)`: could not resume the prior session — continued with a fresh session, so the earlier context was not restored\\.(.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"packages/workflows/src/dag-executor.ts","lineNumber":10642,"sourceCode":"              output.resumed === false\n            ) {\n              // By-reference recovery (#1846): the prior session is gone, but prior\n              // invocations of this workflow+scope may have left typed artifacts in\n              // the stable scope dir. Point at them (paths only — never pasted\n              // content) so the lost context is recoverable on demand. Entries from\n              // THIS run are excluded — they were produced by the current (fresh)\n              // invocation and recover nothing. Best-effort: a scope-dir read\n              // failure degrades to the plain warning, never fails the node.\n              const recoveryPointer = ctx.scopeArtifactsDir\n                ? await buildColdResumeRecoveryPointer(\n                    ctx.scopeArtifactsDir,\n                    ctx.workflowRun.id,\n                    node.id\n                  )\n                : '';\n              // Mask the session id: it's a resumable artifact, so log only an\n              // 8-char preview (same policy as the node_session_resumed event above).\n              getLog().warn(\n                {\n                  nodeId: node.id,\n                  provider,\n                  workflowRunId: ctx.workflowRun.id,\n                  resumeSessionId: `${resumeSessionId.slice(0, 8)}…`,\n                  priorArtifactsFound: recoveryPointer !== '',\n                },\n                'dag.session_resume_failed'\n              );\n              await safeSendMessage(\n                ctx.platform,\n                ctx.conversationId,\n                `⚠️ Node \\`${node.id}\\`: could not resume the prior session — continued with a fresh session, so the earlier context was not restored.${recoveryPointer}`,\n                { workflowId: ctx.workflowRun.id, nodeName: node.id }\n              );\n            }\n\n            // Persist (or drop) the node's provider session ID for the next run in this scope.","sourceCodeStart":10624,"sourceCodeEnd":10660,"githubUrl":"https://github.com/coleam00/Archon/blob/0773b9745896ef0612e709c80845a0f7db315b19/packages/workflows/src/dag-executor.ts#L10624-L10660","documentation":"Non-fatal warning: resuming the node's prior provider session failed, so the node continued with a fresh session and the earlier conversation context was not restored. The log masks the session id (8-char preview) per resumable-artifact policy and may include a recovery pointer to prior artifacts.","triggerScenarios":"The DAG executor found a persisted resumeSessionId for the node but the provider call to resume it threw; the catch branch logs `dag.session_resume_failed` and continues fresh.","commonSituations":"Provider session expired or was deleted server-side; provider API outage; session id from an older provider version no longer resumable.","solutions":["Check server logs for the underlying resume error and the truncated session id","Confirm the provider account/API is healthy and the session still exists","Accept the fresh session, or clear persisted sessions and re-run","If the recovery pointer lists prior artifacts, feed those back into the new session"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":"try {\n  await runNode(node);\n} catch (err) {\n  if (isSessionResumeFailed(err)) {\n    console.warn(`session resume failed for ${node.id}; node continued fresh — re-feed prior artifacts if context matters`);\n  } else throw err;\n}","preventionTips":["Re-run promptly after provider outages so sessions are still resumable","Monitor provider session expiry windows","Keep provider credentials valid to avoid resume-auth failures"],"tags":["session","provider","resume"],"backgroundTag":"session-resume-failed","analyzedSha":"0773b9745896ef0612e709c80845a0f7db315b19","analyzedAt":"2026-09-01T02:28:07.064Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T05:18:18.240Z"}