{"record":{"id":"d70c84573f21702b","repo":"deepseek-ai/deepseek-harness","slug":"tool-fs-search-no-ctx-spillstore-backend-loaded","errorCode":null,"errorMessage":"tool-fs-search: no ctx.spillStore backend loaded; complete ${exec.name} result not saved","messagePattern":"tool-fs-search: no ctx\\.spillStore backend loaded; complete (.+?) result not saved","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/fs/tool-fs-search/src/search-core.ts","lineNumber":388,"sourceCode":" * @param exec - the tool-execution context; supplies the owning session, tool name, and call id.\n * @param suggestedName - the backend-sanitized filename hint (e.g. `grep-results.txt`).\n * @param content - the complete formatted result to persist.\n * @returns the saved spill reference, or `undefined` when the result could not be saved.\n */\nexport async function trySaveFormattedResult(\n  ctx: Context,\n  exec: ToolExecution,\n  suggestedName: string,\n  content: string,\n): Promise<SpillRef | undefined> {\n  const sessionId = exec.agent?.session.header.id\n  if (sessionId === undefined) {\n    ctx.logger.warn(`tool-fs-search: no session owner for ${exec.name} result; complete result not saved`)\n    return undefined\n  }\n  const spillStore = ctx.get('spillStore')\n  if (!spillStore) {\n    ctx.logger.warn(`tool-fs-search: no ctx.spillStore backend loaded; complete ${exec.name} result not saved`)\n    return undefined\n  }\n  const save: SaveTextSpill = {\n    owner: { sessionId },\n    source: { toolName: exec.name, callId: exec.callId, label: 'result' },\n    suggestedName,\n    content,\n  }\n  try {\n    return await spillStore.saveText(save)\n  } catch (error: unknown) {\n    // Best-effort: a storage failure must never fail the search or hide the\n    // inline result — the footer reports the unsaved remainder instead.\n    ctx.logger.warn(`tool-fs-search: saveText failed for ${exec.name}: ${String(error)}; complete result not saved`)\n    return undefined\n  }\n}\n","sourceCodeStart":370,"sourceCodeEnd":406,"githubUrl":"https://github.com/deepseek-ai/deepseek-harness/blob/b150a551b8d465e31e418e1b2eaf5e79bbb7d28e/packages/fs/tool-fs-search/src/search-core.ts#L370-L406","documentation":"Error \"tool-fs-search: no ctx.spillStore backend loaded; complete ${exec.name} result not saved\" thrown in deepseek-ai/deepseek-harness.","triggerScenarios":"Thrown at packages/fs/tool-fs-search/src/search-core.ts:388 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Load a spill store plugin in cordis.yml so large search results can be persisted; otherwise accept truncated inline results."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"b150a551b8d465e31e418e1b2eaf5e79bbb7d28e","analyzedAt":"2026-08-24T18:12:29.105Z","schemaVersion":2},"datasetVersion":"2026-08-24T22:17:12.610Z"}