calcs/wood-joist/TASKS.md

29 lines
2.1 KiB
Markdown
Raw Normal View History

# Tasks: Wood Joist Analysis
Ordered, dependency-ordered plan. Each task has a spec in `tasks/NNN_name.md`.
| # | Task | Files | Status | Depends on |
|---|---|---|---|---|
| 001 | Numerical core: `calc.py` + `input.yaml` + `results.json` | calcs/wood-joist/calc.py, calcs/wood-joist/input.yaml, calcs/wood-joist/results.json | DONE | — |
| 002 | Numerical lock: `test_wood_joist.py` (compute() only) | calcs/wood-joist/test_wood_joist.py | DONE | 001 |
| 003 | Presentation: `beam.typ` + compile + Typst metadata test | calcs/wood-joist/beam.typ, calcs/wood-joist/generated/wood-joist.pdf, calcs/wood-joist/test_wood_joist.py (append) | DONE | 001, 002 |
| 004 | Documentation refresh: `README.md` + `codemap.md` | README.md, codemap.md | DONE | 003 |
| 005 | Reviewer pass on the whole calculation | review notes only | DONE | 004 |
| 006 | `check_service` + move load determination to Typst | lib/sheet.typ, calcs/wood-joist/input.yaml, calcs/wood-joist/calc.py, calcs/wood-joist/beam.typ, calcs/wood-joist/results.json | DONE | 001–005 |
| 007 | Test updates + Typst load-demand reconciliation | calcs/wood-joist/test_wood_joist.py | DONE | 006 |
| 008 | Docs refresh (`README.md` + `codemap.md`) + reviewer pass | README.md, codemap.md | DONE | 006, 007 |
## Notes
- Task 001 is the numerical single source of truth; it pins every `results.json`
value name and the exact equations. Tasks 002–005 depend on that contract.
- The Typst metadata test (steel-beam query pattern) lives with Task 003 because
it needs `beam.typ` to exist; Task 002 is purely numerical to keep the
dependency graph acyclic.
- `generated/` may not exist yet; Task 003 creates it before compiling.
- Tasks 006–008 implement the user-approved "move load determination to Typst"
change. Task 006 changes the shared `lib/sheet.typ` (additive `check_service`
only) and the wood-joist contract; Task 007 adapts the tests and adds the
`<wood-joist-loads>` reconciliation test; Task 008 refreshes docs and runs the
reviewer pass verifying deterministic benchmark evidence. The Pompano Beach
benchmark values must stay identical.