1.2 KiB
1.2 KiB
Step 0: ui-api-contract
Read First
- /AGENTS.md
- /PLAN.md
- /PROGRESS.md
- /docs/HARNESS.md
- /docs/IMPLEMENTATION_PLAN.md
- /docs/UI_GUIDE.md
- /docs/ARCHITECTURE.md
- /phases/8-release-docs-packaging/index.json
Task
Define the stable core API contract that PyQt will call.
This step should verify that the UI does not need to import Marker, Nougat, PyMuPDF, or renderer internals directly.
Sprint Contract
- Done means: UI-facing API functions/classes are documented and tested without building UI screens.
- Hard thresholds: UI remains a thin client; conversion logic is not duplicated; progress/resume events are available through the API.
- Files owned:
src/pdftomd/,tests/,docs/UI_GUIDE.md,PROGRESS.md,phases/9-pyqt-thin-client/index.json. - Dependencies: Local MVP release-ready CLI/library.
Acceptance Criteria
python scripts\validate_workspace.py
.\venv\python.exe -m pytest tests
Verification
- Run the acceptance commands.
- Confirm UI boundary in
docs/UI_GUIDE.mdremains accurate. - Update
PROGRESS.mdand this phase index.
Do Not
- Do not create UI widgets yet.
- Do not import parser internals in UI-facing code.
- Do not change CLI behavior unless tests require it.