Files
PDFToMD/phases/9-pyqt-thin-client/step0.md
T
김경종 7e985ae94a add files
2026-04-30 17:05:19 +09:00

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

  1. Run the acceptance commands.
  2. Confirm UI boundary in docs/UI_GUIDE.md remains accurate.
  3. Update PROGRESS.md and 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.