5.2 KiB
5.2 KiB
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-familyround-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" 문형. → 호출 모호성 즉시 해소 + 다음 라운드.claudedescription 원천.
⑦ 수렴 트레이스 공유 (신설, 1줄)
execution-policy.yaml: "converge는 evidence-link뿐 아니라 선행 결정 트레이스를 전달; divergent는 병렬 유지"(Cognition). 발산/수렴 분리를 문헌으로 정당화.
4. 다음 라운드 이월 (범위 밖)
.claude + hook 강제 라운드: PreToolUse exit(2) 하드 차단, Stop 스키마 검증, evidence-grade를 아티팩트에서 hook이 계산, 검증자 실행 요구, judge 분리·순서 랜덤화. ← 뿌리①②의 진짜 해법.
5. 성공 기준
- 전 org-os yaml 파싱 OK, 기존 정합성 게이트(62 role·26 family·11 lens·tier×mode) 유지.
- 26 family 전부
invocation-triggers·exclusions보유. - decision-record·option-set·expected-output가 report-header(bottom-line 등) 보유.
- governance-tiers에 tier-declaration-owner·governance-limits·plan-signoff 존재.
- scorecard에 candidate-family·tie-break·rubric-anchors 존재.
- context-package에 위임 4필드 존재.
- 기존 rigor 의미 제거 없음(HEAVY == 오늘 동작).