add files
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"project": "PDFtoMD",
|
||||
"phase": "9-pyqt-thin-client",
|
||||
"steps": [
|
||||
{
|
||||
"step": 0,
|
||||
"name": "ui-api-contract",
|
||||
"status": "pending"
|
||||
},
|
||||
{
|
||||
"step": 1,
|
||||
"name": "pyqt-shell",
|
||||
"status": "pending"
|
||||
},
|
||||
{
|
||||
"step": 2,
|
||||
"name": "ui-progress-resume",
|
||||
"status": "pending"
|
||||
},
|
||||
{
|
||||
"step": 3,
|
||||
"name": "ui-packaging-notes",
|
||||
"status": "pending"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
# 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
|
||||
```powershell
|
||||
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.
|
||||
@@ -0,0 +1,36 @@
|
||||
# Step 1: pyqt-shell
|
||||
|
||||
## Read First
|
||||
- /AGENTS.md
|
||||
- /PLAN.md
|
||||
- /PROGRESS.md
|
||||
- /docs/HARNESS.md
|
||||
- /docs/IMPLEMENTATION_PLAN.md
|
||||
- /docs/UI_GUIDE.md
|
||||
- /phases/9-pyqt-thin-client/step0.md
|
||||
|
||||
## Task
|
||||
Create the minimal PyQt application shell for selecting a PDF, choosing output directory, and configuring runtime/formula options.
|
||||
|
||||
Keep the interface quiet and utilitarian for repeated local conversion work.
|
||||
|
||||
## Sprint Contract
|
||||
- Done means: a minimal PyQt window can launch and bind controls to the core API config without running conversion by default.
|
||||
- Hard thresholds: UI does not duplicate conversion engine logic; long Korean paths remain visible via tooltip or equivalent; defaults match CLI.
|
||||
- Files owned: UI package/modules, tests if practical, `docs/UI_GUIDE.md`, `PROGRESS.md`, phase index.
|
||||
- Dependencies: UI API contract.
|
||||
|
||||
## Acceptance Criteria
|
||||
```powershell
|
||||
python scripts\validate_workspace.py
|
||||
```
|
||||
|
||||
## Verification
|
||||
1. Run the acceptance command.
|
||||
2. If UI launch cannot be automated, record manual verification steps in `PROGRESS.md`.
|
||||
3. Update this phase index.
|
||||
|
||||
## Do Not
|
||||
- Do not create a marketing landing page.
|
||||
- Do not call Marker/Nougat directly from widgets.
|
||||
- Do not make UI the only way to run conversion.
|
||||
@@ -0,0 +1,36 @@
|
||||
# Step 2: ui-progress-resume
|
||||
|
||||
## Read First
|
||||
- /AGENTS.md
|
||||
- /PLAN.md
|
||||
- /PROGRESS.md
|
||||
- /docs/HARNESS.md
|
||||
- /docs/IMPLEMENTATION_PLAN.md
|
||||
- /docs/UI_GUIDE.md
|
||||
- /phases/9-pyqt-thin-client/step1.md
|
||||
|
||||
## Task
|
||||
Connect UI progress, cancellation, error summary, log opening, and resume controls to the core API.
|
||||
|
||||
The UI should show chunk success/failure and respect CUDA/auto runtime semantics.
|
||||
|
||||
## Sprint Contract
|
||||
- Done means: UI can display progress events and expose resume behavior without corrupting generated Markdown.
|
||||
- Hard thresholds: explicit CUDA failures are shown clearly; auto fallback warnings are visible; cancellation does not leave inconsistent runtime state.
|
||||
- Files owned: UI modules, tests/manual verification notes, `PROGRESS.md`, phase index.
|
||||
- Dependencies: PyQt shell and core runtime events.
|
||||
|
||||
## Acceptance Criteria
|
||||
```powershell
|
||||
python scripts\validate_workspace.py
|
||||
```
|
||||
|
||||
## Verification
|
||||
1. Run the acceptance command.
|
||||
2. Record UI smoke test steps and screenshots only if the user asks for them.
|
||||
3. Update `PROGRESS.md` and this phase index.
|
||||
|
||||
## Do Not
|
||||
- Do not write logs into Markdown content.
|
||||
- Do not silently fallback from explicit CUDA to CPU.
|
||||
- Do not implement a separate UI-only resume system.
|
||||
@@ -0,0 +1,36 @@
|
||||
# Step 3: ui-packaging-notes
|
||||
|
||||
## Read First
|
||||
- /AGENTS.md
|
||||
- /PLAN.md
|
||||
- /PROGRESS.md
|
||||
- /docs/HARNESS.md
|
||||
- /docs/IMPLEMENTATION_PLAN.md
|
||||
- /docs/UI_GUIDE.md
|
||||
- /phases/9-pyqt-thin-client/step2.md
|
||||
|
||||
## Task
|
||||
Document PyQt local packaging and known limitations for Windows.
|
||||
|
||||
This step may add packaging notes or scripts only if they are consistent with the verified environment.
|
||||
|
||||
## Sprint Contract
|
||||
- Done means: UI packaging limitations and local execution commands are documented without changing the core engine contract.
|
||||
- Hard thresholds: docs do not promise standalone redistribution without license review; model weights remain external/cache-based; CLI remains supported.
|
||||
- Files owned: `README.md`, `docs/UI_GUIDE.md`, optional packaging docs/scripts, `PROGRESS.md`, phase index.
|
||||
- Dependencies: UI progress/resume behavior.
|
||||
|
||||
## Acceptance Criteria
|
||||
```powershell
|
||||
python scripts\validate_workspace.py
|
||||
```
|
||||
|
||||
## Verification
|
||||
1. Run the acceptance command.
|
||||
2. Confirm packaging notes mention license/model cache constraints.
|
||||
3. Update `PROGRESS.md` and this phase index.
|
||||
|
||||
## Do Not
|
||||
- Do not build an installer unless explicitly requested.
|
||||
- Do not bundle model weights.
|
||||
- Do not drop CLI documentation.
|
||||
Reference in New Issue
Block a user