docs: add phase 1 sprint contracts

This commit is contained in:
NINI
2026-05-01 02:40:19 +09:00
parent e99b5b8eff
commit 10f1436e0f
20 changed files with 1272 additions and 2 deletions
+71
View File
@@ -0,0 +1,71 @@
# Step 12: assembly-reaction-recovery
## Sprint Contract
### Objective
Implement assembly of element stiffness/load contributions into full and reduced system data while preserving full-space data for reactions.
### 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
- /phases/1-linear-static-mitc4/step11.md
### Scope
- Assemble global stiffness and load data from active elements and nodal loads.
- Create reduced free-DOF systems using `DofManager` mappings.
- Preserve or reconstruct full-space `K_full`, `F_full`, and `U_full` data needed for `RF = K_full * U_full - F_full`.
- Add assembly diagnostics for missing contributions and singular-prone untouched DOFs where detectable.
### Allowed Files
- `include/**`
- `src/**`
- `tests/**`
- `PLAN.md`
- `PROGRESS.md`
- `phases/1-linear-static-mitc4/index.json`
### Explicit Non-Goals
- Do not implement the full `LinearStaticAnalysis` orchestration here.
- Do not compute reactions from reduced quantities only.
- Do not add pressure loads, nonzero prescribed displacement, or nonlinear residual assembly.
### Tests To Write First
- Assembly tests for simple element/load contributions into full and reduced matrices/vectors.
- Constrained elimination tests using known DOF mappings.
- Full-vector reaction recovery tests using `RF = K_full * U_full - F_full`.
- Missing contribution or untouched free DOF diagnostic tests.
### Reference Artifacts
- None required. RF reference CSV is not available; use internal equilibrium/reaction tests for this step.
### Acceptance Commands
```bash
python scripts/validate_workspace.py
```
### Evaluator Checklist
- Full-space reaction data is preserved.
- Reduced system assembly matches constrained/free DOF mapping.
- Reaction tests use full vectors and the documented sign convention.
- Unsupported loads and nonlinear behavior are not introduced.
### Handoff Requirements
- Record assembly and RF recovery behavior in `PROGRESS.md`.
- Update `PLAN.md` if R-010 remains unresolved or becomes resolved.
- 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 reaction tests for full-vector recovery.
## Do Not
- Do not allow reduced-system convenience to overwrite the documented RF convention.