68 lines
2.9 KiB
Markdown
68 lines
2.9 KiB
Markdown
---
|
|
name: fesa-reference-comparison
|
|
description: Use when running FESA solver reference CSV comparison, checking stored artifacts, schema, units, ID matching, tolerance metrics, and reference verification status.
|
|
---
|
|
|
|
# FESA Reference Comparison
|
|
|
|
Use this skill to compare generated solver outputs against stored reference artifacts without modifying either side.
|
|
|
|
## Inputs
|
|
|
|
Read these first:
|
|
|
|
- `AGENTS.md`
|
|
- `docs/SOLVER_AGENT_DESIGN.md`
|
|
- `docs/reference-verifications/README.md`
|
|
- Build/Test report with `pass-for-reference-verification`
|
|
- `docs/reference-models/<feature-id>-reference-models.md`
|
|
- `docs/io-definitions/<feature-id>-io.md`
|
|
- Generated solver result CSVs
|
|
- Stored `references/<feature-id>/<model-id>/` artifacts
|
|
|
|
## Workflow
|
|
|
|
1. Follow `ARTIFACT CHECK -> COMPARE -> CLASSIFY -> REPORT`.
|
|
2. ARTIFACT CHECK: verify `metadata.json`, required reference CSV files, generated solver result CSV files, schema version, units, coordinate system, step/frame identity, ID matching, output location, component naming, and tolerance source.
|
|
3. Stop with `needs-reference-artifacts`, `needs-solver-results`, or `needs-upstream-decision` when required comparison inputs are missing.
|
|
4. COMPARE only required quantities: `displacements.csv`, `reactions.csv`, `element_forces.csv`, `stresses.csv`, and optional `strains.csv` or `energy_or_residual.csv`.
|
|
5. Apply upstream tolerance exactly. Do not loosen or reinterpret tolerance.
|
|
6. Report max absolute error, max relative error, RMS error, norm error, worst id, worst component, missing rows, extra rows, and pass/fail.
|
|
7. CLASSIFY failures as missing-reference-artifact, missing-solver-output, schema-mismatch, id-mismatch, unit-or-coordinate-mismatch, tolerance-failure, nonfinite-result, upstream-contract, or environment.
|
|
|
|
## Output Contract
|
|
|
|
Produce or revise `docs/reference-verifications/<feature-id>-reference-verification.md` with:
|
|
|
|
- Metadata
|
|
- Artifact Inventory
|
|
- Comparison Contract
|
|
- Quantity Results
|
|
- Failure Classification
|
|
- Handoff Recommendation
|
|
- No-Change Assertion
|
|
- Open Issues
|
|
|
|
## Boundaries
|
|
|
|
- Do not edit source code.
|
|
- Do not edit tests.
|
|
- Do not edit CMake files.
|
|
- Do not change requirements, formulations, I/O contracts, reference artifacts, or tolerance policies.
|
|
- Do not change tolerance policies.
|
|
- Do not run Abaqus, Nastran, or any reference solver.
|
|
- Do not generate reference CSVs.
|
|
- Do not approve physics validation or release readiness.
|
|
|
|
## Quality Gate
|
|
|
|
- Every compared row has a deterministic matching rule.
|
|
- Missing rows and extra rows are reported, not ignored.
|
|
- Nonfinite values are reported explicitly.
|
|
- `pass-for-physics-evaluation` means reference tolerance success only.
|
|
- Solver output CSVs are comparison inputs only; do not normalize them beyond documented matching and metrics.
|
|
|
|
## Handoff
|
|
|
|
Send passing reports to Physics Evaluation Agent. Send implementation-owned mismatches to Correction Agent. Send missing artifacts to Reference Model Agent and schema conflicts to I/O Definition Agent.
|