# task-2647 — HARNESS_LIVE_ACTIVATION_INTEGRATION_PACKET

- Level: Lv.4 (3축 live activation plan 패킷 작성 · live 적용 0)
- 담당: 회장 결정 후 dispatch (executor 미정 · ANU 권장 dev6 페룬 또는 dev3 다그다 · task-2646 직후 다그다 / task-2644.revalidation 페룬은 영향성 분석에 적합)
- base: origin/main 최신
- 단일소스 spec: 본 task md
- 회장 결정 (2026-05-24 verbatim): task-2644+1 RUNTIME_GUARDED 인정 후속. 3축 (task-2646 + task-2644+1 + task-2643) live 적용 순서 정리.

## 결함명
`HARNESS_LIVE_ACTIVATION_PLAN_NOT_DEFINED`

## 목표 (회장 verbatim)
3축 staged implementation을 어떤 순서로 live 적용할지 정리한다.
- **task-2646 callback authority gate** (RUNTIME_GUARDED_ACCEPTED · helper 3종 코드화)
- **task-2644+1 callback collector control plane** (AUTHORITATIVE_CLEAN_REPLACEMENT · v2 hooks/utils/schemas staged)
- **task-2643 PreToolUse runtime guard** (참조 베이스 · PR #146 status)

## 범위 (회장 verbatim 7)
1. **live 적용 없음** (★ 본 task = plan 작성만)
2. activation plan
3. rollback plan
4. smoke plan
5. staged-to-live file mapping
6. risk classification
7. activation order
8. chair signature fields

## 필수 산출물 (계획 문서)
1. `memory/specs/harness_live_activation_integration_packet_260524.md` — 통합 패킷 본문 (3축 × 8 차원)
2. `memory/specs/harness_live_activation_order_260524.md` — activation order with dependency DAG
3. `memory/specs/harness_live_activation_rollback_plan_260524.md` — rollback per axis + cross-axis
4. `memory/specs/harness_live_activation_smoke_plan_260524.md` — smoke test per axis + integrated end-to-end
5. `memory/specs/harness_live_activation_staged_to_live_mapping_260524.md` — staged file → live path mapping
6. `memory/specs/harness_live_activation_risk_classification_260524.md` — risk per axis (critical / high / medium / low)
7. `memory/specs/harness_live_activation_chair_signature_template_260524.json` — chair signature fields template (서명 양식)
8. `memory/reports/task-2647.md` — 종합 보고서 (10 필드 1:1)
9. `memory/events/task-2647.done`

## 3축 정의
### 축 1: task-2646 callback authority gate
- **상태**: RUNTIME_GUARDED_ACCEPTED (회장 박제 marker `memory/events/task-2646.closeout-260524.json`)
- **staged 위치**: `task/task-2646-dev3` worktree
- **모듈**: `utils/callback_registration.py` + `utils/callback_authority_validator.py` + `utils/callback_source_cross_checker.py` + `dispatch.py` shim + `schemas/callback_authority_marker_v1.json` + `schemas/callback_state_enum_v1.json`
- **fixture/regression**: 8 fixture + 124 regression PASS

### 축 2: task-2644+1 callback collector control plane
- **상태**: AUTHORITATIVE_CLEAN_REPLACEMENT / RUNTIME_GUARDED (marker `memory/events/task-2644+1.closeout-260524.json`)
- **staged 위치**: `task/task-2644+1-dev4` worktree
- **모듈**: hooks 3 _v2 (SessionStart + Stop + UserPromptSubmit) + utils 4 _v2 (adjudicator + next_action_runner + source_attribution_guard + helper_integration) + schemas 4 _v2 + spec/template 4
- **fixture/regression**: 8 fixture + 101 new tests PASS

### 축 3: task-2643 PreToolUse runtime guard
- **상태**: PR #146 reference (마지막 회장 보고 기준 33c51992 / CI 11/11 / mergeStateStatus CLEAN)
- **staged 위치**: 본 task에서 재확인 필요 (PR #146 head sha)
- **모듈**: PreToolUse hook + runtime guard 관련 utils
- **fixture/regression**: PR #146 박제 확인 필요

## 8 차원 활동
각 축 × 8 차원 매트릭스:
| 축 | activation order | rollback | smoke | staged→live mapping | risk | chair signature | dependency |
|---|---|---|---|---|---|---|---|
| 축 1 | TBD | TBD | TBD | TBD | TBD | TBD | (없음) |
| 축 2 | TBD | TBD | TBD | TBD | TBD | TBD | 축 1 helper 의존 |
| 축 3 | TBD | TBD | TBD | TBD | TBD | TBD | 본 task가 분석 |

## activation order 후보 (예시)
- 옵션 1: 축 1 (helper · 가장 isolated) → 축 2 (control plane · 축 1 의존) → 축 3 (PreToolUse · 분석 후 결정)
- 옵션 2: 축 3 (이미 PR merge 시 baseline) → 축 1 → 축 2
- 옵션 3: 축 1 + 축 3 병렬 → 축 2 통합

## risk classification 후보
- 축 1 helper: low~medium (additive · backward-compat 가능성 검증 필요)
- 축 2 hooks: medium~high (live hook activation · settings.json 영향)
- 축 3 PreToolUse: high (runtime tool guard · 잘못 발사 시 전체 봇 차단)

## chair signature fields template 후보
- chair_authorization_id
- chair_signature_timestamp
- activation_scope (axis enum)
- activation_target_path
- rollback_triggers
- smoke_pass_criteria
- live_settings_modification_allowed (boolean · default false)
- approval_window_duration_minutes
- rollback_executor_key (별도)

## 자동 진행 허용
- spec/plan/mapping/risk 문서 작성
- 3축 staged 모듈 read-only 분석
- dependency DAG 도식화
- ANU-Codex loop 자동수렴

## 자동 진행 금지 (회장 verbatim 12 — 2026-05-24 dispatch 승인 시 추가 강화)
1. live settings.json 수정 금지
2. live cokacdir 수정 금지
3. dispatch.py 수정 금지
4. hooks/** 수정 금지
5. utils/** 수정 금지
6. schemas/** 수정 금지
7. commit / push / PR / merge 금지
8. BOT App token 사용 금지
9. chair_authorization 생성 금지
10. task-2646 HARNESS_ENFORCED 선언 금지
11. task-2644+1 live activation 금지
12. PR #141 pilot / real auto-merge / real callback enforcement 금지

## 8 완료 조건 (회장 verbatim 2026-05-24)
1. task-2647 report 생성
2. task-2647 closeout marker 생성
3. live change count = 0
4. forbidden path touch = 0
5. commit / push / PR / merge = 0 (★ commit 자체도 금지)
6. HARNESS_ENFORCED declaration = 0
7. 다음 단계가 "별도 회장 verbatim signature 필요"로 남아야 함
8. 최종 상태는 **`READY_FOR_CHAIR_SIGNATURE_PACKET`**이어야 함

## expected_files (~12 file)
- spec/plan 7 (위 §필수 산출물 1-7)
- report 1 + done 1
- INDEX 1
- fixture/regression: 별도 task 영역 (본 task = plan 만)

## finalize 프로토콜 (★ 회장 verbatim 2026-05-24 강화 · commit 자체 금지)
1. 3축 staged 모듈 read-only 분석 (수정 0)
2. 8 차원 매트릭스 채우기 (각 축 × 각 차원)
3. activation order DAG 결정 + chair signature template 작성
4. **commit / push / PR / merge 모두 금지** (★ 회장 verbatim 강화 — 로컬 commit도 금지)
5. memory/ 산출물은 working tree에 영속화 (git stage 0 · commit 0)
6. `/home/jay/workspace/memory/events/task-2647.done` 생성
7. `/home/jay/workspace/memory/reports/task-2647.md` 보고서 (8 필드 1:1)
8. closeout marker `/home/jay/workspace/memory/events/task-2647.closeout-260524.json` 생성 (final_status=`READY_FOR_CHAIR_SIGNATURE_PACKET`)
9. ANU normal callback cron (★ task-2646 helper 사용 · ANU key · 4 source cross-check · envelope ≤3900 bytes)

## 회장 보고 형식 (8 필드 verbatim 2026-05-24)
- changed_files
- forbidden_action_count
- live_change_count
- packet completeness
- activation risks
- rollback confidence
- remaining chair signature fields
- next recommended action

## frozen anchor
- ANCHOR-1: "live 적용 없음 · plan 작성만"
- ANCHOR-2: "3축 (task-2646 + task-2644+1 + task-2643) × 8 차원 매트릭스"
- ANCHOR-3: "activation order는 dependency DAG 기반"
- ANCHOR-4: "chair signature fields template만 작성 · 실 서명 0"
- ANCHOR-5: "rollback plan은 per-axis + cross-axis 둘 다"
- ANCHOR-6: "staged 모듈 read-only · 수정 0"

## allowed_resources (본 task의 capability)

```yaml
allowed_resources:
  paths:
    - "memory/specs/harness_live_activation_integration_packet_260524.md"
    - "memory/specs/harness_live_activation_order_260524.md"
    - "memory/specs/harness_live_activation_rollback_plan_260524.md"
    - "memory/specs/harness_live_activation_smoke_plan_260524.md"
    - "memory/specs/harness_live_activation_staged_to_live_mapping_260524.md"
    - "memory/specs/harness_live_activation_risk_classification_260524.md"
    - "memory/specs/harness_live_activation_chair_signature_template_260524.json"
    - "memory/tasks/task-2647.md"
    - "memory/reports/task-2647.md"
    - "memory/events/task-2647.done"
    - "INDEX.md"
  forbidden_paths:
    - "/home/jay/.claude/settings.json"
    - "/home/jay/.claude/settings.local.json"
    - "/usr/local/bin/cokacdir"
    - ".github/**"
    - "memory/events/*.cron-*"
    - "memory/tasks/task-2644*"
    - "memory/tasks/task-2645*"
    - "memory/tasks/task-2646*"
    - "memory/tasks/task-2643*"
    - "memory/tasks/task-2641*"
    - "memory/tasks/task-2642*"
    - "memory/system/.callback_ledger.jsonl"
    - "scripts/finish-task.sh"
    - "utils/**"
    - "schemas/**"
    - "hooks/**"
    - "dispatch.py"
    - "memory/specs/system_anu_callback_collector_control_plane_spec_260524.md"
    - "memory/specs/system_real_merge_executor_wiring_spec_260523.md"
    - "**/.env*"
    - "**/credentials*"
  commands:
    - "pytest"
    - "python3 -m py_compile"
    - "python3 -m json.tool"
    - "git status"
    - "git diff"
    - "git log"
    - "git checkout"
    - "git branch"
    - "git worktree"
    - "sha256sum"
    - "wc"
    - "ls"
    - "grep"
    - "find"
    - "cat"
  merge_policy: "local_only"
  ttl_hours: 96
```

끝
