modify docu

This commit is contained in:
김경종
2026-06-11 17:18:03 +09:00
parent c4f8f95d4b
commit 742f311be1
66 changed files with 3354 additions and 375 deletions
+1 -1
View File
@@ -65,7 +65,7 @@ ctest --test-dir build/msvc-debug --output-on-failure -C Debug
- Do not change reference artifacts.
- Do not change tolerance policies.
- Do not run Abaqus, Nastran, or any reference solver.
- Do not generate reference CSVs.
- Do not generate reference HDF5 files or deterministic CSV views.
- Do not approve release readiness.
## Quality Gate
+1 -1
View File
@@ -54,7 +54,7 @@ Produce or revise `docs/formulations/<feature-id>-formulation.md` with:
- Do not design C++ APIs.
- Do not implement parsers.
- Do not run Abaqus, Nastran, or any reference solver.
- Do not generate reference CSVs.
- Do not generate reference HDF5 files or deterministic CSV views.
- Do not approve release readiness.
## Quality Gate
+11 -8
View File
@@ -1,6 +1,6 @@
---
name: fesa-io-contract
description: Use when defining FESA solver I/O contracts, Abaqus .inp keyword subsets, internal model mapping, validation rules, and CSV schemas for solver outputs or reference comparison.
description: Use when defining FESA solver I/O contracts, Abaqus .inp keyword subsets, internal model mapping, validation rules, HDF5 result schemas, and deterministic CSV view schemas for reference comparison.
---
# FESA I/O Contract
@@ -25,9 +25,10 @@ Read these first:
3. Separate Model Data Mapping from History Data Mapping.
4. Define supported keywords such as `*NODE`, `*ELEMENT`, `*MATERIAL`, `*ELASTIC`, `*BOUNDARY`, `*CLOAD`, `*STEP`, `*OUTPUT`, `*NODE OUTPUT`, and `*ELEMENT OUTPUT` only when required.
5. Define Internal Model Contract at a semantic level without C++ APIs.
6. Define Output and CSV Schemas for `displacements.csv`, `reactions.csv`, `element_forces.csv`, `stresses.csv`, and optional result files.
7. Define units, coordinate system, component naming, output location, step/frame identity, and ID matching rules.
8. Define validation rules and open issues.
6. Define Output HDF5 Schema for authoritative solver output `results.h5`.
7. Define Deterministic CSV View Schemas for `csv/displacements.csv`, `csv/reactions.csv`, `csv/element_forces.csv`, `csv/stresses.csv`, and optional view files.
8. Define units, coordinate system, component naming, output location, step/frame identity, and ID matching rules.
9. Define validation rules and open issues.
## Output Contract
@@ -38,7 +39,8 @@ Produce or revise `docs/io-definitions/<feature-id>-io.md` with:
- Model Data Mapping
- History Data Mapping
- Internal Model Contract
- Output and CSV Schemas
- Output HDF5 Schema
- Deterministic CSV View Schemas
- Validation Rules
- Downstream Handoff
@@ -48,16 +50,17 @@ Produce or revise `docs/io-definitions/<feature-id>-io.md` with:
- Do not design C++ APIs.
- Do not claim full Abaqus compatibility.
- Do not run Abaqus, Nastran, or any reference solver.
- Do not generate reference CSVs.
- Do not generate reference HDF5 files or deterministic CSV views.
- Do not approve release readiness.
## Quality Gate
- Every supported keyword has a documented purpose, required data, and unsupported-case behavior.
- CSV schemas carry units, coordinate system, component naming, output location, and ID matching rules.
- HDF5 schema is the authoritative solver output contract and must carry schema version, step/frame identity, units, coordinate system, output location, and component naming.
- Deterministic CSV view schemas are comparison views derived from HDF5 datasets and must define stable row ordering, ID fields, and component ordering.
- Unsupported Abaqus input is explicit: unsupported, ignored-with-warning, or requires user decision.
- The I/O contract is compatible with requirements, formulation, and reference comparison needs.
## Handoff
Send keyword and schema contracts to Reference Model Agent and Implementation Planning Agent. Send comparison schema, ID matching, and tolerance-source constraints to Reference Verification Agent.
Send keyword and schema contracts to Reference Model Agent and Implementation Planning Agent. Send HDF5 dataset paths, deterministic CSV view schemas, ID matching, and tolerance-source constraints to Reference Verification Agent.
@@ -1,4 +1,4 @@
interface:
display_name: "FESA I/O Contract"
short_description: "Define solver I/O contracts"
default_prompt: "Use $fesa-io-contract to define Abaqus input and result CSV contracts."
default_prompt: "Use $fesa-io-contract to define Abaqus input, HDF5 result, and deterministic CSV view contracts."
+1 -1
View File
@@ -48,7 +48,7 @@ Produce or revise `docs/numerical-reviews/<feature-id>-review.md` with:
- Do not edit formulations directly.
- Do not design C++ APIs or file ownership.
- Do not run Abaqus, Nastran, or any reference solver.
- Do not generate reference CSVs.
- Do not generate reference HDF5 files or deterministic CSV views.
- Do not approve release readiness.
- Do not decide reference comparison success.
+2 -2
View File
@@ -17,7 +17,7 @@ Read these first:
- Reference Verification report with `pass-for-physics-evaluation`
- `docs/reference-models/<feature-id>-reference-models.md`
- Requirements, formulation, numerical review, and I/O definition documents
- Stored solver and reference CSVs as read-only evidence
- Stored solver/reference HDF5 files and deterministic CSV views as read-only evidence
## Workflow
@@ -52,7 +52,7 @@ Produce or revise `docs/physics-evaluations/<feature-id>-physics-evaluation.md`
- Do not edit CMake files.
- Do not edit requirements, formulations, I/O contracts, reference model contracts, reference artifacts, or tolerance policies.
- Do not run Abaqus, Nastran, or any reference solver.
- Do not generate reference CSVs.
- Do not generate reference HDF5 files or deterministic CSV views.
- Do not approve release readiness.
- Do not approve reference tolerance success.
@@ -1,6 +1,6 @@
---
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.
description: Use when running FESA solver HDF5 reference comparison with deterministic CSV view checks, checking stored artifacts, schema, units, ID matching, tolerance metrics, and reference verification status.
---
# FESA Reference Comparison
@@ -17,15 +17,16 @@ 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 CSVs
- Generated solver result HDF5, normally `results.h5`
- Deterministic solver CSV views when a comparison command materializes them
- 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.
2. ARTIFACT CHECK: verify `metadata.json`, required `reference.h5`, generated solver `results.h5`, deterministic CSV view 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`.
4. COMPARE authoritative HDF5 datasets first, using deterministic CSV view files such as `csv/displacements.csv`, `csv/reactions.csv`, `csv/element_forces.csv`, `csv/stresses.csv`, and optional `csv/strains.csv` or `csv/energy_or_residual.csv` only as stable review/comparison views.
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.
@@ -51,7 +52,7 @@ Produce or revise `docs/reference-verifications/<feature-id>-reference-verificat
- 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 generate reference HDF5 files or deterministic CSV views.
- Do not approve physics validation or release readiness.
## Quality Gate
@@ -60,8 +61,9 @@ Produce or revise `docs/reference-verifications/<feature-id>-reference-verificat
- 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.
- Solver `results.h5` and `reference.h5` are authoritative comparison inputs.
- Deterministic CSV view files are derived views 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.
Send passing reports to Physics Evaluation Agent. Send implementation-owned mismatches to Correction Agent. Send missing artifacts to Reference Model Agent and HDF5/CSV view schema conflicts to I/O Definition Agent.
@@ -1,4 +1,4 @@
interface:
display_name: "FESA Reference Comparison"
short_description: "Compare solver CSV results"
default_prompt: "Use $fesa-reference-comparison to compare FESA solver CSVs against reference CSVs."
short_description: "Compare HDF5 results"
default_prompt: "Use $fesa-reference-comparison to compare FESA solver results.h5 against reference.h5 and deterministic CSV views."
+11 -10
View File
@@ -1,6 +1,6 @@
---
name: fesa-reference-models
description: Use when designing FESA reference model portfolios, Abaqus input artifact bundles, metadata provenance, required reference CSV artifacts, coverage matrices, and implementation-planning handoffs.
description: Use when designing FESA reference model portfolios, Abaqus input artifact bundles, metadata provenance, required reference HDF5 artifacts, deterministic CSV views, coverage matrices, and implementation-planning handoffs.
---
# FESA Reference Models
@@ -26,10 +26,11 @@ 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 `references/<feature-id>/<model-id>/` artifact bundle requirements.
5. Require `model.inp`, `metadata.json`, `displacements.csv`, `reactions.csv`, `element_forces.csv`, `stresses.csv`, and `README.md` unless explicitly not applicable.
6. Define optional `strains.csv` and `energy_or_residual.csv` only when upstream acceptance criteria require them.
7. Define metadata provenance, units, coordinate system, output requests, artifact status, and limitations.
8. Build a Coverage Matrix mapping requirement id, model id, compared quantity, artifact file, tolerance, verification method, and status.
5. Require `model.inp`, `metadata.json`, `reference.h5`, deterministic CSV views under `csv/`, and `README.md` unless explicitly not applicable.
6. Define required CSV views `csv/displacements.csv`, `csv/reactions.csv`, `csv/element_forces.csv`, and `csv/stresses.csv` only as deterministic views of `reference.h5`.
7. Define optional `csv/strains.csv` and `csv/energy_or_residual.csv` only when upstream acceptance criteria require them.
8. Define metadata provenance, units, coordinate system, output requests, artifact status, and limitations.
9. Build a Coverage Matrix mapping requirement id, model id, compared quantity, authoritative HDF5 dataset, CSV view file, tolerance, verification method, and status.
## Output Contract
@@ -42,7 +43,7 @@ Produce or revise `docs/reference-models/<feature-id>-reference-models.md` with:
- Abaqus Input Requirements
- Artifact Bundle Contract
- Metadata JSON Contract
- Reference CSV Requirements
- Reference HDF5 and CSV View Requirements
- Coverage Matrix
- Artifact Acceptance Checklist
- Open Issues and Downstream Handoff
@@ -53,7 +54,7 @@ Produce or revise `docs/reference-models/<feature-id>-reference-models.md` with:
- Do not implement parsers.
- Do not design C++ APIs or file ownership.
- Do not run Abaqus, Nastran, or any reference solver.
- Do not generate reference CSVs.
- Do not generate reference HDF5 files or deterministic CSV views.
- Do not compare solver results.
- Do not approve release readiness.
@@ -61,9 +62,9 @@ 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, and CSV schema version.
- Missing required CSVs keep the model at `needs-reference-artifacts`.
- `metadata.json` includes provenance, Abaqus version/source, units, coordinate system, tolerance, HDF5 schema version, and CSV view schema version.
- Missing `reference.h5` or required deterministic CSV views keep the model at `needs-reference-artifacts`.
## Handoff
Send model order and tests that should fail first to Implementation Planning Agent. Send schema, matching, output location, and tolerance mapping to Reference Verification Agent. Send physical expectations to Physics Evaluation Agent.
Send model order and tests that should fail first to Implementation Planning Agent. Send HDF5 dataset paths, deterministic CSV view schemas, matching, output location, and tolerance mapping to Reference Verification Agent. Send physical expectations to Physics Evaluation Agent.
@@ -50,7 +50,7 @@ Produce or revise `docs/releases/<feature-id>-release.md` with:
- Do not implement code.
- Do not edit source code, tests, CMake files, requirements, formulations, I/O contracts, reference artifacts, or tolerance policies.
- Do not run Abaqus, Nastran, or any reference solver.
- Do not generate reference CSVs.
- Do not generate reference HDF5 files or deterministic CSV views.
- Do not override failed or missing gates.
- Do not publish, deploy, package, tag, commit, or externally release anything unless the user explicitly asks.
@@ -47,7 +47,7 @@ Produce or revise `docs/requirements/<feature-id>.md` with:
- Do not write finite element formulations.
- Do not design C++ APIs or file ownership.
- Do not run Abaqus, Nastran, or any reference solver.
- Do not generate reference CSVs.
- Do not generate reference HDF5 files or deterministic CSV views.
- Do not approve release readiness.
## Quality Gate
@@ -46,7 +46,7 @@ Produce or revise `docs/research/<feature-id>-research.md` with:
- Do not finalize FEM formulations.
- Do not design C++ APIs or file ownership.
- Do not run Abaqus, Nastran, or any reference solver.
- Do not generate reference CSVs.
- Do not generate reference HDF5 files or deterministic CSV views.
- Do not approve release readiness.
## Quality Gate
+5 -4
View File
@@ -50,9 +50,9 @@ Create `phases/{task-name}/index.json`:
"project": "FESA Harness",
"phase": "<task-name>",
"steps": [
{ "step": 0, "name": "project-setup", "status": "pending" },
{ "step": 1, "name": "core-types", "status": "pending" },
{ "step": 2, "name": "validation-path", "status": "pending" }
{ "step": 0, "name": "project-setup", "status": "pending", "allowed_paths": ["CMakeLists.txt", "tests/"] },
{ "step": 1, "name": "core-types", "status": "pending", "allowed_paths": ["src/fesa/core/", "tests/unit/"] },
{ "step": 2, "name": "validation-path", "status": "pending", "allowed_paths": ["scripts/", "docs/"] }
]
}
```
@@ -63,6 +63,7 @@ Rules:
- `phase` matches the task directory name.
- `steps[].step` starts at `0`.
- Initial status is always `pending`.
- Each step must declare non-empty `allowed_paths` using repository-relative paths, directory prefixes, or glob patterns.
- Do not add timestamps when creating files. `scripts/execute.py` records `created_at`, `started_at`, `completed_at`, `failed_at`, and `blocked_at`.
## Step Template
@@ -124,6 +125,6 @@ python scripts/execute.py {task-name}
python scripts/execute.py {task-name} --push
```
`scripts/execute.py` creates or checks out `feat-{task-name}`, injects `AGENTS.md` and `docs/*.md` into each prompt, carries completed step summaries forward, retries failed steps up to three times, separates code and metadata commits, and records timestamps.
`scripts/execute.py` creates or checks out `codex/{task-name}`, refuses dirty worktrees, requires per-step `allowed_paths`, stages only explicit allowed paths and runner housekeeping files, validates before every runner-created commit, injects `AGENTS.md` and `docs/*.md` into each prompt, carries completed step summaries forward, retries failed steps up to three times, and records timestamps.
If a step is `error`, set it back to `pending` and remove `error_message` after fixing the cause. If a step is `blocked`, resolve `blocked_reason`, set it back to `pending`, remove `blocked_reason`, and rerun.