docs: align FESA agents with minimal reference cases
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user