# task-2674 — WORKTREE_PROMOTION_READINESS_PACKET (Track H)

- Level: Lv.2 (★ packet only · 실제 cp 0 · commit 0 · push 0 · PR 0 · merge 0 · main sync 0)
- 담당: **dev1 헤르메스** (★ idle 봇 · task-2668 작성자 ownership 보유 · task-2670/2671/2672/2673 충돌 0)
- 단일소스: 본 task md
- chair_authorization_id: **`CHAIR-AUTH-WORKTREE-PROMOTION-READINESS-PACKET-20260526-JJONGS-READINESS-001`** (★ ANU 권고 · 회장 verbatim 발급 권고)

## 배경

3 worktree-only 산출물 main repo promotion 준비 packet (★ 실제 promotion 보류):
- task-2665 (dev3 다그다 · shadow-mode packet 5 specs)
- task-2668 (dev1 헤르메스 · v3.1 Phase 2 packet 7 specs)
- task-2669 (dev5 마르둑 · v3.6 live signature packet 8 specs)

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

- 범위: promotion 준비 packet only
- 실제 cp / commit / push / PR / merge / main sync 금지

## 목표 6

각 산출물별로 정리:
1. **source worktree path** (★ /home/jay/workspace/.worktrees/task-NNNN-devN/)
2. **expected_files** (★ specs + report + result + done marker)
3. **sha256** (★ 각 파일 hash)
4. **overlap analysis** (★ task-2662~2673 prefix 충돌 0)
5. **promotion order** (★ 의존성 chain · 권장 순서)
6. **rollback plan** (★ promotion 후 사고 시 즉시 rollback)

## 허용 7

1. 3 worktree read-only 분석 (★ task-2665-dev3 / task-2668-dev1 / task-2669-dev5)
2. expected_files list 박제 + sha256 계산
3. overlap analysis (★ git diff origin/main + main repo specs 디렉토리 비교)
4. promotion order 설계 (★ dependency 분석)
5. rollback one-liner per 산출물
6. memory/specs/worktree_promotion_readiness_packet_260526.md 작성
7. result + report + done marker

## 금지 8 (회장 verbatim)

1. 실제 cp (★ worktree → main)
2. commit
3. push
4. PR 생성
5. merge
6. main repo sync
7. utils/** / hooks/** / dispatch.py 변경
8. live settings.json 변경

## 완료 상태

성공: **`WORKTREE_PROMOTION_READINESS_PACKET_READY`**

## 보고 필수 6

1. 3 산출물 각 source worktree path verbatim
2. 각 expected_files list + sha256
3. overlap analysis 결과 (★ 0 / >0)
4. promotion order verbatim (★ 의존성 chain)
5. rollback plan verbatim per 산출물
6. forbidden_action_count (target 0)
7. recommended next action (★ 실제 promotion 별도 chair signature 강제)

## expected_files (~3)

- `memory/specs/worktree_promotion_readiness_packet_260526.md` (★ 통합 packet)
- `memory/events/task-2674.done`
- `memory/events/task-2674.worktree-promotion-readiness-result-260526.json`
- `memory/reports/task-2674.md`

## allowed_resources

```yaml
allowed_resources:
  paths:
    - "memory/specs/worktree_promotion_readiness_*.md"
    - "memory/events/task-2674.*"
    - "memory/reports/task-2674.md"
    - "memory/tasks/task-2674.md"
    - "INDEX.md"
  read_only_reference:
    - "/home/jay/workspace/.worktrees/task-2665-dev3/**"
    - "/home/jay/workspace/.worktrees/task-2668-dev1/**"
    - "/home/jay/workspace/.worktrees/task-2669-dev5/**"
    - "memory/specs/** (★ main repo 현재 상태)"
    - "memory/events/task-2668.v3-1-phase-2-packet-ready-worktree-verified-260525.json"
    - "memory/events/anu-timeline-queue-collision-normalized-cfa86a2-260526.json"
  forbidden_paths:
    - "/home/jay/.claude/**"
    - "/usr/local/bin/cokacdir"
    - ".github/**"
    - "hooks/**"
    - "dispatch.py"
    - "dispatch/**"
    - "scripts/finish-task.sh"
    - "utils/**"
    - "tests/**"
    - "schemas/**"
    - "memory/events/task-2662*"
    - "memory/events/task-2663*"
    - "memory/events/task-2664*"
    - "memory/events/task-2665*"
    - "memory/events/task-2666*"
    - "memory/events/task-2667*"
    - "memory/events/task-2669*"
    - "memory/events/task-2670*"
    - "memory/events/task-2671*"
    - "memory/events/task-2672*"
    - "memory/events/task-2673*"
    - "**/.env*"
    - "**/credentials*"
  commands:
    - "ls"
    - "cat"
    - "stat"
    - "git status"
    - "git log"
    - "git diff"
    - "sha256sum"
    - "wc"
    - "printf"
    - "grep"
    - "find"
    - "tail"
    - "head"
    - "python3 -c"
    - "python3 -m json.tool"
    - "cokacdir --cron"
    - "cokacdir --currenttime"
    - "touch"
    - "mkdir"
  merge_policy: "promotion_readiness_packet_only_no_actual_promotion"
  ttl_hours: 48
```

## 종결

성공: **`WORKTREE_PROMOTION_READINESS_PACKET_READY`**

끝
