# task-2553+52 — TRACK 3: policy profile DEFAULT DISPATCH ADOPTION (회장 3-track 배치, 코드/파일 자동화)

> **Lv**: Lv.4. **goal_type**: `policy_profile_default_dispatch_adoption`. **Executor**: dev4-team 비슈누 (key 7943afbe12c12f7d) 1회 한정 — clean(+47/+48/+49 chain 비관여). **TTL**: 3h. **상태**: 회장 3-track 병렬 Track 3. write/merge/PR 없음 — dispatch planning/prompt generation/profile selection 까지. 문서-only 금지. **callback: 반드시 독립 ANU key c119085addb0f8b7(executor self key 절대 금지·+49 코드 강제 정본).**

## 1. 목표 (회장 verbatim)

policy profile engine을 기본 dispatch planning 경로에 연결한다. 기본 경로에서 **goal_type + boundary 만으로 profile 선택** 가능해야 한다.

## 2. 범위 (회장 verbatim)

실제 write/merge/PR 없음 · dispatch planning / prompt generation / profile selection 까지.

## 3. 필수 구현 (회장 verbatim 1~9)

1 default profile resolver / 2 goal_type → policy_profile mapping / 3 boundary → gate/HOLD expansion / 4 profile decision → dispatch planning adapter / 5 profile decision → batch coordinator input adapter / 6 missing/unknown profile fail-closed / 7 profile conflict fail-closed / 8 selected profile evidence JSON 생성 / 9 regression.

## 4. 필수 산출 (회장 verbatim)

resolver/adapter Python module · mapping JSON/YAML · schema · fixtures · regression tests · decision/result JSON · report MD. 문서-only 아님 — 실행 모듈+regression 필수.

## 5. expected_files allowlist (DISJOINT — Track1/2 와 0 overlap)

`anu_v3/default_profile_resolver.py` · `anu_v3/profile_dispatch_planning_adapter.py` · `anu_v3/profile_coordinator_input_adapter.py` · `memory/policy_profiles/goal_type_profile_mapping.json` · `memory/policy_profiles/<신 goal_type profile 인스턴스>.json`(task_2553_final_closeout·runtime_structure_smoke_pilot·policy_profile_default_dispatch_adoption 등 read-only/low-risk 기본형) · `schemas/goal_type_profile_mapping.schema.json` · `schemas/default_profile_resolution.schema.json` · `memory/fixtures/task-2553plus52.*` · `tests/regression/test_default_profile_resolver_2553plus52.py` · `memory/events/task-2553+52.{decision,result}.json` · `memory/events/task-2553+52.selected-profile-evidence.json` · `memory/reports/task-2553+52.md`. **policy_profile_engine.py byte-0(정본 API parse_goal_request→resolve_policy read-only consume)** · dispatch_profile_selection.py·coordinator_profile_binding.py·기존 산출물·frozen anchor 무변(additive adapter).

## 6. 금지 (회장 verbatim — D-SPEC-EXACTNESS)

production write · actual PR/merge/branch action · callback mandatory rule 약화 · self-collector guard 우회 · coordinator가 closeout/merge를 자동 확정 · 문서-only 완료.

## 7. 공통 HOLD_FOR_CHAIR (회장 verbatim)

Critical7 · Codex unresolved HIGH/CRITICAL · credential/permission expansion · expected_files overlap/충돌 · forbidden target touch · executor self-callback/collector/adjudication/dispatch · callback owner≠ANU key · authoritative verdict selector 우회 · fallback/dead-man 진행 트리거 사용 · fixed-time gate 진행 트리거 사용 · registry/checkpoint primary executor 격상 · **profile engine이 write/merge 권한 요구** · 기존 산출물 변조 필요 · 목표 달성 불가.

## 8. 핵심 (회장 verbatim)

회장이 긴 gate/HOLD/allowed/forbidden 을 다시 풀어쓰지 않아도 ANU 가 profile engine 과 runtime guard 로 자동 산출·검증·통합할 수 있게 하는 것. 본 Track 이 그 mapping/resolver 를 신설 → Track1 closeout·Track2 pilot 의 engine-자동화 enabler. missing/unknown/conflict = fail-closed(추측·날조 0).

## 9. callback (a) — 독립 ANU key 강제

완료 직후 normal completion callback cron **ANU key c119085addb0f8b7 로만 발사** → 독립 ANU collector(회수·검증·Codex·adjudication·next_action). executor self key 절대 금지. ANU fallback=ANU key·안전망 한정·진행 트리거 아님. next_action=normal-callback durable-success event(고정시각/dead-man 금지). 4-tuple+collector_role=ANU 기록.

## 10. 9-R (확정 — 본 절 본문 우선)

Codex lint = **GO_READY (HIGH/CRITICAL 0)** · expected_files Track1/2 와 DISJOINT · shared invariant 보존. engine byte-0 read-only consume(resolver/adapter=additive) · 신 goal_type profile/mapping 부트스트랩 신설(기존 profile·anchor 무변) · missing/unknown/conflict fail-closed · write/merge/PR 0(planning·selection까지). re-lint 불요. ANU key 로 1회 위임.
