# Backlog Separation Packet — 4 Items 통합 (★ spec only · 실 cleanup/push/PR/merge 0)

- task: **task-2666** (Track D-1 · BACKLOG_SEPARATION_PACKET_TRIAGE_4_ITEMS)
- chair_authorization_id: `CHAIR-AUTH-BACKLOG-SEPARATION-PACKET-20260525-JJONGS-TRIAGE-001`
- executor: **dev8 라**
- base: `origin/main` HEAD `2752182a` (★ PR #148 merged)
- worktree: `/home/jay/workspace/.worktrees/task-2666-dev8` (branch `task/task-2666-dev8`)
- 회장 verbatim 완료 상태: **`BACKLOG_SEPARATION_PACKET_READY`**
- ttl_hours: 48

## 0. Scope Anchor (★ 회장 verbatim)

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

## 1. 4 Items 요약 표

| # | 식별자 | 현황 | 권장 처리 | 의존 | risk |
| --- | --- | --- | --- | --- | --- |
| 1 | task-2642 `d4098b04` | CI_WATCH_HANDOFF_RUNNER 정책 코드화 · 26 files / 3053+ lines 신규 · origin 미반영 · `task/task-2642-runner` branch only | 별도 PR 생성 (★ rebase / cherry-pick onto origin/main) · 회장 결정 시 | 0 (★ 독립 자산) | LOW conflict / MEDIUM branch GC |
| 2 | task-2660 `c6425611` | callback fire delay 10m→10s · **SUPERSEDED by PR #148** `2752182a` · worktree `/.worktrees/task-2660-dev1` 보존 | TTL 48h 만료 후 forensic tag 박제 + worktree prune + branch 삭제 (옵션 B) | 0 (★ supersession 흡수) | 0 (★ tag로 GC 차단 시) |
| 3 | **PR #147** SPAWN_VISIBILITY_GUARD canonical promotion | OPEN · 6 files · source `2de8118e` (`task/task-2659-dev6`) · task-2658 chair_verified 산출물 | squash merge 권장 · 회장 결정 시 (★ Gemini Pyright false positive dismiss 사유 사전 박제) | task-2657 / task-2658 / task-2659 | LOW conflict · production runtime 영향 0 |
| 4 | local main divergent | `/home/jay/workspace` HEAD `5a29d3ee` · origin `2752182a` · 5 ahead 66 behind · working tree DIRTY | 옵션 C: backup branch + stash + reset --hard origin/main + PR 매핑 분석 | task-2568 / task-2569 (★ 5 ahead chain) | task-2568/2569 commits 손실 LOW(옵션 C) ~ HIGH(옵션 B) |

## 2. 4 Items 상호 관계 매트릭스

```
              task-2642 d4098b04    task-2660 c6425611   PR #147 2de8118e   local main 5/66
task-2642     —                     parent of c6425611   미관련             미관련 (★ chain 분리)
task-2660     child of d4098b04     —                    미관련             미관련
PR #147       2de8118e가 d4098b04 위 chain (참고)         —                  미관련
local main    미포함                 미포함                미포함             —
```

★ **핵심**: 4 items가 서로 독립 정리 가능 · 한 item 처리가 다른 item 처리를 강제하지 않음.

## 3. 분리 처리 packet 파일 (★ 본 task 산출물)

- `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/specs/backlog_separation_packet_4_items_260525.md` (★ 본 파일)

## 4. 금지 7 점검 (회장 verbatim 1:1)

| # | 항목 | 본 task 수행 | 상태 |
| --- | --- | --- | --- |
| 1 | 실제 push | 0 | ✅ |
| 2 | PR 생성 | 0 | ✅ |
| 3 | merge | 0 | ✅ |
| 4 | cleanup 실행 | 0 | ✅ |
| 5 | branch 삭제 | 0 | ✅ |
| 6 | local main reset | 0 | ✅ |
| 7 | task-2642/2660/PR147 실제 처리 | 0 | ✅ |

★ **forbidden_action_count = 0**

## 5. 공통 금지 추가 점검 (회장 verbatim)

| 항목 | 본 task 수행 | 상태 |
| --- | --- | --- |
| Axis 3 RUNNING 자동 선언 | 0 | ✅ (★ task-2658 marker `axis_3_canary_status_unchanged_anchor` 유지) |
| full rollout | 0 | ✅ |
| HARNESS_ENFORCED 전체 선언 | 0 | ✅ |
| policy 승격 | 0 | ✅ |
| BLOCK 정책 확대 | 0 | ✅ |
| live settings.json 변경 | 0 | ✅ |
| dispatch.py 변경 | 0 | ✅ |
| task 간 파일 충돌 (Track A-1 / B-1 / C-1) | 0 | ✅ (★ forbidden_paths 준수) |
| auto-merge | 0 | ✅ |

## 6. Track A-1 / B-1 / C-1 파일 충돌 점검

- **Track A-1 (PR #149)**: 본 task의 산출 파일은 모두 `memory/specs/backlog_*.md` + `memory/events/task-2666.*` + `memory/reports/task-2666.md`. PR #149의 작업 path와 무관 — **충돌 0**
- **Track B-1 (Axis 3 observer chain)**: `utils/axis_3_canary_scale_aware_guard/*` 변경 0 + Axis 3 RUNNING 자동선언 0 — **충돌 0**
- **Track C-1 (v3.6 shadow-mode)**: `memory/specs/v3_6_pretooluse_*.md` 변경 0 (★ forbidden_paths 명시) + `.claude/feature_flags.json` / hooks/* 변경 0 — **충돌 0**

★ overlap 여부 = **0**

## 7. ANCHOR 6 (task md `## frozen anchors`)

| ANCHOR | 내용 | 본 task 준수 |
| --- | --- | --- |
| 1 | packet/spec only · 실 cleanup/push/PR/merge 실행 0 | ✅ |
| 2 | Track A-1 / B-1 / C-1 파일 충돌 0 | ✅ |
| 3 | 4건 각각 분리 처리안 · 통합 처리 0 | ✅ (★ 4 개별 packet + 본 통합 = 분리 박제) |
| 4 | live settings.json / dispatch.py / hooks/* / Axis 1·2·3 runtime 변경 0 | ✅ |
| 5 | Axis 3 RUNNING 자동선언 0 · HARNESS_ENFORCED 전체 선언 0 | ✅ |
| 6 | task-2642/2660/PR147 실제 처리 0 (★ packet 만) | ✅ |

## 8. Recommended Next Action 요약 (★ 회장 결정 위임 · 4건별)

| # | 항목 | 권장 다음 step | 시점 |
| --- | --- | --- | --- |
| 1 | task-2642 d4098b04 | `git diff origin/main..d4098b04 --name-only` 사전 충돌 scan → 별도 PR 생성 (★ rebase / cherry-pick) → Gemini 리뷰 → squash merge | Track B-1 / C-1 종료 후 또는 별도 회장 결정 |
| 2 | task-2660 c6425611 | `git tag forensic/task-2660-c6425611-superseded-by-pr-148-260525 c6425611 && git push origin <tag>` → worktree prune → branch 삭제 | ttl 48h 만료 (★ commit_at 기준 `2026-05-27 15:29:02 KST`) 또는 회장 결정 시점 |
| 3 | PR #147 | `gh pr checks 147` + `gh api .../reviews` 사전 점검 → Gemini Pyright false positive `[DISMISS]` 박제 → `gh pr merge 147 --squash --delete-branch` (★ auto-merge label 0) | Axis 3 canary observer chain real_t0+24h 도달 후 권장 (★ RUNNING 자동선언 강제 0 anchor 유지) |
| 4 | local main divergent | 옵션 C: backup branch + stash + `git reset --hard origin/main` + 5 commits PR 매핑 분석 + task-2569 finish-task hotfix 별도 PR | working tree dirty 정리와 함께 별도 task 분할 권장 |

## 9. Forensic Chain 박제 (★ ttl 48h 보존)

- 본 packet 통합 + 4 개별 packet (★ `memory/specs/backlog_*.md` 5 files)
- result marker: `memory/events/task-2666.backlog-separation-packet-result-260525.json` (★ 7 보고 필드)
- report: `memory/reports/task-2666.md`
- done: `memory/events/task-2666.done`
- read_only_reference: `pr-148-merged-callback-normal-fire-delay-remediation-p2b-merged-260525.json`, `task-2658.spawn-visibility-guard-implemented-chair-verified-260525.json`, `/.worktrees/task-2660-dev1`, `/.worktrees/task-2658-dev6`

## 10. 종결

회장 verbatim 완료 상태: **`BACKLOG_SEPARATION_PACKET_READY`**
