---
name: fesa-reference-models
description: Use when a FESA feature needs existing Abaqus input/CSV reference cases, required comparison quantities, tolerance mapping, or implementation-planning handoff.
---

# FESA Reference Cases

Use this skill to inventory the minimum stored reference inputs and CSV quantities that a
feature actually compares. Abaqus is an external numerical reference, not the FESA formulation
or behavior specification.

## Inputs

Read these first:

- `AGENTS.md`
- `docs/SOLVER_AGENT_DESIGN.md`
- `docs/reference-models/README.md`
- `docs/requirements/<feature-id>.md`
- `docs/formulations/<feature-id>-formulation.md`
- `docs/numerical-reviews/<feature-id>-review.md`
- `docs/io-definitions/<feature-id>-io.md`
- Existing files under `reference/`

## Workflow

1. Read the feature requirements and list only blocking and warning-only reference quantities.
2. Inventory each existing case using its exact directory, input filename, and required CSV filenames.
3. Confirm the input and every required comparison CSV are present and readable.
4. Record the FESA HDF5 dataset, source identity column, required component columns, and stable matching rule.
5. Require unique source IDs, complete required row sets, and finite comparison values.
6. Copy the approved tolerance and blocking/warning behavior without inventing or calibrating values.
7. Map each reference-comparison requirement to at least one existing case when the feature requires that coverage.

Do not require or create:

- canonical directories or filenames;
- legacy-alias approvals;
- bundle `README.md` or `metadata.json`;
- Abaqus version or generation provenance;
- duplicated units, coordinates, step/frame, material, section, thickness, or element-type metadata;
- a reference CSV schema version;
- CSV files for quantities outside the approved comparison boundary;
- an expanded benchmark portfolio unless the feature requirements explicitly require it.

Read source element type, material, section, loads, constraints, and supported single-step
identity from the `.inp`. Do not rename, repair, normalize, or generate reference artifacts.

## Output Contract

Produce or revise `docs/reference-models/<feature-id>-reference-models.md` with:

- Metadata
- Reference Acceptance Scope
- Reference Case Inventory
- HDF5-to-CSV Comparison Mapping
- Tolerance and Blocking/Warning Policy
- Readiness Checklist
- Open Issues and Downstream Handoff

## Boundaries

- Do not implement code or parsers.
- Do not design C++ APIs or file ownership.
- Do not run Abaqus, Nastran, or another reference solver.
- Do not generate or modify reference inputs or CSV files.
- Do not compare solver results.
- Do not approve release readiness.

## Quality Gate

- Every blocking or warning-only quantity names an exact input/CSV pair.
- Every comparison defines an HDF5 projection, source-ID/component mapping, and tolerance.
- Missing, extra, duplicate, and nonfinite required rows have an explicit fail-before-tolerance rule.
- Use `needs-reference-artifacts` only when a declared input or required comparison CSV is missing.
- Use `needs-user-decision` only when required quantities, matching, or tolerance are undefined.
- Canonical naming, README, metadata, provenance, and unrequested portfolio coverage never block readiness.

## Handoff

Send exact paths, HDF5 projection, source-ID/component matching, row prechecks, and tolerance to
Implementation Planning Agent and Reference Verification Agent. Send only feature-required
physical expectations to Physics Evaluation Agent.
