2.8 KiB
2.8 KiB
Step 1: C++ Style Tooling
과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다. 현재 구현과 검증 한계는 기능 요약을 따른다.
읽어야 할 파일
/AGENTS.md../../docs/solver-core/README.md../../docs/solver-core/README.md../../docs/cpp-object-oriented-modular-refactoring/README.md/CMakeLists.txt/.gitignore/tests/test_agent_skill_workflow_contract.py/phases/cpp-object-oriented-modular-refactoring/index.json/phases/cpp-object-oriented-modular-refactoring/step1.md
작업
Requirements R-STYLE-001과 R-DOC-001의 repository tooling만 구현한다.
/tests/test_cpp_policy_contract.py에P-STYLE-001을 먼저 작성한다. 다음 literal contract를 검사한다..clang-format:BasedOnStyle: Google,IndentWidth: 2,ColumnLimit: 80..clang-tidy: C++17-compatible checks와 FESA PascalCase/snake_case identifier rules.Doxyfile:INPUT = include src, tests 제외,WARN_AS_ERROR = YES, generated HTML은 source control 밖의 build 경로.- Root CMake의 optional
fesa_docstarget은 Doxygen가 발견될 때만 등록되고 default configure에는 Doxygen를 요구하지 않는다.
- RED에서 설정 파일 부재로 test failure를 확인한다.
/.clang-format,/.clang-tidy,/Doxyfile을 추가한다./CMakeLists.txt에find_package(Doxygen QUIET)와 발견 시에만 등록되는fesa_docscustom target을 추가한다. Default build dependency에 넣지 않는다.- Generated Doxygen HTML 경로가 ignore되지 않았다면
/.gitignore에 정확한 output directory만 추가한다. - Doxygen executable은 실행하지 않는다. 사용자가 문서 생성을 추후 수행하기로 했다.
Acceptance Criteria
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
Expected GREEN에는 Doxygen 실행이나 generated HTML이 포함되지 않는다.
검증 및 상태 갱신
- RED policy failure와 GREEN pytest/tool version/config/full CTest를 summary에 남긴다.
- 성공 시 현재 Step만
completed로 갱신하고 생성한 설정 파일을 summary에 기록한다. - 환경에 두 LLVM executable이 없으면
blocked와 정확한 경로를 기록한다. - timestamp, retry, commit, advancement는 Executor 소유다.
금지사항
- 기존 C++를 format하지 마라. 이유: 기계적 migration은 Step 3–6 소유다.
- Doxygen를 실행하거나 generated HTML을 commit하지 마라. 이유: 사용자 결정으로 생성은 연기됐다.
- Doxygen를 default build 필수 dependency로 만들지 마라. 이유: 현재 blocking gate가 아니다.
- 직접 commit하거나 hook script를 수동 실행하지 마라.