init: company-haness 설계
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
# 01-company — 회사 문맥 SoT (company-specific facts)
|
||||
|
||||
이 디렉터리는 **이 회사·이 제품에 특정한 사실(company-specific facts)의 단일 원천(SoT)**이다.
|
||||
일반 프레임워크·베스트프랙티스(그건 `role-working-methods.yaml`·skill이 담당)가 아니라,
|
||||
**"우리 회사는 실제로 무엇을 하고, 어떤 제약·스택·사용자·최근 결정을 갖는가"**를 담는다.
|
||||
|
||||
에이전트가 판단을 내릴 때 이 폴더의 실데이터를 읽어 문맥을 접지(ground)한다. 여기 실데이터가
|
||||
없으면 에이전트는 일반론으로 답하게 되고, 그 판단의 신뢰도는 아래 **confidence 상한 규칙**으로 강등된다.
|
||||
|
||||
## 파일
|
||||
|
||||
- `company-context.yaml` — 회사 사실·확정 전략·검증 중 가설과 프로젝트별 실행 manifest의 공식 SoT.
|
||||
현재 Hyeonworks 문맥은 **provisional**이며, 확정된 제품 전략과 실제 제품 증거는 기록됐지만 시장·학습 효과·운영성 가설은 아직 검증 중이다.
|
||||
- `founder-context.yaml` — 회사 정의보다 먼저 존재하는 창업자 제약·선호의 입력 SoT.
|
||||
현재 **filled**이며, 확인되지 않은 시간·자본·사업 규모·유통·운영/리스크 값은 추론하지 않고 명시적으로 미확정 상태를 유지한다.
|
||||
- `vision.md`, `strategy.md`, `principles.md` — (선택) 서술형 회사 방향 문서. 스키마가 아니라 산문.
|
||||
|
||||
## company-context.yaml 상태·근거 정책 (P1)
|
||||
|
||||
- 공식 `status`는 3-상태: **template → provisional → operating** (`bootstrap`은 공식 status 아님 — 작성 중은 candidate 파일의 `candidate-status: bootstrap`로만 표현).
|
||||
- `company`는 **facts / strategic-decisions / hypotheses**로 분리하며 **항목별 provenance**를 둔다(fact=provenance, decision=accepted-by/at/source-decision-id, hypothesis=validation-status/confidence/falsification-criteria). `fact/decision/hypothesis`(정보 종류)와 `E1~E5`(증거 강도)는 독립이다.
|
||||
- 회사 인용 상한(finding #5)은 **항목 단위**: status != operating이면 company 인용 항목은 E2/Med 상한; hypothesis 항목 인용은 status 무관 Med 상한. 외부·코드·테스트 증거는 원등급 유지.
|
||||
- 공식 파일은 `commit_company_context.py`(원자 교체)로만 갱신(직접 Edit/Write 차단). 내부 정합은 `lint_company_context.py`가 강제.
|
||||
- 구 `demo/populated`는 읽기 호환(deprecation warning) + `lint_company_context.py --migrate`로 1회 변환.
|
||||
|
||||
## Confidence 상한 규칙 (finding #5 — 불변 정책)
|
||||
|
||||
> **실제 회사·프로젝트 자료가 없는 판단의 confidence는 E1/E2로 상한(cap)된다.**
|
||||
|
||||
근거: 이 하네스는 "모든 결론은 근거에 접지(E0~E5)"를 요구한다(CLAUDE.md 규칙). 그러나 회사에
|
||||
특정한 사실(이 폴더의 실데이터, 또는 프로젝트 저장소의 실제 코드/문서)이 없으면 판단은 **일반론**일
|
||||
뿐이다. 일반론에 High confidence를 붙이면 근거등급 체계가 무의미해진다. 따라서:
|
||||
|
||||
- **E1 (약한 정황/추정)** / **E2 (일반 문헌·베스트프랙티스 근거)** — 회사 실데이터 없이 내린 판단의
|
||||
최대 등급. `report-header.confidence`는 이때 최대 `Med`.
|
||||
- **E3 이상 (프로젝트 산출물/실측/실행 receipt 근거)** 은 이 폴더(또는 대상 프로젝트 저장소)의
|
||||
**실제 아티팩트**를 인용할 때만 부여한다.
|
||||
- **E4/E5 (실행/실존 아티팩트)** 는 receipt(evidence-ledger)로 검증되어야 한다(WP-6 계약). 회사
|
||||
실데이터 부재 상태에서 자기신고만으로는 불가.
|
||||
- 요약: **회사 문맥 부재 → confidence ≤ Med, 근거등급 ≤ E2.** 이는 자기채점 금지 원칙의 연장이며,
|
||||
실데이터가 채워질수록 상한이 풀린다.
|
||||
|
||||
이 규칙은 `company-context.yaml` 상단 주석에도 중복 명시되어 있다(에이전트가 스키마만 읽어도
|
||||
상한을 인지하도록).
|
||||
|
||||
## 규칙
|
||||
|
||||
- 이 폴더는 **회사 특정 사실**만 담는다. 재사용 가능한 방법론/프레임워크는 `00-role-registry`의
|
||||
`role-working-methods.yaml`과 skill에 있다(중복 금지).
|
||||
- 실데이터는 민감할 수 있다(`sensitivity` 필드). 비밀/키/토큰은 여기에 평문으로 두지 않는다.
|
||||
- 스키마 변경은 이 파일과 `company-context.yaml`을 함께 갱신한다.
|
||||
@@ -0,0 +1,187 @@
|
||||
schema-version: 2
|
||||
status: provisional
|
||||
company:
|
||||
facts:
|
||||
- id: FACT-HW2-RESET-001
|
||||
statement: Hyeonworks의 기존 활성 제품·설계·workflow 산출물은 2026-07-18에 active workspace에서
|
||||
제거됐고, 새 workspace는 제품 구현이 없는 초기 상태에서 시작한다. 과거 구현은 새 제품의 완료 증거로 사용하지 않는다.
|
||||
category: workspace-state
|
||||
provenance:
|
||||
- source-uri: hyeonworks/state/hyeonworks-company-bootstrap-v2/workflow.yaml
|
||||
grade: E3
|
||||
verified-at: '2026-07-18'
|
||||
status: active
|
||||
- id: FACT-HW2-STRATEGY-001
|
||||
statement: 표준 3안×9-gate 검증과 HUMAN-001 exact-revision 승인을 거쳐 Atlas + 제한된 symptom-first
|
||||
shared-core 전략이 선택됐다.
|
||||
category: accepted-strategy-process
|
||||
provenance:
|
||||
- source-uri: hyeonworks/completion-records/hyeonworks-company-bootstrap-v2/EXEC-CEO-20260718T105950Z.report.yaml
|
||||
grade: E3
|
||||
- source-uri: hyeonworks/completion-records/hyeonworks-company-bootstrap-v2/EXEC-CEO-20260718T110148Z.report.yaml
|
||||
grade: E3
|
||||
verified-at: '2026-07-18'
|
||||
status: active
|
||||
- id: FACT-FOUNDER-UNKNOWN-002
|
||||
statement: 창업자의 실제 주당 가용시간, 자본·런웨이, 목표 사업 규모, 보유 유통채널, 운영·리스크 내성은 아직 확인되지 않았으며
|
||||
확장 속도·예산·매출 판단에서 추론하면 안 된다.
|
||||
category: founder-information-gap
|
||||
provenance:
|
||||
- source-uri: org-os/01-company/founder-context.yaml
|
||||
grade: E2
|
||||
verified-at: '2026-07-18'
|
||||
status: active
|
||||
strategic-decisions:
|
||||
- id: DEC-HW2-HYBRID-001
|
||||
statement: Hyeonworks는 mechanism-first Technology Atlas를 제품 뼈대로 유지하면서 symptom-first
|
||||
Concept Debugger를 초기 진입 레이어로 결합한 하나의 제품으로 추진한다.
|
||||
decision-type: company-product-strategy
|
||||
accepted-by: HUMAN-001
|
||||
accepted-at: '2026-07-18T11:03:01Z'
|
||||
source-decision-id: EXEC-CEO-20260718T110148Z
|
||||
supporting-evidence:
|
||||
- source-uri: hyeonworks/completion-records/hyeonworks-company-bootstrap-v2/EXEC-CEO-20260718T110148Z.report.yaml
|
||||
grade: E3
|
||||
status: active
|
||||
- id: DEC-HW2-SCOPE-001
|
||||
statement: 첫 공개 범위는 Transaction Isolation / Lost Update 한 scenario다. 개념으로 시작하기와
|
||||
증상에서 시작하기는 동일 콘텐츠 모델·scenario ID·실험 상태 엔진을 공유한다.
|
||||
decision-type: initial-product-scope
|
||||
accepted-by: HUMAN-001
|
||||
accepted-at: '2026-07-18T11:03:01Z'
|
||||
source-decision-id: EXEC-CEO-20260718T110148Z
|
||||
supporting-evidence:
|
||||
- source-uri: hyeonworks/completion-records/hyeonworks-company-bootstrap-v2/EXEC-CEO-20260718T110148Z.report.yaml
|
||||
grade: E3
|
||||
status: active
|
||||
- id: DEC-HW2-LEARNING-001
|
||||
statement: 핵심 학습 루프는 Predict → Observe → Compare → Explain → Transfer다. 증상 진입도
|
||||
정답을 즉시 제시하지 않고 단서를 좁힌 뒤 같은 실습과 전이 과제로 연결한다.
|
||||
decision-type: learning-product-model
|
||||
accepted-by: HUMAN-001
|
||||
accepted-at: '2026-07-18T11:03:01Z'
|
||||
source-decision-id: EXEC-CEO-20260718T110148Z
|
||||
supporting-evidence:
|
||||
- source-uri: hyeonworks/completion-records/hyeonworks-company-bootstrap-v2/EXEC-CEO-20260718T110148Z.report.yaml
|
||||
grade: E3
|
||||
status: active
|
||||
- id: DEC-HW2-BOUNDARY-001
|
||||
statement: 초기 제품은 실제 장애 확정·로그 분석·원격 DB 연결·AI 자동 진단·다중 도메인 증상 taxonomy를 제공하지 않는다.
|
||||
시뮬레이션과 원인 후보의 한계를 화면에서 명확하게 표시한다.
|
||||
decision-type: trust-and-scope-boundary
|
||||
accepted-by: HUMAN-001
|
||||
accepted-at: '2026-07-18T11:03:01Z'
|
||||
source-decision-id: EXEC-CEO-20260718T110148Z
|
||||
supporting-evidence:
|
||||
- source-uri: hyeonworks/completion-records/hyeonworks-company-bootstrap-v2/EXEC-CEO-20260718T110148Z.report.yaml
|
||||
grade: E3
|
||||
status: active
|
||||
- id: DEC-HW2-OPERATING-001
|
||||
statement: depth-before-breadth·solo-operable·self-serve를 유지한다. 학습·성장·평판을 우선하고
|
||||
실제 수요와 결제 행동 전에는 가격·매출을 확정 전략으로 다루지 않는다.
|
||||
decision-type: operating-principle
|
||||
accepted-by: HUMAN-001
|
||||
accepted-at: '2026-07-18T11:03:01Z'
|
||||
source-decision-id: EXEC-CEO-20260718T110148Z
|
||||
supporting-evidence:
|
||||
- source-uri: org-os/01-company/founder-context.yaml
|
||||
grade: E2
|
||||
- source-uri: hyeonworks/completion-records/hyeonworks-company-bootstrap-v2/EXEC-CEO-20260718T110148Z.report.yaml
|
||||
grade: E3
|
||||
status: active
|
||||
hypotheses:
|
||||
- id: HYP-HW2-ENTRY-001
|
||||
statement: 제한된 symptom-first 진입은 실제 진단 도구로 오인시키지 않으면서 개념명만 제시하는 진입보다 사용자의 시작 동기와
|
||||
문제 관련성을 높인다.
|
||||
hypothesis-type: entry-value
|
||||
confidence: Low
|
||||
validation-status: untested
|
||||
evidence:
|
||||
- source-uri: hyeonworks/completion-records/hyeonworks-company-bootstrap-v2/EXEC-CEO-20260718T105950Z.report.yaml
|
||||
grade: E2
|
||||
promotion-criteria:
|
||||
- 사용자 5명 중 4명 이상이 홈 10초 노출 후 두 진입의 차이와 사이트 목적을 설명한다
|
||||
falsification-criteria:
|
||||
- 사용자 5명 중 3명 이상이 실제 장애 확정 도구로 오인하거나 두 진입의 차이를 설명하지 못한다
|
||||
- id: HYP-HW2-LEARNING-001
|
||||
statement: 공유 학습 루프를 완주한 사용자는 Lost Update의 인과관계를 자기 언어로 설명하고 새로운 재고 사례에 전이할 수
|
||||
있다.
|
||||
hypothesis-type: learning-outcome
|
||||
confidence: Low
|
||||
validation-status: untested
|
||||
evidence:
|
||||
- source-uri: hyeonworks/completion-records/hyeonworks-company-bootstrap-v2/EXEC-CEO-20260718T105950Z.report.yaml
|
||||
grade: E2
|
||||
promotion-criteria:
|
||||
- 사용자 5명 중 4명 이상이 인과관계를 설명하고 3명 이상이 새 사례를 정확히 판별한다
|
||||
falsification-criteria:
|
||||
- 학습 후에도 3명 이상이 동일 값 읽기와 마지막 쓰기 덮어쓰기를 연결하지 못한다
|
||||
- id: HYP-HW2-SHARED-CORE-001
|
||||
statement: 개념 진입과 증상 진입은 하나의 콘텐츠·scenario·상태 엔진을 공유해 별도 제품 수준의 운영비 없이 유지될 수 있다.
|
||||
hypothesis-type: solo-operability
|
||||
confidence: Med
|
||||
validation-status: untested
|
||||
evidence:
|
||||
- source-uri: hyeonworks/completion-records/hyeonworks-company-bootstrap-v2/EXEC-CEO-20260718T105950Z.report.yaml
|
||||
grade: E2
|
||||
promotion-criteria:
|
||||
- 정적 계약 검사에서 두 진입이 동일 scenario ID와 reducer/state engine을 사용하고 설명 중복이 없다
|
||||
falsification-criteria:
|
||||
- Debugger 진입을 위해 별도 실험 엔진이나 중복 콘텐츠가 필요하다
|
||||
- id: HYP-HW2-DEMAND-001
|
||||
statement: 깊이 있는 양방향 기술 학습 경험에는 반복 방문과 향후 유료 옵션을 시험할 수 있는 organic 수요가 있다.
|
||||
hypothesis-type: demand-and-willingness-to-pay
|
||||
confidence: Low
|
||||
validation-status: untested
|
||||
evidence:
|
||||
- source-uri: hyeonworks/completion-records/hyeonworks-company-bootstrap-v2/EXEC-CEO-20260718T105950Z.report.yaml
|
||||
grade: E2
|
||||
promotion-criteria:
|
||||
- 공개 전 정한 유입·시작·완료·재방문 기준과 별도 가격 행동 기준을 실제 데이터가 충족한다
|
||||
falsification-criteria:
|
||||
- 정한 관찰 기간에 최소 수요·재방문 또는 가격 행동 기준을 충족하지 못한다
|
||||
validation-state:
|
||||
stage: pre-product
|
||||
validated:
|
||||
- founder strategy direction and initial scope decision
|
||||
open:
|
||||
- HYP-HW2-ENTRY-001
|
||||
- HYP-HW2-LEARNING-001
|
||||
- HYP-HW2-SHARED-CORE-001
|
||||
- HYP-HW2-DEMAND-001
|
||||
- 새 제품 구현·접근성·반응형·결정론적 학습 흐름 검증
|
||||
- founder 실제 시간·자본·사업규모·유통·운영/리스크 내성
|
||||
refuted:
|
||||
- 초기 독립 다중 도메인 Concept Debugger
|
||||
- 준비 중 콘텐츠를 완성 카탈로그처럼 보이는 전략
|
||||
projects:
|
||||
- id: hyeonworks
|
||||
product-purpose: 개념명 또는 실제 증상에서 시작해 기술 상태 변화를 예측·관찰·비교·설명하고 새 상황에 전이한다.
|
||||
project-root: hyeonworks
|
||||
application-root: hyeonworks/app
|
||||
stage: reset-planning
|
||||
stack:
|
||||
- 미결정 — architecture/design 단계에서 재선정
|
||||
build: cd app && npm run build
|
||||
test: cd app && npm run verify
|
||||
lint: cd app && npm run lint
|
||||
run: cd app && npm run dev -- --host 127.0.0.1
|
||||
preview-out-dir: dist
|
||||
users:
|
||||
- 기술 정의를 읽었지만 내부 상태 변화와 인과관계를 설명하기 어려운 개발자
|
||||
- 동시성 이상 현상을 겪었지만 증상을 메커니즘에 연결하기 어려운 실무 개발자
|
||||
constraints:
|
||||
- 활성 콘텐츠는 Transaction Isolation/Lost Update 한 scenario
|
||||
- 개념·증상 진입은 같은 콘텐츠와 상태 엔진을 사용
|
||||
- 실제 장애 진단·원격 DB·AI 자동 진단으로 표현하지 않음
|
||||
- 키보드·모바일·WCAG AA 품질선을 설계 단계부터 적용
|
||||
code-conventions:
|
||||
- scenario와 content data를 UI에서 분리하고 두 진입이 동일 ID를 참조
|
||||
- 상태 전이는 결정론적이며 Reset 시 같은 초기 상태로 복귀
|
||||
- 준비 중 주제는 비활성이고 완성 기능처럼 링크하지 않음
|
||||
sensitivity: public
|
||||
recent-decisions:
|
||||
- date: '2026-07-18'
|
||||
decision: Technology Atlas + limited symptom-first entry on one shared learning
|
||||
core
|
||||
evidence: EXEC-CEO-20260718T110148Z
|
||||
@@ -0,0 +1,50 @@
|
||||
# founder-context.yaml — 창업자·사업 설계의 입력값(회사 정의 이전에 존재하는 실제 제약).
|
||||
# company-context.yaml 이 아니다 — 순환을 끊는 유일 입력이다(§5). 사람이 직접 채운다.
|
||||
# status: template(미채움) -> filled(채움). 사람이 제공·확정한 값만 기록하고 미확정 값은 추론하지 않는다.
|
||||
# filled 여야 venture-bootstrap 의 founder-setup 통과.
|
||||
schema-version: 1
|
||||
status: filled # template | filled
|
||||
founder:
|
||||
# 과거 intake에는 backend/database/infrastructure 역량으로 기록됐지만, 당시 보고서가
|
||||
# 이를 검증되지 않은 가정이라고 명시했다. 창업자 확인 전에는 강한 사실로 승격하지 않는다.
|
||||
strengths:
|
||||
- "reported-but-unverified: backend, database, infrastructure, Spring ecosystem"
|
||||
available-time: >-
|
||||
solo-operable은 확정 제약. 주당 투입 가능 시간은 미확정이며 추론하지 않는다.
|
||||
available-capital: >-
|
||||
미확정 — 초기 자본·월 운영비·런웨이를 창업자가 확인하기 전에는 예산을 가정하지 않는다.
|
||||
desired-business-size: >-
|
||||
성장·학습·평판 자산 우선과 향후 얇은 수익 옵션만 확정. 목표 ARR·팀 규모는 미확정이다.
|
||||
preferred-market: >-
|
||||
기술의 작동 원리를 깊게 이해하려는 개발자와 기술 학습자. 한국/글로벌 출시 우선순위는 미확정이다.
|
||||
distribution-capability: >-
|
||||
self-serve 유통 선호. 보유 audience·SEO·community·paid 채널 역량은 검증되지 않았으므로 없는 것으로
|
||||
단정하지도, 확보된 것으로 가정하지도 않는다.
|
||||
sales-tolerance: >-
|
||||
low — 과거 승인 범위에서 enterprise sales·SI·on-prem 의존을 제외했다. 비가역 GTM 결정 전에 재확인한다.
|
||||
operation-tolerance: >-
|
||||
미확정 — 다만 확정 전략상 1인이 유지할 수 있는 좁은 범위와 낮은 운영 복잡도를 우선한다.
|
||||
risk-tolerance: >-
|
||||
미확정 — 확인 전까지 낮은 고정비, 되돌릴 수 있는 실험, 명시적 kill criteria를 기본값으로 사용한다.
|
||||
hard-constraints:
|
||||
- "solo-operable: 한 사람이 지속적으로 유지할 수 있어야 한다"
|
||||
- "self-serve-first: enterprise sales·SI·on-prem 의존을 초기 전략에서 제외한다"
|
||||
- "depth-before-breadth: 첫 완성 주제를 깊게 만든 뒤 검증 없이 카탈로그를 넓히지 않는다"
|
||||
- "honest-readiness: 준비 중 콘텐츠를 완성·클릭 가능한 기능처럼 가장하지 않는다"
|
||||
- "honest-mechanics: 시뮬레이션은 시뮬레이션으로 표시하고 실제 시스템 동작처럼 가장하지 않는다"
|
||||
strategic-preferences:
|
||||
- "mechanism-first: 기술의 표면적 사용법보다 내부 작동 원리와 인과관계를 학습한다"
|
||||
- "active-learning-loop: Predict → Observe → Compare → Explain → Transfer"
|
||||
- "atlas-first: 여러 기술의 연결 관계를 보여주되 완성형 딥다이브를 중심으로 확장한다"
|
||||
- "first-flagship: Transaction Isolation을 첫 번째 완성형 딥다이브로 사용한다"
|
||||
- "growth-learning-reputation-first: 초기에는 학습·성장·평판을 우선하고 수익화는 얇은 옵션으로 둔다"
|
||||
|
||||
# 확정 전략·선호의 근거. 숫자/역량처럼 미확정인 founder 사실을 대신하지 않는다.
|
||||
source-references:
|
||||
- path: hyeonworks/completion-records/hyeonworks-deep-tech-v2/EXEC-CEO-HWDT2-DECIDE-001.report.yaml
|
||||
status: "HUMAN-001 accepted"
|
||||
acceptance-event: ae-20260717T153928Z-4ed3f36c
|
||||
- path: hyeonworks/completion-records/hyeonworks-reset-v1/EXEC-CEO-20260712T092341Z.report.yaml
|
||||
status: "accepted (legacy receipt without content hash)"
|
||||
- path: hyeonworks/FINAL-RESULT.md
|
||||
status: "released product evidence"
|
||||
Reference in New Issue
Block a user