Files
readme-haness/runs/company-haness/20260717-rewrite/repository-facts.yaml
T

548 lines
20 KiB
YAML

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: <workspace>/completion-records/<workflow>/
evidence: <workspace>/evidence/
reports: <workspace>/reports/
state: <workspace>/state/
slack-inbox: <workspace>/slack-inbox/
slack-outbox: <workspace>/slack-outbox/
design-system: <workspace>/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: <workspace>/completion-records/<workflow>/<role>-<UTC timestamp>.report.yaml
report-policy: 새 시도마다 새 파일을 발급하며 기존 report를 덮어쓰지 않는다.
acceptance-history: 별도 append-only acceptance event로 관리
receipt-ledger: <workspace>/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가 실행하지 않음.]