39 lines
1.4 KiB
Markdown
39 lines
1.4 KiB
Markdown
# Step 1: conversion-options-config
|
|
|
|
## Read First
|
|
- /AGENTS.md
|
|
- /PLAN.md
|
|
- /PROGRESS.md
|
|
- /docs/HARNESS.md
|
|
- /docs/IMPLEMENTATION_PLAN.md
|
|
- /docs/ARCHITECTURE.md
|
|
- /docs/ADR.md
|
|
- /phases/1-core-runtime-contracts/step0.md
|
|
|
|
## Task
|
|
Define the typed conversion options and runtime configuration used by CLI, library, parser adapters, renderer, and UI.
|
|
|
|
Include runtime mode, device behavior, chunk target pages, formula parser mode, Nougat command path, output directory, model cache location, and resume/log options.
|
|
|
|
## Sprint Contract
|
|
- Done means: conversion options have defaults matching project policy and can be constructed by tests without CLI parsing.
|
|
- Hard thresholds: explicit `cuda` fail-fast semantics and `auto` fallback semantics are represented; Nougat remains formula-only; PyQt and hosted API options are not introduced.
|
|
- Files owned: `src/pdftomd/`, `tests/`, `PROGRESS.md`, `phases/1-core-runtime-contracts/index.json`.
|
|
- Dependencies: Step 0 normalized path/slug contract.
|
|
|
|
## Acceptance Criteria
|
|
```powershell
|
|
python scripts\validate_workspace.py
|
|
.\venv\python.exe -m pytest tests
|
|
```
|
|
|
|
## Verification
|
|
1. Run the acceptance commands.
|
|
2. Confirm defaults align with `docs/ARCHITECTURE.md` and `docs/CONVERSION_POLICY.md`.
|
|
3. Update `PROGRESS.md` and this phase index.
|
|
|
|
## Do Not
|
|
- Do not add command-line parsing yet.
|
|
- Do not initialize CUDA, Marker, or Nougat.
|
|
- Do not add external API settings.
|