배경
Claude Code insight가 "self-healing layer" (PreToolUse hooks + SessionStart briefing + resumability 스킬 번들)를 추천했으나, 실제 devflow 이력 감사 결과 insight가 주장한 5가지 실패 모드 모두 증거 희박:
| 원안 주장 |
실측 |
| wrong-branch commits |
0건 |
| stale worktrees (직접 사고) |
0건 |
| context loss on resume |
0건 |
| tool permission errors |
2건 (일회성) |
| output token limits |
0건 |
대신 감사에서 드러난 실제 Top Friction (빈도순):
- 정합성 rework — N=13건 (최다)
- 리뷰 피드백 재반영 — N=16건 (설계 품질 문제, hook 불가)
- 게이트 UX/문구 혼동 — N=6건 (프롬프트 품질, hook 불가)
핵심 신호: 같은 이슈가 반복됨 — plugin.json hooks 필드 3회, workspace-detection 게이트 선택지 2회. 이는 체계적 체크 부재의 증거.
사용자 메모리에도 feedback_consistency_check.md, feedback_skill_impact_analysis.md로 반복 각인되어 있음.
제안 (Form A MVP)
실행 형태
scripts/consistency-check.sh (또는 Python 단일 파일)
.pre-commit-config.yaml 배선 → 사용자 최초 1회 pre-commit install, 이후 자동
- 수동 실행도 가능 (커밋 전 미리 확인용)
검사 범주 (감사 데이터 기반)
| # |
범주 |
사례 |
| 1 |
참조 그래프 |
aidlc:X 상호참조 stale (dispatching ↔ executing 등) |
| 2 |
파일 경로 |
plugin.json hooks/agents/commands의 path 실재 여부 |
| 3 |
Frontmatter 스키마 |
SKILL.md 필수 필드, description 언어 규칙 |
| 4 |
템플릿 필드 |
devflow-state Worktree/PR URL 누락 |
명시적 제외
- auto-fix 없음 — 감지만, 수정은 사용자 판단 (CLAUDE.md "승인 없이 코드 작성 금지")
- Claude Code runtime hook 아님 — git pre-commit으로 충분, 추측된 실패 모드 방어 불필요
- LLM 호출 없음 — 정적 규칙으로 커버 가능한 1~4 범주만. 의미적 검사(용어 일관성 등)는 MVP 범위 밖
- 모든 커밋 강제 아님 — 실패 시 커밋 차단하되
--no-verify escape hatch 유지 (CLAUDE.md 원칙 존중)
원안 대비 축소 근거
| 원안 요소 |
처리 |
| PreToolUse hooks (worktree/branch/output-size) |
기각 — 실측 증거 0~2건 |
| SessionStart briefing hook |
기각 — using-devflow 스킬이 이미 A/B 재개 질문 |
| resumability 스킬 |
기각 — devflow-state.md가 이미 체크포인트 |
| "last 30 sessions" 분석 |
이 이슈에서 완료 (감사 리포트 참조) |
선행/관련
- 선행:
_shared/patterns/consistency-checklist.md 존재 — linter가 이것을 "실행 가능" 형태로 승격
- BL-089 (aidlc-cost-review)와 독립
- BL-042 (Layer 2 eval)와 별개 — linter는 정적, Layer 2는 LLM 행동 검증
범위 확장 조건 (Phase 2 재검토)
MVP 운영 후 다음 신호 관측 시 Form C(LLM 하이브리드) 검토:
- 정적 1~4로 못 잡은 rework 반복 발생
- 용어 일관성(5번 범주) friction 누적 관측
- false positive율이 실제 유용성을 상회
ROI
- 비용: 2-4시간 MVP 구현
- 편익: N=13 중 1~4 범주 약 10건 × 70% 방지 가정 = 7건 방지. 커밋 전 즉시 피드백 → 컨텍스트 스위칭 감소
- 손익분기: 몇 개월 내
우선순위
P2 — 데이터 기반 최대 friction이지만 blocking 이슈 아님
배경
Claude Code insight가 "self-healing layer" (PreToolUse hooks + SessionStart briefing + resumability 스킬 번들)를 추천했으나, 실제 devflow 이력 감사 결과 insight가 주장한 5가지 실패 모드 모두 증거 희박:
대신 감사에서 드러난 실제 Top Friction (빈도순):
핵심 신호: 같은 이슈가 반복됨 — plugin.json hooks 필드 3회, workspace-detection 게이트 선택지 2회. 이는 체계적 체크 부재의 증거.
사용자 메모리에도
feedback_consistency_check.md,feedback_skill_impact_analysis.md로 반복 각인되어 있음.제안 (Form A MVP)
실행 형태
scripts/consistency-check.sh(또는 Python 단일 파일).pre-commit-config.yaml배선 → 사용자 최초 1회pre-commit install, 이후 자동검사 범주 (감사 데이터 기반)
aidlc:X상호참조 stale (dispatching ↔ executing 등)명시적 제외
--no-verifyescape hatch 유지 (CLAUDE.md 원칙 존중)원안 대비 축소 근거
using-devflow스킬이 이미 A/B 재개 질문devflow-state.md가 이미 체크포인트선행/관련
_shared/patterns/consistency-checklist.md존재 — linter가 이것을 "실행 가능" 형태로 승격범위 확장 조건 (Phase 2 재검토)
MVP 운영 후 다음 신호 관측 시 Form C(LLM 하이브리드) 검토:
ROI
우선순위
P2 — 데이터 기반 최대 friction이지만 blocking 이슈 아님