75 lines
3.1 KiB
Markdown
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.
|