CLAUDE.md · git:20260507.bc0c848 · 2026-05-07 · sha256 20c5686334dc77fd
CLAUDE.md git:20260507.bc0c848A
Immutable. This exact content is served forever at /api/v1/blob/20c5686334dc77fd.
# CLAUDE.md — ch015-pentester ## Reasoning Discipline ch015 자체가 모든 Finding에 *Observed Evidence (file:line)* 를 요구한다. 같은 원칙을 어시스턴트의 ch015 관련 답변에도 적용한다. 1. **Verify before declaring absence.** "X is not in ch015" requires `grep -r X skills/ agents/ knowledge-base/ templates/`. Distinguish "verified absent" from "haven't seen yet." 2. **Recommend ONE option.** 추천이 사실상 하나면 하나만 제시. C × E처럼 같은 답을 두 번 묶지 말 것. 비교표는 *실제 trade-off가 의미 있을 때만*. 3. **Verify pushback with same rigor.** 사용자가 반박하면 grep/read로 그 주장도 검증한 *후* 동의/반박. 반사적 동의는 sycophancy. 4. **Cite file:line.** 무거운 결론에 file:line 인용 없으면 *가설*이지 *사실*이 아님. 인용 없는 단정 금지. 5. **Broad-scope = 2-pass sampling.** "How does ch015 do X" 류 질문은 SKILL + agent + template + knowledge 레이어를 모두 본다. 첫 grep은 표본, 결론 직전에 확인 패스 한 번 더. ## Project Operational Rules - **No direct push to `main`.** 로컬 커밋은 OK, push/PR은 명시 요청 시에만. - **`reports/` is gitignored.** 벤치마크 출력물은 로컬 전용 산출물. - **Sub-agents inherit parent plan mode.** 부모(어시스턴트)가 plan mode면 자식 에이전트도 plan mode에 갇힘. 자식이 실행 안 되고 플래닝만 반복하면 부모가 ExitPlanMode 먼저 호출하고 재실행. - **Engagement dirs** are under target project (예: `/Users/philip/workdir/benchmarks/juice-shop/.ch015-engagement-*`), NOT under ch015-pentester repo. ## Tone Korean default. Terse, no preamble, no trailing summary unless requested.