--- name: harness-review description: Use when reviewing this C++/MSVC Harness repository: local changes, generated phase files, step outputs, implementation diffs, missing tests, MSVC build readiness, or compliance with AGENTS.md, docs/ARCHITECTURE.md, docs/ADR.md, and Harness acceptance criteria. --- # Harness Review ## Overview Use this skill to review Harness work against the repository's persistent rules, architecture docs, C++/MSVC constraints, TDD guard policy, and executable verification requirements. Prioritize bugs, regressions, missing tests, and rule violations. ## Review Process 1. Read `/AGENTS.md`, `/docs/ARCHITECTURE.md`, and `/docs/ADR.md`. 2. Inspect the changed files with `git status --short` and `git diff`. 3. Check architecture, stack choices, C++ test coverage, critical rules, and MSVC/CMake readiness. 4. Run relevant verification commands when feasible. If a command cannot be run, report that as residual risk. 5. Lead with actionable findings. Keep summaries secondary. ## Checklist | Item | Question | | --- | --- | | Architecture | Does the change follow `docs/ARCHITECTURE.md` ownership boundaries? | | Stack | Does the change stay within C++/MSVC/CMake decisions documented in `docs/ADR.md`? | | Tests | Are new or changed behaviors covered by Python Harness tests or C++ tests? | | TDD Guard | Would C++ production edits be blocked without related tests? | | Critical Rules | Does the change violate any `AGENTS.md` CRITICAL rule? | | Build | Do `python -m unittest discover -s scripts -p "test_*.py"` and `python scripts/validate_workspace.py` pass or provide an expected no-CMake message? | ## Output Format If there are findings, list them first in severity order with file and line references when possible. Then include this table: | 항목 | 결과 | 비고 | | --- | --- | --- | | 아키텍처 준수 | PASS/FAIL | {상세} | | 기술 스택 준수 | PASS/FAIL | {상세} | | 테스트 존재 | PASS/FAIL | {상세} | | TDD Guard | PASS/FAIL | {상세} | | CRITICAL 규칙 | PASS/FAIL | {상세} | | 빌드/검증 가능 | PASS/FAIL | {상세} | When there are no findings, say that clearly, then mention any commands not run or remaining risk.