--- name: fesa-io-contract description: Use when defining FESA solver I/O contracts, Abaqus .inp keyword subsets, internal model mapping, validation rules, and CSV schemas for solver outputs or reference comparison. --- # FESA I/O Contract Use this skill to define exactly what input and output data the solver feature accepts and produces. ## Inputs Read these first: - `AGENTS.md` - `docs/AGENT_RULES.md` - `docs/io-definitions/README.md` - `docs/requirements/.md` - `docs/formulations/-formulation.md` - Numerical review and reference model documents when present ## Workflow 1. Define Abaqus Input Scope for the feature-specific `.inp` subset. 2. Define Syntax Policy for keyword lines, data lines, comments, unsupported keywords, and diagnostics. 3. Separate Model Data Mapping from History Data Mapping. 4. Define supported keywords such as `*NODE`, `*ELEMENT`, `*MATERIAL`, `*ELASTIC`, `*BOUNDARY`, `*CLOAD`, `*STEP`, `*OUTPUT`, `*NODE OUTPUT`, and `*ELEMENT OUTPUT` only when required. 5. Define Internal Model Contract at a semantic level without C++ APIs. 6. Define Output and CSV Schemas for `displacements.csv`, `reactions.csv`, `element_forces.csv`, `stresses.csv`, and optional result files. 7. Define units, coordinate system, component naming, output location, step/frame identity, and ID matching rules. 8. Define validation rules and open issues. ## Output Contract Produce or revise `docs/io-definitions/-io.md` with: - Abaqus Input Scope - Syntax Policy - Model Data Mapping - History Data Mapping - Internal Model Contract - Output and CSV Schemas - Validation Rules - Downstream Handoff ## Boundaries - Do not implement parsers. - Do not design C++ APIs. - Do not claim full Abaqus compatibility. - Do not run Abaqus, Nastran, or any reference solver. - Do not generate reference CSVs. - Do not approve release readiness. ## Quality Gate - Every supported keyword has a documented purpose, required data, and unsupported-case behavior. - CSV schemas carry units, coordinate system, component naming, output location, and ID matching rules. - Unsupported Abaqus input is explicit: unsupported, ignored-with-warning, or requires user decision. - The I/O contract is compatible with requirements, formulation, and reference comparison needs. ## Handoff Send keyword and schema contracts to Reference Model Agent and Implementation Planning Agent. Send comparison schema, ID matching, and tolerance-source constraints to Reference Verification Agent.