# task-2666 — BACKLOG_SEPARATION_PACKET_TRIAGE_4_ITEMS (Track D-1)

- Level: Lv.3 (★ packet/spec only · 실 cleanup/push/PR/merge 실행 0)
- 담당: **dev8 라** (★ 회장 verbatim 지정 · Track C-1 dev3 다그다와 분리 · task-2657~2664 chain 무관)
- base: origin/main 최신 (HEAD `2752182a` · PR #148 merged)
- 단일소스 spec: 본 task md
- chair_authorization_id: **`CHAIR-AUTH-BACKLOG-SEPARATION-PACKET-20260525-JJONGS-TRIAGE-001`** (★ 회장 verbatim 발행 완료 2026-05-25)

## 배경

PR #148 merge 이후 4건의 후속 이슈가 회장 결정 대기 중. 본 task = packet/spec only triage · 실 cleanup 0.

## 회장 verbatim 결정

- scope: 4건을 실제 처리하지 말고 **분리 처리안만 작성**
- executor: dev8 라

## 처리 대상 4건 (회장 verbatim 1:1)

1. **task-2642 d4098b04** (★ CI_WATCH_HANDOFF_RUNNER · local main 잔류 unmerged commit · origin/main 미반영)
2. **task-2660 c6425611** (★ superseded by task-2661 2d6dbee0 → PR #148 merge · worktree 보존 · forensic chain anchor)
3. **PR #147** (★ SPAWN_VISIBILITY_GUARD canonical promotion Phase 1 · OPEN · 별도 결정)
4. **local main divergent** (★ /home/jay/workspace HEAD = 5a29d3ee · origin/main = 2752182a · 5 ahead 66 behind)

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

1. 실제 push
2. PR 생성
3. merge
4. cleanup 실행
5. branch 삭제
6. local main reset
7. task-2642/2660/PR147 실제 처리

## 공통 금지 추가 (회장 verbatim)

- Axis 3 RUNNING 자동 선언
- full rollout
- HARNESS_ENFORCED 전체 선언
- policy 승격
- BLOCK 정책 확대
- live settings.json 변경
- dispatch.py 변경
- task 간 파일 충돌 (★ Track A-1 / B-1 / C-1)
- auto-merge

## 완료 상태 (회장 verbatim)

- 성공: **`BACKLOG_SEPARATION_PACKET_READY`**

## 보고 필수 7

1. track id (D-1)
2. task id (task-2666)
3. expected_files
4. overlap 여부 (★ Track A-1 / B-1 / C-1과 0)
5. forbidden_action_count (target 0)
6. status (★ BACKLOG_SEPARATION_PACKET_READY)
7. recommended next action (★ 4건별 분리 처리안 요약)

## expected_files (~7 · Track D-1 전용 prefix)

- `memory/specs/backlog_separation_packet_4_items_260525.md` (★ 신규 · 통합 packet)
- `memory/specs/backlog_item_1_task_2642_d4098b04_separation_260525.md` (★ 신규)
- `memory/specs/backlog_item_2_task_2660_c6425611_cleanup_260525.md` (★ 신규)
- `memory/specs/backlog_item_3_pr_147_separation_260525.md` (★ 신규)
- `memory/specs/backlog_item_4_local_main_divergent_260525.md` (★ 신규)
- `memory/events/task-2666.done`
- `memory/events/task-2666.backlog-separation-packet-result-260525.json` (★ 7 보고 필드)
- `memory/reports/task-2666.md`

## 각 이슈별 분리 처리안 요구 사항

### Item 1: task-2642 d4098b04
- 현황: local main에만 존재 · origin/main 미반영
- packet 요구: 별도 PR 생성안 (★ 실 생성 0) / dependency 분석 / risk assessment

### Item 2: task-2660 c6425611
- 현황: superseded by PR #148 · worktree 보존
- packet 요구: worktree cleanup 시점 (★ ttl 48h 만료 후 자동 OR 수동 결정) / forensic chain 보존 anchor 확인

### Item 3: PR #147
- 현황: SPAWN_VISIBILITY_GUARD canonical promotion Phase 1 · OPEN · 6 files
- packet 요구: PR #147 merge vs 폐기 분석 / CI/Gemini 현황 / 의존 task 확인

### Item 4: local main divergent
- 현황: `/home/jay/workspace` HEAD `5a29d3ee` · origin/main `2752182a` · 5 ahead 66 behind
- packet 요구: divergent 원인 분석 / 정리 옵션 (★ git pull rebase / reset --hard origin/main / 별도 branch 보존 후 reset) / 다른 task 작업 손실 위험 평가

## allowed_resources

```yaml
allowed_resources:
  paths:
    - "memory/specs/backlog_*.md"
    - "memory/system/.callback_ledger.jsonl"
    - "memory/.callback_inbox/**"
    - "memory/tasks/task-2666.md"
    - "memory/reports/task-2666.md"
    - "memory/events/task-2666.done"
    - "memory/events/task-2666.backlog-separation-packet-result-260525.json"
    - "INDEX.md"
  read_only_reference:
    - "memory/events/pr-148-merged-callback-normal-fire-delay-remediation-p2b-merged-260525.json"
    - "memory/events/task-2658.spawn-visibility-guard-implemented-chair-verified-260525.json (★ PR #147 source)"
    - "/home/jay/workspace/.worktrees/task-2660-dev1 (★ c6425611 read-only)"
    - "/home/jay/workspace/.worktrees/task-2658-dev6 (★ PR #147 source)"
  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_*.md (★ Track C-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-2665*"
    - "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-2665*"
    - "**/.env*"
    - "**/credentials*"
  commands:
    - "python3 -m py_compile"
    - "python3 -m json.tool"
    - "python3 -c"
    - "ls"
    - "cat"
    - "stat"
    - "git status"
    - "git log"
    - "git diff"
    - "sha256sum"
    - "wc"
    - "printf"
    - "grep"
    - "find"
    - "tail"
    - "head"
    - "cokacdir --cron"
    - "cokacdir --cron-history"
    - "cokacdir --currenttime"
    - "touch"
    - "mkdir"
  merge_policy: "packet_only_no_runtime_change_no_pr"
  ttl_hours: 48
```

## frozen anchors

- ANCHOR-1: "packet/spec only · 실 cleanup/push/PR/merge 실행 0"
- ANCHOR-2: "Track A-1 / B-1 / C-1 파일 충돌 0 (★ forbidden_paths 명시)"
- ANCHOR-3: "4건 각각 분리 처리안 · 통합 처리 0"
- ANCHOR-4: "live settings.json / dispatch.py / hooks/* / Axis 1·2·3 runtime 변경 0"
- ANCHOR-5: "Axis 3 RUNNING 자동선언 0 · HARNESS_ENFORCED 전체 선언 0"
- ANCHOR-6: "task-2642/2660/PR147 실제 처리 0 (★ packet 만 · 회장 verbatim 후속 결정 강제)"

## finalize 프로토콜

1. base = origin/main (HEAD `2752182a`)
2. 별도 worktree task-2666-dev8
3. dev8 라 봇 작업 (★ packet/spec 작성 중심)
4. 5 spec packet 작성 (★ 4 items + 통합)
5. result marker (7 보고 필드)
6. ANU normal callback cron (helper · ANU key `c119085addb0f8b7` · self-key 0 · UTF-8 ≤3900 bytes · envelope only · ★ PR #148 merge 후 absolute timestamp 30s 적용)
7. .done 발행

## 회장 보고 형식 (verbatim)

성공: **`BACKLOG_SEPARATION_PACKET_READY`**

끝
