# A그룹 정합·강제배선 정제 설계 (선행사례 반영) - 작성일: 2026-07-05 - 대상: `company-haness` / Org OS 오버레이 - 범위: **명세만** (org-os yaml + `Claude Code 구성 명세.md` 참고 노트). `.claude`/hook/CI는 다음 "강제 라운드"로 이월. - 인코딩: 기존 파일에 **가산적 편집** (신규 파일 없음). git 미사용(사용자 지시). - 근거: 서브에이전트 4-차원 리뷰 + GitHub 선행사례 4-부문 리서치. ## 1. 목적 서브에이전트 리뷰가 도출한 뿌리 3개 — ①강제 공백 ②자기신고 ③패밀리 고아 — 중 **명세만으로 지금 좁힐 수 있는 부분**을 선행사례의 구체 스키마로 배선한다. 강제·자기신고 접지의 진짜 해법(hook·evidence 접지)은 `.claude`가 필요해 다음 라운드로 명시 이월한다. ## 2. 선행사례 근거 (요약) - answer-first 보고: Minto/BLUF·SCQA, Anthropic(계획 노출), HumanLayer 12-factor(구조화 출력) - 호출 description: contains-studio(few-shot example), wshobson("Use PROACTIVELY when"), VoltAgent, BMAD(자연어 트리거) - 폭주 방지: MS Agent Framework Magentic(듀얼 원장·max_rounds/stalls·plan sign-off), MacNet(DAG), MetaGPT/ChatDev(실패모드) - 책임: RACI/DACI(AI는 Consulted까지, 승인권은 사람) - 핸드오프: Cognition("요약 말고 전체 트레이스 공유", 병렬은 결정충돌) → 우리 발산/수렴 분리를 검증 - 타입드 핸드오프·상태: OpenAI Agents SDK handoff(), Google ADK output_key, LangGraph Command ## 3. 변경 항목 (7) ### ① 패밀리 배선 — routing 단위 일치 - `role-selection-scorecard.yaml`: output-template에 `candidate-family` 추가. hard-rule "wave-size는 family 수로 카운트". - `execution-policy.yaml`: **family-collapse 규칙** — "실행 직전 DRAI/scorecard가 참조하는 role 집합에서 같은 family의 복수 role은 1 에이전트로 collapse. 단 서로 다른 family는 유지(다른 렌즈 보존)." - `Claude Code 구성 명세.md` §4/§9: subagent 생성 단위 = 26 family, roles.yaml 62는 참조 분류. ### ② BLUF 보고 헤더 — answer-first 모든 산출물 최상단에 report-header 필수: `bottom-line`(1문장 결론/권고) → `decision-needed`(사람 승인 필요 여부 + Approver) → `confidence`(증거파생) → `risks[]` → `evidence[]`. - `collaboration-modes.yaml`: decision-record·option-set가 이 헤더로 시작. - `context-package-spec.yaml`: expected-output에 report-header 필수화. ### ③ 점수 rubric + tie-break + 위임 4필드 - `role-selection-scorecard.yaml`: scoring-fields에 0-3 앵커 예시(rubric-anchors), hard-rule tie-break(call-now 초과 시 total→risk-coverage→relevance, 그다음 auditor/decider 보유 family 우선). - `context-package-spec.yaml`: Anthropic 위임 4필드 — `objective`(기존) + `output-format` + `allowed-tools` + `task-boundaries` 필수화. ### ④ Mode/Tier 소유자 + 폭주방지 + plan sign-off - `governance-tiers.yaml`: `tier-declaration-owner: OPS-ORCH`, `risk-classification-rubric`(Low/Med/High/Critical·blast-radius 정의), production/customer/revenue 접촉 시 **독립 audit-capable family의 tier-check 필수**, `governance-limits`(max-rounds/max-stalls→escalate/replan, max-resets), `plan-signoff`(tier=heavy면 사람 승인 필수 — RACI/Magentic). - `collaboration-modes.yaml`: `mode-decision-checklist`(divergent vs converge 판정 신호). ### ⑤ 공유 렌즈 tie-break + contrarian rotation - `lens-registry.yaml`: "divergent 시 공유 렌즈는 기본 primary 1개; tier=heavy이고 렌즈가 결정 핵심이면 동일 렌즈 추가 carrier를 sub-angle로 분화" 규칙 + LENS-CONTRARIAN rotation은 `workflow-state-registry`의 `last-contrarian-family` round-robin. - `workflow-state-registry.yaml`: workflow-template에 `last-contrarian-family` 필드. ### ⑥ 패밀리별 호출 트리거 + 배제 (신설) - `capability-families.yaml`: 26개 family 각각에 `invocation-triggers`(관측가능 상황)·`exclusions`(인접 family로 넘길 조건) 추가. contains-studio few-shot + wshobson "Use PROACTIVELY when" 문형. → 호출 모호성 즉시 해소 + 다음 라운드 `.claude` description 원천. ### ⑦ 수렴 트레이스 공유 (신설, 1줄) - `execution-policy.yaml`: "converge는 evidence-link뿐 아니라 선행 결정 트레이스를 전달; divergent는 병렬 유지"(Cognition). 발산/수렴 분리를 문헌으로 정당화. ## 4. 다음 라운드 이월 (범위 밖) `.claude` + hook 강제 라운드: PreToolUse `exit(2)` 하드 차단, Stop 스키마 검증, evidence-grade를 아티팩트에서 hook이 **계산**, 검증자 실행 요구, judge 분리·순서 랜덤화. ← 뿌리①②의 진짜 해법. ## 5. 성공 기준 1. 전 org-os yaml 파싱 OK, 기존 정합성 게이트(62 role·26 family·11 lens·tier×mode) 유지. 2. 26 family 전부 `invocation-triggers`·`exclusions` 보유. 3. decision-record·option-set·expected-output가 report-header(bottom-line 등) 보유. 4. governance-tiers에 tier-declaration-owner·governance-limits·plan-signoff 존재. 5. scorecard에 candidate-family·tie-break·rubric-anchors 존재. 6. context-package에 위임 4필드 존재. 7. 기존 rigor 의미 제거 없음(HEAVY == 오늘 동작).