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

7.9 KiB
Raw Blame History

Step 7: verify-and-report-pressure-feature

과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다. 현재 구현과 검증 한계는 기능 요약을 따른다.

실행 범위와 상태 소유권

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.