Files
FESADev/phases/1-linear-static-mitc4/step14.md
T
2026-05-01 02:40:19 +09:00

75 lines
3.1 KiB
Markdown

# 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.