# [긴급 재위임] task-2472+1 surface repair — dev2-team (오딘)

## allowed_resources

```yaml
allowed_resources:
  paths:
    - "scripts/taskctl.py"
    - "scripts/taskctl/**"
    - "utils/state_repair.py"
    - "utils/g3_fail_classifier.py"
    - "utils/silent_corruption_guard.py"
    - "tests/state_machine/**"
    - "tests/regression/test_taskctl_reconcile*.py"
    - "tests/regression/test_g3_fail_classification*.py"
    - "memory/orchestration-audit/state-recovery.jsonl"
    - ".tasks/state/task-2472.json"
    - "memory/tasks/task-2472+1*"
    - "memory/reports/task-2472+1*"
    - "memory/plans/tasks/task-2472+1/**"
    - "memory/events/task-2472+1*"
  forbidden_paths:
    - ".github/workflows/**"  # ★ STOP 사유 — 침범 절대 금지
    - "memory/events/task-2472.*"
    - "memory/events/task-2473.*"
    - "memory/events/task-2471+1.*"
    - "memory/events/task-2471.*"
    - "memory/events/task-2479.*"  # P0 surface (task-2479)
    - "memory/events/task-2480.*"
    - "memory/events/task-2481.*"
  forbidden_actions:
    - admin_override
    - branch_protection_bypass
    - force_merge
    - workflow_modification
    - p0_surface_invasion
```

## 라우팅 명시
- **target_team**: dev2-team (오딘, opus)
- **target_worktree**: /home/jay/workspace/.worktrees/task-2472+1-dev2
- **target_pr**: #42 (https://github.com/Jeon-Jonghyuk/dev_workspace/pull/42)
- **target_branch**: task/task-2472+1-dev2
- **dispatch_routing_override**: dev2-team (DO NOT REROUTE)
- **수신자 강제**: 본 task는 dev2-team 외 다른 팀이 받으면 즉시 거부 + 위임 오류 보고. 마르둑(dev5)이 거부한 이력 있음.

## 회장 STOP 명령 박제
회장 STOP 명령 원문: `/home/jay/workspace/memory/events/task-2472+1.stop.txt` (필수 정독)

## 즉시 조치 — 회장 명시 6단계 (반복 금지)

### Step 1. workflow 변경 부분만 제거
- 대상 commit: `05d9ea17` ([task-2472+1] CI regex fix: task-N+M suffix 호환)
- 대상 파일:
  - `.github/workflows/guard.yml` (4줄 변경)
  - `.github/workflows/ci.yml` (8줄 변경)
- 제거 방식: **git revert <commit_05d9ea17>** 또는 **branch reset + cherry-pick** (오딘 판단)
- force push로 PR #42 갱신
- ⚠️ 본질 commit `4c1e3fb3` ([task-2472+1] taskctl reconcile 명령 신설) 보존 필수

### Step 2. task-2472+1에는 본질 변경만 남긴다
- `utils/state_repair.py` ✅ 보존
- `utils/g3_fail_classifier.py` ✅ 보존
- `scripts/taskctl.py` reconcile 명령 ✅ 보존
- 관련 regression tests ✅ 보존
- `state-recovery audit append` 검증 ✅ 보존
- `memory/reports/task-2472+1.md` ✅ 보존 + SCQA 보강 (Step 5)

### Step 3. workflow regex fix는 별도 task로 분리
- task-2472+1에 포함하지 않음
- 회장 후속 결정 대기 (task-2479와 surface 충돌 정리 후 별도 발행)

### Step 4. 제거 후 재검증 (필수)
- regression 16건 PASS 유지 확인
- 기존 taskctl 회귀 PASS 확인
- workflow diff 0 확인:
  ```bash
  git diff origin/main..HEAD .github/workflows/
  # 결과: 빈 출력이어야 함
  ```
- allowed_resources 위반 0 확인
- P0 surface overlap 0 확인 (task-2479와 충돌 0)

### Step 5. G3 false alert (SCQA 패턴 부족) — 보고서 SCQA 보강
- task-2472+1과 동일한 false alert 패턴
- 자동 retry 의존 금지
- 보고서 `memory/reports/task-2472+1.md`에 SCQA 섹션 명시 보강
- 단, 보고서 보강은 문서 정합성 보완일 뿐. **workflow 변경 되살리는 근거 X**

### Step 6. scripts/refresh_bot_token.py 사라짐 원인 진단 (별도 incident)
- task-2472+1 worktree에서 git status / log / diff 로 삭제 여부 확인
- 삭제가 본 task diff에 포함되어 있으면 **즉시 복구**
- 삭제가 base/main 또는 타 task 영향이면 **별도 incident 보고**
- ⚠️ 이 파일 삭제/복구를 task-2472+1 본질 변경에 섞지 말고 **별도 원인 보고**로 분리
- systemd timer는 매 50분 실행 중, 다음 trigger 21:05 KST → 이 시점 전 복구 권장

## 최종 보고 필수 항목 (회장 명시)
1. workflow 변경 제거 방식 (revert vs cherry-pick vs branch reset)
2. 제거 후 남은 diff 목록
3. allowed_resources 재검증 결과
4. P0 overlap 재검증 결과
5. regression 결과 (16건 PASS 유지 검증)
6. G3 false alert 처리 결과 (SCQA 보강 evidence)
7. refresh_bot_token.py 존재 여부 및 원인 진단

## 금지 (회장 명시)
- workflow 변경 정당화 시도 금지
- workflow 변경 본질 분리 없이 강행 금지
- admin override 금지
- self-correction 가장한 추가 surface 침범 금지

## 시스템 3문서 참조 (필수)
- 시스템 청사진: `/home/jay/.claude/projects/-home-jay--cokacdir-workspace-autoset/memory/system_bot_orchestration_blueprint_260506.md`
- 거버넌스 4-Layer: `/home/jay/.claude/projects/-home-jay--cokacdir-workspace-autoset/memory/system_governance_4layer.md`
- 머지 상태 교차 검증: `/home/jay/.claude/projects/-home-jay--cokacdir-workspace-autoset/memory/feedback_merge_status_cross_verify.md`

## 위임 오류 박제 (참고)
- 2026-05-07 11:11 UTC: dispatch가 task 파일 재작성하며 dev5-team으로 잘못 라우팅
- dev5(마르둑) 정상 거부: dev2 worktree 침범 위험, force push 권한 없음, hook 룰 위반
- 본 재위임은 마르둑 거부 사유 수용 후 dev2-team 명시 라우팅으로 발행