docs: make reference metadata optional
This commit is contained in:
@@ -24,12 +24,13 @@ Read these first:
|
||||
## Workflow
|
||||
|
||||
1. Follow `ARTIFACT CHECK -> COMPARE -> CLASSIFY -> REPORT`.
|
||||
2. ARTIFACT CHECK: verify `metadata.json`, `model.inp`, generated solver `results.h5`, `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 CSV schema version, FESA HDF5 schema version, units, coordinate system, step/frame identity, ID matching, output location, component naming, and tolerance policy.
|
||||
3. Stop with `needs-reference-artifacts`, `needs-solver-results`, or `needs-upstream-decision` when required comparison inputs are missing.
|
||||
4. COMPARE FESA HDF5 datasets by normalizing their rows and matching them directly against Abaqus reference CSV rows.
|
||||
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.
|
||||
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.
|
||||
|
||||
## Output Contract
|
||||
|
||||
|
||||
@@ -26,9 +26,9 @@ Read these first:
|
||||
2. Build a model inventory: smoke, analytical, patch test, benchmark, regression, and negative/invalid-input models.
|
||||
3. For each model, record `model_id`, purpose, verified requirements, analysis type, element type, material, boundary conditions, loads, expected quantities, tolerance, source, and status.
|
||||
4. Define `reference/<model-id>/` artifact bundle requirements.
|
||||
5. Require `model.inp`, `metadata.json`, `<model-id>_displacements.csv`, `<model-id>_reactions.csv`, `<model-id>_internalforces.csv`, `<model-id>_stresses.csv`, and `README.md` unless explicitly not applicable.
|
||||
5. Require `model.inp`, the applicable `<model-id>_displacements.csv`, `<model-id>_reactions.csv`, `<model-id>_internalforces.csv`, `<model-id>_stresses.csv`, and `README.md` unless explicitly not applicable. Treat `metadata.json` as optional.
|
||||
6. Define optional `<model-id>_strains.csv`, `<model-id>_energy_or_residual.csv`, and `<model-id>_<quantity>.csv` only when upstream acceptance criteria require them.
|
||||
7. Define metadata provenance, units, coordinate system, output requests, artifact status, reference_csv_schema_version, reference_csv_files, and limitations.
|
||||
7. Define metadata provenance, units, coordinate system, output requests, artifact status, reference_csv_schema_version, reference_csv_files, and limitations in the Reference Model Contract. If `metadata.json` exists, inventory it read-only and cross-check overlapping fields.
|
||||
8. Build a Coverage Matrix mapping requirement id, model id, compared quantity, FESA HDF5 dataset, reference CSV file, tolerance, verification method, and status.
|
||||
|
||||
## Output Contract
|
||||
@@ -41,7 +41,7 @@ Produce or revise `docs/reference-models/<feature-id>-reference-models.md` with:
|
||||
- Model Record
|
||||
- Abaqus Input Requirements
|
||||
- Artifact Bundle Contract
|
||||
- Metadata JSON Contract
|
||||
- Reference Metadata Contract and optional `metadata.json` cross-check
|
||||
- Abaqus Reference CSV Requirements
|
||||
- Coverage Matrix
|
||||
- Artifact Acceptance Checklist
|
||||
@@ -61,7 +61,8 @@ Produce or revise `docs/reference-models/<feature-id>-reference-models.md` with:
|
||||
|
||||
- Every `must` requirement maps to at least one model and compared quantity.
|
||||
- `model.inp` stays within the supported Abaqus keyword subset or records an open issue.
|
||||
- `metadata.json` includes provenance, Abaqus version/source, units, coordinate system, tolerance, reference_csv_schema_version, and reference_csv_files.
|
||||
- The Reference Model Contract includes provenance, Abaqus version/source, units, coordinate system, tolerance, reference_csv_schema_version, and reference_csv_files.
|
||||
- An absent `metadata.json` is allowed and does not change readiness. A present file is read-only supplementary evidence; any conflict with the contract or stored artifacts remains visible as an upstream issue.
|
||||
- Missing required Abaqus reference CSV files keep the model at `needs-reference-artifacts`.
|
||||
|
||||
## Handoff
|
||||
|
||||
Reference in New Issue
Block a user