org active
AI 에이전트 조직 모델
휴넥시아 AI 에이전트 조직의 구조. CEO→팀장(orchestrator)→전문가 체계와 부문별 에이전트, Labs 표준 개발 체인을 정의.
일반 회사의 HR을 그대로 모사한다. 모든 조직 변경은 승인 게이트를 거쳐 git 커밋으로 이력화된다(= HR 기록). 승인/거절은 스테이징 게이트를 쓴다: 변경을 먼저 .claude/org/pending/에 diff로 올리고 → 검토 → 승인 시에만 적용·커밋(거절 시 폐기).
agent-creator)validate-agent.sh + 기준 평가).claude/agents/ + roster + CLAUDE.md 갱신, 커밋)people-ops(한나) 운영./hire-agent, .claude/org/_authoring-spec.md(페르소나 템플릿·검증 규격·브랜드 톤).claude/org/reviews/* 종합.claude/org/archived/)people-ops(한나) 운영./org-review, .claude/org/levels.md(경력 등급 루브릭), .claude/org/reviews/(성장 로그).claude/org/levels.md가 정본. people-ops(한나) 운영./org-review(승진 절차), .claude/org/levels.md.claude/org/roster.md Platform 섹션)에 기록한다.orchestrator(이든) 배치. 명부 기록 = ops-pm(보라)..claude/org/roster.md Platform 섹션, §별도 저장소 파견(겸직의 확장).claude/만 로드 → 별도 저장소여야 엔진 원형 로드·본사 오염 0), 관리는 본사 통합. 이 분리가 오히려 성능을 지킨다(현장 세션=현장 일에 집중, 본사 세션=관리에 집중). hangar(별도 저장소·부문 전담·cross-repo 보고)가 선례이나, academy는 자체 .claude/agents를 가져 파견 에이전트를 현장에 물리 배치하는 첫 케이스.hunexia-academy(교육 콘텐츠 제작 플랫폼)..claude/agents/의 파견 에이전트는 본사 원본의 파생이다. 본사가 유일 원본, /org-review 진화 시 현장 사본을 갱신한다(동기화 = 이든·보라). 복사가 아니라 파생 — 두 벌이 조용히 어긋나지 않게..claude/org/reviews/<agent>.md에 누적한다. 현장에 고이면 파견이 아니라 별도 조직이 된다..claude/org/pending/ 경유(대표 게이트 유지)..claude/state/INFRA-REGISTRY.md(infra-keeper)에 자동 기록 → 세션 시작 시 복원. 본사가 cross-repo 보고(/report git log 병합)로 수집. 총괄=orchestrator(이든)·문서=ops-pm(보라). 대표는 본사에서 통합 확인.orchestrator(이든). 문서·트래킹 = ops-pm(보라). 명부 자산 소유권 표에 기록.hunexia-academy 저장소subagent_type + description)이지 역할(원소속)이 아니다.levels.md 루브릭·/org-review)에는 반영하지 않는다.data-analyst(지안).operations/metrics/README.md, §토큰 효율 운영 원칙d315efb)와 orchestrator 코칭(dbd6a50)으로 메인 비용의 근본 원인(완주·검증 결손)을 잡은 뒤, 남은 두 효율 축을 운영 원칙으로 둔다.Explore/general-purpose(역할미지정) 대신 named agent(principal-architect 현우 / implementation-lead 지오)로 위임한다. 단순 단일 파일 읽기·단일 질문은 Explore를 허용하되, 다중 파일 추적·설계는 named agent. 겸직 매핑은 roster.md 참조. 근거 — W29 역할미지정 input 6.5M(subagent 내 27%)./report weekly·monthly 공통 사전 단계 "위임 지표 대조"에서 기준선 대비 2주 연속 상승이 관측되면(단일 주차 비교는 판정 근거로 쓰지 않는다 — operations/metrics/README.md):data-analyst)이 집계 무결성을 확인하고generated_at)를 표면화한다.operations/에만 남긴다 — .claude/org/reviews/에는 수치가 아니라 그 수치가 지목한 행위 사실(위임 가능한 코드 실사·다중 파일 추적·설계를 메인 세션이 직접 수행한 사례, 커밋·파일 근거 1건 이상)만 적립하고, 행위 사실이 특정되지 않으면 적립하지 않는다./org-review·루브릭에 반영하지 않는다(§운영 가시성 측정 유지).Explore·general-purpose·Plan 버킷만을 뜻한다 — 미분류(역할미지정)는 매핑 결손(로스터 외 정상 위임)이지 미위임이 아니므로 합산하지 않는다.operations/metrics/token-usage-2026-W29.json(generated_at 2026-07-19T13:43:02.751Z, 본 조항 도입 커밋에 동봉).dbd6a50(2026-07-19T00:49Z)보다 12.9시간 뒤라 처치 전 기준선이 아니다.data-analyst(지안). 원칙 개정 = 본 섹션.operations/metrics/README.md, §운영 가시성 측정, §변경 이력(수치 출처 정정).claude/org/pending/)은 재사용하지 않는다.operations/goals/2026-goals-record.md 개정 이력.orchestrator(이든) 운영. 절차 = 스킬 /report goals.operations/goals/2026-goals-record.md(개정 이력 정본), knowledge/process/operating-rhythms.md(상세 리듬)knowledge/brand/personification-guide.md.brand-content-designer 도윤(roster 자산 소유권 표). 카드뉴스 기획·카피 = content-strategist 미래. PNG 최종 생성 = 대표.knowledge/brand/personification-guide.mdcurl 라이브 응답 · docker inspect 이미지/컨테이너 타임스탬프 · git status/git log working tree)으로 변경 사실을 확정한다.docker ps 구동 상태 ②docker inspect 타임스탬프(보고 시각 정합성) ③git status working tree 3종을 교차 검증한다. 기대-관측 불일치 = 허위 보고 신호(사후 적발을 사전 적발로 당기는 장치).levels.md 수습("산출물 사용 전 팀장 검토") 자율 범위 밖. 시니어 이상도 동일 게이트 — prod는 신뢰와 무관한 통제 영역(등급의 "신뢰 다이얼"과 분리된 하드 게이트).orchestrator(이든). 인프라 세부(docker compose 옵션·롤백 절차) = platform-engineer/implementation-lead. 본 규정은 검증 권한·절차만 정의.reviews/<agent>.md 영구 기록 → /org-review pending → 대표 승인 → 코칭 또는 격하..claude/org/levels.md(수습 자율 범위)엔진이식-실행설계.md:119)의 "DoD = 2테넌트 스모크"가 요약(종합보고서:294)에서 "2테넌트 산출"로 재서술되며 한정어가 탈락했고, 구현자는 그 DoD를 충실히 인용했으므로 하위에서는 복원이 불가능했다. 따라서 통제점은 보고자의 주의력이 아니라 DoD 문구다.coverage-audit으로 확인, 고아 LO 0건 로그 첨부".샘플/실물)은 별도 필드가 아니라 DoD 문장 안에 쓴다. 별도 슬롯에 두면 요약 단계에서 탈락한다 — 이번 사건이 정확히 그 실패였다.실물, 지어낸 예시·검증용 픽스처면 샘플. 불명확하면 샘플(안전측). 완성도(초안·최종)는 별개 축이며 status가 담당한다.file:line 표기 — 요약·전달 시 DoD 문구의 재서술 금지. 압축이 필요하면 원본 작성자에게 확인한다. 인용 없는 DoD 재서술이 이번 사건의 발생 형태이며, :119 인용만 있었어도 소실이 즉시 보였다.file:line 단독 금지 — 원문 문구를 한 줄 병기한다. 예: 엔진이식-실행설계.md:119 "DoD = 2테넌트 스모크". 행 번호는 밀리고 파일은 지워지지만 문구는 남는다. 파손 실증 4건 — 삭제 1·untracked 1·행 드리프트 1·본 조항 구조 개편으로 인한 재드리프트 1.[인용불가: <경로 — 구두·프롬프트·세션 합의> · 확인 책임자 <이름> · 시점 <날짜>]. 이 표기의 효력은 기록뿐이다 — 사후에 어느 홉에서 원문이 소실됐는지 추적 가능하게 만든다. 그 이상(이행 압력·품질 보증)을 주장하면 그 문장 자체가 §1 위반이다.operations/reports/governance-report-accuracy-consensus-result-2026-07-19.md.git status --porcelain 출력 전문. 대상은 배포 대상 저장소(빌드 컨텍스트에 들어가는 트리)로 한정하고, 요약·발췌를 금지하며, 첨부는 기계 산출물만 인정한다(사람이 문장으로 요약한 항목은 첨부가 아니다 — 문장은 자기신고, 명령 출력은 관측). §prod 통제의 docker inspect는 "언제 빌드됐는가"만 답하고 "무엇이 들어갔는가"는 답하지 않는다.knowledge/** 프론트매터의 artifact: sample|real 필수 필드는 scripts/build-wiki-index.mjs가 검증하며(REQUIRED + collect() 매핑 + 값 enum + git 추적 정합성), npm run wiki:check(및 이를 선행 호출하는 wiki:build/wiki:serve)를 사람이 실행할 때 작동한다. 훅·CI는 미도입(core.hooksPath 빈 값 · .husky 없음 · .github 없음 · non-sample 훅 0개) — 따라서 커밋·PR 시점에 자동 차단되지 않는다. status(생애주기)와 의미축이 다르며, §2의 "신분을 문장 안에"(보고·DoD)와도 층이 다르다(대체 아님). operations/doc-registry.md에 "산출물 신분 변경(샘플→실물)" 행 추가. 한계: 이 게이트는 knowledge/** 문서만 덮고 assets/는 미순회다 — 에이전트 반환·대표 보고는 기계 검증 대상이 아니며 §1~5가 유일한 장치다(다만 "인용·입력 한 줄이 있는가"는 제3자가 즉시 확인 가능).[실측:대상·기간·방법]/[추정:근거]/[예시:실적 아님], 셋 다 없으면 문장 삭제)·사례 화이트리스트·템플릿 더미값은 치환 토큰·발송 전 스캔(준서)artifact+wiki:check+doc-registry(보라)_provenance 출력. 값이 항상 real로 고정되는 스크립트는 정보량 0이므로 명시적 제외 + 제외 근거 기재(레이)기획완료/원고완료/발행예약/게시완료 분리). 예시 카피는 캡션이 아니라 본문 안에 [예시:실적 아님](캡션은 캡처 시 탈락)(미래)[실측]/[추정]/[시나리오] 3분류 + 원천 표기, /automation-audit 출력 표에 '원천' 열 필수(세라)경향 관찰(판정 불가). 예상 리프트와 실측을 같은 표에 두지 않는다(시우)[동작 주장]/[산출 주장]/[실제 입력] — 실제 입력의 내용은 §4 배포물 규정을 따른다(민호)curriculum-architectcourse-content-writerprincipal-architect·implementation-leadplatform-product-managerorchestratorreviews/<agent>.md 기재 + 루브릭 평정.operations/doc-registry.md, .claude/org/reviewers.md(2층 검수자 사전 지명표), operations/sunset-ledger.md(만료 조항 원장), §변경 이력(문안 정정).claude/settings.json:2에서 아무것도 켜지 않는 자리(env 블록 밖 최상위)에 놓인 설정 키가 발견됐다. 도입 커밋 35f0bb0은 라우팅 훅 기능 커밋이었고, 그 설정은 작업 트리에 이미 있던 무관한 변경이 함께 실린 것이다. 커밋 메시지는 그 사실을 *"(기존 변경 동봉)"*이라고 적어 두기까지 했으나 왜 켰는지는 어디에도 없다. 결손은 언급의 누락이 아니라 분리의 누락이다 — 동봉된 변경은 커밋 제목·리뷰 대상·git log가 모두 다른 일을 가리켜, 한 줄 언급이 있어도 근거로 되돌아오는 경로가 생기지 않는다.operations/doc-registry.md '규범 개정' 행.claude/settings.json:2의 유령 설정(아무것도 켜지 않는 자리에 놓인 키)이 라우팅 훅 기능 커밋 35f0bb0에 동봉돼 들어오며 도입 의도가 소실된 사건에서 도출. 커밋 메시지가 동봉 사실을 *"(기존 변경 동봉)"*으로 적어 두었는데도 근거는 복원되지 않았다 — 결손은 언급이 아니라 분리였고, 따라서 규범도 "적어라"가 아니라 "분리해라"로 세웠다. 조항은 순수 규범(판정 = 커밋 제목)으로만 두고 기계 점검은 규범에 넣지 않고 별건으로 발주한다(2026-07-19 "자동 게이트" 선례 · operations/doc-registry.md '규범 개정' 행). 경위 정본 = operations/reports/governance-commit-scope-control-2026-07-22.md(커밋 2b9c411 — git show 3adc0ff 원문을 재작성 없이 승격), 대표 지시·사건 경위 = operations/handoff/2026-07-22-settings-hygiene.md, 설계 근거 = 같은 pending 원문(폐기 전 이력 편입, 커밋 3adc0ff). 만료일 없음 = operations/sunset-ledger.md 등록 대상 아님(상시 규범, pending §6 판단 근거 존치). (people-ops 문안 · orchestrator 확정 — 팀장 자율)2026-10-31은 운영 파라미터로 팀장 확정, 연장은 대표 승인). 팀장 자율 확정 7건 = 인용불가 표기(효력은 기록 한정)·확인 책임자 재정의(원천 보유자, 게이트 아님)·§4 배포물 구체화·§5 검수자 독립성 3건·§1 요구 주장 층위·file:line 원문 병기·소관에 course-content-writer 추가·도메인 부가 7건. 규범 개정은 승인 게이트 대상이 아니다 — 대표 승인 범위는 인사 변경(채용·승진·해고)과 회사 목표뿐이며(CLAUDE.md §3 "인사 변경과 회사 목표 수립·개정만 대표 승인 게이트" · 본 문서 §승인권), 규범 개정 소관은 본 섹션이다. 최초 상신에서 15개 안건을 통째로 대표께 올린 것은 범위 오판이었고 회수했다. 불채택: Q1 (a)/(b) 차단 조항 및 반려 하한선(전원 합의 — 차단이 필요한 비가역 실행은 §prod 통제가 이미 덮으며, 기록 장치에 제재를 붙이면 같은 개정 안에서 자기모순) · 검증기 카운트(제안자 자진 철회 — 분자·분모 모두 자기신고라 정직하게 표기한 사람만 나쁜 숫자를 받는다) · sample|real 3번째 값(시우 자기 반려 — 신분 축과 추론 범위 축의 혼합). 코드 구현을 수반하는 조항(_provenance 헬퍼·해결가능성 검증·커버리지 표기)은 규범에 넣지 않고 별건 발주한다 — 미구현 조항을 규범에 쓰면 아래 2026-07-19 "자동 게이트"와 같은 위반이 반복된다. 경위 정본 = operations/reports/governance-report-accuracy-consensus-result-2026-07-19.md. (컨센서스 회의 5인 · people-ops 문안 · orchestrator 확정)2026-07-19T13:43:02.751Z)이다. 같은 W29가 재수집만으로 메인 input 147.8M(2026-07-19T02:18:30.938Z 스냅샷) → 177.5M으로 이동했고, "133M"은 현재 저장소의 어느 스냅샷으로도 재현되지 않는다. 원인은 두 가지다 — ① token-usage-*.json이 제자리 재생성되는 자동 생성물이고 ② scripts/collect-token-usage.mjs에 날짜 필터가 없어 파일명만 주차이고 내용은 누적 전기간이었다(W29 452건이 W30 아티팩트에 0건 누락으로 전부 포함, 중첩 93%). ②는 2026-07-22 창 필터 추가로 해소했다. 따라서 이후 모든 기준선 인용은 generated_at과 창 범위를 함께 적는다. 과거 값은 각 시점의 사실이므로 정정하지 않고 출처만 병기한다. (people-ops 검증 · data-analyst 실측)796c826. 훅·CI 도입 시 다시 "자동 게이트"로 승격하되 도입 커밋 SHA를 함께 기재한다. (대표 승인).claude/org/_authoring-spec.md에 정의한다.