docs: add phase 1 sprint contracts
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
# Step 8: results-writer-minimal
|
||||
|
||||
## Sprint Contract
|
||||
|
||||
### Objective
|
||||
Implement the minimal result model and writer boundary for Phase 1 `U` and `RF` step/frame/field outputs.
|
||||
|
||||
### Required Reading
|
||||
- /AGENTS.md
|
||||
- /PROGRESS.md
|
||||
- /PLAN.md
|
||||
- /docs/README.md
|
||||
- /docs/HARNESS_ENGINEERING.md
|
||||
- /docs/ARCHITECTURE.md
|
||||
- /docs/ADR.md
|
||||
- /docs/NUMERICAL_CONVENTIONS.md
|
||||
- /docs/RESULTS_SCHEMA.md
|
||||
- /phases/1-linear-static-mitc4/step6.md
|
||||
- /phases/1-linear-static-mitc4/step7.md
|
||||
|
||||
### Scope
|
||||
- Add result data structures for model ids/connectivity plus step/frame/field outputs.
|
||||
- Support mandatory Phase 1 fields `U` and `RF` with components `UX`, `UY`, `UZ`, `RX`, `RY`, `RZ`.
|
||||
- Add an in-memory or file-backed writer boundary as appropriate for the current build system.
|
||||
- If HDF5 is implemented now, keep HDF5 APIs behind an adapter/wrapper.
|
||||
|
||||
### Allowed Files
|
||||
- `include/**`
|
||||
- `src/**`
|
||||
- `tests/**`
|
||||
- `docs/RESULTS_SCHEMA.md` only for clarification of agreed schema details
|
||||
- `PLAN.md`
|
||||
- `PROGRESS.md`
|
||||
- `phases/1-linear-static-mitc4/index.json`
|
||||
|
||||
### Explicit Non-Goals
|
||||
- Do not add stress, strain, shell force, history, nonlinear frame, thermal, or composite outputs unless R-007 is resolved and docs are updated first.
|
||||
- Do not write RF from reduced vectors only.
|
||||
- Do not expose HDF5 APIs in solver core headers.
|
||||
|
||||
### Tests To Write First
|
||||
- Schema tests for step/frame layout and mandatory field names.
|
||||
- Component-label and ordering tests for `U` and `RF`.
|
||||
- Model id/connectivity storage tests using int64 ids.
|
||||
- Adapter-boundary tests if HDF5 is introduced.
|
||||
|
||||
### Reference Artifacts
|
||||
- None for solver regression. This step only prepares output data consumed by later comparison.
|
||||
|
||||
### Acceptance Commands
|
||||
```bash
|
||||
python scripts/validate_workspace.py
|
||||
```
|
||||
|
||||
### Evaluator Checklist
|
||||
- Result layout follows `docs/RESULTS_SCHEMA.md`.
|
||||
- `U` and `RF` have six components in the documented order.
|
||||
- HDF5, if present, is isolated behind an adapter.
|
||||
- No extra Phase 1 outputs were added without resolving R-007.
|
||||
|
||||
### Handoff Requirements
|
||||
- Record result writer scope and validation in `PROGRESS.md`.
|
||||
- Update `PLAN.md` if R-007 changes or output scope remains blocked.
|
||||
- Update the matching phase index entry: use `completed` with a one-line `summary`, or `blocked` with `blocked_reason`, or `error` with `error_message`.
|
||||
|
||||
## Verification
|
||||
1. Run the acceptance command.
|
||||
2. Inspect tests for schema and component ordering.
|
||||
|
||||
## Do Not
|
||||
- Do not treat a file being created as proof that its schema matches the contract.
|
||||
Reference in New Issue
Block a user