with one click
verification-before-completion-aim
// Use when about to claim work is complete, fixed, or passing - requires running verification commands and confirming output before making any success claims
// Use when about to claim work is complete, fixed, or passing - requires running verification commands and confirming output before making any success claims
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | verification-before-completion-aim |
| description | Use when about to claim work is complete, fixed, or passing - requires running verification commands and confirming output before making any success claims |
Claiming work is complete without verification is dishonesty, not efficiency.
Core principle: Evidence before claims, always.
Violating the letter of this rule is violating the spirit of this rule.
NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
If you haven't run the verification command in this message, you cannot claim it passes.
BEFORE claiming any status:
1. IDENTIFY: What command proves this claim?
2. RUN: Execute the FULL command (fresh, complete)
3. READ: Full output, check exit code, count failures
4. VERIFY: Does output confirm the claim?
- If NO: State actual status with evidence
- If YES: State claim WITH evidence
5. ONLY THEN: Make the claim
Skip any step = lying, not verifying
| Claim | Command | Evidence Required |
|---|---|---|
| Tests pass | dx make gtest | Output: 0 failures |
| Build succeeds | dx make | Output: exit 0, no errors |
| Coverage meets 80% | dx bash -c "cd /root/ofsrc/aim && bash .claude/skills/code-reviewer-aim/scripts/measure_diff_cov.sh" | Output: >= 80% |
| Code formatted | clang-format -i <files> then dx git diff | No diff |
| Bug fixed | Failing gtest now passes | RED→GREEN verified |
전체 dx make gtest는 이 스킬에서 1회만 수행한다. 각 태스크 중간에 반복 실행하지 말 것 — 모듈 전체 재컴파일이 누적되어 전체 소요 시간의 40% 이상을 차지한다. 태스크 중간 검증은 test-driven-development-aim 가이드에 따라 해당 모듈 테스트만 실행한다.
dx tmdown -y는 make install을 별도 수행할 때만 필요하다. make/make gtest는 install을 트리거하지 않으므로 tmdown 불필요. install 시에는 실행 중 서버 바이너리가 Text file busy를 유발하므로 전체 종료(-y)를 사용한다.
미커버 라인 식별: gcov를 직접 grep/awk로 파싱하지 말 것 (메타데이터 5줄만 출력되는 재현성 있는 현상). measure_diff_cov.sh 출력 + dx git diff --unified=0 <base>..HEAD 조합으로 확인한다.
| Claim | Not Sufficient |
|---|---|
| "Tests pass" | Previous run, "should pass" |
| "Build clean" | Tests passing (tests != build) |
| "Bug fixed" | Code changed, assumed fixed |
| "Coverage OK" | "I added enough tests" without measuring |
| "Ready for MR" | Tests pass but coverage not checked |
| "이 코드가 빌드/실행된다" | Filesystem 존재(디렉토리/Makefile/소스 파일이 git에 있음)는 build graph 활성 증거 아님. SRC_DIRS 진입 경로 / .gcno·.o 산출물 / build log 진입 흔적 / report 결과 등 측정으로 확인 필요. |
| "두 모듈이 충돌한다" | MODULE 이름이 같다는 file-based 추론만으로 격상 금지. 실제 빌드 graph 진입과 lib link 결과를 측정 (사고 사례: MR !602 aimocs landmine — jxalocsi가 aim/src/ulib/Makefile SRC_DIRS에 미포함 = stranded, swap 미발현). |
| Excuse | Reality |
|---|---|
| "Should work now" | RUN the verification |
| "I'm confident" | Confidence != evidence |
| "Just this once" | No exceptions |
| "Tests passed, build must be fine" | Tests != build. Run both. |
| "I added tests, coverage is fine" | Measure it. Don't guess. |
Before claiming ANY work complete (모든 태스크 완료 후 1회):
# 1. All tests pass (전체 회귀는 여기서 1회)
dx make gtest
# 2. Production build clean
dx make
# 3. Coverage meets threshold (if new code added)
dx bash -c "cd /root/ofsrc/aim && bash .claude/skills/code-reviewer-aim/scripts/measure_diff_cov.sh"
# 4. Code formatted
# (verify no unformatted changes)
make/make gtest는 install을 트리거하지 않으므로 dx tmdown -y 선행 불필요. make install을 별도 수행하는 경우에만 install 직전에 dx tmdown -y를 적용한다.
All 3 (or 4) must pass. Partial is not complete.
No shortcuts for verification.
Run the command. Read the output. THEN claim the result.
This is non-negotiable.
Called by: