# task-2488 — Phase B cycle_advancer.py dry-run PoC

- 작업 유형: **Phase B 자기개선 사이클 PoC (격리)**
- 작업 레벨: **Lv.3** (설계 + 코드 PoC)
- 위임팀: **dev5-team (마르두크)** — 추천
- 우선순위: **★ medium** (병렬 발사 2)
- Track: **dev_workspace** (실험)
- 일시: 2026-05-08

## ⚠️ 본 task의 본질 — 회장 명시

> Phase B `cycle_advancer.py` dry-run PoC 작성. **production 격리, 실제 task dispatch / .done / .escalate / .fail 생성 금지**. 외부 AI 호출은 mock 또는 dry-run adapter. 산출물은 "다음 task 제안서 draft"까지만.

## 본 PoC가 풀어야 할 것

회장님이 ChatGPT랑 하시는 closed loop의 시스템화:
```
[task 결과 evidence] → [analyzer] → [root cause + 다음 task 제안] → chairman_required 또는 자동 dispatch
```

## 산출물

1. `tools/poc/cycle_advancer.py` (격리 경로)
2. `tools/poc/cycle_advancer_dry_run.py` 또는 동등 entry
3. mock fixtures (task-2485 / task-2483 / task-2472+1 evidence 입력 → 다음 task 제안서 draft 출력)
4. 산출물 path: `memory/poc/cycle_advancer/draft-{task_id}-{timestamp}.md`
5. 회귀: 동일 입력 → 동일 출력 (deterministic 검증)

## 입력 / 처리 / 출력

**입력 (read-only)**:
- task evidence (events/, reports/, capabilities/)
- goal_assertions (있다면)
- 사이클 history (audit-trail.jsonl)

**처리** (LLM 호출은 mock 또는 dry-run):
1. gap analysis (목표 vs 실제 결과)
2. root cause 후보 N개 생성
3. 마아트(facts) + 외부 AI(strategy) 비평 시뮬레이션
4. 합의/충돌 판정
5. 다음 task 제안서 draft 생성

**출력**:
- 다음 task 제안서 (yaml or md draft)
- 합의 시: `proposal_only=True, ready_for_dispatch=False`
- 미합의 시: `chairman_required=True, conflict_summary=...`

## allowed_resources

```yaml
allowed_resources:
  paths:
    - "tools/poc/cycle_advancer**/*.py"
    - "tools/poc/cycle_advancer/**/*.md"
    - "tests/poc/test_cycle_advancer*.py"
    - "memory/poc/cycle_advancer/**"
    - "memory/tasks/task-2488*"
    - "memory/reports/task-2488*"
    - "memory/plans/tasks/task-2488/**"
    - "memory/events/task-2488*"
  forbidden_paths:
    - "scripts/dispatch.py"
    - "scripts/taskctl.py"
    - "scripts/finish-task.sh"
    - "scripts/refresh_bot_token.py"
    - "utils/task_id_parser.py"
    - "utils/state_repair.py"
    - "utils/g3_fail_classifier.py"
    - "teams/**"
    - ".github/workflows/**"
    - ".secrets/**"
    - "memory/events/task-2472*"
    - "memory/events/task-2479*"
    - "memory/events/task-2481*"
    - "memory/events/task-2483*"
    - "memory/events/task-2484*"
    - "memory/events/task-2485*"
    - "memory/events/task-2486*"
    - "memory/events/task-2487*"
  forbidden_actions:
    - real_dispatch  # ★ 실제 task dispatch 금지
    - real_done_creation  # ★ 실제 .done 생성 금지
    - real_escalate_creation  # ★ 실제 .escalate 생성 금지
    - real_fail_creation
    - production_path_modification
    - external_ai_real_call_without_mock  # 외부 AI는 mock 또는 dry-run adapter
    - admin_override
```

## 합격 조건

1. ✅ tools/poc/cycle_advancer.py 작성
2. ✅ dry-run entry로 실행 가능
3. ✅ task-2485 evidence를 입력으로 받아 "task-2486 제안서 draft" 생성 (회귀 fixture)
4. ✅ deterministic 출력 (동일 입력 → 동일 출력, mock seed 고정)
5. ✅ production 경로 0 변경
6. ✅ task-timer.py 미수정
7. ✅ PR MERGED (격리 경로 한정)
8. ✅ .done 생성

## 금지

- ❌ 실제 task dispatch / .done / .escalate / .fail 생성
- ❌ scripts/, utils/, teams/, .github/ 등 production 경로 수정
- ❌ 외부 AI 실제 호출 (mock 필수)
- ❌ admin override / force merge

## 시스템 3문서 참조

- Phase B 통합 항목: `memory/orchestration/phase_b_integration_items_260507.md`
- 시스템 청사진: `/home/jay/.claude/projects/-home-jay--cokacdir-workspace-autoset/memory/system_bot_orchestration_blueprint_260506.md`
- Phase A v2 6파일: `memory/orchestration/phase_a/`

## 보고

- SCQA 4섹션
- 헤르메스/아누 통합 요약 경유, 회장 직접 장문 보고 X
- task-2486 머지 후 production 반영 여부 회장 재결정