docs: add phase 1 sprint contracts
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
# Step 14: stored-reference-regression
|
||||
|
||||
## Sprint Contract
|
||||
|
||||
### Objective
|
||||
Add stored-reference regression coverage using accepted Phase 1-compatible cases and preserve `quad_01` as a compatibility/provenance reference.
|
||||
|
||||
### Required Reading
|
||||
- /AGENTS.md
|
||||
- /PROGRESS.md
|
||||
- /PLAN.md
|
||||
- /docs/README.md
|
||||
- /docs/HARNESS_ENGINEERING.md
|
||||
- /docs/ABAQUS_INPUT_SUBSET.md
|
||||
- /docs/VERIFICATION_PLAN.md
|
||||
- /docs/RESULTS_SCHEMA.md
|
||||
- /references/README.md
|
||||
- /phases/1-linear-static-mitc4/step9.md
|
||||
- /phases/1-linear-static-mitc4/step13.md
|
||||
|
||||
### Scope
|
||||
- Add automated regression tests comparing FESA `U` output to stored `*_displacements.csv` for Phase 1-compatible `TYPE=S4` linear static cases.
|
||||
- Keep `references/quad_01.inp` documented as S4R/NLGEOM provenance and future compatibility target, not a passing Phase 1 parser case.
|
||||
- Add or document reference-case requirements for single-element, multi-element, and curved-shell cases.
|
||||
- Use internal equilibrium tests for RF unless `*_reactions.csv` artifacts are added.
|
||||
|
||||
### Allowed Files
|
||||
- `include/**`
|
||||
- `src/**`
|
||||
- `tests/**`
|
||||
- `references/**`
|
||||
- `docs/VERIFICATION_PLAN.md`
|
||||
- `docs/ABAQUS_INPUT_SUBSET.md` only for reference compatibility notes
|
||||
- `PLAN.md`
|
||||
- `PROGRESS.md`
|
||||
- `phases/1-linear-static-mitc4/index.json`
|
||||
|
||||
### Explicit Non-Goals
|
||||
- Do not require Abaqus execution locally or in CI.
|
||||
- Do not make `quad_01.inp` pass by adding S4R, Part/Assembly/Instance, or NLGEOM support.
|
||||
- Do not accept missing reference comparisons silently.
|
||||
|
||||
### Tests To Write First
|
||||
- Regression test harness test that fails when a required displacement CSV is missing or malformed.
|
||||
- At least one Phase 1-compatible displacement comparison test when a matching reference case exists.
|
||||
- Negative test that `quad_01.inp` remains unsupported for Phase 1 parsing while its CSV can still validate comparator format.
|
||||
|
||||
### Reference Artifacts
|
||||
- Required solver regression: at least one Phase 1-compatible `TYPE=S4` `.inp` and matching `*_displacements.csv`.
|
||||
- Format/provenance only: `references/quad_01.inp` and `references/quad_01_displacements.csv`.
|
||||
- Optional RF artifact: `*_reactions.csv`; otherwise RF is checked by internal equilibrium/reaction tests.
|
||||
|
||||
### Acceptance Commands
|
||||
```bash
|
||||
python scripts/validate_workspace.py
|
||||
```
|
||||
|
||||
### Evaluator Checklist
|
||||
- At least one accepted Phase 1 reference comparison runs if the artifact exists.
|
||||
- Missing required reference artifacts produce a documented block or failing test, not a silent pass.
|
||||
- `quad_01` remains out of Phase 1 parser support.
|
||||
- Reference comparisons use documented columns, node-id matching, and tolerances.
|
||||
|
||||
### Handoff Requirements
|
||||
- Record reference cases, comparison results, and missing artifacts in `PROGRESS.md`.
|
||||
- Update `PLAN.md` with remaining reference additions for Phase 1 completion or Phase 2.
|
||||
- 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 regression logs or test output for actual CSV comparison.
|
||||
|
||||
## Do Not
|
||||
- Do not relax parser restrictions to make an existing reference input pass.
|
||||
Reference in New Issue
Block a user