# Step 2: resume-state ## Read First - /AGENTS.md - /PLAN.md - /PROGRESS.md - /docs/HARNESS.md - /docs/IMPLEMENTATION_PLAN.md - /docs/CONVERSION_POLICY.md - /phases/6-cli-runtime-resume/step1.md ## Task Implement runtime resume state for successful and failed chunks. Resume state is a runtime artifact, not a document output sidecar. ## Sprint Contract - Done means: conversion can skip completed chunks and retry failed chunks using a local state file in tests. - Hard thresholds: state format is deterministic; stale state is detected; resume does not skip chunks when input/options changed materially. - Files owned: `src/pdftomd/resume.py`, runtime integration/tests, `PROGRESS.md`, phase index. - Dependencies: Progress/logging and chunk renderer contracts. ## Acceptance Criteria ```powershell python scripts\validate_workspace.py .\venv\python.exe -m pytest tests ``` ## Verification 1. Run the acceptance commands. 2. Confirm state files are written only under temp/runtime cache paths in tests. 3. Update `PROGRESS.md` and this phase index. ## Do Not - Do not treat resume state as part of generated document output. - Do not skip chunks after parser/version-relevant option changes. - Do not create hidden global state.