# task-2772 — dev봇 인지검증 레이어 통합 (build_prompt, guard-native)

## 목표 (Core 품질 투자 — Sonnet dev팀장 오판율↓)
회장 승인 `VFF_COGNITIVE_VERIFICATION_CORE_INTEGRATION_APPROVED_ACTIVE_FALSE`. ANU 설계를 코드로 구현한다.
기존 `_build_verification_section`(절차 검증=QC/게이트/Codex/sanitize)은 **무손상**, 그 뒤에 **인지 검증 블록**을 **append-only**로 추가. VFF 복붙 0 — ANU 확정 문구를 그대로 반영.

## source (확정 문구 — 그대로 반영, 재작성 0)
`/home/jay/workspace/memory/plans/vff_integration/cognitive_verification_block_draft_260623.md` 의 "## 인지 검증 (산출물을 믿기 전에 의심)" 블록(도입 1줄 + 불릿 5).
설계 맥락: `memory/plans/vff_integration/` (plan / context_notes / checklist / measurement_loop).

## 수정 허용 파일 (정확히 2개 = expected_files)
```text
prompts/team_prompts.py          # _build_verification_section return base(line~1109) 직전에 인지검증 블록 base += 추가
tests/test_team_prompts.py       # 회귀 테스트 추가 (정본 테스트, patched_build_prompt fixture 존재)
```

## 구현 지시 (최소·정확)
1. `prompts/team_prompts.py::_build_verification_section` — `return base` **직전**에 `base += (...)` 로 인지검증 블록 append. source 문구 그대로(한국어, 불릿 5). 기존 base 텍스트(QC-RULES/게이트/Codex/sanitize) **한 글자도 수정 금지**.
2. 모든 레벨(normal/critical/security) 공통 포함(레벨 분기 안에 넣지 말 것 — base 공통부).
3. `tests/test_team_prompts.py` 회귀 테스트 추가:
   - (a) build_prompt() 결과(또는 _build_verification_section)에 인지검증 블록 핵심 문구 **포함** 확인 (예: "산출물을 믿기 전에 의심" / "0byte" / "단서" anchor).
   - (b) 기존 절차 검증 문구 **보존** 확인 (예: "QC-RULES" / "게이트 지시" / Codex(Lv.3+) anchor 여전히 존재).
   - (c) 3레벨(normal/critical/security) 전부 인지검증 블록 포함.
   - (d) **프롬프트 비대화 가드**: build_prompt(dev1-team, normal) 결과 길이가 적용 전 대비 과도 증가 없음 — 인지검증 블록 추가분 ≤ 800자(약 6줄) 확인. (dispatch ≤2800자 권장·≤3900 byte 안전.)

## 필수 구현 요건 (회장)
- build_prompt 결과에 인지검증 블록 실제 포함 테스트 — 요건1
- 기존 절차 검증 문구 무훼손 테스트 — 요건2
- 프롬프트 길이/byte 비대화 안전 확인 — 요건3
- "파일 수정 후 직접 확인" 규율이 산출물 무결성(line count/non-empty/anchor) 막도록 — source 문구 2번째 불릿이 이미 반영(추가 안전: 테스트 (a)에 "0byte" anchor 포함)
- 효과 측정 루프 — 이미 ANU 작성(`measurement_loop_260623.md`), 코드 변경 불요.

## 금지
```text
VFF 전체 복붙 · output-style 채널 신설(.claude/output-styles) · P0-B/callback/runner/activation/systemd/backlog 축 수정 ·
기존 4원칙·SCQA·CRITICAL_SET 중복/충돌 확장 · _build_verification_section 기존 절차 텍스트 수정 ·
expected_files 2개 밖 수정 · dispatch.py·finish-task.sh·matrix·gate_shadow 수정 · 자동 merge · 코드 없이 "문서 완료" 선언.
```

## STOP 조건 (하나라도 → STOP_REPORT)
```text
expected_files 밖 수정 필요 · build_prompt 경로 외 구조 변경 필요 · 프롬프트 byte 증가로 dispatch 누락 위험 ·
기존 검증 섹션 훼손 · P0-B/activation/callback/runner 축으로 번짐 · 테스트 없이 완료 선언 · source 문구 재작성 필요.
```

## 검증 (완료 전 필수)
```text
pytest tests/test_team_prompts.py -q  (전체 PASS)
+ 인지검증 블록 포함/절차검증 보존/3레벨/비대화 가드 신규 테스트 PASS
+ build_prompt(dev1-team) 실제 출력에 인지검증 블록 육안 확인 1회
```

## 보고 (ANU callback envelope + report)
```text
변경 파일(expected_files 2개 일치) · 인지검증 블록 적용 diff · build_prompt 포함 검증 결과 · 회귀 테스트 결과 ·
기존 절차검증 무훼손 증거 · 프롬프트 길이 전후(비대화 안전) · merge 미승인 · ACTIVE=false 유지.
```

## allowed_resources
```yaml
allowed_resources:
  paths:
    - "prompts/team_prompts.py"
    - "tests/test_team_prompts.py"
  forbidden_paths:
    - "dispatch/**"
    - "scripts/finish-task.sh"
    - "memory/state/automation_capability_matrix.json"
    - ".claude/output-styles/**"
    - ".env*"
  commands:
    - "git"
    - "pytest"
    - "python3"
    - "gh"
  merge_policy: "manual"
  ttl_hours: 12
```