Files
FESADev/phases/1-linear-static-mitc4-rebaseline/step3.md
T
2026-05-04 12:15:07 +09:00

59 lines
2.0 KiB
Markdown

# Sprint Contract: Parser Domain Subset
## Objective
Revalidate and repair the Phase 1 Abaqus parser and `Domain` model against the documented subset while preserving strict rejection of unsupported reference features.
## Required Reading
- /AGENTS.md
- /docs/ARCHITECTURE.md
- /docs/ADR.md
- /docs/ABAQUS_INPUT_SUBSET.md
- /docs/VERIFICATION_PLAN.md
- /docs/MITC4_FORMULATION.md
## Scope
- Parse Phase 1 keywords into immutable `Domain` objects.
- Preserve node, element, set, material, shell section, boundary, load, and step definitions.
- Reject `S4R`, `Part/Assembly/Instance`, `*Include`, `NLGEOM=YES`, nonzero prescribed displacement, and unsupported material/section modes.
## Allowed Files
- `include/`
- `src/`
- `tests/`
- `docs/ABAQUS_INPUT_SUBSET.md` only for clarifying parser contract
- `PLAN.md`
- `PROGRESS.md`
## Explicit Non-Goals
- Do not implement analysis or assembly.
- Do not add `Part/Assembly/Instance` support because `quad_02` contains it.
- Do not normalize reference files in parser code.
## Tests To Write First
- Parser acceptance tests for every Phase 1 keyword.
- Generated and explicit `*Nset` and `*Elset` tests.
- Unsupported feature rejection tests for `S4R`, `Part`, `Assembly`, `Instance`, `*Density`, and `NLGEOM=YES`.
- Line-numbered diagnostic tests for malformed numeric and DOF fields.
## Reference Artifacts
- `references/quad_01.inp` as unsupported provenance.
- `references/quad_02.inp` as unsupported original provenance until normalized or parser scope changes.
## Acceptance Commands
```bash
python scripts/validate_workspace.py
```
## Evaluator Checklist
- Parser behavior matches `docs/ABAQUS_INPUT_SUBSET.md`.
- `TYPE=S4` maps to internal MITC4.
- Unsupported stored references are not silently accepted.
- Domain objects do not own equation numbers.
## Handoff Requirements
- Update `PROGRESS.md` with parser status.
- Update `PLAN.md` for unresolved reference compatibility work.
## Do Not
- Do not broaden the parser subset without ADR and doc updates.