---
name: fesa-physics-sanity
description: Use when evaluating FESA solver physics and physical plausibility after a passing implementation-owned reference comparison, 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/<feature-id>/reference-comparison.md` with `pass-for-physics-evaluation`
- `docs/<feature-id>/reference-model.md`
- `docs/<feature-id>/requirements.md`
- `docs/<feature-id>/formulation.md`
- `docs/<feature-id>/numerical-review.md`
- `docs/<feature-id>/io.md`
- 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 `pass-for-physics-evaluation` in `docs/<feature-id>/reference-comparison.md`.
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/<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 passing reference-comparison evidence.
- Use `needs-upstream-decision` when physical expectations, sign convention, or model purpose is missing.
- Route a feature-required case, declared physical expectation, or model-coverage gap to Numerical Review.
- `pass-for-release-agent` means Release Agent can audit release readiness; it is not release approval.

## Handoff

Return `docs/<feature-id>/physics-evaluation.md`, status, evidence summary, and blockers to Coordinator Agent. Route `pass-for-release-agent` to Release Agent, implementation-owned failures to Correction Agent, formulation concerns to Formulation Agent, I/O ambiguity to I/O Definition Agent, and model-coverage gaps to Numerical Review Agent, always through Coordinator Agent.
