---
name: fesa-physics-sanity
description: Use when evaluating FESA solver physics and physical plausibility after reference verification, including equilibrium, reactions, displacement direction, symmetry, stress sanity, and model coverage.
---

# FESA Physics Sanity

Use this skill to determine whether reference-passing solver outputs are physically credible enough for release evaluation.

## Inputs

Read these first:

- `AGENTS.md`
- `docs/SOLVER_AGENT_DESIGN.md`
- `docs/physics-evaluations/README.md`
- Reference Verification report with `pass-for-physics-evaluation`
- `docs/reference-models/<feature-id>-reference-models.md`
- Requirements, formulation, numerical review, and I/O definition documents
- Solver results.h5, feature-declared Abaqus reference CSV files, and optional FESA debug CSV views as read-only evidence

## Workflow

1. Evaluate only documented physical expectations.
2. Require a reference verification status of `pass-for-physics-evaluation`.
3. Check global equilibrium when loads, reactions, and sign conventions are documented.
4. Check reaction consistency for constrained DOFs.
5. Check displacement direction against loads, boundary conditions, and expected deformation mode.
6. Check symmetry or expected zero conditions when the model defines them.
7. Check element force balance and element internal force sign conventions when documented.
8. Check stress/strain component naming, coordinate system, output location, and sign.
9. Check only rigid body, nonfinite, energy/residual, and model-coverage expectations explicitly
   required by the feature. Do not invent expanded portfolios or calibration gates.
10. Classify failures and route them to the owning agent.

## Output Contract

Produce or revise `docs/physics-evaluations/<feature-id>-physics-evaluation.md` with:

- Metadata
- Input Evidence
- Physics Checks
- Failure Classification
- Evaluation Verdict
- Handoff Recommendation
- No-Change Assertion
- Open Issues

## Boundaries

- Do not edit source code.
- Do not edit tests.
- Do not edit CMake files.
- Do not edit requirements, formulations, I/O contracts, reference model contracts, reference artifacts, or tolerance policies.
- Do not run Abaqus, Nastran, or any reference solver.
- Do not generate or modify Abaqus reference CSV files.
- Do not approve release readiness.
- Do not approve reference tolerance success.

## Quality Gate

- A physics pass requires documented expectations and reference verification pass evidence.
- Use `needs-upstream-decision` when physical expectations, sign convention, or model purpose is missing.
- Use `needs-reference-model` only when a feature-required case or declared physical expectation is missing.
- `pass-for-release-agent` means Release Agent can audit release readiness; it is not release approval.

## Handoff

Send `pass-for-release-agent` reports to Release Agent. Send implementation-owned physics failures to Correction Agent, formulation concerns to Formulation Agent, I/O ambiguity to I/O Definition Agent, and model coverage gaps to Reference Model Agent.
