# task-2758 non-matching thin gate — CODE MERGED closeout (260617)

상태: `TASK2758_NON_MATCHING_THIN_GATE_CODE_MERGED_WIRED_NONE_ACTIVE_FALSE_CONFIRMED` (회장 확정 2026-06-17) · ACTIVE=false · WIRED=none

## 0. matrix-live 2맥락 구분 (회장 보정)
- **PR #240 diff**: live matrix 파일(automation_capability_matrix.json) **미포함**(matrix-live 0). 코드 7파일만.
- **merge 후 운영기록**: closeout 시 ANU가 별도로 live matrix를 운영 상태로 갱신(아래 §3). PR diff 오염 아님 — merge 후 운영 반영이므로 정상. 두 맥락은 분리.

## 1. merge 결과
- **PR #240 MERGED** (squash) → main HEAD **8420a763 → f641cd58**
- ★ merge 경로: MEDIUM 10 thread resolve(회장 승인, code change 0) → mergeState BLOCKED→**CLEAN** → **표준 squash merge 성공**. **admin override 불필요**(thread resolve만으로 통과 — 진짜 차단 원인이 unresolved conversation이었음을 입증).
- open PR에 #240 없음(merge 확정)

## 2. post-merge 검증
- main에 task-2758 **7파일 반영**: dispatch/v2_13_gate.py · dispatch/control_db_guard.py · scripts/correction_budget.py · scripts/promotion_guard.py · scripts/migrate_capability_matrix_v213.py · memory/schemas/goal_contract_schema.json · tests/regression/test_v213_phase1_gate_2757.py
- raw key **0** · forbidden **0** · matrix-live(automation_capability_matrix.json) **0** · matching 재도입(detect_allowlist_axis) **0**
- CI 11/11 · phase3 GREEN · Gemini CRITICAL/HIGH 0 (merge 시점 기준)
- ACTIVE flag(p0b_driver_enabled) **OFF** · cron **0** · **ACTIVE=false**

## 3. 기록 (capability matrix 갱신 완료)
- `v2_13_non_matching_thin_gate` = **CODE_MERGED_CANDIDATE** · WIRED=**none** · ACTIVE=**none** (merged_commit f641cd58)
- `v2_13_matching_axis` = **DESIGN_REVIEW_REQUIRED** (4회차 재발, task-2759 reserved)
- MEDIUM 10 = **HYGIENE_BACKLOG** (`P0B_V213_TYPE_SAFETY_MEDIUM_HYGIENE_BACKLOG`)
- _coerce = **DESIGN_BACKLOG** (`P0B_V213_INPUT_CONTRACT_COERCE_DESIGN_BACKLOG`, 즉시 착수 금지)
- callback 봉투 혼선 = **CALLBACK_PICKUP_BACKLOG** (`P0B_CALLBACK_AUTOREG_ENVELOPE_INTERPRETATION_BACKLOG`, task-2758 scope 미혼입)

## 4. merged 코드 요약 (non-matching thin gate)
goal_contract_schema · GateVerdict enum · rollback floor(contract floor 반영) · correction budget ledger · control_db_guard · promotion_guard · capability matrix migration(로직/테스트) · build_escalation_packet · classify_gate(provenance / control_db=rs flag / promotion=rs flag / external_probe=rs flag / rollback floor / budget / Step5 goal expansion=구조화 입력 set 비교 / semantic residue / allowed). matching(detect_allowlist_axis 등) **삭제**.

## 5. 의의 / 한계
- ★ v2.13 §31 governance 산출물 중 **non-matching 부분이 main에 처음 진입**(IMPLEMENTED+VERIFIED). 단 **WIRED=none·ACTIVE=none** — 코드만 머지, gate가 실제 파이프라인에 결선/활성된 것 아님.
- matching(allowlist axis 강제판정)은 ad-hoc 텍스트 매칭 4회차 한계로 **별도 설계 과제 보류**.

## 6. 회장 진단 정정 기록
"required_conversation_resolution=None이라 unresolved MEDIUM이 mergeState를 막지 않는다"는 ANU 해석은 **오류**였음. 실제 차단 원인 = unresolved MEDIUM 10 conversation. classic protection API가 None 반환(ruleset/repo-merge-setting 기반)한 것을 잘못 결론. → thread resolve로 해소 확인.

## 7. 안전 / 다음
- canonical main f641cd58 · flag OFF · cron 0 · admin override **미사용** · repo설정/ruleset 수정 0 · ACTIVE=false.
- 후속(별도 goal_id·회장 승인): matching 설계 리뷰(task-2759) / type-safety hygiene / _coerce 설계 / callback pickup backlog / non_matching_thin_gate WIRING(현재 none).
