# task-2665 — V3_6_PRETOOLUSE_SHADOW_MODE_PACKET_PHASE_2 (Track C-1)

- Level: Lv.3 (★ packet/spec only · shadow-mode 활성화 plan만 · live settings.json 변경 0 · live enforcement 0 · commit/push/PR/merge 0)
- 담당: **dev3 다그다** (★ 회장 verbatim 지정 · task-2657~2664 chain 모두 다른 봇)
- base: origin/main 최신 (HEAD `2752182a` · PR #148 merged)
- 단일소스 spec: 본 task md + task-2664 결과 packet (`V3_6_PRETOOLUSE_LIVE_ENFORCEMENT_PACKET_READY` · 4 source 교차 PASS)
- chair_authorization_id: **`CHAIR-AUTH-V3-6-SHADOW-MODE-PACKET-20260525-JJONGS-PHASE-2-001`** (★ 회장 verbatim 발행 완료 2026-05-25)

## 배경

task-2664 V3_6_PRETOOLUSE_LIVE_ENFORCEMENT_PACKET_READY 확정 (★ 4 source 교차 PASS).
- final_verdict: V3_6_PRETOOLUSE_LIVE_ENFORCEMENT_PACKET_READY
- chair_authorization_id verbatim match
- safety counts all 0
- Track A-1 / B-1 / C-1 file overlap 0

회장 verbatim 결정: task-2665 Phase 2 shadow-mode packet 진행.

## 회장 verbatim 결정 (1:1)

- chair_authorization_id 발행 완료
- executor: dev3 다그다
- 전제: task-2664 PACKET_READY 4 source PASS 인정
- 범위: Phase 2 shadow-mode packet/spec only

## 허용 7 (회장 verbatim 1:1)

1. **task-2664 packet 4종 read-only 참조**
   - `memory/specs/v3_6_pretooluse_live_enforcement_packet_260525.md`
   - `memory/specs/v3_6_pretooluse_deny_rule_candidates_260525.md`
   - `memory/specs/v3_6_pretooluse_allow_contract_candidates_260525.md`
   - `memory/specs/v3_6_pretooluse_rollback_plan_260525.md`
2. **shadow-mode activation plan 작성**
3. **shadow-mode smoke plan 작성**
4. **shadow-mode rollback plan 작성**
5. **false-positive audit plan 작성**
6. result / report / done marker 작성
7. ANU normal callback 발사

## 금지 10 (회장 verbatim 1:1)

1. live settings.json 변경
2. PreToolUse full live enforcement 적용
3. BLOCK 정책 확대
4. policy 승격
5. Axis 3 RUNNING 자동 선언
6. HARNESS_ENFORCED 전체 선언
7. Axis 1/2 runtime 변경
8. dispatch.py 변경
9. commit/push/PR/merge
10. task-2662 / task-2663 / task-2664 파일 충돌

## 완료 상태 (회장 verbatim)

- 성공: **`V3_6_PRETOOLUSE_SHADOW_MODE_PACKET_READY`**

## 보고 필수 6

1. **shadow-mode activation plan summary**
2. **shadow-mode smoke plan summary**
3. **shadow-mode rollback plan summary**
4. **false-positive audit plan summary**
5. file overlap 여부 (★ task-2662 / task-2663 / task-2664 0)
6. forbidden_action_count (target 0)
7. recommended next action (★ live 적용 전 회장 verbatim 강제 anchor 박제 강조)

## expected_files (~6 · Track C-1 전용 prefix)

- `memory/specs/v3_6_pretooluse_shadow_mode_activation_plan_260525.md` (★ 신규)
- `memory/specs/v3_6_pretooluse_shadow_mode_smoke_plan_260525.md` (★ 신규)
- `memory/specs/v3_6_pretooluse_shadow_mode_rollback_plan_260525.md` (★ 신규)
- `memory/specs/v3_6_pretooluse_shadow_mode_false_positive_audit_plan_260525.md` (★ 신규)
- `memory/specs/v3_6_pretooluse_shadow_mode_packet_260525.md` (★ 신규 · 통합 packet)
- `memory/events/task-2665.done`
- `memory/events/task-2665.v3-6-pretooluse-shadow-mode-packet-result-260525.json` (★ 보고 6 필드)
- `memory/reports/task-2665.md`

## allowed_resources

```yaml
allowed_resources:
  paths:
    - "memory/specs/v3_6_pretooluse_shadow_mode_*.md"
    - "memory/system/.callback_ledger.jsonl"
    - "memory/.callback_inbox/**"
    - "memory/tasks/task-2665.md"
    - "memory/reports/task-2665.md"
    - "memory/events/task-2665.done"
    - "memory/events/task-2665.v3-6-pretooluse-shadow-mode-packet-result-260525.json"
    - "INDEX.md"
  read_only_reference:
    - "/home/jay/workspace/.worktrees/task-2664-dev4/memory/specs/v3_6_pretooluse_*.md (★ task-2664 packet 4종)"
    - "/home/jay/workspace/.worktrees/task-2664-dev4/memory/events/task-2664.v3-6-pretooluse-live-enforcement-packet-260525.json (★ final_verdict PACKET_READY 확인)"
    - "/home/jay/.cokacdir/workspace/autoset/ANU_v3_master_development_direction_final_260517_v2_5_callback_control.md (★ section 8B)"
  forbidden_paths:
    - "/home/jay/.claude/settings.json"
    - "/home/jay/.claude/hooks/**"
    - "/usr/local/bin/cokacdir"
    - ".github/**"
    - "hooks/**"
    - "dispatch.py"
    - "dispatch/**"
    - "scripts/finish-task.sh"
    - "utils/**"
    - "tests/**"
    - "schemas/**"
    - "memory/specs/v3_6_pretooluse_live_enforcement_packet_*.md (★ task-2664 파일)"
    - "memory/specs/v3_6_pretooluse_deny_rule_*.md (★ task-2664 파일)"
    - "memory/specs/v3_6_pretooluse_allow_contract_*.md (★ task-2664 파일)"
    - "memory/specs/v3_6_pretooluse_rollback_plan_*.md (★ task-2664 파일)"
    - "memory/specs/backlog_*.md (★ task-2666 Track D-1)"
    - "memory/events/task-2657*"
    - "memory/events/task-2658*"
    - "memory/events/task-2659*"
    - "memory/events/task-2660*"
    - "memory/events/task-2661*"
    - "memory/events/task-2662*"
    - "memory/events/task-2663*"
    - "memory/events/task-2664*"
    - "memory/events/task-2666*"
    - "memory/tasks/task-2641*"
    - "memory/tasks/task-2642*"
    - "memory/tasks/task-2643*"
    - "memory/tasks/task-2644*"
    - "memory/tasks/task-2645*"
    - "memory/tasks/task-2646*"
    - "memory/tasks/task-2647*"
    - "memory/tasks/task-2648*"
    - "memory/tasks/task-2649*"
    - "memory/tasks/task-2650*"
    - "memory/tasks/task-2651*"
    - "memory/tasks/task-2652*"
    - "memory/tasks/task-2653*"
    - "memory/tasks/task-2654*"
    - "memory/tasks/task-2655*"
    - "memory/tasks/task-2656*"
    - "memory/tasks/task-2657*"
    - "memory/tasks/task-2658*"
    - "memory/tasks/task-2659*"
    - "memory/tasks/task-2660*"
    - "memory/tasks/task-2661*"
    - "memory/tasks/task-2662*"
    - "memory/tasks/task-2663*"
    - "memory/tasks/task-2664*"
    - "memory/tasks/task-2666*"
    - "**/.env*"
    - "**/credentials*"
  commands:
    - "python3 -m py_compile"
    - "python3 -m json.tool"
    - "python3 -c"
    - "ls"
    - "cat"
    - "stat"
    - "git status"
    - "git log"
    - "sha256sum"
    - "wc"
    - "printf"
    - "grep"
    - "find"
    - "tail"
    - "head"
    - "cokacdir --cron"
    - "cokacdir --cron-history"
    - "cokacdir --currenttime"
    - "touch"
    - "mkdir"
  merge_policy: "packet_only_phase_2_shadow_mode_no_runtime_change_no_pr"
  ttl_hours: 48
```

## frozen anchors

- ANCHOR-1: "Phase 2 shadow-mode packet/spec only · live enforcement 적용 0 · live settings.json 변경 0"
- ANCHOR-2: "Track A-1 / B-1 / D-1 파일 충돌 0 · task-2664 packet read-only 참조"
- ANCHOR-3: "shadow-mode activation plan · smoke plan · rollback plan · false-positive audit plan 4종 필수"
- ANCHOR-4: "live 적용은 본 packet 박제 후 별도 회장 verbatim signature 강제 · 본 task는 plan only"
- ANCHOR-5: "Axis 1/2/3 runtime · dispatch.py · live settings.json · hooks/* 변경 0 · commit/push/PR/merge 0"
- ANCHOR-6: "Axis 3 RUNNING 자동 선언 0 · HARNESS_ENFORCED 전체 선언 0 · BLOCK 정책 확대 0"

## finalize 프로토콜

1. base = origin/main (HEAD `2752182a`)
2. 별도 worktree task-2665-dev3
3. dev3 다그다 봇 작업 (★ packet/spec 작성 중심)
4. 4 plan + 1 통합 packet 작성 (★ activation / smoke / rollback / false-positive audit)
5. task-2664 packet 4종 read-only 참조
6. result marker (보고 6 필드)
7. ANU normal callback cron (helper · ANU key `c119085addb0f8b7` · self-key 0 · UTF-8 ≤3900 bytes · envelope only · ★ PR #148 merge 후 absolute timestamp 30s 적용)
8. .done 발행

## 회장 보고 형식 (verbatim)

성공: **`V3_6_PRETOOLUSE_SHADOW_MODE_PACKET_READY`**

끝
