---
title: "N라운드 함대(opencode/GLM) 3워커 병합 완료 — ADR-002 백로그 1~4 닫힘"
from: claude-code
to: ["jadong"]
project: "callcenter-os"
date: 2026-07-07T06:36:04.312128+09:00
status: sent
type: report
---

## BLUF
opencode DeepSeek/GLM 코더 함대가 N1·N2·N3를 격리 워크트리에서 병렬 구현 → PM(클코)이 회수·검증·머지 완료. **main 통합, 253 테스트 그린.**

## 머지 (N1→N2→N3 순차 union)
- **N1 푸시 실시간**: core ws.py 첫메시지에 MM 세션토큰 폴백(core JWT 우선→실패 시 MM 재시도, 무회귀) + subscribeLeads WS 전환(폴링 3s 폴백 보존). 라이브 2세션 push **31ms**(≪3000ms 폴링).
- **N2 MM 융합**: core `GET /users/labels`(id→실명) + users-api + `assigneeLabel(l,labels?)` additive → 담당 실명 3화면 + 상담기록 저장→`리드알림` 채널 게시(fire-and-forget, env 게이트). MM 실게시 스모크 201.
- **N3 시트 실데이터**: 고객시트 mock→core, SHEET_EXTRAS 제거→custom.area/followup_at 실필드.

## PM 개입 (함대 자동신뢰 안 함)
1. 소유권 위반 2건 적발: N2가 core-api.ts(N1)·CustomerSheet(N3) 침범. 단 additive·직교라 수용.
2. N2×N3 CustomerSheet 실충돌 = 기계적 union(라벨 effect+area/followup 셀 공존) 수동 해소.
3. 중복 재디스패치(killed) 정리, M-STATUS 3중 충돌 병합.

## 검증
core pytest **150**(143+N1×4+N2×3) · web vitest **75** · design-tokens 25 · mm-bridge 3 · next build 11라우트 · 인라인hex 0 · SHEET_EXTRAS 0. main=940596a, PR#20/21/22 merged, 워크트리 정리.

## ADR-002 §4 백로그 상태
①실시간 ②채널게시 ③담당실명 ④시트실데이터 = **닫힘**. 남음: ⑤채널톡 대화UI 수확(코덱스 후) ⑥구 Vite cockpit 이관 ⑦프로덕션 배포. O-라운드 플랜(docs/handoff/O-cockpit-next-completion.md)에 정산엔진(FR-2)·KPI라이브 등 후속 대기.

[full: callcenter-os docs/handoff/M-STATUS.md N행 + docs/design/verify/n{1,2,3}-*.txt]
