{"record":{"id":"f024db3e97cfd36d","repo":"coleam00/Archon","slug":"persist-session-lookup-failed","errorCode":"persist_session_lookup_failed","errorMessage":"⚠️ Could not load the persisted session for node `${node.id}` — it will run without prior context. Session continuity may be broken; if this recurs, check server logs or run `/workflow reset-sessions ${ctx.workflowName}`.","messagePattern":"⚠️ Could not load the persisted session for node `(.+?)` — it will run without prior context\\. Session continuity may be broken; if this recurs, check server logs or run `/workflow reset-sessions (.+?)`\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"packages/workflows/src/dag-executor.ts","lineNumber":10541,"sourceCode":"                        data: {\n                          provider,\n                          scope_key: ctx.persistScopeKey,\n                          provider_session_id_preview: sessionIdPreview,\n                        },\n                      })\n                      .catch((err: Error) => {\n                        getLog().warn(\n                          { err, nodeId: node.id },\n                          'persist_session_resumed_event_persist_failed'\n                        );\n                      });\n                  }\n                } catch (err) {\n                  // Non-fatal: the node still runs (fresh, no resume), but the user opted\n                  // into persistence — a DB error here silently breaks continuity, so warn\n                  // them as well as the logs. (A \"no row\" result is not an error: it returns\n                  // null above and this catch never fires for it.)\n                  getLog().warn(\n                    {\n                      err: err as Error,\n                      nodeId: node.id,\n                      workflow: ctx.workflowName,\n                      scopeKey: ctx.persistScopeKey,\n                      provider,\n                    },\n                    'persist_session_lookup_failed'\n                  );\n                  await safeSendMessage(\n                    ctx.platform,\n                    ctx.conversationId,\n                    `⚠️ Could not load the persisted session for node \\`${node.id}\\` — it will run without prior context. Session continuity may be broken; if this recurs, check server logs or run \\`/workflow reset-sessions ${ctx.workflowName}\\`.`,\n                    { workflowId: ctx.workflowRun.id, nodeName: node.id }\n                  );\n                }\n              }\n            }","sourceCodeStart":10523,"sourceCodeEnd":10559,"githubUrl":"https://github.com/coleam00/Archon/blob/0773b9745896ef0612e709c80845a0f7db315b19/packages/workflows/src/dag-executor.ts#L10523-L10559","documentation":"Non-fatal warning: loading the persisted session row for a node from the database threw (not merely 'no row'), so the node runs fresh without prior context even though the user opted into session persistence. The engine warns the user because a DB error here silently breaks continuity.","triggerScenarios":"Catch branch in the DAG executor when the session-lookup query for (workflow, node, persistScopeKey, provider) raises — DB connectivity issues, corrupted row/schema mismatch, storage adapter errors.","commonSituations":"Database temporarily unavailable or restarted mid-run; schema drift after upgrade; corrupted session blob in the persistence table.","solutions":["Check server logs for the underlying `err` logged with this event","Verify DB connectivity and that the sessions table is intact","If it recurs, run `/workflow reset-sessions <workflowName>` to clear stale session state","Re-run the workflow once the database is healthy"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":"// Verify session store availability before the run\nconst healthy = await store.ping();\nif (!healthy) console.warn('session store unreachable; continuity may be lost');","typeGuard":null,"tryCatchPattern":"try {\n  await runNode(node);\n} catch (err) {\n  if (isPersistSessionLookupFailed(err)) {\n    console.warn(`node ${node.id} ran without prior session context; check DB and consider /workflow reset-sessions`);\n  } else throw err;\n}","preventionTips":["Monitor database health for the Archon instance","Treat this warning as a continuity loss, not a run failure, and re-run if context matters","Periodically prune/reset session rows to avoid corrupted-state buildup"],"tags":["database","session","persistence"],"backgroundTag":"session-lookup-failed","analyzedSha":"0773b9745896ef0612e709c80845a0f7db315b19","analyzedAt":"2026-09-01T02:28:07.064Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T05:18:18.240Z"}