{"record":{"id":"c8c36ae6e9623f6d","repo":"stablyai/orca","slug":"windows-inner-executable-does-not-exist-executa","errorCode":null,"errorMessage":"Windows inner executable does not exist: ${executablePath}","messagePattern":"Windows inner executable does not exist: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"config/scripts/verify-windows-inner-signature.mjs","lineNumber":124,"sourceCode":"\nexport function formatSignatureSummary(signature) {\n  return [\n    `Status: ${signature.status ?? '<missing>'}`,\n    `Subject: ${normalizeSignerSubject(signature.signerSubject) || '<missing>'}`,\n    `Issuer: ${signature.signerIssuer ?? '<missing>'}`,\n    `Thumbprint: ${normalizeThumbprint(signature.signerThumbprint) || '<missing>'}`,\n    `NotBefore: ${signature.notBefore ?? '<missing>'}`,\n    `NotAfter: ${signature.notAfter ?? '<missing>'}`\n  ].join('\\n')\n}\n\nexport function validateExecutablePath(executablePath) {\n  if (typeof executablePath !== 'string' || executablePath.trim() === '') {\n    throw new Error('Usage: node config/scripts/verify-windows-inner-signature.mjs <Orca.exe>')\n  }\n\n  if (!existsSync(executablePath)) {\n    throw new Error(`Windows inner executable does not exist: ${executablePath}`)\n  }\n\n  if (!statSync(executablePath).isFile()) {\n    throw new Error(`Windows inner executable path is not a file: ${executablePath}`)\n  }\n}\n\nexport function getPowerShellSignatureJson(executablePath, spawnSyncImpl = spawnSync) {\n  // Why: pwsh -Command does not reliably expose trailing process args to string commands.\n  const result = spawnSyncImpl(\n    'pwsh',\n    [\n      '-NoLogo',\n      '-NoProfile',\n      '-NonInteractive',\n      '-ExecutionPolicy',\n      'Bypass',\n      '-Command',","sourceCodeStart":106,"sourceCodeEnd":142,"githubUrl":"https://github.com/stablyai/orca/blob/1136503c6a231a16dce8f921f6fadb63d181e8db/config/scripts/verify-windows-inner-signature.mjs#L106-L142","documentation":"Thrown by validateExecutablePath() when the provided path passes the string check but existsSync() returns false. The executable file does not exist at the given path. This is a filesystem-level check before any PowerShell invocation.","triggerScenarios":"validateExecutablePath(executablePath) where executablePath is a non-empty string but existsSync(executablePath) is false. Caused by: a wrong path, a build step that hasn't produced Orca.exe yet, a relative path resolved against the wrong cwd, or a packaging pipeline pointing to the wrong output directory.","commonSituations":"CI running the verifier before the build step completes; a path pointing to the outer Squirrel/MSIX wrapper when the inner exe is expected; a relative path that resolves differently on the CI runner; a post-cleanup step that removed the file.","solutions":["Verify the path exists: use the absolute path to the inner Orca.exe (not the Squirrel setup wrapper).","Ensure the build/packaging step that produces Orca.exe runs before the signature verifier.","If using a relative path, check it resolves against the expected cwd — prefer an absolute path."],"exampleFix":"// before: path points to outer wrapper or wrong dir\nnode verify-windows-inner-signature.mjs ./Release/Orca.exe\n\n// after: absolute path to the actual inner executable\nnode verify-windows-inner-signature.mjs \"$PWD/Release/win-unpacked/Orca.exe\"","handlingStrategy":"validation","validationCode":"function assertExecutableExists(path) {\n  if (!existsSync(path)) {\n    throw new Error(`Expected Orca.exe not found at: ${path}. Build may not have completed.`)\n  }\n}","typeGuard":"function isExistingPath(path) {\n  try { return existsSync(path) } catch { return false }\n}","tryCatchPattern":null,"preventionTips":["Run the build step before the signature verification step in CI.","Use the absolute path to the unpacked inner exe, not the Squirrel wrapper.","Assert the file exists in the CI pipeline before calling the verifier."],"tags":["windows","filesystem","path-validation","signature","packaging"],"backgroundTag":null,"analyzedSha":"1136503c6a231a16dce8f921f6fadb63d181e8db","analyzedAt":"2026-08-12T23:15:58.167Z","schemaVersion":2},"datasetVersion":"2026-08-12T23:17:12.415Z"}