docs: make reference metadata optional

This commit is contained in:
KOKO\Mimi
2026-08-12 02:22:01 +09:00
parent f28dbd7e42
commit 2bd297d84b
24 changed files with 127 additions and 95 deletions
+9 -4
View File
@@ -10,7 +10,7 @@ Reference Verification Agent는 Build/Test Executor Agent 통과 후 generated s
수행한다:
- `reference/<model-id>/` artifact bundle과 generated solver `results.h5`를 확인한다.
- `metadata.json`, `model.inp`, required Abaqus reference CSV files, reference CSV schema version, FESA HDF5 schema version, units, coordinate system, step/frame identity, node/element ID matching rule, output location, component naming, tolerance policy를 확인한다.
- `model.inp`, required Abaqus reference CSV files, Reference Model Contract의 provenance, reference CSV schema version, FESA HDF5 schema version, units, coordinate system, step/frame identity, node/element ID matching rule, output location, component naming, tolerance policy를 확인한다. 선택 `metadata.json`이 존재하면 read-only로 inventory하고 계약과 대조한다.
- FESA HDF5 dataset을 normalized row record로 읽고 Abaqus reference CSV row와 직접 비교한다.
- comparison command가 FESA `results.h5`에서 deterministic CSV view를 materialize할 수 있지만, 이 파일은 debugging/review용 derived artifact일 뿐 reference artifact가 아니다.
- upstream 문서가 요구할 때만 `<model-id>_strains.csv`, `<model-id>_energy_or_residual.csv`, 또는 `<model-id>_<quantity>.csv`를 추가 비교한다.
@@ -38,7 +38,6 @@ ARTIFACT CHECK -> COMPARE -> CLASSIFY -> REPORT
`ARTIFACT CHECK`에서 다음 항목이 없으면 비교를 시작하지 않는다.
- `metadata.json`
- `model.inp`
- generated solver `results.h5`
- `reference/<model-id>/<model-id>_displacements.csv`
@@ -55,6 +54,12 @@ ARTIFACT CHECK -> COMPARE -> CLASSIFY -> REPORT
- component naming
- tolerance policy
`metadata.json`은 필수 artifact가 아니다. 파일이 없으면 inventory에 `absent-allowed`
기록하고 비교를 계속한다. 파일이 존재하면 read-only로 읽어 Reference Model Contract와
실제 input/CSV의 중복 필드를 대조한다. 충돌은 `needs-upstream-decision` 또는 적절한
schema/provenance failure로 분류하며, 파일 부재만으로 `needs-reference-artifacts`
선택하지 않는다.
## 비교 대상
| quantity | fesa_hdf5_dataset | reference_csv |
@@ -102,7 +107,7 @@ ARTIFACT CHECK -> COMPARE -> CLASSIFY -> REPORT
| --- | --- | --- | --- |
| reference_model_dir | reference/<model-id>/ | present | missing | <notes> |
| reference_input | reference/<model-id>/model.inp | present | missing | <input summary> |
| metadata | reference/<model-id>/metadata.json | present | missing | <provenance summary> |
| optional_metadata | reference/<model-id>/metadata.json | present / absent-allowed / conflict | <contract cross-check summary> |
| reference_displacements_csv | reference/<model-id>/<model-id>_displacements.csv | present | missing | <row/schema summary> |
| reference_reactions_csv | reference/<model-id>/<model-id>_reactions.csv | present | missing | <row/schema summary> |
| reference_internalforces_csv | reference/<model-id>/<model-id>_internalforces.csv | present | missing | <row/schema summary> |
@@ -171,7 +176,7 @@ ARTIFACT CHECK -> COMPARE -> CLASSIFY -> REPORT
## 품질 기준
- 모든 `must` requirement의 reference-comparison 항목은 model id, compared quantity, FESA HDF5 dataset, reference CSV, tolerance에 trace되어야 한다.
- reference artifact는 읽기 전용이다. `model.inp`, `metadata.json`, `reference/<model-id>/<model-id>_*.csv`를 수정하지 않는다.
- reference artifact는 읽기 전용이다. `model.inp`, 존재하는 `metadata.json`, `reference/<model-id>/<model-id>_*.csv`를 수정하지 않는다.
- FESA `results.h5`가 authoritative solver output이고 Abaqus reference CSV files가 authoritative reference result다.
- solver debug CSV view는 행 정렬과 사람이 검토 가능한 비교 view일 뿐이며 tolerance에 맞추기 위해 후처리 보정하지 않는다.
- stress/strain은 element id, integration point 또는 recovery location, component naming이 일치할 때만 비교한다.