2.4 KiB
2.4 KiB
Sprint Contract: IO Parser Extraction
Objective
Move the Abaqus Phase 1 input parser into the IO module while preserving the documented strict parser subset and unsupported-feature diagnostics.
Required Reading
- /AGENTS.md
- /PROGRESS.md
- /PLAN.md
- /docs/README.md
- /docs/HARNESS_ENGINEERING.md
- /docs/ARCHITECTURE.md
- /docs/ADR.md
- /docs/ABAQUS_INPUT_SUBSET.md
- /docs/VERIFICATION_PLAN.md
- /phases/1-structure-alignment-refactor/step0-architecture-map.md
- /phases/1-structure-alignment-refactor/step2.md
Scope
- Extract
KeywordLine,ParseResult,AbaqusInputParser, and parser-only helpers intoIO. - Keep parser output in
Domain. - Preserve strict rejection for
S4R,Part/Assembly/Instance,*Include,NLGEOM=YES, nonzero prescribed displacement, and unsupported keyword parameters. - Keep normalized reference behavior for
references/quad_02_phase1.inp.
Allowed Files
include/fesa/fesa.hppinclude/fesa/IO/src/IO/include/fesa/Core/src/Core/tests/CMakeLists.txtphases/1-structure-alignment-refactor/index.jsonPLAN.mdPROGRESS.md
Explicit Non-Goals
- Do not add new Abaqus keyword support.
- Do not accept original
references/quad_02.inpas a Phase 1 parser input. - Do not change
docs/ABAQUS_INPUT_SUBSET.mdunless a purely clarifying note is required. - Do not move results or reference comparator code in this step.
Tests To Write First
- Add or update an include/link test for
fesa/IOparser headers. - Preserve parser acceptance and rejection tests as characterization tests.
- Ensure original
quad_02.inpunsupported provenance remains rejected where tested.
Reference Artifacts
references/quad_02.inpreferences/quad_02_phase1.inp
Do not edit these files.
Acceptance Commands
python scripts/validate_workspace.py
Evaluator Checklist
- Parser code lives in
IOand does not own analysis or assembly behavior. - Parser subset discipline is unchanged.
- Diagnostics still include enough source context for malformed input.
Domainremains the parser output boundary.- Stored reference compatibility notes remain true.
Handoff Requirements
- Update this step status in
phases/1-structure-alignment-refactor/index.json. - Record moved parser files and any unsupported-feature behavior verified.
Do Not
- Do not normalize reference files inside parser code.
- Do not silently broaden parser compatibility while refactoring.