1.3 KiB
1.3 KiB
Step 0: marker-invocation-adapter
Read First
- /AGENTS.md
- /PLAN.md
- /PROGRESS.md
- /docs/HARNESS.md
- /docs/IMPLEMENTATION_PLAN.md
- /docs/ARCHITECTURE.md
- /docs/TOOLCHAIN.md
- /phases/1-core-runtime-contracts/index.json
Task
Implement the first Marker adapter boundary that invokes Marker through a small internal interface.
Keep this adapter isolated so tests can use fakes without loading large models. Real Marker invocation should be smoke-testable but not required for every unit test.
Sprint Contract
- Done means: Marker invocation is behind a narrow interface and can return structured parse results or clear failures.
- Hard thresholds: Marker remains the primary document parser; Nougat is not used here; unit tests avoid mandatory model downloads; parser errors are structured.
- Files owned:
src/pdftomd/marker_adapter.py, related tests,PROGRESS.md,phases/2-marker-adapter/index.json. - Dependencies: Phase 1 runtime contracts.
Acceptance Criteria
python scripts\validate_workspace.py
.\venv\python.exe -m pytest tests
Verification
- Run the acceptance commands.
- Confirm the adapter can be tested without external services.
- Update
PROGRESS.mdand this phase index.
Do Not
- Do not parse formulas with Nougat.
- Do not implement Markdown rendering.
- Do not make every test load Marker models.