schema-version: 1 repository-snapshot-hash: sha256:1eaa580e67e33d16a6115eb8f66fd034446436fb8f3bf70842ee9fd91b60ca64 project-name: Org OS 하네스 languages: [Python, YAML, Markdown] frameworks: [Claude Code] facts: - id: F-IDENTITY-CORE category: identity key: project-identity-and-purpose value: name: Org OS 하네스 purpose: 회사 전체를 AI 에이전트로 운영하는 파일 기반 운영체계로, 개발과 비즈니스 업무를 함께 다룬다. runtime: Claude Code의 subagent, project command, hook assertion-type: declared confidence: high evidence: - path: CLAUDE.md line-start: 1 line-end: 3 source-kind: project-documentation - id: F-WORKFLOW-ENTRY category: workflow key: new-workflow-entrypoint value: command: /ceo-intake applies-to: [cascade, wave, light, venture-bootstrap] normal-outputs: [decision-brief, workload-profile] assertion-type: observed confidence: high evidence: - path: org-os/06-agent-work/workflow-contracts.yaml line-start: 46 line-end: 54 source-kind: workflow-contract - path: org-os/06-agent-work/workflow-contracts.yaml line-start: 103 line-end: 124 source-kind: workflow-contract - id: F-WORKFLOW-CASCADE category: workflow key: cascade-stage-map value: terminal-stage: released stages: - {stage: intake, command: /ceo-intake, output: [decision-brief, workload-profile]} - {stage: discovery, command: /ground, output: [grounding-package]} - {stage: decide, command: /decide, output: [executive-decision-packet]} - {stage: design, command: /design, output: conditional-design-bundle} - {stage: spec, command: /spec, output: conditional-spec-bundle} - {stage: build, command: /build, output: [completion-record]} - {stage: verification, command: /review-output, output: [quality-gate-review]} - {stage: acceptance, command: /release-check, output: [release-decision]} release-exit-gates: [release-approved, no-unresolved-critical-risks, human-gate] assertion-type: observed confidence: high evidence: - path: org-os/06-agent-work/workflow-contracts.yaml line-start: 46 line-end: 101 source-kind: workflow-contract - id: F-WORKFLOW-WAVE-LIGHT category: workflow key: wave-and-light-selection value: wave: commands: [/ceo-intake, /plan-wave, /run-wave, /review-output, /release-check] terminal-stage: released light: commands: [/ceo-intake, /run-wave, /review-output] terminal-stage: acceptance omitted-stage: plan intended-for: 저위험·two-way-door·single-role이며 고객·매출·보안 영향이 없는 작업 assertion-type: observed confidence: high evidence: - path: org-os/06-agent-work/workflow-contracts.yaml line-start: 103 line-end: 119 source-kind: workflow-contract - path: org-os/06-agent-work/execution-plans.yaml line-start: 23 line-end: 37 source-kind: execution-plan - id: F-WORKFLOW-VENTURE category: workflow key: venture-bootstrap value: entry: /ceo-intake --plan venture-bootstrap subsequent-commands: [/venture-validate, /company-bootstrap] founder-input: org-os/01-company/founder-context.yaml required-founder-status: filled output: org-os/01-company/company-context.yaml output-status: provisional terminal-stage: bootstrap-complete assertion-type: observed confidence: high evidence: - path: org-os/06-agent-work/workflow-contracts.yaml line-start: 121 line-end: 130 source-kind: workflow-contract - path: org-os/06-agent-work/execution-plans.yaml line-start: 38 line-end: 47 source-kind: execution-plan - path: org-os/01-company/founder-context.yaml line-start: 1 line-end: 5 source-kind: company-context-input - id: F-WORKFLOW-SPECIALIZED category: workflow key: specialized-entrypoints value: /run-cascade: 전체 cascade를 state_engine으로 순회하고 사람 결정 게이트에서 중단·재개하는 상위 드라이버 /design-direction: 제품 cascade의 child workflow로 발산·선택·prototype·비평을 거쳐 approved-direction을 산출 /design-system: 기존 스택을 조사해 reuse/adapt/create를 선택하고 코드 UI와 렌더 미리보기를 검증 /consult: 비즈니스 자문 또는 문서 자문 family를 선택해 문서와 덱을 산출 assertion-type: declared confidence: high evidence: - path: .claude/commands/run-cascade.md line-start: 1 line-end: 24 source-kind: command-definition - path: .claude/commands/design-direction.md line-start: 1 line-end: 25 source-kind: command-definition - path: .claude/commands/design-system.md line-start: 1 line-end: 10 source-kind: command-definition - path: .claude/commands/consult.md line-start: 1 line-end: 12 source-kind: command-definition - id: F-ARCH-DIRECTORIES category: architecture key: repository-directory-responsibilities value: org-os/00-role-registry: 역할·family·lens·상태 전이·권한 정책의 원천 org-os/06-agent-work: workflow·artifact·협업·실행 계약 .claude/commands: 사용자 workflow 진입점 .claude/agents: registry에서 생성되는 실행 역할·resolver·router 카드 .claude/skills: 역할별 작업 방법 .claude/hooks: 상태 엔진·검증·증거 원장·렌더러·생성기 .claude/schemas: report와 typed artifact 스키마 .claude/tests: 하네스 강제기와 workflow 계약 테스트 benchmark: golden task와 plain-vs-harness 비교 자료 project-workspace: completion record·evidence·report·state·UI 산출물 assertion-type: derived confidence: high evidence: - path: CLAUDE.md line-start: 5 line-end: 43 source-kind: architecture-documentation - path: .claude/hooks/_workspace.py line-start: 1 line-end: 15 source-kind: runtime-path-implementation - id: F-ARCH-ROLE-MODEL category: architecture key: role-family-lens-model value: reference-ai-roles: 75 final-human-owner: HUMAN-001 routing-families: 28 evaluation-lenses: 12 generated-agent-cards-contract: 101 assertion-type: observed confidence: high evidence: - path: org-os/00-role-registry/roles.yaml line-start: 1 line-end: 20 source-kind: role-registry - path: org-os/00-role-registry/capability-families.yaml line-start: 1 line-end: 13 source-kind: family-registry - path: org-os/00-role-registry/lens-registry.yaml line-start: 1 line-end: 25 source-kind: lens-registry - path: .claude/hooks/gen_agents.py line-start: 814 line-end: 836 source-kind: generator-contract - id: F-ARCH-COLLABORATION category: architecture key: fan-out-collapse-policy value: family-defaults: {fan-out: 21, collapse: 6, coordination-only: 1} fan-out: 판단·설계·분석 family의 멤버를 격리 실행하고 상위가 원본 보고서를 읽어 종합 collapse: 코드·실행 family를 하나의 concrete worker 실행으로 축소 wave-max-concurrency: 5 heavy-tier-min-independent-verifiers: 3 assertion-type: observed confidence: high evidence: - path: org-os/00-role-registry/capability-families.yaml line-start: 14 line-end: 34 source-kind: family-registry - path: org-os/06-agent-work/execution-policy.yaml line-start: 10 line-end: 57 source-kind: execution-policy - id: F-ARCH-STATE-ARTIFACT category: architecture key: trusted-state-and-artifact-runtime value: workflow-contract-source: org-os/06-agent-work/workflow-contracts.yaml workflow-contract-responsibility: stage graph·role capability·artifact kind·bundle·exit gate canonical-runtime-events: [workflow-events.jsonl, artifact-events.jsonl, acceptance-events.jsonl, human-signoff.jsonl] materialized-view: workflow.yaml artifact-identity: immutable artifact id plus SHA-256 snapshot generated-registry: org-os/06-agent-work/generated/artifact-registry.yaml assertion-type: observed confidence: high evidence: - path: .claude/hooks/state_engine.py line-start: 2 line-end: 11 source-kind: runtime-implementation - path: .claude/hooks/state_engine.py line-start: 32 line-end: 38 source-kind: runtime-implementation - path: .claude/hooks/artifact_contract.py line-start: 2 line-end: 39 source-kind: artifact-validation-implementation - path: .claude/hooks/compile_artifact_registry.py line-start: 2 line-end: 7 source-kind: artifact-registry-compiler - id: F-ARCH-HOOKS category: architecture key: claude-code-hook-wiring value: PreToolUse: guard_tools.py PostToolUse: evidence_ledger.py SubagentStart: subagent_register.py SubagentStop: stop_validate.py Stop: stop_validate.py --main limitation: 강제 동작은 Claude Code가 프로젝트의 .claude/settings.json을 로드할 때 적용된다. assertion-type: observed confidence: high evidence: - path: .claude/settings.json line-start: 3 line-end: 66 source-kind: claude-code-configuration - path: CLAUDE.md line-start: 58 line-end: 68 source-kind: runtime-limit-documentation - id: F-ARTIFACT-LAYOUT category: artifacts key: workspace-resolution-and-layout value: resolution-order: [ORGOS_WORKSPACE environment variable, .orgos-workspace pointer] unresolved-behavior: strict operational hooks fail closed with exit 2 directories: completion-records: /completion-records// evidence: /evidence/ reports: /reports/ state: /state/ slack-inbox: /slack-inbox/ slack-outbox: /slack-outbox/ design-system: /design-system/ assertion-type: observed confidence: high evidence: - path: .claude/hooks/_workspace.py line-start: 1 line-end: 15 source-kind: runtime-path-implementation - path: .claude/hooks/_workspace.py line-start: 44 line-end: 94 source-kind: runtime-path-implementation - path: .claude/hooks/_workspace.py line-start: 97 line-end: 118 source-kind: runtime-path-implementation - id: F-ARTIFACT-PROVENANCE category: artifacts key: immutable-reports-and-receipts value: report-path: /completion-records//-.report.yaml report-policy: 새 시도마다 새 파일을 발급하며 기존 report를 덮어쓰지 않는다. acceptance-history: 별도 append-only acceptance event로 관리 receipt-ledger: /evidence/ledger.jsonl receipt-records: [executed command and exit code, written artifact path and SHA-256] receipt-hook-limitation: workspace를 해석하지 못하면 계측을 생략하고 도구 실행 자체는 막지 않는다. assertion-type: observed confidence: high evidence: - path: .claude/hooks/new_report.py line-start: 2 line-end: 48 source-kind: report-path-implementation - path: .claude/hooks/evidence_ledger.py line-start: 2 line-end: 22 source-kind: evidence-ledger-implementation - id: F-PREREQ-TOOLS category: prerequisites key: runtime-tool-versions value: required: python: {minimum: '3.10', tested: '3.12.3'} PyYAML: {minimum: '6.0', tested: '6.0.1', pinned: '6.0.1'} recommended: jsonschema: {minimum: '4.0', tested: '4.10.3', pinned: '4.10.3'} node: {minimum: '18.0', tested: '24.14.0'} d2: {minimum: '0.6', tested: '0.7.1'} optional: marp: {minimum: '3.0', fallback: HTML deck} assertion-type: observed confidence: high evidence: - path: .claude/tool-versions.yaml line-start: 1 line-end: 16 source-kind: tool-version-configuration - path: requirements.txt line-start: 1 line-end: 7 source-kind: dependency-manifest - id: F-PREREQ-UI category: prerequisites key: design-system-preview-tools value: required-for-full-render-check: [detected package manager and project build command, Google Chrome or Chromium-compatible executable] checked-properties: [non-empty mounted DOM, generated JavaScript bundle, CSS contrast, keyboard focus visibility, responsive viewport screenshots] limitation: render health를 검사하지만 시각적 차별성·타이포·비례·spacing의 미학 품질은 판정하지 않는다. assertion-type: observed confidence: high evidence: - path: .claude/hooks/preview_ui.py line-start: 2 line-end: 41 source-kind: UI-verification-implementation - path: .claude/hooks/preview_ui.py line-start: 54 line-end: 79 source-kind: UI-verification-implementation - path: .claude/hooks/preview_ui.py line-start: 541 line-end: 541 source-kind: UI-verification-limitation - id: F-VERIFY-SUITE category: verification key: full-test-runner value: entrypoint: .claude/tests/run_all.py preflight: [compile_artifact_registry.py --check, doctor.py, lint_refs.py] test-discovery: .claude/tests/test_*.py execution: suites run sequentially with a per-suite timeout failure-contract: any failed or timed-out suite produces exit 1 no-preflight-option: --no-preflight assertion-type: observed confidence: high evidence: - path: .claude/tests/run_all.py line-start: 2 line-end: 11 source-kind: test-runner - path: .claude/tests/run_all.py line-start: 23 line-end: 30 source-kind: test-runner - path: .claude/tests/run_all.py line-start: 53 line-end: 80 source-kind: test-runner - id: F-CI-WORKFLOW category: verification key: github-actions-ci value: triggers: {push: [main, fix/**, feat/**], pull-request: [main]} environment: {python: '3.12', node: '20', workspace: _sandbox} steps: [install pinned Python dependencies, attempt D2 0.7.1 installation, run doctor, run lint_refs, run gen_agents --check, run all tests with --no-preflight] assertion-type: observed confidence: high evidence: - path: .github/workflows/ci.yml line-start: 1 line-end: 46 source-kind: CI-workflow - id: F-MATURITY-CONTEXT category: limitation key: current-company-context-state value: company-context-status: template founder-context-status: template validation-stage: pre-traction implication: 회사 수립 경로는 사람이 founder context를 채우고 venture-bootstrap을 거쳐야 한다. assertion-type: observed confidence: high evidence: - path: org-os/01-company/company-context.yaml line-start: 13 line-end: 51 source-kind: company-context - path: org-os/01-company/founder-context.yaml line-start: 1 line-end: 17 source-kind: company-context-input - id: F-MATURITY-BENCHMARK category: limitation key: benchmark-evidence-status value: golden-tasks: 13 executed-samples: {plain: 2, harness: 2} measured-dimensions: 3 unexecuted-dimensions: 8 observed-result: first-pass-acceptance: tie tests-pass-rate: tie unnecessary-change-lines: tie weighted-composite-delta: 0 conclusion: 현재 표본은 하네스의 품질 우위를 입증하지 않는다. assertion-type: observed confidence: high evidence: - path: benchmark/BENCHMARK.md line-start: 1 line-end: 20 source-kind: generated-benchmark-report - path: benchmark/runs.jsonl line-start: 1 line-end: 4 source-kind: benchmark-run-ledger commands: - id: CMD-1 command: pip install -r requirements.txt cwd: . source: {path: .github/workflows/ci.yml, line-start: 30, line-end: 31, source-kind: CI-workflow} verification: status: discovered method: static extraction level: repository-declared limitations: [Repository Evidence Analyst가 실행하지 않음.] - id: CMD-2 command: python3 .claude/tests/run_all.py cwd: . source: {path: .claude/tests/run_all.py, line-start: 7, line-end: 9, source-kind: test-runner-usage} verification: status: discovered method: static extraction level: repository-declared limitations: [Repository Evidence Analyst가 실행하지 않음.] - id: CMD-3 command: python3 .claude/hooks/doctor.py cwd: . source: {path: .github/workflows/ci.yml, line-start: 36, line-end: 37, source-kind: CI-workflow} verification: status: discovered method: static extraction level: repository-declared limitations: [유효한 ORGOS_WORKSPACE 또는 .orgos-workspace 포인터가 필요함., Repository Evidence Analyst가 실행하지 않음.] - id: CMD-4 command: python3 .claude/hooks/lint_refs.py cwd: . source: {path: .github/workflows/ci.yml, line-start: 39, line-end: 40, source-kind: CI-workflow} verification: status: discovered method: static extraction level: repository-declared limitations: [Repository Evidence Analyst가 실행하지 않음.] - id: CMD-5 command: python3 .claude/hooks/compile_artifact_registry.py --check cwd: . source: {path: .claude/tests/run_all.py, line-start: 57, line-end: 60, source-kind: test-runner-preflight} verification: status: discovered method: static extraction level: repository-observed-invocation limitations: [Repository Evidence Analyst가 실행하지 않음.] - id: CMD-6 command: python3 .claude/hooks/gen_agents.py --check cwd: . source: {path: .github/workflows/ci.yml, line-start: 42, line-end: 43, source-kind: CI-workflow} verification: status: discovered method: static extraction level: repository-declared limitations: [Repository Evidence Analyst가 실행하지 않음.] - id: CMD-7 command: python3 .claude/hooks/benchmark.py list cwd: . source: {path: .claude/hooks/benchmark.py, line-start: 11, line-end: 15, source-kind: benchmark-implementation} verification: status: discovered method: static extraction level: repository-observed-invocation limitations: [Repository Evidence Analyst가 실행하지 않음.] - id: CMD-8 command: python3 .claude/hooks/benchmark.py compare cwd: . source: {path: .claude/hooks/benchmark.py, line-start: 16, line-end: 19, source-kind: benchmark-implementation} verification: status: discovered method: static extraction level: repository-observed-invocation limitations: [기존 benchmark run ledger를 비교하며 새 표본을 생성하지 않음., Repository Evidence Analyst가 실행하지 않음.] - id: CMD-9 command: python3 .claude/hooks/benchmark.py run --task GT-01 --arm plain --execute cwd: . source: {path: .claude/hooks/benchmark.py, line-start: 11, line-end: 15, source-kind: benchmark-implementation} verification: status: discovered method: static extraction level: repository-observed-invocation limitations: [Claude CLI와 외부 실행 예산이 필요할 수 있음., Repository Evidence Analyst가 실행하지 않음.]