{"record":{"id":"572706c12b2f66b6","repo":"deepseek-ai/deepseek-harness","slug":"binname-failed-to-read-overlay-file-stri","errorCode":null,"errorMessage":"${binName}: failed to read overlay ${file}: ${String(error)}","messagePattern":"(.+?): failed to read overlay (.+?): (.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/boot/app-boot/src/index.ts","lineNumber":303,"sourceCode":"  }\n  return parsePatchList(binName, file, content, 'patches')\n}\n\n/**\n * Load a required overlay patch list: a bundle's `cordis.patch.yml` or a\n * `--patch <path>` overlay. Same file format as {@link loadOptionalPatches},\n * but a missing file throws, because the caller named this file — its absence\n * is a misconfiguration, not \"no overlay\".\n * @param binName - the diagnostic prefix on the thrown error.\n * @param file - absolute path of the overlay file.\n * @returns the parsed patch list.\n */\nexport function loadOverlayPatches(binName: string, file: string): PatchOptions[] {\n  let content: string\n  try {\n    content = readFileSync(file, 'utf8')\n  } catch (error) {\n    throw new Error(`${binName}: failed to read overlay ${file}: ${String(error)}`)\n  }\n  return parsePatchList(binName, file, content, 'overlay')\n}\n/**\n * Parse one loader patch list: a top-level YAML array of\n * `@deepseek-ai/cordis-plugin-include` `PatchOptions` (id-targeted config overrides and\n * `insert` lists, `!!js` expressions allowed). Every invalid field or value throws,\n * because a patch file that cannot be applied at all is a misconfiguration; a\n * single patch whose target row is absent stays a per-entry Loader warning, so\n * one overlay shared across surfaces does not have to match every tree.\n * @param binName - the diagnostic prefix on the thrown error.\n * @param file - the source path, quoted in errors.\n * @param content - the file's text.\n * @param label - what to call this list in errors (`patches`, `overlay`).\n * @returns the parsed patch list.\n */\nfunction parsePatchList(\n  binName: string, file: string, content: string, label: string,","sourceCodeStart":285,"sourceCodeEnd":321,"githubUrl":"https://github.com/deepseek-ai/deepseek-harness/blob/b150a551b8d465e31e418e1b2eaf5e79bbb7d28e/packages/boot/app-boot/src/index.ts#L285-L321","documentation":"Error \"${binName}: failed to read overlay ${file}: ${String(error)}\" thrown in deepseek-ai/deepseek-harness.","triggerScenarios":"Thrown at packages/boot/app-boot/src/index.ts:303 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Ensure the overlay file exists and is readable, then retry."],"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"}