Files
company-haness/docs/superpowers/specs/2026-07-05-a-group-refinement-design.md
T

5.2 KiB
Raw Blame History

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-registrylast-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 == 오늘 동작).