Yeachan-Heo/oh-my-codex · error · Error
autoresearch_resume_manifest_missing
autoresearch_resume_manifest_missing
Error message
autoresearch_resume_manifest_missing:${runId} What it means
loadAutoresearchRunManifest throws (code autoresearch_resume_manifest_missing) when the run's manifest.json does not exist at <projectRoot>/.omx/logs/autoresearch/<runId>/manifest.json. Resume and manifest-inspection APIs require that the run was previously registered with a persisted manifest.
Source
Thrown at src/autoresearch/runtime.ts:757
stdio: 'ignore',
});
} catch {
// Non-fatal: if commit fails the reset-safe check will catch it with
// a clear diagnostic.
}
return {
...contract,
missionDir,
missionFile,
sandboxFile,
};
}
export async function loadAutoresearchRunManifest(projectRoot: string, runId: string): Promise<AutoresearchRunManifest> {
const manifestFile = join(projectRoot, '.omx', 'logs', 'autoresearch', runId, 'manifest.json');
if (!existsSync(manifestFile)) {
throw new Error(`autoresearch_resume_manifest_missing:${runId}`);
}
return readJsonFile<AutoresearchRunManifest>(manifestFile);
}
async function writeRunManifest(manifest: AutoresearchRunManifest): Promise<void> {
manifest.updated_at = nowIso();
await writeJsonFile(manifest.manifest_file, manifest);
}
async function writeInstructionsFile(contract: AutoresearchMissionContract, manifest: AutoresearchRunManifest): Promise<void> {
const instructionContext = await buildAutoresearchInstructionContext(manifest);
await writeFile(
manifest.instructions_file,
`${buildAutoresearchInstructions(contract, {
runId: manifest.run_id,
iteration: manifest.iteration + 1,
baselineCommit: manifest.baseline_commit,
lastKeptCommit: manifest.last_kept_commit,View on GitHub (pinned to 3ad79a8a6f)
Solutions
- List .omx/logs/autoresearch/ in the project root and confirm the exact runId directory exists
- If the ID was mistyped, use the correct runId from the run listing
- If the artifacts were deleted, the run cannot be resumed — start a new autoresearch run
- Ensure you run resume from the same repository root where the run was created
Example fix
# before await resumeAutoresearchRuntime(repoRoot, 'run-123'); // throws: manifest missing # after const runId = fs.readdirSync(join(repoRoot, '.omx/logs/autoresearch'))[0]; await resumeAutoresearchRuntime(repoRoot, runId);
Defensive patterns
Strategy: validation
Validate before calling
import { existsSync } from 'node:fs';
import { join } from 'node:path';
function manifestExists(repoRoot: string, runId: string): boolean {
return existsSync(join(repoRoot, '.omx', 'logs', 'autoresearch', runId, 'manifest.json'));
} Try / catch
try { await resumeAutoresearchRuntime(repoRoot, runId); }
catch (e) { if (e instanceof Error && e.message.startsWith('autoresearch_resume_manifest_missing')) { /* list .omx/logs/autoresearch to find valid runIds */ } throw e; } Prevention
- Copy runIds from the run listing output, never hand-typed
- Do not git clean/delete .omx/logs for runs you may need to resume
- Run resume from the same repo root where the run started
When it happens
Trigger: Calling resumeAutoresearchRuntime or any manifest accessor (finalManifest, keptManifest, beforeDiscardManifest, initialManifest) with a runId that has no manifest: mistyped ID, run artifacts deleted, or a run from a different repository root.
Common situations: Copy-pasting a truncated or wrong run ID, cleaning .omx/logs with gitignore+clean, running resume in the wrong clone/repo root, or the run directory being on a machine other than where the run started.
Related errors
- No autoresearch-goal mission found at ${repoRelative(cwd, pa
- Invalid autoresearch-goal mission at ${repoRelative(cwd, pat
- Autoresearch goal ${mission.slug} is already complete; creat
- Autoresearch goal ${mission.slug} cannot complete until prof
- formatCodexGoalReconciliation(reconciliation)
AI-assisted analysis of Yeachan-Heo/oh-my-codex@3ad79a8a6f (2026-08-27).
Data as JSON: /api/errors/b8f5befe07e4c19e.
Report an issue: GitHub.