# Step 1: paragraph-stitching

## Read First
- /AGENTS.md
- /PLAN.md
- /PROGRESS.md
- /docs/HARNESS.md
- /docs/IMPLEMENTATION_PLAN.md
- /docs/CONVERSION_POLICY.md
- /phases/4-semantic-enrichment/step0.md

## Task
Implement paragraph stitching for line-fragmented PDF text blocks.

Handle continuation lines and hyphenated line breaks while preserving likely compound words or identifiers when confidence is low.

## Sprint Contract
- Done means: paragraph stitching turns line fragments into coherent paragraph blocks with focused tests.
- Hard thresholds: hyphen joins are tested; low-confidence hyphen cases are preserved; list items and headings are not merged into paragraphs.
- Files owned: `src/pdftomd/enrichment.py`, tests, `PROGRESS.md`, phase index.
- Dependencies: Step 0 checks and normalized block model.

## Acceptance Criteria
```powershell
python scripts\validate_workspace.py
.\venv\python.exe -m pytest tests
```

## Verification
1. Run the acceptance commands.
2. Confirm Korean and English text fixtures remain stable.
3. Update `PROGRESS.md` and this phase index.

## Do Not
- Do not rely only on punctuation rules when bounding-box hints exist.
- Do not merge across tables, figures, or formulas.
- Do not modify source PDF files.
