# task-2974 마감 재개 (finish-only) — 코드 완성됨, PR/push/report/.done만 남음

## 상황 (ANU 실측 2026-08-18 18:1x KST)
- 이전 dev2 세션이 task-2974 **코드 작업을 완료·커밋**했으나 **finish-task.sh 실행 전 세션 종료**(60분 한도 추정). PR·push·report·.done 부재.
- worktree: `/home/jay/projects/InsuRo/.worktrees/task-2974-dev2` · 브랜치 `task/task-2974-dev2` · HEAD `8e45840` · base `3a18bd2`.
- 커밋 7개(토르·헤임달): map_state 비-str 봉인 + `_unknown_rows` .get 방어 + 사유매핑 2종 + 추가갭(group_id 비-str·non-Mapping entry·`_counts()` 손상 map_state).
- 변경 3파일: engine.py(+79)·comparison_gate.py(+74)·test_gate_type_seal_task2974.py(+634).
- **ANU 실측 회귀: 79 passed** (`tests/test_gate_type_seal_task2974.py` + PR#227 `tests/test_grouping_gate_seal_task2970.py` GREEN 유지).

## 작업 (finish-only — ★코드 재작성/추가 금지)
1. worktree `8e45840` 그대로 사용. 코드 수정 금지(이미 완성·회귀 GREEN). 필요 시 rebase/충돌만.
2. **finish-task.sh 실행** → push + **신규 PR → main(3a18bd2)** 생성.
3. `git push` harness 차단 시 인가경로(봇 토큰 API).
4. `memory/reports/task-2974.md`(3갭+추가갭 봉인표·회귀 결과) + `.done` + **ANU 콜백**(collector_role=ANU, ANU_KEY).
5. **머지 HOLD** — ANU 독립검증 후 머지.

## 완료 조건
- 신규 PR(3파일) OPEN + CI PASS + report + .done + ANU 콜백.
- ⚠️ 머지 前 브랜치가 origin/main(3a18bd2) 위에 깨끗이 얹히는지(mergeable) 확인.