105 lines
7.9 KiB
Markdown
105 lines
7.9 KiB
Markdown
# Step 7: verify-and-report-pressure-feature
|
||
|
||
> 과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다.
|
||
> 현재 구현과 검증 한계는 [기능 요약](../../docs/shell-surface-pressure-load/README.md)을 따른다.
|
||
|
||
## 실행 범위와 상태 소유권
|
||
|
||
This final Implementation-owned Step inspects all prior artifacts, performs fresh targeted MSVC/focused CTest and exact pressure-reference gates, and completes the three Gate 6 evidence documents. Code changes are not the default scope. The required sequence is literally `ARTIFACT CHECK -> COMPARE -> CLASSIFY -> REPORT` after agent-owned focused gates; automatic Stop owns exactly one whole-project full verification.
|
||
|
||
Implementation Agent may update only Step 7's `status` and one-line `summary`/`error_message`/`blocked_reason`. Executor owns branch, retry, timestamps, commits, advancement, top-level phase completion and output JSON. This Step does not approve physics Gate 7 or release readiness.
|
||
|
||
## 읽어야 할 파일
|
||
|
||
- `AGENTS.md`
|
||
- `../../docs/solver-core/README.md`
|
||
- `../../docs/solver-core/README.md`
|
||
- `../../docs/solver-core/README.md`
|
||
- `../../docs/solver-core/README.md`
|
||
- `../../docs/solver-core/README.md`
|
||
- `../../docs/solver-core/README.md`
|
||
- `.codex/hooks.json`
|
||
- 과거 검증 자료(정리됨) if it exists at execution time
|
||
- `CMakeLists.txt`, `src/fesa/CMakeLists.txt`, `tests/CMakeLists.txt`
|
||
- Every `../../docs/shell-surface-pressure-load/README.md` upstream and approved plan
|
||
- `phases/shell-surface-pressure-load/index.json`
|
||
- All production/test files created or modified in Steps 1–6
|
||
- `tests/reference/shell_surface_pressure_reference_test.cpp`
|
||
- `tests/reference/nonlinear_static_reference_comparison.h/.cpp`
|
||
- Exact read-only artifacts listed in Step 6 and `reference-model.md`
|
||
|
||
Read all prior Step summaries and changed files. Verify that every production change has a first-failing test record and that source/interface names remain consistent with the approved plan.
|
||
|
||
## 소유 파일
|
||
|
||
- Create/complete: `../../docs/shell-surface-pressure-load/README.md`
|
||
- Create/complete: `../../docs/shell-surface-pressure-load/README.md`
|
||
- Create/complete: `../../docs/shell-surface-pressure-load/README.md`
|
||
|
||
Production, tests, CMake and phase files are read-only in this Step except Step 7's selected status/payload. If verification exposes an implementation defect, classify and return it to Coordinator/the owning earlier Step; do not silently repair it here.
|
||
|
||
## RED evidence preflight
|
||
|
||
First prove the three reports are absent/incomplete or contain no fresh final passing evidence. This expected evidence-state failure is Step 7 RED. Then inspect prior reports/summaries for recorded test-first RED commands and expected failures. If any source/test/CMake change lacks RED evidence, classify `evidence-gap` and stop; do not fabricate history.
|
||
|
||
Record the preflight result before running final gates.
|
||
|
||
## Fresh MSVC x64 Debug gates
|
||
|
||
If 과거 검증 자료(정리됨) exists, it takes precedence and the reports must record its exact resolved configure/build/test commands. Otherwise run exactly:
|
||
|
||
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
|
||
|
||
Acceptance requires every agent-owned exit `0`, nonzero discovered tests including every named feature suite, focused CTest pass, no new `/W4 /WX` warning, correct MSVC/x64/Debug selection and successful MKL/TBB/HDF5 runtime staging. Record these results, complete the reports and selected Step status/summary, then end the agent turn. Do not run a targetless whole-project build or unfiltered full CTest: automatic Stop runs exactly one whole-project MSVC x64 Debug build/unfiltered CTest and its result is authoritative Harness evidence. No Harness/Python files are in scope, so do not run Python tests unless separately authorized Harness/Python changes actually occurred; then record `uv run --with pytest python -m pytest -v -rs` and why.
|
||
|
||
## ARTIFACT CHECK -> COMPARE -> CLASSIFY -> REPORT
|
||
|
||
### ARTIFACT CHECK
|
||
|
||
Before running the pressure case, record path, SHA-256, bytes and timestamp for:
|
||
|
||
- required input `reference/shellNL-meshfine-pressure/shellNL-meshfine-pressure.inp`: 56,665 bytes, `53718ccc9b41c23fcc1b509a51d66f1347e87aca43a74f1d6cec4d2085f4b90e`;
|
||
- required displacement CSV: 111,182 bytes, `2fe53f98eac9f04779100721c3edf8049eb1dbfe733ebcbd819aeeed03b81198`;
|
||
- reaction CSV as review-only inventory;
|
||
- stress CSV as excluded inventory.
|
||
|
||
Confirm source history/commands do not invoke Abaqus. Copy only the exact input to 과거 검증 자료(정리됨).
|
||
|
||
### COMPARE
|
||
|
||
Run FESA only on the copied input and locate generated schema-1 `<stem>_results.h5` and log. Use `ShellSurfacePressureReference` comparison to select exact Step-1 unique factor-one accepted frame and project `/model/nodes` plus nodal displacements by `(Part-1-1, source node label, component)`. Require 729 wide CSV rows, 2,187 U logical rows and 2,187 UR logical rows. Reject missing/extra/duplicate/nonfinite/schema/frame/identity errors before unchanged common tolerance.
|
||
|
||
### CLASSIFY
|
||
|
||
- Blocking fail: any precheck, U1/U2/U3 tolerance, required internal free-residual/global-equilibrium or artifact immutability failure.
|
||
- Warning-only: UR1/UR2/UR3 deviations when all blocking gates pass.
|
||
- Review-only/excluded: reaction/stress cannot change the verdict.
|
||
- Classify failures as `implementation | test | configure | compile | link | reference-comparison | infrastructure | environment | artifact | regression | evidence-gap | upstream-contract`.
|
||
|
||
Any nonzero command, zero tests, new warning, runtime staging failure, artifact mutation, cardinality mismatch or U/internal blocking failure leaves Step non-completed. Retain evidence and return to Coordinator; do not adjust tolerance or artifacts.
|
||
|
||
### REPORT
|
||
|
||
Write complete Korean Markdown reports:
|
||
|
||
- `implementation-report.md`: metadata, task order, RED/GREEN/VERIFY evidence per Step, exact changed files/interfaces, 24-requirement coverage, implementation acceptance, limitations and handoff.
|
||
- `build-test.md`: `owner_agent: implementation-agent`, environment/toolchain/config selection, each agent-owned command, exit, duration, stdout/stderr tail, test discovery/count/results, warning/runtime inventory, automatic Stop whole-project command ownership/evidence disposition, failure classification, no-change assertion and open issues.
|
||
- `reference-comparison.md`: exact artifact inventory and pre/post snapshots, generated HDF5/log, schema/frame projection, source identity/component matching, row prechecks, unchanged tolerance, per-family/per-row decisions, maximum absolute/relative applicable error, RMS and other contract-applicable metrics, U/UR disposition, internal gates, deterministic classification, no-change assertion and open issues.
|
||
|
||
Do not claim release readiness. A passing Gate 6 report recommends only `pass-for-physics-evaluation` through Coordinator.
|
||
|
||
## Final Acceptance Criteria
|
||
|
||
- All 24 `FESA-REQ-SHELL-PRESSURE-001`–`024` map to at least one implemented task and passing test/evidence; orphan count zero.
|
||
- Fresh targeted MSVC x64 Debug build, focused suite and nonzero discovery pass with zero new warnings; automatic Stop's exactly one whole-project MSVC x64 Debug build/unfiltered CTest passes.
|
||
- Exact artifacts remain byte-for-byte unchanged after FESA-only run.
|
||
- Schema 0/1 contracts and no-pressure regressions pass; no pressure dataset/schema/version/CLI expansion.
|
||
- Pressure reference U blocking passes, UR remains warning-only, reaction review-only, stress excluded; internal equilibrium passes.
|
||
- Reports contain commands, exits, durations, tails and classification; no fabricated RED evidence.
|
||
- Automatic Stop whole-project validation succeeds. Do not run hook entry points manually.
|
||
|
||
## 금지사항
|
||
|
||
- Do not fix source/tests/CMake silently, generate reference data, run Abaqus, alter tolerance, upstream docs or artifact bytes.
|
||
- Do not select another Step. 이유: this is the final Executor-selected implementation evidence Step only.
|