Files
FESADev/phases/shell-surface-pressure-load/step7.md
T

105 lines
7.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.