5.5 KiB
5.5 KiB
Step 24: Final Quality and Reference Gate
과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다. 현재 구현과 검증 한계는 기능 요약을 따른다.
읽어야 할 파일
/AGENTS.md../../docs/solver-core/README.md../../docs/solver-core/README.md../../docs/solver-core/README.md../../docs/cpp-object-oriented-modular-refactoring/README.md../../docs/linear-static-3d-euler-beam/README.md../../docs/linear-static-3d-euler-beam/README.md../../docs/linear-static-3d-euler-beam/README.md../../docs/linear-static-mitc4-shell/README.md../../docs/linear-static-mitc4-shell/README.md../../docs/linear-static-mitc4-shell/README.md/tests/reference/b33_reference_comparison_test.cpp/tests/reference/mitc4_reference_cases_test.cpp- all Step 0–23 summaries and changed files
/phases/cpp-object-oriented-modular-refactoring/index.json/phases/cpp-object-oriented-modular-refactoring/step24.md
작업
Requirements R-PRESERVE-001, R-STYLE-001, R-DOC-001, R-SCOPE-001 and every
traceability row를 최종 검증한다. No production behavior is added in this Step.
- Review all prior diffs against the approved design. Remove only orphaned compatibility includes, declarations or helpers created by this phase; do not clean unrelated pre-existing code.
- Verify every production/test header under
include,src,testsuses.h; every production public/protected API follows PascalCase and production Doxygen policy; tests have no imposed Doxygen boilerplate. - Run clang-format on every tracked C++ file in dry-run error mode and the selected clang-tidy C++17 public-header check. Do not run Doxygen; generation is deferred by user decision.
- Fresh configure and full MSVC x64 Debug
/W4 /WXbuild/CTest. - ARTIFACT CHECK before comparison:
- Assert exact B33 input and three CSV files exist under
/reference/cantilever beam/. - Assert exact MITC4 S4 input and displacement CSV exist under
/reference/shell/. - Snapshot/diff reference tree against baseline commit
1e5758f.
- Assert exact B33 input and three CSV files exist under
- COMPARE by running only the approved B33 and MITC4 S4 reference suites. Confirm generated:
- 과거 검증 자료(정리됨)
- 과거 검증 자료(정리됨)
- CLASSIFY missing/extra/duplicate/nonfinite/tolerance failure before reporting. B33 retains its
existing component-scale policy. MITC4 U1/U2/U3 use fixed
1.0e-5; UR1/UR2/UR3 remain warning-only. - REPORT by creating/updating:
../../docs/cpp-object-oriented-modular-refactoring/README.md../../docs/cpp-object-oriented-modular-refactoring/README.md../../docs/cpp-object-oriented-modular-refactoring/README.md
implementation-report.mdrecords each Step RED/GREEN/VERIFY command and result summary.build-test.mdrecords metadata withowner_agent: implementation-agent, environment, command/exit code/duration/output tail, test inventory, classification, no-change assertion, handoff and open issues.reference-comparison.mdrecords exact artifact inventory, generated HDF5 paths, HDF5-to-CSV identity/component projection, row prechecks, approved tolerances, per-row decisions and only contract-applicable metrics, classification and no-change assertion.
Acceptance Criteria
Style and policy:
uv run --with pytest python -m pytest -v -rs
& "C:/Program Files/LLVM/bin/clang-format.exe" --version
& "C:/Program Files/LLVM/bin/clang-tidy.exe" --version
& "C:/Program Files/LLVM/bin/clang-tidy.exe" --verify-config
$cppFiles = @(rg --files include src tests -g "*.h" -g "*.cpp")
& "C:/Program Files/LLVM/bin/clang-format.exe" --dry-run --Werror $cppFiles
$publicHeaders = @(rg --files include/fesa -g "*.h")
foreach ($publicHeader in $publicHeaders) {
& "C:/Program Files/LLVM/bin/clang-tidy.exe" --config-file=.clang-tidy `
$publicHeader -- -x c++ -std=c++17 -Iinclude
if ($LASTEXITCODE -ne 0) {
throw "clang-tidy failed for $publicHeader"
}
}
$legacyHeaders = @(rg --files include src tests -g "*.hpp")
if ($legacyHeaders.Count -ne 0) {
$legacyHeaders
throw "Legacy .hpp headers remain"
}
Fresh MSVC build and full tests:
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
ARTIFACT CHECK, COMPARE and post-check:
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
검증 및 상태 갱신
- Do not mark complete until every command and report section has observed evidence.
- Success summary names style gate, full discovered test count, both generated results, blocking comparison verdicts, reference no-change assertion and report paths.
- Implementation-owned compile/test/comparison failure is
errorwith classification and exact failed command. Missing tool or declared artifact isblockedwith exact path. - On success update only current Step to
completed; final timestamps, commit and top-level phase completion are Executor-owned.
금지사항
- Doxygen executable을 실행하거나 generated docs를 commit하지 마라. 이유: 사용자 결정으로 연기됐다.
- Reference artifact, input, CSV, tolerance or comparator contract를 변경하지 마라.
- Passing comparison만으로 release or physics readiness를 승인하지 마라.
- Failure를 숨기기 위해 clamp, missing-row ignore, average or tolerance relaxation을 추가하지 마라.
- 직접 commit하거나 hook script를 수동 실행하지 마라.