init: company-haness 설계

This commit is contained in:
DongHyeonka
2026-07-23 17:49:00 +09:00
parent 57d1bab894
commit f668d6a158
962 changed files with 98989 additions and 1 deletions
@@ -0,0 +1,27 @@
report-type: workflow-artifact
artifact-kind: decision-brief
artifact-version: 1
identity:
artifact-id: EXEC-CEO-20260720T110333Z
workflow-id: hyeonworks-vnext-v2
stage: intake
producer-role-id: EXEC-CEO
created-at: 20260720T110333Z
attempt-id: 1
payload: {}
projection-version: 1
decision-summary:
bottom-line: ""
recommendation: ""
decision-needed: false
confidence: Med
evidence-index: []
dissent: []
open-risks: []
artifact-refs: []
report-header:
bottom-line: ""
decision-needed: { needed: false, approver: }
confidence: { value: Med, derived-from: evidence }
risks: []
evidence: []
@@ -0,0 +1,111 @@
report-type: workflow-artifact
artifact-kind: decision-brief
artifact-version: 1
identity:
artifact-id: EXEC-CEO-20260720T110525Z
workflow-id: hyeonworks-vnext-v2
stage: intake
producer-role-id: EXEC-CEO
created-at: 20260720T110525Z
attempt-id: 1
payload:
mode: divergent
tier: standard
candidate-families:
- FAM-STRATEGY
- FAM-UX-RESEARCH
- FAM-GTM-GROWTH
- FAM-PRODUCT-MGMT
- FAM-ARCHITECTURE-TECH
intent-restatement: >-
hyeonworks 학습 제품을 경쟁 경험 근거 위에서 재설계한다. v1이 확정한 dual-portal 정보구조와
Lost Update 단일 주제 범위를 기정사실로 두지 않고, 정보구조·상호작용·제품 범위를 다시 발산해
결정한다.
lineage:
supersedes-parent-workflow: hyeonworks-vnext-v1
reason: >-
v1 부모 원장에 design-direction-approval(child=hyeonworks-vnext-v1-direction)이 이미 기록돼
있어 같은 부모에서 새 방향 사이클을 finalize할 수 없다(기존 approval 충돌 검사). 따라서 신규
부모 계보를 연다. v1 산출물은 삭제하지 않고 비교 기준으로 보존한다.
candidate-family-rationale:
- family-id: FAM-GTM-GROWTH
why: >-
v1 intake의 candidate-families에 이 family가 없어 GTM-CI(competitive-intelligence)가 후보에서
구조적으로 배제됐고, 그 결과 v1 부모 workflow 전체의 외부 근거가 0건이었다. 이번 사이클의
1순위 시정 항목이다.
- family-id: FAM-UX-RESEARCH
why: 학습 경험 재설계의 고객 렌즈. 사용 데이터가 없으므로 정성 리서치가 주 경로다.
- family-id: FAM-STRATEGY
why: 제품 범위·포지셔닝 옵션 발산.
- family-id: FAM-PRODUCT-MGMT
why: 제품 가치·범위 판단 및 독립 리뷰.
- family-id: FAM-ARCHITECTURE-TECH
why: 브라우저 실행 제약(WASM·단일 연결) 하에서 범위 옵션의 실현 가능성 검증.
role-selection-note:
plan-status: ready
engine-selected: [ARCH-APP, STR-ANALYST, DATA-ANALYST, GTM-CI, PROD-PO]
tie-break-applied:
capability: customer-research
engine-suggested: DATA-ANALYST
resolved-to: UX-RESEARCHER
basis: >-
role-selection-scorecard tie-break(동점 시 relevance 우선). 두 역할 모두 FAM-UX-RESEARCH의
customer-research를 덮고 엔진 점수가 total:1 동점이었다. 제품에 사용자·사용 데이터가 없어
정량 분석 대상이 존재하지 않으므로 relevance는 UX-RESEARCHER가 높다. 엔진 산출 DATA-ANALYST는
coverage에 lens 기여가 없어 LENS-CUSTOMER가 미충족으로 남는 문제도 함께 해소된다.
projection-version: 1
decision-summary:
bottom-line: >-
v1을 보존한 채 신규 부모 계보 hyeonworks-vnext-v2를 divergent/standard로 열고, v1에서 누락됐던
경쟁 근거 역할(GTM-CI)을 후보에 포함해 제품 범위와 정보구조를 재발산한다.
recommendation: >-
/ground를 5렌즈+contrarian으로 실행하되 외부 경쟁 근거를 필수로 요구하고, /decide에서 dual-portal을
기정사실이 아닌 후보 중 하나로 재경쟁시킨다.
decision-needed: true
confidence: Med
evidence-index:
- EXEC-CEO-20260718T111108Z
- STR-ANALYST-20260718T110705Z
dissent:
- >-
v1 제품 결정문 자체가 "Dual Portal이 두 제품처럼 보이면 선택 근거가 사라진다"와 "사용자 실측 전에는
두 카드가 시작률을 높이는지 알 수 없다"를 dissent로 남겼다. 이 소수의견은 검증되지 않은 채
released까지 통과했으므로 이번 discovery의 반증 대상으로 승계한다.
open-risks:
- >-
v2도 결정 이후 단계에서만 경쟁 근거를 확보하면 제품 결정 자체는 여전히 얇은 근거 위에 놓인다.
/ground 단계에서 외부 근거를 확보해야 한다.
- >-
범위 확대(단일 주제 → 복수 주제)는 1인 유지부담과 직접 상충한다. 발산 단계에서 옵션별 유지비용을
함께 산출하지 않으면 실행 불가능한 옵션이 선택될 수 있다.
artifact-refs:
- hyeonworks/completion-records/hyeonworks-vnext-v1/EXEC-CEO-20260718T111108Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1/STR-ANALYST-20260718T110705Z.report.yaml
report-header:
bottom-line: >-
v1을 보존한 채 신규 부모 hyeonworks-vnext-v2를 divergent/standard로 열고, v1에서 구조적으로
배제됐던 경쟁 근거 역할(GTM-CI)을 candidate-families에 포함해 제품 범위·정보구조를 재발산한다.
decision-needed: { needed: true, approver: HUMAN-001 }
confidence: { value: Med, derived-from: evidence }
risks:
- 범위 확대와 1인 유지부담의 상충이 발산 단계에서 정량화되지 않으면 실행 불가능한 옵션이 선택될 수 있다.
- company-context가 provisional이라 회사 문맥 기반 주장은 E2 상한에 묶인다.
evidence:
- source-uri: hyeonworks/completion-records/hyeonworks-vnext-v1/EXEC-CEO-20260718T111108Z.report.yaml
grade: E3
note: >-
v1 executive-decision-packet. selected-option-id=OPT-DUAL-PORTAL과 미검증 dissent 2건이
기록돼 있다 — 이번 사이클이 재경쟁시킬 대상.
- source-uri: hyeonworks/completion-records/hyeonworks-vnext-v1/STR-ANALYST-20260718T110705Z.report.yaml
grade: E3
note: >-
v1 grounding-package. evidence 3건이 전부 사내 아티팩트이며 외부 경쟁 근거가 0건이다 —
candidate-families에 FAM-GTM-GROWTH를 넣는 직접 근거.
- source-uri: hyeonworks/state/hyeonworks-vnext-v1/workflow.yaml
grade: E3
note: >-
부모 원장에 design-direction-approval이 기록돼 있고 stage=released다. 같은 부모에서 새 방향
사이클을 닫을 수 없어 신규 계보가 필요하다는 근거.
- source-uri: org-os/01-company/company-context.yaml
grade: E2
note: status=provisional. 회사 문맥 인용은 E2/Med 상한.
@@ -0,0 +1,69 @@
report-type: workflow-artifact
artifact-kind: workload-profile
artifact-version: 1
identity:
artifact-id: EXEC-CEO-20260720T110616Z
workflow-id: hyeonworks-vnext-v2
stage: intake
producer-role-id: EXEC-CEO
created-at: 20260720T110616Z
attempt-id: 1
payload:
surfaces:
ui: true
public-api: false
persistence: false
infrastructure: false
surface-archetype: interactive-learning
experience-change: major-redesign
risk:
security-bearing: false
data-migration: false
external-side-effect: false
required-capabilities:
- strategy
- customer-research
- competitive-intelligence
- product
- architecture
product-feature: true
projection-version: 1
decision-summary:
bottom-line: >-
UI를 가진 interactive-learning 제품의 major-redesign이므로 experience-foundation이
design-direction보다 먼저 강제되며, discovery wave는 경쟁 근거를 포함한 5 capability로 계획한다.
recommendation: >-
required-capabilities를 discovery wave의 최소 충분 집합으로 유지하고, design·frontend·
information-architecture는 각 후속 stage와 experience-foundation child가 자체 선택하게 둔다.
decision-needed: false
confidence: Med
evidence-index:
- EXEC-CEO-20260720T110525Z
dissent: []
open-risks:
- >-
required-capabilities를 discovery 범위로 좁혔으므로 design·information-architecture·frontend
커버리지는 후속 stage에서 별도로 보장해야 한다. 이 프로필만으로는 그 단계의 충분성을 주장하지 않는다.
artifact-refs:
- hyeonworks/completion-records/hyeonworks-vnext-v2/EXEC-CEO-20260720T110525Z.report.yaml
report-header:
bottom-line: >-
surfaces.ui=true · surface-archetype=interactive-learning · experience-change=major-redesign으로
판정한다. 이 조합은 experience-foundation을 design-direction 선행으로 강제한다.
decision-needed: { needed: false, approver: null }
confidence: { value: Med, derived-from: evidence }
risks:
- discovery 범위로 좁힌 capability 집합이므로 후속 stage 커버리지는 별도 보장이 필요하다.
evidence:
- source-uri: hyeonworks/app/index.html
grade: E3
note: >-
v1이 released한 실물 UI. surfaces.ui=true와 interactive-learning archetype의 직접 근거이며,
이번 작업이 신규 제품이 아니라 기존 릴리스의 major-redesign임을 보인다.
- source-uri: hyeonworks/completion-records/hyeonworks-vnext-v2/EXEC-CEO-20260720T110525Z.report.yaml
grade: E3
note: 같은 intake의 decision-brief. mode/tier/candidate-families 선언과 정합.
- source-uri: hyeonworks/app/package.json
grade: E3
note: >-
런타임 의존성 0의 browser-local 정적 앱. public-api·persistence·infrastructure 모두 false인 근거.
@@ -0,0 +1,73 @@
report-type: workflow-artifact
artifact-kind: workload-profile
artifact-version: 1
identity:
artifact-id: EXEC-CEO-20260720T110657Z
workflow-id: hyeonworks-vnext-v2
stage: intake
producer-role-id: EXEC-CEO
created-at: 20260720T110657Z
attempt-id: 1
supersedes-report-id: EXEC-CEO-20260720T110616Z
payload:
surfaces:
ui: true
public-api: false
persistence: false
infrastructure: false
surface-archetype: interactive-learning
experience-change: major-redesign
risk:
security-bearing: false
data-migration: false
external-side-effect: false
required-capabilities:
- strategy
- customer-research
- competitive-intelligence
- product
- architecture
product-feature: true
projection-version: 1
decision-summary:
bottom-line: >-
UI를 가진 interactive-learning 제품의 major-redesign이므로 experience-foundation이
design-direction보다 먼저 강제되며, discovery wave는 경쟁 근거를 포함한 5 capability로 계획한다.
recommendation: >-
required-capabilities를 discovery wave의 최소 충분 집합으로 유지하고, design·frontend·
information-architecture는 각 후속 stage와 experience-foundation child가 자체 선택하게 둔다.
decision-needed: false
confidence: Med
evidence-index:
- EXEC-CEO-20260720T110525Z
dissent: []
open-risks:
- >-
required-capabilities를 discovery 범위로 좁혔으므로 design·information-architecture·frontend
커버리지는 후속 stage에서 별도로 보장해야 한다. 이 프로필만으로는 그 단계의 충분성을 주장하지 않는다.
revision-note: >-
EXEC-CEO-20260720T110616Z의 evidence[0] source-uri가 미실존 경로(hyeonworks/app/index.html)였다.
validate_report가 허위 근거로 차단했고, 실제 산출물 경로(hyeonworks/app/dist/index.html)로 교정했다.
artifact-refs:
- hyeonworks/completion-records/hyeonworks-vnext-v2/EXEC-CEO-20260720T110525Z.report.yaml
report-header:
bottom-line: >-
surfaces.ui=true · surface-archetype=interactive-learning · experience-change=major-redesign으로
판정한다. 이 조합은 experience-foundation을 design-direction 선행으로 강제한다.
decision-needed: { needed: false, approver: null }
confidence: { value: Med, derived-from: evidence }
risks:
- discovery 범위로 좁힌 capability 집합이므로 후속 stage 커버리지는 별도 보장이 필요하다.
evidence:
- source-uri: hyeonworks/app/dist/index.html
grade: E3
note: >-
v1이 released한 실물 UI 엔트리. surfaces.ui=true와 interactive-learning archetype의 직접
근거이며, 이번 작업이 신규 제품이 아니라 기존 릴리스의 major-redesign임을 보인다.
- source-uri: hyeonworks/completion-records/hyeonworks-vnext-v2/EXEC-CEO-20260720T110525Z.report.yaml
grade: E3
note: 같은 intake의 decision-brief. mode/tier/candidate-families 선언과 정합.
- source-uri: hyeonworks/app/package.json
grade: E3
note: >-
런타임 의존성 0의 browser-local 정적 앱. public-api·persistence·infrastructure 모두 false인 근거.
@@ -0,0 +1,84 @@
report-type: workflow-artifact
artifact-kind: workload-profile
artifact-version: 1
identity:
artifact-id: EXEC-CEO-20260720T110814Z
workflow-id: hyeonworks-vnext-v2
stage: intake
producer-role-id: EXEC-CEO
created-at: 20260720T110814Z
attempt-id: 1
supersedes-report-id: EXEC-CEO-20260720T110657Z
payload:
surfaces:
ui: true
public-api: false
persistence: false
infrastructure: false
surface-archetype: interactive-learning
experience-change: major-redesign
risk:
security-bearing: false
data-migration: false
external-side-effect: false
risk-level: Low
reversibility: two-way-door
blast-radius: single-role
privacy: false
regulatory: false
slo-impact: false
required-capabilities:
- strategy
- customer-research
- competitive-intelligence
- product
- architecture
product-feature: true
projection-version: 1
decision-summary:
bottom-line: >-
UI를 가진 interactive-learning 제품의 major-redesign이므로 experience-foundation이
design-direction보다 먼저 강제되며, discovery wave는 경쟁 근거를 포함한 5 capability로 계획한다.
recommendation: >-
required-capabilities를 discovery wave의 최소 충분 집합으로 유지하고, design·frontend·
information-architecture는 각 후속 stage와 experience-foundation child가 자체 선택하게 둔다.
decision-needed: false
confidence: Med
evidence-index:
- EXEC-CEO-20260720T110525Z
dissent: []
open-risks:
- >-
required-capabilities를 discovery 범위로 좁혔으므로 design·information-architecture·frontend
커버리지는 후속 stage에서 별도로 보장해야 한다. 이 프로필만으로는 그 단계의 충분성을 주장하지 않는다.
revision-note: >-
110616Z는 evidence source-uri 미실존(hyeonworks/app/index.html)으로 validate_report에 차단됐고,
110657Z는 risk 필수 필드(risk-level·reversibility·blast-radius·privacy·regulatory·slo-impact)
누락으로 submit-artifact 스키마 게이트에 차단됐다. 이 revision이 두 결함을 모두 교정한다.
artifact-refs:
- hyeonworks/completion-records/hyeonworks-vnext-v2/EXEC-CEO-20260720T110525Z.report.yaml
report-header:
bottom-line: >-
surfaces.ui=true · surface-archetype=interactive-learning · experience-change=major-redesign으로
판정한다. 이 조합은 experience-foundation을 design-direction 선행으로 강제한다.
decision-needed: { needed: false, approver: null }
confidence: { value: Med, derived-from: evidence }
risks:
- discovery 범위로 좁힌 capability 집합이므로 후속 stage 커버리지는 별도 보장이 필요하다.
- >-
risk-level=Low는 사용자·매출·개인정보 노출이 없는 현재 상태 기준이다. 범위 확대 옵션이 서버·
계정·데이터 수집을 도입하면 이 판정은 재검토 대상이다.
evidence:
- source-uri: hyeonworks/app/dist/index.html
grade: E3
note: >-
v1이 released한 실물 UI 엔트리. surfaces.ui=true와 interactive-learning archetype의 직접
근거이며, 이번 작업이 신규 제품이 아니라 기존 릴리스의 major-redesign임을 보인다.
- source-uri: hyeonworks/completion-records/hyeonworks-vnext-v2/EXEC-CEO-20260720T110525Z.report.yaml
grade: E3
note: 같은 intake의 decision-brief. mode/tier/candidate-families 선언과 정합.
- source-uri: hyeonworks/app/package.json
grade: E3
note: >-
런타임 의존성 0의 browser-local 정적 앱. public-api·persistence·infrastructure=false와
blast-radius=single-role·privacy/regulatory/slo-impact=false의 근거.
@@ -0,0 +1,460 @@
report-type: workflow-artifact
artifact-kind: competitive-market-grounding
artifact-version: 1
tier: standard
identity:
artifact-id: GTM-CI-20260720T115855Z
workflow-id: hyeonworks-vnext-v2
stage: discovery
producer-role-id: GTM-CI
created-at: 20260720T115855Z
attempt-id: 1
payload:
assigned-lens: LENS-REVENUE
producer-run-id: hyeonworks-vnext-v2-discovery-gtm-ci-20260720T115755Z
context-package-ref: hyeonworks/state/context-packages/hyeonworks-vnext-v2/gtm-ci-20260720T115755Z.pkg.yaml
context-package-sha256: e533d781dc0ed8341e4d1fef2a608fd6a9144e40b34b3f802b15f2f61ce6aec7
research-note: >-
v1 부모 workflow(STR-ANALYST-20260718T110705Z)는 evidence 3건이 전부 사내 아티팩트였고 외부
경쟁 근거가 0건이었다. 이번 pack은 WebSearch/WebFetch로 오늘(2026-07-20) 실제 접속해 확인한
9개 실명 competitor/substitute를 direct/adjacent/substitute 3개 class로 접지한다. 각 옵션(A/B/C)은
이 하나의 pack 위에서만 평가하고 옵션별 추가 조사를 하지 않았다. hyeonworks 자체 사용자 행동
데이터(GA/전환/설문)는 없으므로 모든 유입·반복방문·수익 가설은 외부 사례에서 도출한 유추(E2)다.
competitors-and-substitutes:
- name: "The Deadlock Empire"
type: competitor
class: direct
product-form: >-
브라우저 인터랙티브 퍼즐 게임. 사용자가 스케줄러 역할을 맡아 멀티스레드 프로그램의 명령을
한 단계씩 실행하며 데드락이나 critical-section 동시 진입 같은 금지된 상태를 스스로 유발한다.
content-unit: "16개 동시성 챌린지(레벨) 캠페인 — 단일 도메인(락·데드락) 카탈로그"
interaction-model: >-
원자적이지 않은 명령(load/store 등)까지 쪼개 한 단계씩 실행·되돌리기하며 스레드 스케줄링을
직접 조작한다. Predict(사전 가설)나 Explain(사후 인과 서술) 단계는 없다.
paywall: "무료 — 결제·로그인·광고 없음"
evidence-urls:
- https://deadlockempire.github.io/
- https://github.com/deadlockempire/deadlockempire.github.io
confirmed-at: "2026-07-20"
- name: "The Secret Lives of Data — Raft"
type: competitor
class: direct
product-form: "단일 페이지 explorable explanation(스크롤/클릭 연동 애니메이션)"
content-unit: "단일 메커니즘(Raft 합의 알고리즘) 하나만 best-case/worst-case 시나리오로 깊게 다룸"
interaction-model: >-
리더 선출·로그 복제를 애니메이션으로 재생·일시정지하며 관찰한다. 사용자가 값을 먼저
예측하거나 결과를 자기 언어로 설명하는 단계는 없는 관찰자 모드에 가깝다.
paywall: "무료"
evidence-urls:
- https://thesecretlivesofdata.com/raft/
confirmed-at: "2026-07-20"
- name: "Jepsen — Consistency Models"
type: substitute
class: adjacent
product-form: "정적 레퍼런스 사이트(내비게이션 + 텍스트 + 다이어그램). 상태를 조작하는 인터랙션 없음"
content-unit: "일관성 모델·현상(phenomena) 전체를 아우르는 카탈로그형 참고자료"
interaction-model: "읽기 전용 문서 탐색. 사용자가 상태를 조작하거나 예측/비교하지 않는다."
paywall: "레퍼런스 자체는 무료. 별도 Jepsen 컨설팅/테스트 서비스(Services)는 유료로 시사됨"
evidence-urls:
- https://jepsen.io/consistency
- https://jepsen.io/consistency/models
confirmed-at: "2026-07-20"
- name: "CodeCrafters"
type: competitor
class: adjacent
product-form: >-
실제 프로덕션급 도구(Redis/Git/SQLite 등)를 처음부터 코드로 구현하는 IDE 연동 챌린지 플랫폼.
git push 시 자동 테스트(Turbo tests)로 즉시 피드백을 준다.
content-unit: "11개 주요 챌린지 카탈로그(Git/Redis/Shell/Kafka/SQLite/DNS/BitTorrent 등), 챌린지별 단계형 구조"
interaction-model: >-
로컬에서 실제 코드를 작성해 프로토콜/명령을 구현하고 자동 테스트를 통과시키는 방식이다.
Predict/Observe/Compare/Explain 같은 개념 학습 단계는 없고 구현 성공 여부로 학습을 확인한다.
paywall: "무료 티어(제한적) + 유료 멤버십(3개월/연간/평생) + 5인 이상 팀 플랜(연간 결제)"
evidence-urls:
- https://codecrafters.io/pricing
- https://app.codecrafters.io/courses/redis/overview
confirmed-at: "2026-07-20"
- name: "VisuAlgo"
type: competitor
class: adjacent
product-form: "웹 기반 알고리즘/자료구조 애니메이션 시각화 도구(NUS 제작, 2011년부터 운영)"
content-unit: "26개 이상 알고리즘·자료구조 주제 카탈로그, 주제별 e-Lecture 모드 포함"
interaction-model: "단계별 애니메이션 재생 + 커스텀 입력으로 직접 조작 가능. causal '왜' 설명은 약함"
paywall: "완전 무료, 로그인 불필요"
evidence-urls:
- https://visualgo.net/en
confirmed-at: "2026-07-20"
- name: "Use The Index, Luke"
type: substitute
class: substitute
product-form: "무료 웹북(정적 텍스트 + SQL 코드 스니펫). 유료 인쇄판은 별도 판매"
content-unit: "SQL 인덱싱·성능 주제를 다루는 챕터형 책 전체(Oracle/MySQL/PostgreSQL/SQL Server/Db2 벤더 중립)"
interaction-model: "읽기 전용. '3분 SQL 스킬 진단' 퀴즈 외에는 상태 시각화·시뮬레이션이 없다."
paywall: "웹 버전 무료. 인쇄본/전자책(SQL Performance Explained)은 유료 구매"
evidence-urls:
- https://use-the-index-luke.com/
confirmed-at: "2026-07-20"
- name: "CMU 15-445 Database Systems + BusTub"
type: substitute
class: substitute
product-form: "대학 강의 영상(YouTube 전체 공개) + 실제 C++ 데이터베이스 구현 프로젝트(BusTub)"
content-unit: >-
26개 강의 + 4개 대형 프로젝트(버퍼풀 매니저 / B+Tree 인덱스 / 쿼리 실행기 /
동시성 제어·락 매니저) 전체 학기 커리큘럼
interaction-model: >-
영상 시청(수동)과 자기 PC에서 실제 C++ 코드로 락 매니저·격리 프로토콜까지 구현하는
중자산(heavy) 실습이 결합된 방식. 정식 자동채점(Gradescope)은 등록 학생 전용이다.
paywall: "강의·코드 다운로드는 전부 무료. 정식 채점만 비공개"
evidence-urls:
- https://15445.courses.cs.cmu.edu/
- https://www.youtube.com/playlist?list=PLSE8ODhjZXjYMAgsGH-GtY5rJYZ6zjsd5
confirmed-at: "2026-07-20"
- name: "Brilliant.org"
type: competitor
class: adjacent
product-form: "수학·과학·CS 전반을 다루는 인터랙티브 학습 구독 플랫폼(웹/모바일)"
content-unit: "다수 코스 카탈로그. 코스당 챕터 구조이며 비로그인/무료는 코스당 첫 챕터만 공개"
interaction-model: "짧은 인터랙티브 퀴즈·조작형 위젯 단위 학습 + 일일 챌린지로 재방문을 유도"
paywall: "월 $27.99 또는 연 $161.88(월 환산 $13.49) 구독. 가족 플랜 별도. 7일 무료체험"
evidence-urls:
- https://brilliant.org/subscribe/
- https://brilliant.org/courses/
confirmed-at: "2026-07-20"
- name: "PostgreSQL 공식 문서 — Transaction Isolation"
type: substitute
class: substitute
product-form: "공식 정적 텍스트 문서(격리수준×이상현상 매트릭스 표 + SQL 예시)"
content-unit: "단일 문서 페이지. Lost Update는 별도 용어로 명명되지 않고 이상현상 설명에 암묵 포함"
interaction-model: "읽기 전용. 표와 SQL 예시뿐이며 상태 변화를 조작하거나 인과를 단계별로 설명하지 않는다."
paywall: "무료"
evidence-urls:
- https://www.postgresql.org/docs/current/transaction-iso.html
confirmed-at: "2026-07-20"
current-alternatives:
- alternative: "공식 데이터베이스 문서 정독(예: PostgreSQL Transaction Isolation)"
evidence-url: https://www.postgresql.org/docs/current/transaction-iso.html
- alternative: "Stack Overflow 등 커뮤니티 Q&A에서 유사 증상 검색"
- alternative: "동료에게 질문하거나 화면 공유로 페어 디버깅"
- alternative: "책(예: Designing Data-Intensive Applications류) 정독을 통한 정적 텍스트 학습 — 이번 pack에서 URL로 개별 검증하지 않음, 일반 통념으로만 인용(E1)"
- alternative: "hyeonworks v1 자체 released 제품(Dual Portal, 단일 Lost Update 주제) — 사내 status quo"
evidence-path: hyeonworks/app/README.md
strengths-weaknesses:
- subject: "The Deadlock Empire"
strengths:
- "능동적 조작으로 동시성 버그를 스스로 유발하는 몰입감 높은 상호작용"
- "무료·가입 불필요로 진입장벽이 낮음"
- "2016년 해커톤 이후 HN 등 개발자 커뮤니티에서 자발적으로 회자된 바이럴 사례"
weaknesses:
- "원인→결과를 언어로 설명(explain)하거나 기대값·관찰값을 대조하는 단계가 없어 causal reasoning 언어화가 약함"
- "새 사례로 전이(transfer)하는 후속 연습이 없음"
- "카탈로그가 2016년 이후 크게 갱신되지 않아 최신성 신호가 약함"
- subject: "The Secret Lives of Data — Raft"
strengths:
- "단일 메커니즘을 best/worst-case 시나리오로 나눠 시각적으로 깊게 보여주는 서사 구조"
- "스크롤 연동 애니메이션이 기억에 남는 설명 방식으로 널리 인용됨"
weaknesses:
- "수동 재생 위주라 사용자가 직접 예측·조작하지 않는 관찰자 모드에 가까움"
- "단일 페이지 이후 재방문을 유도할 후속 콘텐츠가 없음"
- subject: "Jepsen — Consistency Models"
strengths:
- "일관성 모델 전체를 아우르는 권위 있는 카탈로그형 레퍼런스로 업계 표준 용어의 근거로 자주 인용됨"
weaknesses:
- "인터랙티브 조작이 없는 정적 텍스트+다이어그램이라 상태를 직접 조작하며 배우기 어려움"
- "실무자 대상 사전지식을 요구해 입문 난이도가 높음"
- subject: "CodeCrafters"
strengths:
- "실제 프로덕션급 도구를 처음부터 구현해 확신(confidence)을 준다는 창업자 인터뷰의 핵심 가치제안"
- "git push 즉시 자동 테스트로 피드백 루프가 빠름"
- "400K+ 사용자, GitHub 'build-your-own-x' 레포 50만 스타 수준의 높은 인지도"
weaknesses:
- "코드 작성이 전제조건이라 진입장벽이 높고 '개념/증상만 아는' 사용자에게는 부적합"
- >-
4년 이상 운영 후 "the gap between people love it and people pay for it"을 좁히지
못했다며 신규 챌린지 개발을 공식 중단(2026 블로그) — 참여도(사랑받음)와 지불의사(과금)
사이 괴리가 breadth-catalog·프리미엄 모델의 핵심 리스크임을 실증하는 사례
- subject: "VisuAlgo"
strengths:
- "26개 이상 주제의 폭넓은 카탈로그로 검색 트래픽을 다각화"
- "무료·무로그인으로 접근장벽이 없고 10년 이상 운영되며 대학 강의 표준 자료로 정착"
weaknesses:
- "알고리즘/자료구조 도메인에 한정돼 있어 동시성/트랜잭션 같은 시스템 상태 개념에 적용된 직접 사례가 없음"
- "e-Lecture 모드 외에는 causal '왜' 설명이 약하고 애니메이션 관찰 위주"
- subject: "Use The Index, Luke"
strengths:
- "벤더 중립적으로 5개 DB를 아우르는 권위 있는 무료 텍스트"
- "다국어 번역으로 도달 범위가 넓음"
weaknesses:
- "정적 텍스트라 문제공간이 지적하는 한계('정적 문서만으로 이해하기 어려움')를 그대로 가짐"
- "상태 변화를 직접 조작·비교하는 인터랙션이 없음"
- subject: "CMU 15-445 Database Systems + BusTub"
strengths:
- "동시성 제어(Project 4)까지 포함한 대학 수준의 완전한 무료 커리큘럼"
- "실제 C++ 코드로 락 매니저를 구현하는 매우 높은 깊이"
weaknesses:
- "강의+대형 프로젝트 완주에 수십 시간이 필요해 진입장벽·시간비용이 매우 높음"
- "정식 채점(Gradescope)이 등록 학생 전용이라 일반 개발자는 자기 검증 피드백이 약함"
- subject: "Brilliant.org"
strengths:
- "짧은 인터랙티브 퀴즈 단위로 매일 재방문을 유도하는 습관 형성 루프"
- "연 $161.88 구독이 실제로 매출을 내는 검증된 모델"
- "카탈로그 규모 자체가 구독 정당화 근거가 될 만큼 큼"
weaknesses:
- "CS 특정 시스템 주제(트랜잭션/동시성) 깊이보다 수학/과학 대중 교양 폭에 최적화"
- "무료는 코스당 1챕터로 제한돼 초기 신뢰 형성 전 이탈 위험"
- subject: "PostgreSQL 공식 문서 — Transaction Isolation"
strengths:
- "가장 권위 있고 무료이며 버전별로 항상 최신 상태"
- "실무자가 실제로 가장 먼저 찾는 기본 status quo"
weaknesses:
- "Lost Update가 별도 용어로 명명되지 않고 이상현상 설명에 암묵적으로만 포함돼 개념-증상 연결이 약함(고정 문제공간 정의 자체를 실증)"
- "표와 SQL 예시뿐이라 인과 설명이 없음"
differentiation-hypotheses:
- >-
Deadlock Empire·Secret Lives of Data처럼 상호작용은 있지만 causal explain·전이 단계가 없는
direct 대체재와 달리, Predict→Observe→Compare→Explain→Transfer 5단계 루프 전체를 갖춘 제품은
확인된 9개 근거 중 없다 — 이 루프 완결성이 차별화 지점이 될 수 있다는 가설(미검증).
- >-
PostgreSQL 공식문서·Use The Index Luke 같은 정적 문서는 Lost Update를 별도 개념으로 명명조차
하지 않는다 — '증상에서 시작해 원인을 추적'하는 진입 경로 자체가 시장에 상대적으로 비어있다는
가설(단, 그 진입 경로에 대한 수요 존재는 미검증).
- >-
CodeCrafters·CMU 15-445는 실제 코드 작성을 요구해 진입장벽이 매우 높다 — 코드 작성 없이 상태를
조작하며 인과를 배우는 포지션은 '개념/증상만 아는' 개발자 세그먼트에서 상대적으로 비어있다는 가설.
- >-
VisuAlgo·Brilliant는 카탈로그 폭으로 검색 트래픽을 다각화했지만, 시스템 동시성/트랜잭션
도메인에 특화된 카탈로그 경쟁자는 이번 조사에서 확인되지 않았다 — breadth 확장 시 도메인
특화가 차별화가 될 수 있다는 가설.
- >-
경계 가설(differentiation이 아니라 risk-bounding): CodeCrafters 사례(400K+ 사용자·GitHub 50만
스타에도 수익화 실패로 신규 개발 중단)는 참여도가 곧 지불의사로 전환되지 않음을 보여준다.
ground-boundary의 under-review 항목("반복 방문 가치", "배포 및 향후 유료 가치")을 낙관적으로
가정하려면 이 반증 사례를 반박할 별도 근거가 필요하다.
evidence-urls:
- https://deadlockempire.github.io/
- https://github.com/deadlockempire/deadlockempire.github.io
- https://thesecretlivesofdata.com/raft/
- https://jepsen.io/consistency
- https://jepsen.io/consistency/models
- https://codecrafters.io/pricing
- https://app.codecrafters.io/courses/redis/overview
- https://codecrafters.io/blog/pausing-new-challenges
- https://visualgo.net/en
- https://use-the-index-luke.com/
- https://15445.courses.cs.cmu.edu/
- https://www.youtube.com/playlist?list=PLSE8ODhjZXjYMAgsGH-GtY5rJYZ6zjsd5
- https://brilliant.org/subscribe/
- https://brilliant.org/courses/
- https://www.postgresql.org/docs/current/transaction-iso.html
option-evaluations:
- option-id: OPT-A-DEPTH-FIRST
label: "Depth-first flagship"
current-alternatives-and-competitors: >-
오늘 이 문제를 겪는 개발자는 공식 문서(PostgreSQL 문서)나 책을 읽거나, Deadlock Empire류
인터랙티브 퍼즐, Secret Lives of Data류 explorable로 단일 메커니즘을 학습한다. 가장 가까운
direct 경쟁자는 Deadlock Empire(상호작용은 있으나 explain 단계 없음)와 Secret Lives of Data
(설명은 깊으나 관찰자 모드)이며, Jepsen consistency는 같은 도메인의 substitute 레퍼런스다.
differentiation-hypothesis: >-
두 direct 경쟁자 모두 갖추지 못한 predict-compare-explain-transfer 전체 루프가 depth-first의
차별화 지점이 될 수 있다(미검증 가설).
acquisition-hypothesis: >-
단일 주제 depth 제품은 SEO/공유 키워드가 좁아 초기 유입 채널이 협소할 위험이 있다. Deadlock
Empire는 2016년 HN 게시로 일회성 트래픽 급증 후 눈에 띄는 재확산 신호가 없다(같은 해커톤
기원 이후 콘텐츠 갱신이 뜸함) — depth-first 단독으로는 반복적 외부 유입 채널 확보가 어려울
수 있다는 유추.
retention-hypothesis: >-
완성 콘텐츠가 1개뿐이면 재방문 유인이 약하다. Secret Lives of Data(Raft)도 단일 페이지 이후
후속 콘텐츠가 없어 재방문 유인이 없는 동일 패턴을 보인다 — depth-first 단독 유지 시 반복
방문 가치는 '전이(transfer)' 연습이나 신규 사례 추가로만 확보될 수 있다는 가설.
revenue-hypothesis: >-
무료 단일 콘텐츠는 CodeCrafters/Brilliant류 구독 모델의 전제인 '카탈로그 규모'가 없어
유료화 근거가 약하다 — depth-first는 초기엔 무료 브랜드 자산으로 포지셔닝하고 수익화는
카탈로그 확장 이후로 지연될 가능성이 높다는 가설.
evidence-refs:
- "The Deadlock Empire (https://deadlockempire.github.io/)"
- "The Secret Lives of Data — Raft (https://thesecretlivesofdata.com/raft/)"
- "Jepsen — Consistency Models (https://jepsen.io/consistency)"
unresolved-assumptions:
- "단일 심층 주제만으로 개발자 커뮤니티에서 재확산(바이럴)될지는 실측 없이 유추한 것이다."
- "Lost Update가 Raft/데드락 수준의 대중적 인지도를 가진 주제인지 확인되지 않았다."
kill-criteria:
- "3개월 내 외부 링크(HN/Reddit/X) 경유 유입이 없고 오가닉 검색 세션이 주당 10 미만이면 depth-first 단독 유입 전략을 재검토한다."
- "완주자 대상 재방문(2주 내)이 5% 미만이면 반복방문 가치 가정을 기각한다."
- option-id: OPT-B-BREADTH-CATALOG
label: "Breadth-first structured catalog"
current-alternatives-and-competitors: >-
VisuAlgo(알고리즘 26+주제 무료 카탈로그), CodeCrafters(시스템 도구 11개 유료 카탈로그),
Brilliant.org(수학/과학/CS 다과목 구독 카탈로그), CMU 15-445(프로젝트 시퀀스 커리큘럼)가
모두 breadth-catalog 패턴의 실명 경쟁·인접 대체재다.
differentiation-hypothesis: >-
VisuAlgo는 알고리즘, Brilliant는 범용 STEM에 최적화돼 있고 시스템 동시성/트랜잭션 도메인에
특화된 카탈로그 경쟁자는 확인되지 않았다 — 도메인 특화 breadth가 white space일 수 있다는
가설이나, CodeCrafters가 이미 인접 영역(Redis/Git/SQLite 직접 구현)을 유료로 채우고 있어
여백이 생각보다 좁을 수 있다.
acquisition-hypothesis: >-
카탈로그형은 주제별로 각각 SEO 키워드를 얻어 총 유입 채널이 다각화된다(VisuAlgo가 26+
주제로 광범위 검색 트래픽을 확보한 사례) — breadth가 유입 채널 다각화에 유리하다는 가설.
retention-hypothesis: >-
카탈로그는 '다음 주제' 진행형 재방문 구조를 만들 수 있다(CodeCrafters 챌린지 시퀀스,
Brilliant 코스 이어보기·일일 챌린지). 단, 1인 운영으로 카탈로그를 계속 채우지 못하면
재방문 유인이 끊긴다는 상충 리스크가 있다(운영비용 자체는 이 lens 밖이나 수익가설의 전제조건).
revenue-hypothesis: >-
카탈로그 존재가 구독형 과금의 전제조건으로 보인다(Brilliant $27.99/mo·$161.88/yr, CodeCrafters
유료 멤버십). 그러나 CodeCrafters는 11개 챌린지 카탈로그·400K+ 사용자·GitHub 50만 스타의
높은 참여도에도 "수익화 구조 부재"로 4년 만에 신규 개발을 중단했다 — 카탈로그 breadth가
곧 수익 전환을 보장하지 않는다는 강한 반증이다. breadth 자체보다 초기부터 명확한 지불
전환 지점 설계가 선행돼야 한다는 가설.
evidence-refs:
- "VisuAlgo (https://visualgo.net/en)"
- "CodeCrafters pricing (https://codecrafters.io/pricing)"
- "CodeCrafters — 신규 챌린지 중단 (https://codecrafters.io/blog/pausing-new-challenges)"
- "Brilliant.org subscribe (https://brilliant.org/subscribe/)"
unresolved-assumptions:
- "동시성/트랜잭션 도메인에서 카탈로그가 몇 개 주제 규모여야 구독 전환이 발생하는지 실측이 없다."
- "1인 운영으로 카탈로그 제작 속도가 유입 성장 속도를 따라갈 수 있는지 확인되지 않았다(운영 렌즈 소관이나 수익가설의 전제)."
kill-criteria:
- "카탈로그 3개 주제 이후에도 재방문율(2주 내 재방문)이 depth-first 단일 버전 대비 개선되지 않으면 breadth의 반복방문 가설을 기각한다."
- "CodeCrafters 사례처럼 참여 지표(완주율·체류시간)는 높으나 12개월 내 지불의사 신호(사전등록·유료 문의)가 전무하면 breadth-first의 수익 가설을 기각한다."
- option-id: OPT-C-CATEGORY-REDEF
label: "Category redefinition"
current-alternatives-and-competitors: >-
카테고리 자체를 재정의한다는 것은 A/B 패턴에 속한 위 8개 제품 전체를 '현재 카테고리'로
간주하고 그 카테고리 밖의 형태를 찾는 것이다. 확인된 공통 약점: Jepsen은 정적이라 상호작용이
없고, Deadlock Empire·Raft explorable은 상호작용은 있으나 causal explain·transfer가 없으며,
CodeCrafters·CMU 15-445는 실제 코드 작성을 요구해 진입장벽이 매우 높고, VisuAlgo·Brilliant는
도메인이 알고리즘/범용 STEM에 국한된다.
differentiation-hypothesis: >-
'코드 작성 없이 상태를 직접 조작하며 causal reasoning을 언어화하는' 카테고리는 9개 근거
어디에도 명시적으로 존재하지 않는다는 gap 가설. 단, 이 gap이 실제 시장 기회인지 단순 비수요
(아무도 원하지 않아 아무도 안 만들었다)인지는 이번 조사로 구분할 수 없다.
acquisition-hypothesis: >-
새 카테고리는 기존 검색어(예: "concurrency game", "sql performance", "algorithm visualizer")에
올라타지 못한다는 리스크가 가장 크다. 확인된 9개 레퍼런스 전부가 기존 카테고리 키워드
(게임/비주얼라이제이션/북/코스/챌린지)로 발견됐으므로, 재정의 카테고리는 새 용어 자체를
처음부터 만들어야 해 세 옵션 중 가장 느린 유입 가설을 갖는다.
retention-hypothesis: >-
카테고리가 불명확하면 사용자가 제품을 '무엇'이라 부를지 몰라 공유·추천이 어려워지고, 이는
반복방문·바이럴 유입 모두에 불리하다는 간접 가설(근거: v1 자체 dissent "Dual Portal이 두
제품처럼 보이면 선택 근거가 사라진다"가 명료성 리스크의 선례).
revenue-hypothesis: >-
카테고리가 시장에 없다는 것은 비교 가능한 가격 기준점(pricing anchor)도 없다는 뜻이다.
Brilliant/CodeCrafters 같은 기존 카테고리의 가격 신호를 그대로 차용할 수 없어, 수익 가설
자체를 세울 근거가 세 옵션 중 가장 약하다.
evidence-refs:
- "Jepsen — Consistency Models (https://jepsen.io/consistency)"
- "The Deadlock Empire (https://deadlockempire.github.io/)"
- "CodeCrafters pricing (https://codecrafters.io/pricing)"
- "VisuAlgo (https://visualgo.net/en)"
unresolved-assumptions:
- "재정의된 카테고리에 대한 검색 수요 자체가 존재하는지 전혀 확인되지 않았다(세 옵션 중 가장 큰 미검증 가정)."
- "기존 카테고리 부재가 시장 기회인지 단순 비수요인지 이번 조사만으로는 구분되지 않는다."
kill-criteria:
- "재정의 후 새 카테고리 용어로 첫 방문자에게 제품을 설명했을 때 5명 중 3명 이상이 무엇을 하는 제품인지 자력으로 설명하지 못하면 category redefinition을 기각한다."
- "출시 후 6주 내 자연 검색·추천 공유가 0에 가깝고 유료 채널(광고) 없이는 유입이 전무하면 재정의 자체가 시장에 존재하지 않는 카테고리임을 인정하고 기각한다."
conditional-option-d:
proposed: false
admission-rule-checked: >-
ground-boundary.yaml의 admission-rule: "조사 근거에서 독립적으로 도출될 경우에만 추가한다.
A와 B를 절충했다는 이유만으로 hybrid를 기본 추천하지 않는다."를 이 pack의 근거에 대조했다.
rationale: >-
staged 전략(먼저 depth-first로 단일 주제를 검증한 뒤 breadth-catalog로 확장)의 실제 사례로
CodeCrafters를 검토했으나, 창업자 인터뷰(TechCrunch/Y Combinator 자료)에 따르면 CodeCrafters는
단일 챌린지에서 출발해 단계적으로 확장한 것이 아니라 **출시 시점부터 4개 챌린지로 동시에
시작**했다. 즉 "먼저 하나로 증명한 뒤 넓힌다"는 staging 서사는 가장 근접한 실사례에서
확인되지 않았다 — 오히려 그 CodeCrafters조차 breadth를 갖춘 채로도 4년 뒤 수익화 실패로
신규 개발을 중단했다는 사실은, 문제가 'A냐 B냐 순서'가 아니라 두 옵션 모두에서 수익 전환
설계가 별도로 필요하다는 것을 시사한다. 이는 A/B의 절충이 아니라 A와 B 각각의 독립적인
약점이므로, staged 옵션(D)을 정당화하는 독립 근거가 되지 못한다. 따라서 D는 제안하지 않는다
("D 미제안").
evidence-refs:
- "CodeCrafters — 신규 챌린지 중단 (https://codecrafters.io/blog/pausing-new-challenges)"
- "CodeCrafters Y Combinator 프로필 (https://www.ycombinator.com/companies/codecrafters)"
report-header:
bottom-line: >-
실명 경쟁·대체재 9건(direct 2 · adjacent 4 · substitute 3, 전부 2026-07-20 실제 접속 확인)을
공통 evidence pack으로 접지해 v1의 외부근거 0건을 시정했다. 이 pack 위에서 OPT-A/B/C를
LENS-REVENUE(유입·반복방문·수익) 관점으로만 평가했고, CodeCrafters가 400K+ 사용자·GitHub
50만 스타의 높은 참여도에도 수익화 실패로 신규 개발을 중단한 사례가 breadth-catalog·구독
수익가설 전반의 핵심 리스크를 실증한다. 조건부 OPT-D는 근거에서 독립적으로 도출되지 않아
제안하지 않는다("D 미제안").
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks:
- "옵션별 유입·반복방문·수익 가설은 전부 외부 사례에서 도출한 유추(E2)이며 hyeonworks 자체 실측 데이터(GA·전환·설문)가 전무하다 — /decide에서 이 가설만으로 확정하지 않아야 한다."
- "CodeCrafters·Brilliant는 카탈로그 성숙기 제품(수년 운영·수십만 사용자)이라 hyeonworks 1인 초기단계로 그대로 스케일 다운한 유추는 규모 차이를 과소평가할 위험이 있다."
- "OPT-C(category redefinition)의 근거는 '기존 카테고리 제품들의 공통 약점'에서 도출한 간접 추론이며, 재정의된 카테고리 자체의 수요는 어떤 근거로도 직접 확인되지 않았다 — 세 옵션 중 가장 낮은 확신도다."
- "company-context가 provisional이라 회사 문맥 인용은 이 보고서에서 사용하지 않았다. 인용한 내부 문서는 전부 hyeonworks 프로젝트 산출물(E3)이며 org-os 회사문맥이 아니다."
evidence:
- source-uri: hyeonworks/design/hyeonworks-vnext-v2/ground-boundary.yaml
grade: E3
note: "mandated-option-set A/B/C(+조건부 D)와 evidence-protocol(공통 pack·외부근거 필수)의 원천."
- source-uri: hyeonworks/completion-records/hyeonworks-vnext-v1/STR-ANALYST-20260718T110705Z.report.yaml
grade: E3
note: "v1 grounding-package. evidence 3건이 전부 사내 아티팩트였고 외부 경쟁 근거가 0건이었음을 직접 확인."
- source-uri: hyeonworks/completion-records/hyeonworks-vnext-v1/EXEC-CEO-20260718T111108Z.report.yaml
grade: E3
note: "v1이 선택한 OPT-DUAL-PORTAL과 미검증 dissent 2건 — 이번 pack 비교의 baseline(계승 아님)."
- source-uri: hyeonworks/app/README.md
grade: E3
note: "v1 released 실물(Dual Portal, 단일 Lost Update 주제) — 사내 현행 status quo 제품."
- source-uri: https://deadlockempire.github.io/
grade: E2
note: "direct competitor — 인터랙티브 동시성 퍼즐 게임, 16챌린지, 무료. 2026-07-20 확인."
- source-uri: https://thesecretlivesofdata.com/raft/
grade: E2
note: "direct competitor — 단일 메커니즘(Raft) explorable explanation, 무료. 2026-07-20 확인."
- source-uri: https://jepsen.io/consistency
grade: E2
note: "substitute/adjacent — 일관성 모델 정적 카탈로그 레퍼런스, 무료. 2026-07-20 확인."
- source-uri: https://codecrafters.io/pricing
grade: E2
note: "adjacent competitor — 시스템 도구 build-your-own-X 카탈로그, 유료 멤버십. 2026-07-20 확인."
- source-uri: https://codecrafters.io/blog/pausing-new-challenges
grade: E2
note: "참여도-수익화 괴리 실증. 400K+ 사용자·GitHub 50만 스타에도 수익화 실패로 신규 챌린지 개발 중단(2026). breadth-catalog 수익가설의 핵심 리스크 근거. 2026-07-20 확인."
- source-uri: https://visualgo.net/en
grade: E2
note: "adjacent competitor — 무료 알고리즘/자료구조 시각화 카탈로그(26+ 주제). 2026-07-20 확인."
- source-uri: https://use-the-index-luke.com/
grade: E2
note: "substitute — 무료 정적 웹북(SQL 인덱싱/성능), 벤더 중립. 2026-07-20 확인."
- source-uri: https://15445.courses.cs.cmu.edu/
grade: E2
note: "substitute — 무료 대학 강의 + 동시성제어 프로젝트(BusTub). 2026-07-20 확인."
- source-uri: https://brilliant.org/subscribe/
grade: E2
note: "adjacent competitor — 구독형 STEM/CS 학습 카탈로그, 월 $27.99/연 $161.88. 2026-07-20 확인."
- source-uri: https://www.postgresql.org/docs/current/transaction-iso.html
grade: E2
note: "substitute — 공식 정적 문서, Lost Update가 별도 명명되지 않고 이상현상 설명에 암묵 포함. 2026-07-20 확인."
@@ -0,0 +1,375 @@
report-type: workflow-artifact
artifact-kind: grounding-contribution
artifact-version: 1
tier: standard
identity:
artifact-id: UX-RESEARCHER-20260720T115855Z
workflow-id: hyeonworks-vnext-v2
stage: discovery
producer-role-id: UX-RESEARCHER
created-at: '20260720T115855Z'
attempt-id: 1
payload:
assigned-lens: LENS-CUSTOMER
producer-run-id: hyeonworks-vnext-v2-discovery-ux-researcher-20260720T115952Z
context-package-ref: hyeonworks/state/context-packages/hyeonworks-vnext-v2/ux-researcher-20260720T115952Z.pkg.yaml
context-package-sha256: fb04b11007ab95b05ab4c533a2af943420c610a5b717f7186b89c7bcf86cac98
research-note: >-
실사용자 0명(제품에 사용 데이터 없음). 아래는 전부 WebSearch/WebFetch로 접지한 2차 근거
(외부 실무자료·학습과학 문헌·경쟁/대체재 제품)와 사내 기존 결정문 대조에 기반한 가설이다.
"실측했다"고 주장하지 않으며, 이에 따라 confidence는 Med를 상한으로 유지한다. NN/g 방법선택
프레임 기준으로는 generative 단계(문제 재구성)에 해당하며 formative/summative(실사용자 검증)는
이번 조사 범위 밖이다.
findings:
- id: PJ1
statement: >-
동시성·트랜잭션 격리 학습의 근본 어려움은 "약한 격리일수록 동시성은 늘지만 일관성이 흔들리고,
강한 격리(Serializable)는 이론상 명확해도 실제로는 성능 저하·직렬화 실패로 이어진다"는
트레이드오프 자체가 직관적으로 설명되지 않는다는 데 있다고 다수의 실무 자료가 지목한다.
grade: E2
evidence-refs:
- https://www.baeldung.com/cs/concurrency-control-lost-update-problem
- https://www.designgurus.io/answers/detail/top-concurrency-and-multithreading-for-system-design-interviews
- id: PJ2
statement: >-
Race condition/동시성 버그는 "타이밍에 의존해 재현이 비결정적"이라는 성질 때문에 정적 코드
리딩이나 단계별 디버거만으로는 원인을 재구성하기 어렵다 — ground-boundary의 target-user 정의
(정적 문서만으로 이해하기 어려운 개발자)와 직접 부합한다.
grade: E2
evidence-refs:
- https://www.rceenetworks.com/a-software-race-condition-is-hard-to-debug/
- https://bugpilot.io/2026/05/28/debugging-concurrency-bugs-race-condition-resolution-guide/
- id: PJ3
statement: >-
"Lost Update"류 이상 현상은 에러를 던지지 않고 두 트랜잭션 모두 성공을 보고하며, 손상은
최종 상태에서만 관찰된다("no error is raised, both transactions report success, the
corruption is visible only in the final state"). 이는 ground-boundary target-user의
"증상·결과를 내부 상태 변화와 인과관계에 연결하기 어려운 개발자"가 가상의 페르소나가 아니라
실제로 문서화된 혼란 지점임을 보여준다.
grade: E2
evidence-refs:
- https://www.abstractalgorithms.dev/lost-update-database-anomaly
- id: PJ4
statement: >-
근본원인분석(root cause analysis) 실무 문헌은 "반증 가능한 가설을 세우기 전에 코드를
만지지 말라"를 강조한다. Predict 단계(관찰 전에 가설을 먼저 선택하게 하는 구조)가 임의의
교육적 장치가 아니라 실무 디버깅 습관과 방향이 일치한다는 근거다.
grade: E2
evidence-refs:
- https://www.seangoedecke.com/debugging/
- https://www.freecodecamp.org/news/why-is-debugging-hard-how-to-develop-an-effective-debugging-mindset/
- id: PJ5
statement: >-
정적 다이어그램(UML 상태/구조도 등)은 시간에 따라 변하는 시스템 동작을 표현하는 데 태생적
한계가 있다는 점을 소프트웨어공학·물리교육 문헌이 일치해서 지적한다 — "정적 문서만으로
이해하기 어렵다"는 문제 정의를 지지한다.
grade: E2
evidence-refs:
- https://www.cs.uct.ac.za/mit_notes/software/htmls/ch05s08.html
- https://arxiv.org/pdf/2405.18614
- id: PJ6
statement: >-
능동학습(상호작용·시뮬레이션)이 수동적 학습(비디오·읽기)보다 유지율이 높다는 방향성은 학습
과학 일반론에서 반복 확인되나, 인용되는 정량 수치(예: 80%대 20%)는 출처가 불명확한 요약
통계이고 성인 개발자 자기주도 학습을 특정한 연구가 아니다 — 방향 참고(E2)로만 쓰고 수치를
확정 근거로 쓰지 않는다.
grade: E2
evidence-refs:
- https://transfrinc.com/resources/blog/active-learning-vs-passive-learning-with-technology
- id: PJ7
statement: >-
"시스템 설계 인터뷰 준비"라는 학습 맥락은 ByteByteGo, Grokking the (Modern) System Design
Interview, System Design Primer 같은 대형·지속 수익화 제품이 존재할 만큼 크고 이미 검증된
수요다. 동시성/격리 수준 주제가 그 커리큘럼에 명시적으로 포함되어 있다.
grade: E2
evidence-refs:
- https://www.designgurus.io/answers/detail/top-concurrency-and-multithreading-for-system-design-interviews
- https://www.freecodecamp.org/news/systems-design-for-interviews
- id: PJ8
statement: >-
"직접 만들어보며 배운다"(CodeCrafters의 "Build your own Redis/Git/SQLite")는 실무 심화·
숙련 강화 동기의 존재를 보여주는 별개 세그먼트다 — 인터뷰 준비(PJ7)와는 다른 유입 동기
(전문성 심화/호기심)로 보인다.
grade: E2
evidence-refs:
- https://codecrafters.io/
- id: PJ9
statement: >-
공식 문서·정의 중심 자료에 대한 반작용으로 만화/zine 형식(Julia Evans, wizardzines)이
인기 있다는 사실은, "기존 학습자료가 실패하는 지점"이 상호작용 부재만이 아니라 접근성·
친근함의 부재이기도 하다는 것을 시사한다.
grade: E2
evidence-refs:
- https://jvns.ca/
- https://wizardzines.com/zines/git/
- id: PJ10
statement: >-
raft.github.io / thesecretlivesofdata.com류의 "각본화된 시나리오 기반 인터랙티브 시각화"가
복잡한 분산 프로토콜 학습에 널리 인용되는 성공 사례로 존재한다 — 단일 메커니즘을 깊이
학습시키는 접근(depth-first)의 실행 가능성을 뒷받침하는 선례다.
grade: E2
evidence-refs:
- https://raft.github.io/
- https://thesecretlivesofdata.com/raft/
- id: PJ11
statement: >-
(주의 신호) SQL Murder Mystery는 스스로를 "SQL을 이미 아는 사람이 재미로 연습하는 게임에
더 가까운 것"으로 규정한다 — 내러티브/게임 포장이 무(無)지식 상태의 최초 개념 학습을
대체한다는 근거는 아니며, 오히려 실기 연습·재방문 동기에 가깝다. 카테고리 재정의(OPT-C)의
내러티브 방향에 대한 반증적 참고.
grade: E2
evidence-refs:
- https://mystery.knightlab.com/
- id: PJ12
statement: >-
이번 조사에서 "팀 온보딩" 맥락(신규 입사자가 기존 시스템의 내부 동작을 학습)을 직접 다루는
외부 근거는 찾지 못했다 — 데이터 공백으로 남긴다. "실무 디버깅" 맥락은 fixed-problem-space가
실제 장애 확정을 영구 금지하므로, 이 제품 안에서는 "디버깅 스킬을 통제된 시나리오로 연습"하는
형태로만 존재할 수 있고 실사고 대응 도구로는 존재할 수 없다(경계 재확인, 확장 제안 아님).
grade: E1
evidence-refs: []
v1-premise-verdict:
dual-entry:
verdict: population-supported--ui-form-unverified
reasoning: >-
두 사용자 모집단("개념은 알지만 인과를 설명 못 하는 개발자" vs "증상은 봤지만 어떤 메커니즘을
검증해야 할지 모르는 개발자")이 실재한다는 것은 외부 근거로 뒷받침된다: 전자는 정의·isolation
level 설명 중심 자료(PJ1, PJ7)의 존재 자체가, 후자는 "증상은 보이나 원인 후보를 좁혀야 하는"
상황을 정면으로 다루는 실무 문헌(PJ3, PJ4)이 뒷받침한다. 그러나 이 두 모집단을 "첫 화면의
선택 카드 두 개"로 분리해 보여주는 UI 해법 자체가 시작률·이해도를 높이는지 낮추는지에 대한
근거는 이번 조사에서도 찾지 못했다 — v1 자체 dissent("사용자 실측 전에는 두 카드가 실제
시작률을 높이는지 알 수 없다", EXEC-CEO-20260718T111108Z)가 그대로 유효하다. 판정: 문제
(두 모집단의 실재)는 지지되나, 해법 형태(선택 카드 UI)는 지지도 반증도 되지 않는다 — 실측
전까지 미해결.
evidence-refs:
- PJ1
- PJ3
- PJ4
- PJ7
- hyeonworks/completion-records/hyeonworks-vnext-v1/EXEC-CEO-20260718T111108Z.report.yaml
five-step-loop:
verdict: components-analogous--whole-loop-unverified-for-domain
reasoning: >-
Predict/Observe/Explain은 POE(Predict-Observe-Explain) 교수법과 구조적으로 유사하며, 그
문헌은 오개념이 67%→7.4%로 줄었다고 보고한다(학교 과학교육 도메인). Compare(기대값-실제값
명시 대조)는 근본원인분석 실무에서 강조하는 "반증 가능한 가설 없이 코드를 만지지 말라"(PJ4)는
습관과 부합한다. Transfer는 productive-failure/far-transfer 문헌(Kapur)이 보고하는 "구조화된
실패(struggle) 후 전이 과제가 개념 이해·새 문제 전이를 높인다"는 결과와 방향이 일치한다.
그러나 이 근거들은 전부 (a) 정규 교육과정(교사 개입이 있는 교실, 대부분 K-12/대학 도메인)에서
나왔고, (b) 자기주도·시간압박 상태의 성인 개발자가 감독 없이 온라인에서 완주하는 상황을 직접
다루지 않으며, (c) "정확히 5단계, 이 순서·이 세분화"가 다른 변형(3~4단계)보다 낫다는 비교
연구는 찾지 못했다. 판정: 각 단계가 임의의 설계가 아니라는 유추적 근거는 있으나, 이 도메인·이
사용자층에 대한 5단계 고정 루프 자체의 직접 검증은 없다 — v1이 이를 "확정"으로 취급한 것은
근거의 강도를 실제보다 높게 표현한 것이다.
evidence-refs:
- https://onlinelibrary.wiley.com/doi/10.1111/cogs.12107
- https://files.eric.ed.gov/fulltext/EJ1272872.pdf
- PJ4
option-evaluations:
- option-id: OPT-A-DEPTH-FIRST
target-user-and-painful-job: >-
이미 Lost-Update류 이상을 마주쳤거나(증상 입구) 개념은 아는데(개념 입구) 왜 값이 사라지는지
스스로도 남에게도 설명하지 못하는 개발자. 실제 장애를 진단하려는 게 아니라 "이 메커니즘 하나는
완전히 설명할 수 있다"는 확신(인터뷰·코드리뷰·팀 설명 상황에서 재현 가능한 이해)을 원한다.
learning-outcome-hypothesis: >-
단일 주제에 대한 깊은 predict/observe/compare/explain/transfer 반복이 productive-failure/
far-transfer 문헌이 보고하는 "새 사례로의 전이" 효과를 낼 가능성이 있다(가설, 미검증).
Lost Update는 여러 2차 자료가 "동시성 이상현상을 가르치는 대표 예시"로 반복 인용하는 주제라
다른 동시성 버그로의 전이 가능성이 상대적으로 높은 소재로 보인다.
key-tradeoffs:
- 깊이를 얻는 대신 도달범위를 잃는다 — "당장 내일 인터뷰"처럼 넓은 커버리지가 급한 사용자에게
단일 주제 제품은 매력이 낮다.
- 기존 대체재(PJ7의 ByteByteGo·Grokking·System Design Primer)가 이미 폭넓은 인터뷰 대비
콘텐츠를 제공하므로, A는 그 수요와 정면 경쟁하지 않고 호기심/숙련 세그먼트(PJ8)에 기대야
한다.
evidence-refs: [PJ3, PJ4, PJ10, "https://onlinelibrary.wiley.com/doi/10.1111/cogs.12107"]
unresolved-assumptions:
- "단일 주제 완성도"가 성인 자기주도 학습자의 전이·유지에 실제로 유의미한 차이를 만드는지는
이 도메인에서 검증된 바 없다.
- 두 번째·세 번째 메커니즘으로 확장할 때 동일한 완성도를 유지할 수 있는지는 LENS-CUSTOMER
근거만으로 판단할 수 없다(운영·콘텐츠 비용은 다른 렌즈 소관).
kill-criteria:
- "(가설, 미검증) 학습자 다수가 Transfer 단계에서 다른 사례로 일반화하지 못하고 암기한 단일
사례만 재현한다면 depth-first의 핵심 전제(전이)가 성립하지 않는다."
- "(가설, 미검증) 도달범위 부족으로 초기 유입이 임계치 이하로 떨어지면(예: 인터뷰 준비
세그먼트가 전혀 붙지 않으면) depth 단독 전략의 성장경로가 막힌다."
- option-id: OPT-B-BREADTH-CATALOG
target-user-and-painful-job: >-
여러 동시성/DB 메커니즘을 인터뷰·설계 검토를 앞두고 일관된 분류체계로 빠르게 훑고 싶은
개발자. "이 개념도 저 개념도 알아야 하는데 어디서부터 봐야 할지 모른다"는 항해(navigation)
문제가 핵심 painful job이다.
learning-outcome-hypothesis: >-
ByteByteGo·Grokking류 기존 카탈로그는 대체로 정적/애니메이션 설명(수동적) 형태다. hyeonworks가
각 항목에서도 predict/observe 상호작용 루프를 유지한다면 "능동학습이 수동학습보다 유지율이
높다"는 일반 방향성(PJ6, 정량 미확정) 위에서 차별화될 수 있다는 가설. 단, 이 인터뷰-대비
세그먼트가 실제로 상호작용 깊이를 요구하는지(시간 압박 상황에서는 속도가 더 중요할 수도 있음)는
검증되지 않았다.
key-tradeoffs:
- 도달범위(PJ7의 크고 입증된 수요)를 얻는 대신, 항목마다 동일한 인터랙티브 깊이를 유지하지
못하면 카탈로그가 fixed-problem-space가 애초에 "실패"라고 규정한 정적 자료로 퇴행할 위험이
있다.
- 이미 강한 기존 대체재가 있는 시장에 진입하므로, 사용자가 기존 자료로 "충분히 해결됨"을
느끼는 상황에서 전환 이유를 사용자 관점에서 설명하기 어렵다.
evidence-refs: [PJ1, PJ6, PJ7]
unresolved-assumptions:
- 인터뷰 준비 사용자가 "빠른 훑기"보다 "깊은 상호작용"을 실제로 선호하는지는 검증되지 않았다
(시간 압박 상황에서는 얕고 빠른 콘텐츠를 선호할 수 있다는 반대 가설도 배제하지 못한다).
- 카탈로그 각 항목이 v1과 동일한 완성도(로컬 정적 앱, zero dependency, E2E 검증)를 유지할 수
있는지는 사용자 관점만으로 판단할 수 없다.
kill-criteria:
- "(가설, 미검증) 사용자 다수가 카탈로그 진입 화면에서 자신의 문제와 관련된 항목을 짧은 시간
안에 고르지 못하고 이탈한다면 항해 문제 해결이라는 핵심 가설이 성립하지 않는다."
- "(가설, 미검증) 항목별 상호작용 깊이가 얕아져 정적 자료와 체감상 구별되지 않는다면
(사용자가 '결국 또 다른 설명 블로그'로 인식하면) 차별화 가설이 무너진다."
- option-id: OPT-C-CATEGORY-REDEF
target-user-and-painful-job: >-
현재로선 LENS-CUSTOMER 근거만으로 특정할 수 없음. 두 방향의 후보만 근거상 관찰된다: (1)
공식 문서의 딱딱함·진입장벽에 대한 반작용으로 존재하는 "친근한 압축 설명" 수요(PJ9) — 정적
콘텐츠로 회귀할 위험을 동반, (2) 이미 기초 지식을 가진 사용자의 실기 연습/재방문 수요(PJ8,
PJ11) — 무지식 상태의 최초 학습을 대체하지 못하는 도구로 보인다.
learning-outcome-hypothesis: >-
두 후보 중 어느 쪽을 택하느냐에 따라 학습성과 가설이 정반대로 갈린다: (1)을 따르면 상호작용
엔진을 축소하고 압축 설명으로 접근장벽을 낮추는 가설, (2)를 따르면 상호작용 엔진에 내러티브
스킨만 입혀 기억 가능성·재방문을 높이는 가설이다. 이 둘을 구분할 근거가 없어 단일 학습성과
가설을 세울 수 없다.
key-tradeoffs:
- 가장 넓은 재정의 자유를 얻는 대신 가장 큰 연구 부채(무엇을 만들지조차 미확정)를 진다 —
ground-boundary가 "무제한 재정의는 아님"이라 명시한 이유와 부합한다.
- 카테고리를 열면 fixed-problem-space(정적 문서로 이해 어려운 개발자)와의 연결이 느슨해질
위험이 있다 — 문제공간을 벗어나지 않으면서 카테고리만 바꾸는 것이 실제로 가능한지는 이번
조사로 결론 내리지 못했다.
evidence-refs: [PJ8, PJ9, PJ11]
unresolved-assumptions:
- 이 옵션이 상호작용 학습 엔진을 유지하는지 포기하는지 자체가 정의되지 않았다.
- target-user가 특정되지 않아 kill-criteria를 사용자 행동으로 조작적 정의할 수 없다.
kill-criteria:
- "/decide 전까지 A/B만큼 구체적인 target-user와 painful job 한 문장을 제시하지 못하면,
이 옵션은 LENS-CUSTOMER 관점에서 반증 불가능하므로 다른 옵션과 동일 기준으로 비교될 수
없다(채택 반려 대상)."
- option-id: OPT-D-STAGED
admission-verdict: not-independently-supported-by-LENS-CUSTOMER
reasoning: >-
본 조사가 발견한 것은 A와 B가 서로 다른, 실재하는 유입 동기(호기심·숙련 대 인터뷰 준비, PJ7·
PJ8)를 겨냥한다는 "세그먼트 분리" 사실이다. 이 사실은 논리적으로 "그러니 단계적으로 둘 다
한다"(D)와 "그러니 하나의 세그먼트를 골라 잘 한다"(A 또는 B 단독)를 동등하게 지지한다 —
세그먼트가 다르다는 사실 자체가 단계 전략을 요구하지 않는다. ground-boundary의 admission-rule
("A와 B를 절충했다는 이유만으로 hybrid를 기본 추천하지 않는다")에 따라, 이 관찰만으로는
LENS-CUSTOMER가 D를 독립적으로 도출하지 않는다 — 비채택. 다만 세그먼트 분리 사실 자체는
자원배분·수익 판단을 하는 다른 렌즈(STR-ANALYST/PROD-PM/EXEC-CFO 등)가 단계 전략의 독립적
근거로 쓸 수 있는 입력이므로 findings(PJ7, PJ8)로 남긴다.
evidence-refs: [PJ7, PJ8, PJ10]
evidence-urls:
- https://www.baeldung.com/cs/concurrency-control-lost-update-problem
- https://www.abstractalgorithms.dev/lost-update-database-anomaly
- https://www.rceenetworks.com/a-software-race-condition-is-hard-to-debug/
- https://bugpilot.io/2026/05/28/debugging-concurrency-bugs-race-condition-resolution-guide/
- https://www.seangoedecke.com/debugging/
- https://www.freecodecamp.org/news/why-is-debugging-hard-how-to-develop-an-effective-debugging-mindset/
- https://onlinelibrary.wiley.com/doi/10.1111/cogs.12107
- https://files.eric.ed.gov/fulltext/EJ1272872.pdf
- https://raft.github.io/
- https://thesecretlivesofdata.com/raft/
- https://mystery.knightlab.com/
- https://jvns.ca/
- https://wizardzines.com/zines/git/
- https://codecrafters.io/
- https://www.designgurus.io/answers/detail/top-concurrency-and-multithreading-for-system-design-interviews
- https://www.freecodecamp.org/news/systems-design-for-interviews
- https://www.cs.uct.ac.za/mit_notes/software/htmls/ch05s08.html
- https://arxiv.org/pdf/2405.18614
- https://transfrinc.com/resources/blog/active-learning-vs-passive-learning-with-technology
report-header:
bottom-line: >-
학습 painful job(정적 자료로는 동시성 상태변화·인과를 이해하기 어렵고, 증상만 봤을 때 무엇을
검증해야 할지 모르는 상황)은 외부 2차 근거로 지지된다. 그러나 v1이 확정한 두 전제는 지지 강도가
다르다: dual-entry는 "두 사용자 모집단이 실재한다"는 점만 지지되고 "선택 카드 UI가 시작률을
높인다"는 점은 여전히 미검증(v1 dissent 그대로 유효)이며, 5단계 고정 루프는 각 단계가 인접
학습과학(POE·productive failure·근본원인분석)에 유추적으로 근거하나 이 도메인·사용자층에 대한
5단계 전체의 직접 검증은 없다. A(깊이)와 B(폭)는 서로 다른 실재 유입 동기(호기심·숙련 대 인터뷰
준비)를 겨냥하고 후자는 강한 기존 대체재(ByteByteGo·Grokking·System Design Primer)가 이미
점유하고 있다. C(카테고리 재정의)는 target-user와 painful job이 특정되지 않아 LENS-CUSTOMER
관점에서 아직 반증 불가능한 옵션으로 남는다. D는 A/B의 세그먼트 분리 관찰만으로는 LENS-CUSTOMER가
독립적으로 도출하지 않는다(비채택, admission-rule 적용). 옵션 선택은 하지 않는다.
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks:
- >-
모든 painful-job·학습효과 근거는 2차 자료(외부 실무문서·학계 연구)이며 hyeonworks 실사용자
인터뷰·사용성 테스트는 0건이다 — 실측 전에는 어떤 옵션도 사용자 검증됐다고 볼 수 없다.
- >-
POE·productive-failure 근거의 원 도메인은 K-12/대학 정규 교육(교사 개입이 있는 교실)이며,
자기주도·시간압박 상태의 성인 개발자 대상 무감독 온라인 학습으로의 전이는 검증되지 않았다.
- >-
v1 dissent("사용자 실측 전에는 두 카드가 실제 시작률을 높이는지 알 수 없다")는 이번 조사로도
해소되지 않았다 — dual-entry의 UI 형태 자체를 지지·반증하는 근거가 여전히 없다.
- >-
OPT-C는 target-user painful job이 특정되기 전까지 LENS-CUSTOMER 관점에서 반증 불가능한
옵션으로 남아, 다른 옵션과 동일 기준 비교가 어렵다.
- >-
OPT-B의 핵심 유입 동기로 식별한 "인터뷰 준비"는 ByteByteGo·Grokking·System Design Primer 등
강한 기존 대체재가 있어, 진입 자체만으로는 사용자 관점에서 전환 이유가 서지 않는다(경쟁 전략
판단은 다른 렌즈 소관, 여기서는 사용자 인지 리스크로만 기록).
- >-
"팀 온보딩" 학습 맥락은 이번 외부 조사에서 직접 근거를 찾지 못한 공백으로 남는다(PJ12).
evidence:
- source-uri: hyeonworks/design/hyeonworks-vnext-v2/ground-boundary.yaml
grade: E3
note: fixed-problem-space target-user 정의·mandated-option-set·evidence-protocol(E2 상한 지시)의 원문.
- source-uri: hyeonworks/completion-records/hyeonworks-vnext-v1/EXEC-CEO-20260718T111108Z.report.yaml
grade: E3
note: >-
v1 dissent 원문("사용자 실측 전에는 두 카드가 실제 시작률을 높이는지 알 수 없다" 등)과
OPT-DUAL-PORTAL 선택 근거 — 이번 사이클의 반증 대상.
- source-uri: hyeonworks/completion-records/hyeonworks-vnext-v2/EXEC-CEO-20260720T110525Z.report.yaml
grade: E3
note: v2 intake — v1 dissent를 이번 사이클의 반증 대상으로 명시 승계.
- source-uri: hyeonworks/design/hyeonworks-vnext-v1/direction-input-brief.yaml
grade: E3
note: v1 core-users(primary/secondary) 정의 — 이번 조사의 대조 baseline.
- source-uri: hyeonworks/app/README.md
grade: E3
note: v1 released 실물의 dual-entry + 5단계 루프 실제 구현 확인(status quo 비교 기준).
- source-uri: https://www.abstractalgorithms.dev/lost-update-database-anomaly
grade: E2
note: "PJ3 — 에러 없이 성공 보고, 최종 상태에만 손상이 보이는 Lost Update의 실제 서술."
- source-uri: https://www.rceenetworks.com/a-software-race-condition-is-hard-to-debug/
grade: E2
note: "PJ2 — 비결정적 타이밍 재현 불가가 정적 리딩/디버거의 한계로 이어진다는 근거."
- source-uri: https://www.seangoedecke.com/debugging/
grade: E2
note: "PJ4 — 반증 가능한 가설 없이 코드를 만지지 말라(Predict 단계의 실무적 정당화)."
- source-uri: https://onlinelibrary.wiley.com/doi/10.1111/cogs.12107
grade: E2
note: "Kapur productive failure — Transfer 단계의 유추적 근거(도메인 전이 미검증)."
- source-uri: https://files.eric.ed.gov/fulltext/EJ1272872.pdf
grade: E2
note: "POE(Predict-Observe-Explain) 오개념 감소 보고 — Predict/Observe/Explain 구조의 유추적 근거."
- source-uri: https://raft.github.io/
grade: E2
note: "PJ10 — 단일 복잡 프로토콜의 각본화된 인터랙티브 시각화 선례(depth-first 실행 가능성)."
- source-uri: https://www.designgurus.io/answers/detail/top-concurrency-and-multithreading-for-system-design-interviews
grade: E2
note: "PJ7 — 인터뷰 준비 맥락에서 동시성/격리 주제가 이미 확립된 커리큘럼임을 보여줌."
- source-uri: https://codecrafters.io/
grade: E2
note: "PJ8 — '직접 만들어보며 배운다' 숙련 심화 세그먼트의 존재."
- source-uri: https://jvns.ca/
grade: E2
note: "PJ9 — 공식 문서 대비 친근한 압축 설명 수요의 존재(OPT-C 후보 방향 1)."
- source-uri: https://mystery.knightlab.com/
grade: E2
note: "PJ11 — 내러티브/게임 포장은 대체로 기존 지식 보유자의 실기 연습용(OPT-C 후보 방향 2, 주의 신호)."