--- name: fesa-io-contract description: Use when defining FESA solver I/O contracts, Abaqus .inp keyword subsets, internal model mapping, validation rules, HDF5 result/reference schemas, and optional CSV export 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 HDF5 Result and Reference Schemas for `results.h5`, including metadata, mesh, step/frame groups, field output datasets, history output datasets, component naming, and matching keys. 7. Define optional CSV export schemas only when upstream requirements explicitly request CSV files or a comparison helper format. 8. Define units, coordinate system, component naming, output location, step/frame identity, and ID matching rules. 9. 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 - HDF5 Result and Reference Schemas - Optional CSV Export 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 HDF5 artifacts or reference CSVs. - Do not approve release readiness. ## Quality Gate - Every supported keyword has a documented purpose, required data, and unsupported-case behavior. - HDF5 schemas carry units, coordinate system, component naming, output location, step/frame identity, dataset paths, and ID matching rules. - Optional CSV schemas carry the same semantics when explicitly required. - 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 HDF5 schema contracts to Reference Model Agent and Implementation Planning Agent. Send dataset paths, comparison schema, ID matching, and tolerance-source constraints to Reference Verification Agent.