docs: align FESA agents with minimal reference cases

This commit is contained in:
KOKO\Mimi
2026-08-12 03:31:08 +09:00
parent 5c08f1cf83
commit 188bf31e44
27 changed files with 438 additions and 593 deletions
@@ -1,11 +1,12 @@
---
name: fesa-reference-comparison
description: Use when comparing FESA solver HDF5 results against Abaqus reference CSV files for reference comparison, checking schema, units, ID matching, tolerance metrics, and reference verification status.
description: Use when comparing FESA results.h5 quantities against feature-declared Abaqus CSV values or diagnosing reference tolerance, identity, row-set, or nonfinite-result failures.
---
# FESA Reference Comparison
Use this skill to compare generated solver outputs against stored reference artifacts without modifying either side.
Compare generated FESA HDF5 values with only the Abaqus CSV quantities declared by the feature.
The comparison tests observable values; it does not test Abaqus implementation equivalence.
## Inputs
@@ -17,20 +18,29 @@ Read these first:
- 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 HDF5, normally `results.h5`
- Abaqus reference CSV files under `reference/<model-id>/`
- Optional deterministic solver CSV views materialized from `results.h5` for debugging or review
- Generated FESA `results.h5`
- Declared reference `.inp` and required Abaqus CSV files
## Workflow
1. Follow `ARTIFACT CHECK -> COMPARE -> CLASSIFY -> REPORT`.
2. ARTIFACT CHECK: verify `model.inp`, generated solver `results.h5`, required `reference/<model-id>/<model-id>_displacements.csv`, `reference/<model-id>/<model-id>_reactions.csv`, `reference/<model-id>/<model-id>_internalforces.csv`, `reference/<model-id>/<model-id>_stresses.csv`, Reference Model Contract provenance, reference CSV schema version, FESA HDF5 schema version, units, coordinate system, step/frame identity, ID matching, output location, component naming, and tolerance policy.
3. Treat `metadata.json` as optional: record absence as `absent-allowed`; when present, inspect it read-only and cross-check overlapping fields against the Reference Model Contract and stored artifacts. Stop on a conflict, not on absence.
4. Stop with `needs-reference-artifacts`, `needs-solver-results`, or `needs-upstream-decision` when required comparison inputs are missing.
5. COMPARE FESA HDF5 datasets by normalizing their rows and matching them directly against Abaqus reference CSV rows.
6. Apply upstream tolerance exactly. Do not loosen or reinterpret tolerance.
7. Report max absolute error, max relative error, RMS error, norm error, worst id, worst component, missing rows, extra rows, and pass/fail.
8. 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.
2. ARTIFACT CHECK: verify the declared input, `results.h5`, every required CSV, HDF5
projection, source-ID/component mapping, row prechecks, blocking/warning behavior, and tolerance.
3. Reject a missing input or required CSV as `needs-reference-artifacts`.
4. Reject a missing HDF5 result or comparison command as `needs-solver-results`.
5. Reject missing, extra, duplicate, or nonfinite required rows before tolerance evaluation.
6. COMPARE: normalize HDF5 values and match CSV values by declared source identity and component.
Never match by row order alone.
7. Apply the upstream tolerance exactly. Do not clamp values, drop rows, loosen tolerance, or
modify either artifact to obtain a pass.
8. Report per-row decisions, max absolute error, max relative error, RMS error, norm error when
required, worst source ID/component, and pass/fail or warning per quantity.
9. CLASSIFY failures as missing-reference-artifact, missing-solver-output, schema-mismatch,
id-mismatch, tolerance-failure, nonfinite-result, upstream-contract, or environment.
Do not require canonical names, README, metadata, Abaqus version/provenance, duplicated CSV
units/coordinates/step-frame fields, or a reference CSV schema version unless the feature
requirements explicitly make one of them part of comparison acceptance.
## Output Contract
@@ -47,25 +57,21 @@ Produce or revise `docs/reference-verifications/<feature-id>-reference-verificat
## 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 or modify Abaqus reference CSV files.
- Do not edit source, tests, CMake, upstream contracts, reference artifacts, or tolerances.
- Do not run Abaqus, Nastran, or another reference solver.
- Do not generate or modify reference CSV files.
- 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.
- FESA solver `results.h5` is the authoritative solver output.
- Abaqus reference CSV files are the authoritative reference result artifacts.
- FESA debug CSV views are derived from `results.h5` for review only; do not treat FESA debug CSV views as authoritative solver output or reference artifacts.
- Every declared required row has a deterministic source-ID/component match.
- Missing/extra/duplicate/nonfinite required rows remain visible and fail before tolerance.
- Warning-only quantities never change the blocking pass/fail verdict.
- `pass-for-physics-evaluation` means required reference tolerance success only.
- FESA `results.h5` remains authoritative solver output; Abaqus CSV remains external reference data.
## Handoff
Send passing reports to Physics Evaluation Agent. Send implementation-owned mismatches to Correction Agent. Send missing artifacts to Reference Model Agent and HDF5/reference CSV schema conflicts to I/O Definition Agent.
Send passing reports to Physics Evaluation Agent. Send implementation-owned mismatches to
Correction Agent, missing declared files to Reference Model Agent, and HDF5 projection or
identity-contract conflicts to I/O Definition Agent.