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,51 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T124209Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): objective
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
# - mode는 ['converge', 'divergent'] 중 하나여야 한다(got 'convergent').
workflow-id: hyeonworks-vnext-v1-direction
task-id: synthesize-critique-r1
mode: convergent
tier: standard
model: sonnet
effort: high
assigned-lens: null
target-role-agent: DES-DIRECTOR
workspace: hyeonworks
target-repo: hyeonworks
objective: ''
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: []
task-boundaries: ''
non-goals: []
must-read: []
inherited-decisions: []
acceptance-tests: []
evidence-plan: []
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
method-selection:
method-id: ''
candidates:
- frame-divergence
- converge-directions
@@ -0,0 +1,66 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T124214Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): objective
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
workflow-id: hyeonworks-vnext-v1-direction
task-id: synthesize-critique-r1
mode: converge
tier: standard
model: sonnet
effort: high
assigned-lens: null
target-role-agent: DES-DIRECTOR
workspace: hyeonworks
target-repo: hyeonworks
objective: >-
exact winner prototype에 대한 7개 독립 lens review 원본을 재적재하여 dissent와 veto를 보존하고,
규칙에 따라 1차 design-review-panel을 minor-revision으로 종합한다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, exec_command, apply_patch]
task-boundaries: >-
아래 7개 review 원본과 exact target만 종합한다. 개별 verdict를 낮추거나 prototype을 수정하지 않는다.
결과는 DES-DIRECTOR-20260718T124159Z.report.yaml 한 파일의 payload/report-header에만 기록한다.
non-goals: [prototype 수정, 개별 review 재판정, 방향 재선택, 실제 사용자 효과 주장, 외부 네트워크]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T120840Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-PROD-20260718T121036Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/UX-RESEARCHER-20260718T121036Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T121036Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T121851Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-PLATFORM-20260718T121851Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/GTM-PMM-20260718T121851Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T121851Z.report.yaml
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "ledger-studio 선택과 5개 locked invariant 유지"}
acceptance-tests:
- criterion: "panel이 7개 lens를 정확히 한 번씩 exact id/path/SHA/run/verdict로 묶고 revise를 minor-revision으로 보존한다."
verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T124159Z.report.yaml"
evidence-plan:
- {claim: "7-lens coverage와 verdict 보존", grade: E3, receipt: "7 immutable review originals and exact winner artifact"}
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
method-selection:
method-id: converge-directions
candidates:
- frame-divergence
- converge-directions
@@ -0,0 +1,72 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T133809Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
workflow-id: hyeonworks-vnext-v1-direction
task-id: synthesize-critique-r2
mode: converge
tier: standard
model: sonnet
effort: high
assigned-lens: null
target-role-agent: DES-DIRECTOR
workspace: hyeonworks
target-repo: hyeonworks
objective: exact revision-2 winner에 대한 7개 독립 lens review를 SHA 결속하여 verdict와 dissent를
보존하고 bounded revision panel로 종합한다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, exec_command, apply_patch]
task-boundaries: >-
아래 exact winner와 7개 review 원본만 종합한다. 각 lens verdict를 낮추거나 prototype을
수정하지 않으며 결과는 DES-DIRECTOR-20260718T133900Z.report.yaml에만 기록한다.
non-goals:
- prototype 수정
- 개별 lens 재판정
- 방향 재선택
- 사용자 학습효과 주장
- 범용 플랫폼 설계
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T131305Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-PROD-20260718T131443Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/UX-RESEARCHER-20260718T131443Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T131443Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T131448Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-PLATFORM-20260718T131443Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/GTM-PMM-20260718T131443Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T131443Z.report.yaml
inherited-decisions:
- decision-id: DES-DIRECTOR-20260718T115933Z
summary: ledger-studio 선택과 5개 locked invariant 유지
acceptance-tests:
- criterion: panel이 7개 lens를 정확히 한 번씩 exact id/path/SHA/run/verdict로 묶고 세 revise를 minor-revision으로 보존한다.
verify: python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T133900Z.report.yaml
evidence-plan:
- claim: exact winner와 7-lens coverage, verdict 보존
grade: E3
receipt: 7 immutable review originals and exact winner artifact
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
method-selection:
method-id: converge-directions
candidates:
- frame-divergence
- converge-directions
@@ -0,0 +1,64 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T140811Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
workflow-id: hyeonworks-vnext-v1-direction
task-id: synthesize-critique-r3
mode: converge
tier: standard
model: sonnet
effort: high
assigned-lens: null
target-role-agent: DES-DIRECTOR
workspace: hyeonworks
target-repo: hyeonworks
objective: exact revision-3 winner에 대한 7개 독립 lens review를 SHA 결속하여 pass 여부와 dissent를
종합한다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, exec_command, apply_patch]
task-boundaries: >-
exact R3 winner와 아래 7개 review 원본만 종합한다. 개별 lens verdict를 낮추거나 prototype을
수정하지 않으며 결과는 DES-DIRECTOR-20260718T142500Z.report.yaml에만 기록한다.
non-goals: [prototype 수정, 개별 lens 재판정, 방향 재선택, 사용자 효과 주장, 외부 네트워크]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T135811Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-PROD-20260718T140000Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/UX-RESEARCHER-20260718T140000Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T140000Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T140005Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-PLATFORM-20260718T140000Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/GTM-PMM-20260718T140000Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T140000Z.report.yaml
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "ledger-studio와 5개 locked invariant"}
acceptance-tests:
- criterion: "panel이 exact R3와 7개 lens를 한 번씩 id/path/SHA/run/verdict로 결속하고 revise를 보존한다."
verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T142500Z.report.yaml"
evidence-plan:
- {claim: "exact R3 winner와 7-lens coverage/verdict 보존", grade: E3, receipt: "seven immutable review originals"}
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
method-selection:
method-id: converge-directions
candidates:
- frame-divergence
- converge-directions
@@ -0,0 +1,44 @@
workflow-id: hyeonworks-vnext-v1-direction
task-id: synthesize-r4-review-panel
mode: converge
tier: standard
model: sonnet
effort: high
assigned-lens: design-direction-synthesis
target-role-agent: DES-DIRECTOR
workspace: hyeonworks
target-repo: hyeonworks
objective: >-
exact revision-4 winner ENG-FE-20260718T144700Z에 결속된 7개 독립 lens 원본을
누락·하향 없이 종합하고 디자인 방향의 최종 통과 여부를 판정한다.
output-format: report.yaml + exact seven-review binding + one-line bottom-line
allowed-tools: [Read, exec_command, apply_patch]
task-boundaries: >-
아래 exact winner와 7개 R4 review만 종합한다. prototype과 개별 review를 수정하지 않고,
발견된 자문 사항을 blocking finding으로 과장하지 않으며 dissent를 숨기지 않는다.
non-goals: [새 방향 제안, prototype 수정, 제품 범위 확대, 외부 조사, 과도한 검증 추가]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T144700Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-PROD-20260718T145000Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/UX-RESEARCHER-20260718T145000Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T145000Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T145005Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-PLATFORM-20260718T145000Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/GTM-PMM-20260718T145000Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T145000Z.report.yaml
inherited-decisions:
- decision-id: DES-DIRECTOR-20260718T142500Z
summary: R3의 대비와 route-safe skip-link 두 국소 수정만 요구하고 방향은 유지한다.
acceptance-tests:
- criterion: exact R4 id/SHA와 7개 고유 lens/run/SHA가 한 번씩 결속된다.
verify: python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T150500Z.report.yaml
- criterion: 7개 verdict가 모두 pass일 때만 synthesis pass이며 unresolved dissent가 명시된다.
verify: python3 .claude/hooks/state_engine.py guard --workflow hyeonworks-vnext-v1-direction
evidence-plan:
- claim: R3의 두 P0 수정이 실제 렌더와 브라우저 상태 보존 검증까지 통과했다.
grade: E3
receipt: exact winner receipts plus seven independent R4 reports
expected-output:
report-header: {bottom-line: '', decision-needed: {needed: false, approver: null}, confidence: {value: High, derived-from: exact-seven-review-panel}, risks: [], evidence: []}
token-budget: {max-input-tokens: 80000, max-output-tokens: 10000}
method-selection: {method-id: post-direction, candidates: [pre-direction, post-direction]}
@@ -0,0 +1,58 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v1-direction/DES-PLATFORM-20260718T121349Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): objective
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
# - handoff input:design-decision-record: 필수 아티팩트(design-decision-record) 부재
workflow-id: hyeonworks-vnext-v1-direction
task-id: review-systematizability
mode: divergent
tier: standard
model: sonnet
effort: medium
assigned-lens: systematizability
target-role-agent: DES-PLATFORM
workspace: hyeonworks
target-repo: hyeonworks
objective: >-
선택된 Ledger Studio prototype의 토큰·컴포넌트·상태 패턴이 후속 주제까지 일관되게 확장 가능한지
systematizability 렌즈로만 독립 감사하고 지정 design-lens-review report를 작성한다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, view_image, exec_command, apply_patch]
task-boundaries: >-
systematizability만 평가한다. prototype과 selected direction을 수정하거나 다른 lens review를 읽지 않는다.
결과는 DES-PLATFORM-20260718T121851Z.report.yaml 한 파일의 payload/report-header에만 기록한다.
non-goals: [제품 적합성·사용성·시장성·구현성 판정, 방향 재선택, 실제 사용자 효과 주장, 외부 네트워크]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T120840Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T115933Z.report.yaml
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "ledger-studio 단일 선택과 5개 locked invariant"}
acceptance-tests:
- criterion: "review가 exact winner id/SHA, reviewer role/run, systematizability lens, verdict, evidence-grounded findings를 포함한다."
verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-PLATFORM-20260718T121851Z.report.yaml"
evidence-plan:
- {claim: "토큰·컴포넌트·상태 표현의 재사용성과 확장 경계", grade: E3, receipt: "selected-direction + winner-prototype exact refs and source inspection"}
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
method-selection:
method-id: tokenize
@@ -0,0 +1,57 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v1-direction/DES-PLATFORM-20260718T131418Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): objective
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
workflow-id: hyeonworks-vnext-v1-direction
task-id: review-r2-systematizability
mode: divergent
tier: standard
model: sonnet
effort: medium
assigned-lens: systematizability
target-role-agent: DES-PLATFORM
workspace: hyeonworks
target-repo: hyeonworks
objective: >-
Ledger Studio revision 2의 scenario registry, learning reducer, tokens와 editorial recipes가 다음 주제까지
과도한 추상화 없이 확장 가능한지 systematizability 렌즈로만 독립 재감사한다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, view_image, exec_command, apply_patch]
task-boundaries: >-
systematizability만 평가하고 다른 lens/review를 읽지 않는다. prototype은 수정하지 않으며
DES-PLATFORM-20260718T131443Z.report.yaml 한 파일만 작성한다.
non-goals: [제품·사용성·시장·시각 polish 판정, backend/범용 플랫폼 요구, 외부 네트워크]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T131305Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T115933Z.report.yaml
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "ledger-studio와 5개 locked invariant"}
acceptance-tests:
- criterion: "exact revision-2 winner id/SHA와 systematizability verdict/findings를 포함한다."
verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-PLATFORM-20260718T131443Z.report.yaml"
evidence-plan:
- {claim: "registry/reducer/token/recipe boundaries support one next scenario without premature platform", grade: E3, receipt: "exact source and renders"}
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
method-selection:
method-id: tokenize
@@ -0,0 +1,59 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v1-direction/DES-PLATFORM-20260718T135944Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
workflow-id: hyeonworks-vnext-v1-direction
task-id: review-systematizability-r3
mode: divergent
tier: standard
model: sonnet
effort: medium
assigned-lens: systematizability
target-role-agent: DES-PLATFORM
workspace: hyeonworks
target-repo: hyeonworks
objective: exact revision-3 winner ENG-FE-20260718T135811Z를 systematizability 렌즈로
독립 재검토한다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, view_image, exec_command, apply_patch]
task-boundaries: >-
systematizability만 평가한다. 이전 review를 읽지 않고 prototype은 수정하지 않으며
DES-PLATFORM-20260718T140000Z.report.yaml만 작성한다. exact target은 ENG-FE-20260718T135811Z / 735d588bef412dd3c59899d393562ae76a67a55bbe9f507ddf38eeab1481e9f0이다.
non-goals: [다른 lens 판정, 범용 runtime 설계, prototype 수정, backend 제안, 외부 네트워크]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T135811Z.report.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/core-flow.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/dist/app.js
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/dist/styles.css
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/scripts/verify_flow.cjs
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/preview.state-fixture.png
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "single reducer and bounded static implementation"}
acceptance-tests:
- criterion: "default와 independent fixture의 id/copy/value/schedule/answer/announcement 결속과 abstraction 적정성을 판정한다."
verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-PLATFORM-20260718T140000Z.report.yaml"
evidence-plan:
- {claim: "registry-to-render binding and proportional system boundary", grade: E3, receipt: "source and four-step fixture browser flow"}
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
method-selection:
method-id: tokenize
@@ -0,0 +1,34 @@
workflow-id: hyeonworks-vnext-v1-direction
task-id: review-systematizability-r4
mode: divergent
tier: standard
model: sonnet
effort: high
assigned-lens: systematizability
target-role-agent: DES-PLATFORM
workspace: hyeonworks
target-repo: hyeonworks
objective: exact revision-4 winner ENG-FE-20260718T144700Z를 systematizability lens로 독립 검토한다.
output-format: report.yaml + report-path와 1줄 bottom-line
allowed-tools: [Read, view_image, exec_command, apply_patch]
task-boundaries: >-
systematizability와 proportionality만 평가하고 이전 review는 읽지 않는다. prototype은 수정하지 않고
DES-PLATFORM-20260718T145000Z.report.yaml만 작성한다. exact target SHA는
8b208279e12f9aea0fa6d7a3c320811b0e72ddb74c6afac64cddadf4b157cf76이다.
non-goals: [다른 lens 판정, 범용 framework 제안, backend 추가, prototype 수정, 외부 네트워크]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T144700Z.report.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/core-flow.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/dist/app.js
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/dist/styles.css
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/scripts/verify_flow.cjs
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "minimal registry/reducer/token boundary without generic runtime"}
acceptance-tests:
- {criterion: "두 scenario 결속과 token/recipe 재사용이 비과설계인지 판정", verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-PLATFORM-20260718T145000Z.report.yaml"}
evidence-plan:
- {claim: "bounded repeatability without premature abstraction", grade: E3, receipt: "exact source and two-scenario browser flow"}
expected-output:
report-header: {bottom-line: '', decision-needed: {needed: false, approver: null}, confidence: {value: Med, derived-from: evidence}, risks: [], evidence: []}
token-budget: {max-input-tokens: 60000, max-output-tokens: 8000}
method-selection: {method-id: tokenize}
@@ -0,0 +1,58 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v1-direction/DES-PROD-20260718T121009Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): objective
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
# - DES-PROD: standard/heavy 는 method-selection.method-id 필수(auto-infer 금지)
workflow-id: hyeonworks-vnext-v1-direction
task-id: review-product-fit
mode: divergent
tier: standard
model: sonnet
effort: medium
assigned-lens: product-fit
target-role-agent: DES-PROD
workspace: hyeonworks
target-repo: hyeonworks
objective: >-
선택된 Ledger Studio prototype이 개발자의 깊이 학습 문제를 두 entry→하나의 Lab→5단계 완주 흐름으로
해결하는지 product-fit 렌즈로만 독립 감사하고 지정 design-lens-review report를 작성한다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, view_image, exec_command, apply_patch]
task-boundaries: >-
product-fit만 평가한다. prototype과 selected direction을 수정하거나 다른 lens review를 읽지 않는다.
결과는 DES-PROD-20260718T121036Z.report.yaml 한 파일의 payload/report-header에만 기록한다.
non-goals: [사용성·시각 craft·시장성·구현성 판정, 방향 재선택, 실제 사용자 효과 주장, 외부 네트워크]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T120840Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T115933Z.report.yaml
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "ledger-studio 단일 선택과 5개 locked invariant"}
acceptance-tests:
- criterion: "review가 exact winner id/SHA, reviewer role/run, product-fit lens, verdict, evidence-grounded findings를 포함한다."
verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-PROD-20260718T121036Z.report.yaml"
evidence-plan:
- {claim: "제품 약속과 실제 core flow 정합", grade: E3, receipt: "selected-direction + winner-prototype exact refs and rendered prototype"}
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
method-selection:
method-id: post-direction
@@ -0,0 +1,61 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v1-direction/DES-PROD-20260718T131418Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): objective
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
# - DES-PROD: standard/heavy 는 method-selection.method-id 필수(auto-infer 금지)
workflow-id: hyeonworks-vnext-v1-direction
task-id: review-r2-product-fit
mode: divergent
tier: standard
model: sonnet
effort: medium
assigned-lens: product-fit
target-role-agent: DES-PROD
workspace: hyeonworks
target-repo: hyeonworks
objective: >-
Ledger Studio revision 2가 깊이 학습 약속을 causal hypothesis와 constructed explanation으로 실제 충족하는지
product-fit 렌즈로만 독립 재감사하고 지정 report를 작성한다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, view_image, exec_command, apply_patch]
task-boundaries: >-
product-fit만 평가하고 다른 lens/review를 읽지 않는다. prototype은 수정하지 않으며
DES-PROD-20260718T131443Z.report.yaml 한 파일만 작성한다.
non-goals: [사용성·시각·시장·구현성 판정, 방향 재선택, 실제 학습 효과 주장, 외부 네트워크]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T131305Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T115933Z.report.yaml
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "ledger-studio와 5개 locked invariant"}
acceptance-tests:
- criterion: "exact revision-2 winner id/SHA와 product-fit verdict/findings를 포함한다."
verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-PROD-20260718T131443Z.report.yaml"
evidence-plan:
- {claim: "deep-mechanism promise와 observable learning gates 정합", grade: E3, receipt: "exact winner source, state previews and live flow"}
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
method-selection:
method-id: post-direction
candidates:
- pre-direction
- post-direction
@@ -0,0 +1,61 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v1-direction/DES-PROD-20260718T135944Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
# - DES-PROD: standard/heavy 는 method-selection.method-id 필수(auto-infer 금지)
workflow-id: hyeonworks-vnext-v1-direction
task-id: review-product-fit-r3
mode: divergent
tier: standard
model: sonnet
effort: medium
assigned-lens: product-fit
target-role-agent: DES-PROD
workspace: hyeonworks
target-repo: hyeonworks
objective: exact revision-3 winner ENG-FE-20260718T135811Z를 product-fit 렌즈로 독립 재검토한다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, view_image, exec_command, apply_patch]
task-boundaries: >-
product-fit만 평가한다. 이전 lens review는 읽지 않고 prototype은 수정하지 않으며
DES-PROD-20260718T140000Z.report.yaml만 작성한다. exact target은 ENG-FE-20260718T135811Z / 735d588bef412dd3c59899d393562ae76a67a55bbe9f507ddf38eeab1481e9f0이다.
non-goals: [다른 lens 판정, prototype 수정, 방향 재선택, 사용자 학습효과 주장, 외부 네트워크]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T135811Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T115933Z.report.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/core-flow.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/dist/app.js
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/state-previews
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "ledger-studio와 5개 locked invariant"}
acceptance-tests:
- criterion: "exact R3 winner id/SHA와 product-fit verdict/findings를 포함한다."
verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-PROD-20260718T140000Z.report.yaml"
evidence-plan:
- {claim: "deep-mechanism promise와 observable learning gates 정합", grade: E3, receipt: "exact winner source, state renders and live browser receipt"}
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
method-selection:
method-id: post-direction
candidates:
- pre-direction
- post-direction
@@ -0,0 +1,34 @@
workflow-id: hyeonworks-vnext-v1-direction
task-id: review-product-fit-r4
mode: divergent
tier: standard
model: sonnet
effort: high
assigned-lens: product-fit
target-role-agent: DES-PROD
workspace: hyeonworks
target-repo: hyeonworks
objective: exact revision-4 winner ENG-FE-20260718T144700Z를 product-fit lens로 독립 검토한다.
output-format: report.yaml + report-path와 1줄 bottom-line
allowed-tools: [Read, view_image, exec_command, apply_patch]
task-boundaries: >-
product-fit만 평가하고 이전 lens review는 읽지 않는다. prototype은 수정하지 않고
DES-PROD-20260718T145000Z.report.yaml만 작성한다. exact target SHA는
8b208279e12f9aea0fa6d7a3c320811b0e72ddb74c6afac64cddadf4b157cf76이다.
non-goals: [다른 lens 판정, prototype 수정, 방향 재선택, 사용자 학습효과 주장, 외부 네트워크]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T144700Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T115933Z.report.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/core-flow.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/dist/app.js
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/state-previews
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "ledger-studio와 5개 locked invariant"}
acceptance-tests:
- {criterion: "exact R4 id/SHA, reviewer run, product-fit verdict/findings", verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-PROD-20260718T145000Z.report.yaml"}
evidence-plan:
- {claim: "deep-mechanism promise와 observable learning gates 정합", grade: E3, receipt: "exact source, state renders, bound browser receipt"}
expected-output:
report-header: {bottom-line: '', decision-needed: {needed: false, approver: null}, confidence: {value: Med, derived-from: evidence}, risks: [], evidence: []}
token-budget: {max-input-tokens: 60000, max-output-tokens: 8000}
method-selection: {method-id: post-direction, candidates: [pre-direction, post-direction]}
@@ -0,0 +1,89 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T113209Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): objective
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
workflow-id: hyeonworks-vnext-v1-direction
task-id: direction-ledger-studio
mode: divergent
tier: standard
model: sonnet
effort: medium
assigned-lens: null
target-role-agent: DES-VISUAL
workspace: hyeonworks
target-repo: hyeonworks
objective: >-
ledger-studio 전용 격리 run으로 dual-entry-shared-lab 대표 화면을 검토·완성한다.
편집형 기술 저널과 causal ledger 문법을 유지하면서 두 입구가 동일 Lost Update Lab으로
합류한다는 사실, 학습 깊이, 접근성을 실제 coded slice와 concept artifact로 증명한다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, apply_patch, exec_command, view_image]
task-boundaries: >-
hyeonworks/design-direction/hyeonworks-vnext-v1/directions/ledger-studio 안의 index.html과
concept.yaml만 소유한다. 제공된 ledger-studio 방향 브리프 밖의 조형 언어를 섞지 않고,
화면 코드를 검토하여 필요한 품질 수정 후 근거와 reference cluster를 concept.yaml에 기록한다.
non-goals:
- signal-trace 또는 field-manual 산출물·미리보기 열람이나 차용
- 제품 전략·시나리오 값·공통 학습 루프 변경
- 앱 전체 구현, 디자인 시스템화, 외부 네트워크·배포
must-read:
- hyeonworks/design/hyeonworks-vnext-v1/direction-input-brief.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T111440Z.report.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/direction-briefs/ledger-studio.yaml
inherited-decisions: []
acceptance-tests:
- criterion: "concept.yaml이 visual thesis, 3~6개 reference cluster, layout/interaction/type/primitive 문법을 구체적으로 기록한다."
verify: "test -f hyeonworks/design-direction/hyeonworks-vnext-v1/directions/ledger-studio/concept.yaml"
- criterion: "대표 HTML이 두 한국어 진입 라벨, tx-lost-update-01, Predict/Observe/Compare/Explain/Transfer, guided scenario 경계를 모두 포함한다."
verify: "rg -n '개념을 알고 있어요|증상만 알고 있어요|tx-lost-update-01|Predict|Guided scenario' hyeonworks/design-direction/hyeonworks-vnext-v1/directions/ledger-studio/index.html"
- criterion: "360px responsive CSS, focus-visible, reduced-motion 대안이 존재한다."
verify: "rg -n '@media|max-width|focus-visible|prefers-reduced-motion' hyeonworks/design-direction/hyeonworks-vnext-v1/directions/ledger-studio/index.html"
evidence-plan:
- claim: "대표 화면이 실제 코드로 구현되고 필수 학습 구조를 포함한다."
grade: E4
receipt: hyeonworks/design-direction/hyeonworks-vnext-v1/directions/ledger-studio/index.html
- claim: "1280 및 390 viewport에서 브라우저 렌더가 생성된다."
grade: E5
receipt: hyeonworks/design-direction/hyeonworks-vnext-v1/previews/ledger-desktop.png
method-selection:
method-id: art-direction
design-brief:
brief-phase: pre-direction
brief:
what: "두 진입과 공통 Lost Update 실험을 한 편집형 기술 저널 화면으로 구현"
who: "개념 또는 증상 단서에서 시작해 내부 인과를 깊게 학습하려는 개발자"
must-accomplish: "다른 두 입구, 동일 시나리오, 예측에서 전이까지의 학습 루프를 첫 화면에서 이해시킨다"
references:
- {name: "scientific lab notebook", signal: "가설·관찰·결과가 선과 여백 주석으로 연결", why-relevant: "학습을 수동 독서가 아닌 검증 기록으로 만든다"}
- {name: "long-form technical journal", signal: "큰 serif 논제와 절제된 본문 위계", why-relevant: "단일 주제의 깊이를 카탈로그 규모보다 앞세운다"}
- {name: "double-entry ledger", signal: "초기·기대·관찰 값을 같은 기준선에서 비교", why-relevant: "덮어쓴 값을 시각적으로 감사 가능하게 한다"}
tokens:
- {name: paper, value: "#f5f1e8", intent: "집중 읽기용 바탕", boundary: "장식 gradient로 쓰지 않음"}
- {name: evidence-coral, value: "#bb4d3b", intent: "관찰 결과와 증상 단서", boundary: "일반 본문이나 모든 CTA에 쓰지 않음"}
- {name: ledger-rule, value: "1px solid #17201f", intent: "인과·비교 경계", boundary: "모든 요소를 카드화하지 않음"}
decisions:
- {question: "serif와 mono를 언제 쓰나", rule: "논제·설명은 serif, id·값·evidence annotation만 mono"}
- {question: "entry를 분리할 때", rule: "orientation 카피만 2열, 합류 이후는 단일 ledger로 표시"}
donts: ["보라 SaaS gradient", "glass card grid", "neon terminal", "거대한 가짜 Atlas map", "증상 경로의 확정 진단 표현", "두 entry의 별도 Lab", "색만으로 세션 구분", "드래그 전용 상호작용"]
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
@@ -0,0 +1,88 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T113223Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): objective
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
workflow-id: hyeonworks-vnext-v1-direction
task-id: direction-signal-trace
mode: divergent
tier: standard
model: sonnet
effort: medium
assigned-lens: null
target-role-agent: DES-VISUAL
workspace: hyeonworks
target-repo: hyeonworks
objective: >-
signal-trace 전용 격리 run으로 dual-entry-shared-lab 대표 화면을 검토·완성한다.
밝은 계측 rail과 transaction trace 문법으로 시간적 인과를 명확히 하되 terminal/hacker
미학을 피하고, 두 진입이 동일 reducer·시나리오로 합류함을 coded slice로 증명한다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, apply_patch, exec_command, view_image]
task-boundaries: >-
hyeonworks/design-direction/hyeonworks-vnext-v1/directions/signal-trace 안의 index.html과
concept.yaml만 소유한다. signal-trace 브리프의 rail·band·probe 문법 안에서 품질을 검토·수정한다.
non-goals:
- ledger-studio 또는 field-manual 산출물·미리보기 열람이나 차용
- 제품 전략·시나리오 값·공통 학습 루프 변경
- 앱 전체 구현, 디자인 시스템화, 외부 네트워크·배포
must-read:
- hyeonworks/design/hyeonworks-vnext-v1/direction-input-brief.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T111440Z.report.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/direction-briefs/signal-trace.yaml
inherited-decisions: []
acceptance-tests:
- criterion: "concept.yaml이 visual thesis, 3~6개 reference cluster, layout/interaction/type/primitive 문법을 구체적으로 기록한다."
verify: "test -f hyeonworks/design-direction/hyeonworks-vnext-v1/directions/signal-trace/concept.yaml"
- criterion: "대표 HTML이 두 한국어 진입 라벨, tx-lost-update-01, 공통 학습 루프, guided scenario 경계를 포함한다."
verify: "rg -n '개념을 알고 있어요|증상만 알고 있어요|tx-lost-update-01|Predict|GUIDED' hyeonworks/design-direction/hyeonworks-vnext-v1/directions/signal-trace/index.html"
- criterion: "360px responsive CSS, focus-visible, reduced-motion 대안이 존재한다."
verify: "rg -n '@media|max-width|focus-visible|prefers-reduced-motion' hyeonworks/design-direction/hyeonworks-vnext-v1/directions/signal-trace/index.html"
evidence-plan:
- claim: "대표 화면이 실제 코드로 구현되고 필수 학습 구조를 포함한다."
grade: E4
receipt: hyeonworks/design-direction/hyeonworks-vnext-v1/directions/signal-trace/index.html
- claim: "1280 및 390 viewport에서 브라우저 렌더가 생성된다."
grade: E5
receipt: hyeonworks/design-direction/hyeonworks-vnext-v1/previews/signal-desktop.png
method-selection:
method-id: art-direction
design-brief:
brief-phase: pre-direction
brief:
what: "두 입력 신호가 한 transaction trace로 합류하는 기술 학습 화면"
who: "시간 순서와 상태 변화로 동시성 원인을 이해하려는 개발자"
must-accomplish: "입구의 차이와 공통 실험의 동일성, 100→150/70 실행 순서를 즉시 판독하게 한다"
references:
- {name: "railway signal diagram", signal: "독립 입력선이 명시적 junction에서 단일 선로로 합류", why-relevant: "두 입구·하나의 Lab을 구조로 설명"}
- {name: "logic analyzer trace", signal: "시간축 행과 채널별 상태를 정렬", why-relevant: "read/write 선후관계를 빠르게 비교"}
- {name: "industrial instrument panel", signal: "숫자 probe와 라벨이 장식 없이 상태를 표시", why-relevant: "initial/expected/observed 비교의 정밀성"}
tokens:
- {name: trace-blue, value: "#176c8a", intent: "session A와 concept 입력", boundary: "본문 배경 장식 금지"}
- {name: trace-red, value: "#a24a3f + hatch", intent: "session B와 overwrite 충돌", boundary: "색 단독 의미 전달 금지"}
- {name: merge-green, value: "#165f54", intent: "공통 Lab junction", boundary: "일반 CTA 남용 금지"}
decisions:
- {question: "band와 rail 구분", rule: "진입 전은 2개 band, 합류 후는 하나의 trace table만 사용"}
- {question: "animation 사용", rule: "현재 실행 segment 강조만 허용하고 reduced-motion에서는 굵기·패턴으로 교체"}
donts: ["neon terminal", "검은 hacker console", "glow effect", "dashboard KPI grid", "색만으로 채널 구분", "실제 모니터링 제품 암시", "형제 방향의 editorial folio", "드래그 전용 trace"]
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
@@ -0,0 +1,88 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T113230Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): objective
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
workflow-id: hyeonworks-vnext-v1-direction
task-id: direction-field-manual
mode: divergent
tier: standard
model: sonnet
effort: medium
assigned-lens: null
target-role-agent: DES-VISUAL
workspace: hyeonworks
target-repo: hyeonworks
objective: >-
field-manual 전용 격리 run으로 dual-entry-shared-lab 대표 화면을 검토·완성한다.
번호·규칙·체크포인트 중심의 실행 매뉴얼 문법을 유지하되 marketing poster로 오인되지 않도록
학습 행동과 공통 프로토콜을 coded slice와 concept artifact로 명확히 한다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, apply_patch, exec_command, view_image]
task-boundaries: >-
hyeonworks/design-direction/hyeonworks-vnext-v1/directions/field-manual 안의 index.html과
concept.yaml만 소유한다. field-manual 브리프의 numbered protocol·rule block 문법 안에서 검토·수정한다.
non-goals:
- ledger-studio 또는 signal-trace 산출물·미리보기 열람이나 차용
- 제품 전략·시나리오 값·공통 학습 루프 변경
- 앱 전체 구현, 디자인 시스템화, 외부 네트워크·배포
must-read:
- hyeonworks/design/hyeonworks-vnext-v1/direction-input-brief.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T111440Z.report.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/direction-briefs/field-manual.yaml
inherited-decisions: []
acceptance-tests:
- criterion: "concept.yaml이 visual thesis, 3~6개 reference cluster, layout/interaction/type/primitive 문법을 구체적으로 기록한다."
verify: "test -f hyeonworks/design-direction/hyeonworks-vnext-v1/directions/field-manual/concept.yaml"
- criterion: "대표 HTML이 두 한국어 진입 라벨, tx-lost-update-01, 공통 학습 프로토콜, 교육 범위를 포함한다."
verify: "rg -n '개념을 알고 있어요|증상만 알고 있어요|TX-LOST-UPDATE-01|Predict|교육 범위' hyeonworks/design-direction/hyeonworks-vnext-v1/directions/field-manual/index.html"
- criterion: "360px responsive CSS, focus-visible, reduced-motion 대안이 존재한다."
verify: "rg -n '@media|max-width|focus-visible|prefers-reduced-motion' hyeonworks/design-direction/hyeonworks-vnext-v1/directions/field-manual/index.html"
evidence-plan:
- claim: "대표 화면이 실제 코드로 구현되고 필수 학습 구조를 포함한다."
grade: E4
receipt: hyeonworks/design-direction/hyeonworks-vnext-v1/directions/field-manual/index.html
- claim: "1280 및 390 viewport에서 브라우저 렌더가 생성된다."
grade: E5
receipt: hyeonworks/design-direction/hyeonworks-vnext-v1/previews/manual-desktop.png
method-selection:
method-id: art-direction
design-brief:
brief-phase: pre-direction
brief:
what: "두 단서에서 공통 5단계 프로토콜로 들어가는 현장 매뉴얼형 학습 화면"
who: "읽기보다 명확한 절차와 체크포인트로 기술을 실행하며 배우는 개발자"
must-accomplish: "진입 선택, 공통 시나리오, 다섯 행동, 교육 범위를 번호와 규칙으로 판독하게 한다"
references:
- {name: "aircraft quick reference handbook", signal: "행동 순서와 경계 조건을 굵은 번호로 분리", why-relevant: "학습 루프를 실행 가능한 절차로 만든다"}
- {name: "industrial field service manual", signal: "모듈 번호·revision·rule block을 한정된 색으로 표기", why-relevant: "활성 주제 하나를 정직하게 모듈 01로 표현"}
- {name: "Swiss instructional poster", signal: "비대칭 대형 숫자와 고정 grid", why-relevant: "두 entry와 합류 protocol의 위계를 명확히 한다"}
tokens:
- {name: manual-yellow, value: "#e7bd45", intent: "활성 모듈과 shared checkpoint", boundary: "경고 또는 모든 배경에 쓰지 않음"}
- {name: instruction-green, value: "#356c5d", intent: "절차 header", boundary: "상태 성공의 유일 신호로 쓰지 않음"}
- {name: evidence-orange, value: "#d75b32", intent: "증상 entry와 overwrite 결과", boundary: "장식 stamp 남용 금지"}
decisions:
- {question: "큰 번호 사용 기준", rule: "모듈과 프로토콜 단계에만 사용하고 설명 블록에는 금지"}
- {question: "poster와 tool 경계", rule: "모든 큰 선언 다음에 즉시 선택·실험 가능한 control 또는 절차를 배치"}
donts: ["marketing hero만 있는 poster", "dashboard metric grid", "serif editorial folio", "neon signal trace", "가짜 완료 stamp", "실제 incident 매뉴얼 암시", "두 entry의 별도 protocol", "색만으로 단계 구분"]
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
@@ -0,0 +1,79 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T114118Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): objective
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
workflow-id: hyeonworks-vnext-v1-direction
task-id: direction-comparison-audit
mode: converge
tier: standard
model: sonnet
effort: medium
assigned-lens: null
target-role-agent: DES-VISUAL
workspace: hyeonworks
target-repo: hyeonworks
objective: >-
세 개의 독립 coded direction과 동일 viewport full-size preview를 함께 읽고, 모든 쌍이
layout/navigation/type/imagery/motion/primitives 중 최소 네 축에서 실제로 갈라지는지 감사한다.
reference 중복·primitive collision·반응형 위장 여부를 확인해 pass/revise/re-diverge를 판정한다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, exec_command, view_image, apply_patch]
task-boundaries: >-
이 run은 sibling isolation의 유일한 예외로 세 방향 원본·concept·full-size preview와 direction-set을
모두 읽는다. 비교 결과는 지정된 comparative-divergence-audit report 한 파일에만 기록하며 방향 코드,
concept, direction-set 또는 제품 결정을 수정하지 않는다.
non-goals:
- 선호 방향 선택 또는 요소 혼합
- coded slice 수정, 제품 전략 변경, prototype 구현
- 스크린샷 존재만으로 시각 품질 pass 선언
- 외부 네트워크·배포·사용자 효과 검증 주장
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T111440Z-1.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T113705Z.report.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/directions/ledger-studio/concept.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/directions/ledger-studio/index.html
- hyeonworks/design-direction/hyeonworks-vnext-v1/directions/signal-trace/concept.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/directions/signal-trace/index.html
- hyeonworks/design-direction/hyeonworks-vnext-v1/directions/field-manual/concept.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/directions/field-manual/index.html
- hyeonworks/design-direction/hyeonworks-vnext-v1/previews/ledger-desktop.png
- hyeonworks/design-direction/hyeonworks-vnext-v1/previews/signal-desktop.png
- hyeonworks/design-direction/hyeonworks-vnext-v1/previews/manual-desktop.png
- hyeonworks/design-direction/hyeonworks-vnext-v1/previews/comparison.png
inherited-decisions: []
acceptance-tests:
- criterion: "ledger↔signal, ledger↔manual, signal↔manual 세 쌍을 모두 비교하고 각 differing-axes가 4개 이상이다."
verify: "python3 .claude/hooks/lint_design_direction.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T113705Z-1.report.yaml comparative-divergence-audit"
- criterion: "세 full-size preview ref/SHA를 실제 파일에 대조하고 primitive collision 또는 blocker를 숨기지 않는다."
verify: "python3 .claude/hooks/lint_design_direction.py --divergence-bundle hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T113705Z-1.report.yaml hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T113705Z.report.yaml hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T111440Z-1.report.yaml"
evidence-plan:
- claim: "세 방향은 동일 viewport의 실제 브라우저 렌더에서 구조적으로 분리된다."
grade: E4
receipt: hyeonworks/design-direction/hyeonworks-vnext-v1/previews/comparison.png
- claim: "audit가 charter와 direction-set의 exact SHA 및 세 pair를 완전하게 결속한다."
grade: E5
receipt: "lint_design_direction.py --divergence-bundle exit 0"
method-selection:
method-id: compare-directions
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
@@ -0,0 +1,57 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T121010Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): objective
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
workflow-id: hyeonworks-vnext-v1-direction
task-id: review-distinctiveness
mode: divergent
tier: standard
model: sonnet
effort: medium
assigned-lens: distinctiveness
target-role-agent: DES-VISUAL
workspace: hyeonworks
target-repo: hyeonworks
objective: >-
선택된 Ledger Studio prototype이 direction의 편집 증거·causal ledger 주장을 실제 화면에서 유지하고
일반 SaaS 카드 grid나 인터넷 평균으로 퇴행하지 않았는지 distinctiveness 렌즈로 독립 감사한다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, view_image, exec_command, apply_patch]
task-boundaries: >-
distinctiveness만 평가하며 visual-craft 점수나 prototype 수정은 하지 않는다. 형제 리뷰를 읽지 않고
DES-VISUAL-20260718T121036Z.report.yaml 한 파일의 payload/report-header만 작성한다.
non-goals: [visual-craft·product-fit·market 판정, 방향 혼합·재선택, 외부 레퍼런스 검색, prototype 수정]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T120840Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T115933Z.report.yaml
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "editorial evidence를 지배 문법으로 잠금"}
acceptance-tests:
- criterion: "review가 exact winner id/SHA, distinctiveness lens, 새 reviewer run, 화면 위치 근거를 포함한다."
verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T121036Z.report.yaml"
evidence-plan:
- {claim: "선택 방향의 시각 thesis 유지", grade: E3, receipt: "winner render + selected locked invariants"}
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
method-selection:
method-id: art-direction
@@ -0,0 +1,60 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T121347Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): objective
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
workflow-id: hyeonworks-vnext-v1-direction
task-id: review-visual-craft
mode: divergent
tier: standard
model: sonnet
effort: medium
assigned-lens: visual-craft
target-role-agent: DES-VISUAL
workspace: hyeonworks
target-repo: hyeonworks
objective: >-
선택된 Ledger Studio prototype의 계층, 타이포그래피, 색, 간격, 반응형 완성도를 visual-craft 렌즈로만
독립 감사하고 지정 design-lens-review report를 작성한다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, view_image, exec_command, apply_patch]
task-boundaries: >-
visual-craft만 평가한다. prototype과 selected direction을 수정하거나 다른 lens review를 읽지 않는다.
결과는 DES-VISUAL-20260718T121851Z.report.yaml 한 파일의 payload/report-header에만 기록한다.
non-goals: [제품 적합성·사용성·시장성·구현성 판정, 방향 재선택, 실제 사용자 효과 주장, 외부 네트워크]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T120840Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T115933Z.report.yaml
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "ledger-studio 단일 선택과 5개 locked invariant"}
acceptance-tests:
- criterion: "review가 exact winner id/SHA, reviewer role/run, visual-craft lens, verdict, evidence-grounded findings를 포함한다."
verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T121851Z.report.yaml"
evidence-plan:
- {claim: "세 viewport에서 시각 계층·가독성·반응형 craft", grade: E3, receipt: "selected-direction + winner-prototype exact refs and rendered previews"}
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
method-selection:
method-id: ''
candidates:
- art-direction
- compare-directions
@@ -0,0 +1,60 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T131418Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): objective
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
workflow-id: hyeonworks-vnext-v1-direction
task-id: review-r2-visual-craft
mode: divergent
tier: standard
model: sonnet
effort: medium
assigned-lens: visual-craft
target-role-agent: DES-VISUAL
workspace: hyeonworks
target-repo: hyeonworks
objective: >-
Ledger Studio revision 2의 타입·위계·색·간격·상태·반응형 마감이 출시 방향으로 충분한지 visual-craft
렌즈로만 독립 재감사한다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, view_image, exec_command, apply_patch]
task-boundaries: >-
visual-craft만 평가하고 다른 lens/review를 읽지 않는다. prototype은 수정하지 않으며
DES-VISUAL-20260718T131448Z.report.yaml 한 파일만 작성한다.
non-goals: [제품 적합성·사용성·차별성·시장·구현성 판정, 외부 네트워크]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T131305Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T115933Z.report.yaml
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "ledger-studio와 5개 locked invariant"}
acceptance-tests:
- criterion: "exact revision-2 winner id/SHA와 visual-craft verdict/findings를 포함한다."
verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T131448Z.report.yaml"
evidence-plan:
- {claim: "Korean typography, Lab boundary, tablet density and interactive state polish", grade: E3, receipt: "exact home/route/state previews"}
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
method-selection:
method-id: art-direction
candidates:
- art-direction
- compare-directions
@@ -0,0 +1,60 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T131427Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): objective
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
workflow-id: hyeonworks-vnext-v1-direction
task-id: review-r2-distinctiveness
mode: divergent
tier: standard
model: sonnet
effort: medium
assigned-lens: distinctiveness
target-role-agent: DES-VISUAL
workspace: hyeonworks
target-repo: hyeonworks
objective: >-
Ledger Studio revision 2가 Technology Atlas의 고유 editorial-evidence 문법을 유지하고 인터넷 평균과
구별되는지 distinctiveness 렌즈로만 독립 재감사한다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, view_image, exec_command, apply_patch]
task-boundaries: >-
distinctiveness만 평가하고 다른 lens/review를 읽지 않는다. prototype은 수정하지 않으며
DES-VISUAL-20260718T131443Z.report.yaml 한 파일만 작성한다.
non-goals: [제품 적합성·사용성·시각 polish·시장·구현성 판정, 외부 네트워크]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T131305Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T115933Z.report.yaml
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "ledger-studio와 5개 locked invariant"}
acceptance-tests:
- criterion: "exact revision-2 winner id/SHA와 distinctiveness verdict/findings를 포함한다."
verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T131443Z.report.yaml"
evidence-plan:
- {claim: "home, orientations and five Lab states retain a recognizable non-generic visual thesis", grade: E3, receipt: "exact multi-viewport and state previews"}
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
method-selection:
method-id: art-direction
candidates:
- art-direction
- compare-directions
@@ -0,0 +1,63 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T135945Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
workflow-id: hyeonworks-vnext-v1-direction
task-id: review-distinctiveness-r3
mode: divergent
tier: standard
model: sonnet
effort: medium
assigned-lens: distinctiveness
target-role-agent: DES-VISUAL
workspace: hyeonworks
target-repo: hyeonworks
objective: exact revision-3 winner ENG-FE-20260718T135811Z를 distinctiveness 렌즈로 독립
재검토한다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, view_image, exec_command, apply_patch]
task-boundaries: >-
distinctiveness만 평가한다. 이전 review를 읽지 않고 prototype은 수정하지 않으며
DES-VISUAL-20260718T140000Z.report.yaml만 작성한다. exact target은 ENG-FE-20260718T135811Z / 735d588bef412dd3c59899d393562ae76a67a55bbe9f507ddf38eeab1481e9f0이다.
non-goals: [visual-craft 재판정, 다른 lens 판정, prototype 수정, 시장효과 주장, 외부 네트워크]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T135811Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T115933Z.report.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/core-flow.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/preview.w360.png
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/preview.w768.png
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/preview.w1280.png
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/state-previews
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "editorial evidence와 dual-entry shared core"}
acceptance-tests:
- criterion: "exact R3의 visual grammar가 generic dashboard/terminal로 회귀했는지 독립 판정한다."
verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T140000Z.report.yaml"
evidence-plan:
- {claim: "ledger-studio의 고유 visual primitives와 two-entry convergence", grade: E3, receipt: "hash-bound renders"}
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
method-selection:
method-id: art-direction
candidates:
- art-direction
- compare-directions
@@ -0,0 +1,61 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T135952Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
workflow-id: hyeonworks-vnext-v1-direction
task-id: review-visual-craft-r3
mode: divergent
tier: standard
model: sonnet
effort: medium
assigned-lens: visual-craft
target-role-agent: DES-VISUAL
workspace: hyeonworks
target-repo: hyeonworks
objective: exact revision-3 winner ENG-FE-20260718T135811Z를 visual-craft 렌즈로 독립 재검토한다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, view_image, exec_command, apply_patch]
task-boundaries: >-
visual-craft만 평가한다. 이전 review를 읽지 않고 prototype은 수정하지 않으며
DES-VISUAL-20260718T140005Z.report.yaml만 작성한다. exact target은 ENG-FE-20260718T135811Z / 735d588bef412dd3c59899d393562ae76a67a55bbe9f507ddf38eeab1481e9f0이다.
non-goals: [distinctiveness 재판정, 다른 lens 판정, prototype 수정, 사용자 효과 주장, 외부 네트워크]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T135811Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T115933Z.report.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/core-flow.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/dist/styles.css
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/state-previews
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/preview.state-fixture.png
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "editorial evidence, AA boundary, accessible Korean reading"}
acceptance-tests:
- criterion: "360/768/1280 hierarchy, Korean word integrity, contrast와 state polish를 exact R3에서 판정한다."
verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T140005Z.report.yaml"
evidence-plan:
- {claim: "responsive visual finish and Korean typography", grade: E3, receipt: "state renders, CSS and live browser receipt"}
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
method-selection:
method-id: art-direction
candidates:
- art-direction
- compare-directions
@@ -0,0 +1,35 @@
workflow-id: hyeonworks-vnext-v1-direction
task-id: review-distinctiveness-r4
mode: divergent
tier: standard
model: sonnet
effort: high
assigned-lens: distinctiveness
target-role-agent: DES-VISUAL
workspace: hyeonworks
target-repo: hyeonworks
objective: exact revision-4 winner ENG-FE-20260718T144700Z를 distinctiveness lens로 독립 검토한다.
output-format: report.yaml + report-path와 1줄 bottom-line
allowed-tools: [Read, view_image, exec_command, apply_patch]
task-boundaries: >-
visual distinctiveness만 평가하고 이전 review는 읽지 않는다. visual-craft를 대신 판정하거나 prototype을 수정하지 않고
DES-VISUAL-20260718T145000Z.report.yaml만 작성한다. exact target SHA는
8b208279e12f9aea0fa6d7a3c320811b0e72ddb74c6afac64cddadf4b157cf76이다.
non-goals: [visual-craft 재판정, 다른 lens 판정, prototype 수정, 외부 네트워크]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T144700Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T115933Z.report.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/core-flow.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/preview.w360.png
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/preview.w1280.png
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/state-previews
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "editorial evidence thesis와 100·120·70 recall bundle"}
acceptance-tests:
- {criterion: "generic learning-template와 구분되는 ownable visual grammar 판정", verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T145000Z.report.yaml"}
evidence-plan:
- {claim: "recognizable editorial-evidence grammar", grade: E3, receipt: "exact responsive and state images"}
expected-output:
report-header: {bottom-line: '', decision-needed: {needed: false, approver: null}, confidence: {value: Med, derived-from: evidence}, risks: [], evidence: []}
token-budget: {max-input-tokens: 60000, max-output-tokens: 8000}
method-selection: {method-id: art-direction, candidates: [art-direction, compare-directions]}
@@ -0,0 +1,37 @@
workflow-id: hyeonworks-vnext-v1-direction
task-id: review-visual-craft-r4
mode: divergent
tier: standard
model: sonnet
effort: high
assigned-lens: visual-craft
target-role-agent: DES-VISUAL
workspace: hyeonworks
target-repo: hyeonworks
objective: exact revision-4 winner ENG-FE-20260718T144700Z를 visual-craft lens로 독립 검토한다.
output-format: report.yaml + report-path와 1줄 bottom-line
allowed-tools: [Read, view_image, exec_command, apply_patch]
task-boundaries: >-
visual-craft와 computed contrast만 평가하고 이전 review는 읽지 않는다. distinctiveness를 대신 판정하거나 prototype을 수정하지 않고
DES-VISUAL-20260718T145005Z.report.yaml만 작성한다. exact target SHA는
8b208279e12f9aea0fa6d7a3c320811b0e72ddb74c6afac64cddadf4b157cf76이다.
non-goals: [distinctiveness 재판정, 다른 lens 판정, prototype 수정, 외부 네트워크]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T144700Z.report.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/core-flow.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/dist/styles.css
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/scripts/verify_flow.cjs
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/preview.w360.png
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/preview.w768.png
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/preview.w1280.png
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/state-previews
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "editorial evidence, AA reading, responsive craft"}
acceptance-tests:
- {criterion: "actual backgrounds의 small-text/control 대비와 responsive finish 판정", verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-VISUAL-20260718T145005Z.report.yaml"}
evidence-plan:
- {claim: "computed contrast and responsive finish", grade: E3, receipt: "browser metrics, CSS and exact state renders"}
expected-output:
report-header: {bottom-line: '', decision-needed: {needed: false, approver: null}, confidence: {value: Med, derived-from: evidence}, risks: [], evidence: []}
token-budget: {max-input-tokens: 60000, max-output-tokens: 8000}
method-selection: {method-id: art-direction, candidates: [art-direction, compare-directions]}
@@ -0,0 +1,60 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v1-direction/ENG-FE-20260718T121352Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): objective
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
# - handoff input:api-contract: 필수 아티팩트(api-contract) 부재
# - handoff input:frontend-platform: 필수 아티팩트(frontend-platform) 부재
# - handoff input:acceptance-criteria: 필수 아티팩트(acceptance-criteria) 부재
workflow-id: hyeonworks-vnext-v1-direction
task-id: review-implementability
mode: divergent
tier: standard
model: sonnet
effort: medium
assigned-lens: implementability
target-role-agent: ENG-FE
workspace: hyeonworks
target-repo: hyeonworks
objective: >-
선택된 Ledger Studio prototype을 제품 코드로 옮길 때 구조·상태·접근성·반응형 동작이 명확하고
과도한 복잡성 없이 구현 가능한지 implementability 렌즈로만 독립 감사하고 지정 design-lens-review report를 작성한다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, view_image, exec_command, apply_patch]
task-boundaries: >-
implementability만 평가한다. prototype과 selected direction을 수정하거나 다른 lens review를 읽지 않는다.
결과는 ENG-FE-20260718T121851Z.report.yaml 한 파일의 payload/report-header에만 기록한다.
non-goals: [제품 적합성·사용성·시각 craft·시장성 판정, 방향 재선택, production 코드 작성, 외부 네트워크]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T120840Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T115933Z.report.yaml
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "ledger-studio 단일 선택과 5개 locked invariant"}
acceptance-tests:
- criterion: "review가 exact winner id/SHA, reviewer role/run, implementability lens, verdict, evidence-grounded findings를 포함한다."
verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T121851Z.report.yaml"
evidence-plan:
- {claim: "제품 구현으로 이관 가능한 상태·라우팅·접근성·반응형 구조", grade: E3, receipt: "selected-direction + winner-prototype exact refs and source inspection"}
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
method-selection:
method-id: frontend-implementation
@@ -0,0 +1,57 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v1-direction/ENG-FE-20260718T131418Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): objective
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
workflow-id: hyeonworks-vnext-v1-direction
task-id: review-r2-implementability
mode: divergent
tier: standard
model: sonnet
effort: medium
assigned-lens: implementability
target-role-agent: ENG-FE
workspace: hyeonworks
target-repo: hyeonworks
objective: >-
Ledger Studio revision 2가 production handoff에 필요한 state/route/accessibility/test 경계를 최소 복잡성으로
갖췄는지 implementability 렌즈로만 독립 재감사한다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, view_image, exec_command, apply_patch]
task-boundaries: >-
implementability만 평가하고 다른 lens/review를 읽지 않는다. prototype은 수정하지 않으며
ENG-FE-20260718T131443Z.report.yaml 한 파일만 작성한다.
non-goals: [제품·시장·시각 판정, production 구현 수행, backend 도입, 외부 네트워크]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T131305Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T115933Z.report.yaml
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "ledger-studio와 5개 locked invariant"}
acceptance-tests:
- criterion: "exact revision-2 winner id/SHA와 implementability verdict/findings를 포함한다."
verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T131443Z.report.yaml"
evidence-plan:
- {claim: "registry/reducer/view boundaries and Chrome E2E make production handoff feasible without excess architecture", grade: E3, receipt: "exact source and typed receipts"}
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
method-selection:
method-id: frontend-implementation
@@ -0,0 +1,59 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v1-direction/ENG-FE-20260718T135945Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
workflow-id: hyeonworks-vnext-v1-direction
task-id: review-implementability-r3
mode: divergent
tier: standard
model: sonnet
effort: medium
assigned-lens: implementability
target-role-agent: ENG-FE
workspace: hyeonworks
target-repo: hyeonworks
objective: exact revision-3 winner ENG-FE-20260718T135811Z를 implementability 렌즈로 독립
재검토한다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, view_image, exec_command, apply_patch]
task-boundaries: >-
implementability만 평가한다. 이전 review를 읽지 않고 prototype은 수정하지 않으며
ENG-FE-20260718T140000Z.report.yaml만 작성한다. exact target은 ENG-FE-20260718T135811Z / 735d588bef412dd3c59899d393562ae76a67a55bbe9f507ddf38eeab1481e9f0이다.
non-goals: [다른 lens 판정, production 구현 수행, prototype 수정, backend 추가, 외부 네트워크]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T135811Z.report.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/core-flow.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/dist/index.html
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/dist/app.js
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/dist/styles.css
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/scripts/verify_flow.cjs
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "React/CSS-portable static reducer boundary without backend"}
acceptance-tests:
- criterion: "R3 source, exact receipts, deterministic reducer, accessibility와 responsive tests가 production handoff 가능한지 판정한다."
verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T140000Z.report.yaml"
evidence-plan:
- {claim: "bounded production portability and verified interaction contract", grade: E3, receipt: "source, render, E2E and CSS typed receipts"}
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
method-selection:
method-id: frontend-implementation
@@ -0,0 +1,35 @@
workflow-id: hyeonworks-vnext-v1-direction
task-id: review-implementability-r4
mode: divergent
tier: standard
model: sonnet
effort: high
assigned-lens: implementability
target-role-agent: ENG-FE
workspace: hyeonworks
target-repo: hyeonworks
objective: exact revision-4 winner ENG-FE-20260718T144700Z를 implementability lens로 독립 검토한다.
output-format: report.yaml + report-path와 1줄 bottom-line
allowed-tools: [Read, view_image, exec_command, apply_patch]
task-boundaries: >-
implementability와 production portability만 평가하고 이전 review는 읽지 않는다. prototype은 수정하지 않고
ENG-FE-20260718T145000Z.report.yaml만 작성한다. exact target SHA는
8b208279e12f9aea0fa6d7a3c320811b0e72ddb74c6afac64cddadf4b157cf76이다.
non-goals: [다른 lens 판정, production 구현 수행, backend 추가, prototype 수정, 외부 네트워크]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T144700Z.report.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/core-flow.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/dist/index.html
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/dist/app.js
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/dist/styles.css
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/scripts/verify_flow.cjs
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "static deterministic reducer boundary without backend"}
acceptance-tests:
- {criterion: "exact receipts, route-safe skip, reducer, accessibility와 responsive tests가 production handoff 가능한지 판정", verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T145000Z.report.yaml"}
evidence-plan:
- {claim: "bounded production portability and verified interaction contract", grade: E3, receipt: "source, render, browser and CSS receipts"}
expected-output:
report-header: {bottom-line: '', decision-needed: {needed: false, approver: null}, confidence: {value: Med, derived-from: evidence}, risks: [], evidence: []}
token-budget: {max-input-tokens: 60000, max-output-tokens: 8000}
method-selection: {method-id: frontend-implementation}
@@ -0,0 +1,58 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v1-direction/GTM-PMM-20260718T121350Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): objective
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
# - handoff input:competitive-intel: 필수 아티팩트(competitive-intel) 부재
workflow-id: hyeonworks-vnext-v1-direction
task-id: review-market-memorability
mode: divergent
tier: standard
model: sonnet
effort: medium
assigned-lens: market-memorability
target-role-agent: GTM-PMM
workspace: hyeonworks
target-repo: hyeonworks
objective: >-
선택된 Ledger Studio prototype의 메시지·범주 단서·이름·첫인상이 목표 개발자에게 명확하고 기억 가능한지
market-memorability 렌즈로만 독립 감사하고 지정 design-lens-review report를 작성한다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, view_image, exec_command, apply_patch]
task-boundaries: >-
market-memorability만 평가한다. prototype과 selected direction을 수정하거나 다른 lens review를 읽지 않는다.
결과는 GTM-PMM-20260718T121851Z.report.yaml 한 파일의 payload/report-header에만 기록한다.
non-goals: [제품 적합성·사용성·시각 craft·구현성 판정, 방향 재선택, 실제 시장 반응 주장, 외부 네트워크]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T120840Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T115933Z.report.yaml
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "ledger-studio 단일 선택과 5개 locked invariant"}
acceptance-tests:
- criterion: "review가 exact winner id/SHA, reviewer role/run, market-memorability lens, verdict, evidence-grounded findings를 포함한다."
verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/GTM-PMM-20260718T121851Z.report.yaml"
evidence-plan:
- {claim: "첫 화면 메시지·범주 단서·고유 명칭의 회상 가능성", grade: E3, receipt: "selected-direction + winner-prototype exact refs and rendered prototype"}
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
method-selection:
method-id: product-marketing
@@ -0,0 +1,57 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v1-direction/GTM-PMM-20260718T131418Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): objective
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
workflow-id: hyeonworks-vnext-v1-direction
task-id: review-r2-market-memorability
mode: divergent
tier: standard
model: sonnet
effort: medium
assigned-lens: market-memorability
target-role-agent: GTM-PMM
workspace: hyeonworks
target-repo: hyeonworks
objective: >-
Ledger Studio revision 2의 Technology Atlas 이름·category descriptor·100/120/70 anchor·headline이 명확하고
기억 가능한지 market-memorability 렌즈로만 독립 재감사한다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, view_image, exec_command, apply_patch]
task-boundaries: >-
market-memorability만 평가하고 다른 lens/review를 읽지 않는다. prototype은 수정하지 않으며
GTM-PMM-20260718T131443Z.report.yaml 한 파일만 작성한다.
non-goals: [제품 적합성·사용성·시각 craft·구현성 판정, 실제 시장 반응 주장, 외부 네트워크]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T131305Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T115933Z.report.yaml
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "ledger-studio와 5개 locked invariant"}
acceptance-tests:
- criterion: "exact revision-2 winner id/SHA와 market-memorability verdict/findings를 포함한다."
verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/GTM-PMM-20260718T131443Z.report.yaml"
evidence-plan:
- {claim: "single public name, category and mechanic-aligned recall bundle", grade: E3, receipt: "exact source and multi-viewport home"}
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
method-selection:
method-id: product-marketing
@@ -0,0 +1,59 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v1-direction/GTM-PMM-20260718T135945Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
workflow-id: hyeonworks-vnext-v1-direction
task-id: review-market-memorability-r3
mode: divergent
tier: standard
model: sonnet
effort: medium
assigned-lens: market-memorability
target-role-agent: GTM-PMM
workspace: hyeonworks
target-repo: hyeonworks
objective: exact revision-3 winner ENG-FE-20260718T135811Z를 market-memorability 렌즈로
독립 재검토한다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, view_image, exec_command, apply_patch]
task-boundaries: >-
market-memorability만 평가한다. 이전 review를 읽지 않고 prototype은 수정하지 않으며
GTM-PMM-20260718T140000Z.report.yaml만 작성한다. exact target은 ENG-FE-20260718T135811Z / 735d588bef412dd3c59899d393562ae76a67a55bbe9f507ddf38eeab1481e9f0이다.
non-goals: [다른 lens 판정, 경쟁사 조사, prototype 수정, 실제 회상률 주장, 외부 네트워크]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T135811Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T115933Z.report.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/dist/app.js
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/preview.w360.png
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/preview.w768.png
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/preview.w1280.png
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "Technology Atlas public name and mechanic-aligned promise"}
acceptance-tests:
- criterion: "공개 home에서 name/category/headline/100·120·70 anchor의 일관성과 회상 가능성을 판정한다."
verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/GTM-PMM-20260718T140000Z.report.yaml"
evidence-plan:
- {claim: "single public name and memorable mechanic bundle", grade: E3, receipt: "three hash-bound home renders"}
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
method-selection:
method-id: product-marketing
@@ -0,0 +1,35 @@
workflow-id: hyeonworks-vnext-v1-direction
task-id: review-market-memorability-r4
mode: divergent
tier: standard
model: sonnet
effort: high
assigned-lens: market-memorability
target-role-agent: GTM-PMM
workspace: hyeonworks
target-repo: hyeonworks
objective: exact revision-4 winner ENG-FE-20260718T144700Z를 market-memorability lens로 독립 검토한다.
output-format: report.yaml + report-path와 1줄 bottom-line
allowed-tools: [Read, view_image, exec_command, apply_patch]
task-boundaries: >-
market-memorability만 평가하고 이전 review는 읽지 않는다. prototype은 수정하지 않고
GTM-PMM-20260718T145000Z.report.yaml만 작성한다. exact target SHA는
8b208279e12f9aea0fa6d7a3c320811b0e72ddb74c6afac64cddadf4b157cf76이다.
non-goals: [다른 lens 판정, 시장규모 주장, 가격/캠페인 설계, prototype 수정, 외부 네트워크]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T144700Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T115933Z.report.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/core-flow.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/preview.w360.png
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/preview.w1280.png
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/state-previews
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "Technology Atlas by Hyeonworks와 evidence-first positioning"}
acceptance-tests:
- {criterion: "이름·약속·visual mnemonic·honest boundary가 일관되고 기억 가능한지 판정", verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/GTM-PMM-20260718T145000Z.report.yaml"}
evidence-plan:
- {claim: "name/category/promise and visual mnemonic coherence", grade: E3, receipt: "exact responsive and state images"}
expected-output:
report-header: {bottom-line: '', decision-needed: {needed: false, approver: null}, confidence: {value: Med, derived-from: evidence}, risks: [], evidence: []}
token-budget: {max-input-tokens: 60000, max-output-tokens: 8000}
method-selection: {method-id: product-marketing}
@@ -0,0 +1,57 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v1-direction/UX-RESEARCHER-20260718T121009Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): objective
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
workflow-id: hyeonworks-vnext-v1-direction
task-id: review-usability
mode: divergent
tier: standard
model: sonnet
effort: medium
assigned-lens: usability
target-role-agent: UX-RESEARCHER
workspace: hyeonworks
target-repo: hyeonworks
objective: >-
Ledger Studio prototype을 실제 태스크 흐름·인지 부담·오류 예방·키보드/모바일 맥락의 usability 렌즈로
독립 점검한다. 사용자 관찰이 없는 한계를 명시하고 expert inspection 범위에서만 verdict를 낸다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, view_image, exec_command, apply_patch]
task-boundaries: >-
usability만 평가한다. prototype을 수정하거나 다른 lens review를 읽지 않는다. 결과는
UX-RESEARCHER-20260718T121036Z.report.yaml 한 파일의 payload/report-header에만 기록한다.
non-goals: [사용자 테스트를 했다는 주장, 학습효과·수요 검증, 시각 방향 재선택, 외부 네트워크]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T120840Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T115933Z.report.yaml
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "dual-entry shared-core 및 accessible reading 불변식"}
acceptance-tests:
- criterion: "review가 exact winner id/SHA, usability lens, 새 reviewer run, 근거 위치·severity가 있는 findings를 포함한다."
verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/UX-RESEARCHER-20260718T121036Z.report.yaml"
evidence-plan:
- {claim: "핵심 경로의 expert usability inspection", grade: E3, receipt: "winner source + 360/768/1280 render"}
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
method-selection:
method-id: user-research
@@ -0,0 +1,57 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v1-direction/UX-RESEARCHER-20260718T131418Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): objective
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
workflow-id: hyeonworks-vnext-v1-direction
task-id: review-r2-usability
mode: divergent
tier: standard
model: sonnet
effort: medium
assigned-lens: usability
target-role-agent: UX-RESEARCHER
workspace: hyeonworks
target-repo: hyeonworks
objective: >-
Ledger Studio revision 2의 두 entry와 전체 Lab을 실제 브라우저·키보드·모바일 맥락에서 usability 렌즈로만
독립 재감사하고 지정 report를 작성한다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, view_image, exec_command, apply_patch]
task-boundaries: >-
usability만 평가하고 다른 lens/review를 읽지 않는다. prototype은 수정하지 않으며
UX-RESEARCHER-20260718T131443Z.report.yaml 한 파일만 작성한다.
non-goals: [제품 전략·시각 craft·시장·구현성 판정, 참가자 없는 학습 효과 주장, 외부 네트워크]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T131305Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T115933Z.report.yaml
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "ledger-studio와 5개 locked invariant"}
acceptance-tests:
- criterion: "exact revision-2 winner id/SHA와 usability verdict/findings를 포함한다."
verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/UX-RESEARCHER-20260718T131443Z.report.yaml"
evidence-plan:
- {claim: "keyboard focus, feedback, trace semantics, entry discoverability and responsive completion", grade: E3, receipt: "exact state renders and live Chrome flow"}
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
method-selection:
method-id: user-research
@@ -0,0 +1,59 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v1-direction/UX-RESEARCHER-20260718T135944Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
workflow-id: hyeonworks-vnext-v1-direction
task-id: review-usability-r3
mode: divergent
tier: standard
model: sonnet
effort: medium
assigned-lens: usability
target-role-agent: UX-RESEARCHER
workspace: hyeonworks
target-repo: hyeonworks
objective: exact revision-3 winner ENG-FE-20260718T135811Z를 usability 렌즈로 독립 재검토한다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, view_image, exec_command, apply_patch]
task-boundaries: >-
usability만 독립 평가한다. 이전 review를 읽지 않고 prototype은 수정하지 않으며
UX-RESEARCHER-20260718T140000Z.report.yaml만 작성한다. exact target은 ENG-FE-20260718T135811Z / 735d588bef412dd3c59899d393562ae76a67a55bbe9f507ddf38eeab1481e9f0이다.
non-goals: [다른 lens 판정, prototype 수정, 모집 사용자 효과 주장, 방향 재선택, 외부 네트워크]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T135811Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/DES-DIRECTOR-20260718T115933Z.report.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/core-flow.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/dist/app.js
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/dist/styles.css
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/scripts/verify_flow.cjs
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/state-previews
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "dual entry, shared Lab, accessible reading"}
acceptance-tests:
- criterion: "360 Observe containment, entry focus/scroll, keyboard flow와 exact R3 verdict를 실제 Chrome 근거로 판정한다."
verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/UX-RESEARCHER-20260718T140000Z.report.yaml"
evidence-plan:
- {claim: "responsive usability와 keyboard/focus/feedback semantics", grade: E3, receipt: "live browser inspection and exact E2E receipt"}
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
method-selection:
method-id: user-research
@@ -0,0 +1,35 @@
workflow-id: hyeonworks-vnext-v1-direction
task-id: review-usability-r4
mode: divergent
tier: standard
model: sonnet
effort: high
assigned-lens: usability
target-role-agent: UX-RESEARCHER
workspace: hyeonworks
target-repo: hyeonworks
objective: exact revision-4 winner ENG-FE-20260718T144700Z를 usability lens로 독립 검토한다.
output-format: report.yaml + report-path와 1줄 bottom-line
allowed-tools: [Read, view_image, exec_command, apply_patch]
task-boundaries: >-
usability와 accessibility interaction만 평가하고 이전 review는 읽지 않는다. prototype은 수정하지 않고
UX-RESEARCHER-20260718T145000Z.report.yaml만 작성한다. exact target SHA는
8b208279e12f9aea0fa6d7a3c320811b0e72ddb74c6afac64cddadf4b157cf76이다.
non-goals: [다른 lens 판정, prototype 수정, 시각 취향 재설계, 사용자 효과 주장, 외부 네트워크]
must-read:
- hyeonworks/completion-records/hyeonworks-vnext-v1-direction/ENG-FE-20260718T144700Z.report.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/core-flow.yaml
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/dist/index.html
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/dist/app.js
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/scripts/verify_flow.cjs
- hyeonworks/design-direction/hyeonworks-vnext-v1/prototype/state-previews
inherited-decisions:
- {decision-id: DES-DIRECTOR-20260718T115933Z, summary: "dual-entry shared causal Lab와 accessible reading"}
acceptance-tests:
- {criterion: "5-route×3-viewport keyboard, skip, focus, state preservation을 exact R4에서 판정", verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v1-direction/UX-RESEARCHER-20260718T145000Z.report.yaml"}
evidence-plan:
- {claim: "task continuity, keyboard semantics, mobile containment", grade: E3, receipt: "live Chrome assertions and state renders"}
expected-output:
report-header: {bottom-line: '', decision-needed: {needed: false, approver: null}, confidence: {value: Med, derived-from: evidence}, risks: [], evidence: []}
token-budget: {max-input-tokens: 60000, max-output-tokens: 8000}
method-selection: {method-id: user-research}
@@ -0,0 +1,63 @@
# context-package — 단일 컴파일러(context_package.py --compile)가 발급한 스켈레톤.
# spawn 전: 아래 placeholder를 채우고 `python3 .claude/hooks/context_package.py hyeonworks/state/context-packages/hyeonworks-vnext-v2/gtm-ci-20260720T113339Z.pkg.yaml` 가
# exit 0(통과)이어야 워커를 spawn한다. 스키마·규칙: org-os/06-agent-work/context-package-spec.yaml
# 아직 채워야 하는 필드(발급 시점):
# - 필수 필드 비어있음(placeholder 미충전): objective
# - 필수 필드 비어있음(placeholder 미충전): allowed-tools
# - 필수 필드 비어있음(placeholder 미충전): task-boundaries
# - 필수 필드 비어있음(placeholder 미충전): must-read
# - 필수 필드 비어있음(placeholder 미충전): target-repo
# - 필수 필드 비어있음(placeholder 미충전): acceptance-tests
# - 필수 필드 비어있음(placeholder 미충전): non-goals
# - 필수 필드 비어있음(placeholder 미충전): evidence-plan
# - target role GTM-CI는 registry상 assigned-lens LENS-CONTRARIAN를 carry할 수 없다
workflow-id: hyeonworks-vnext-v2
task-id: evidence-pack-competition
mode: divergent
tier: standard
model: sonnet
effort: medium
assigned-lens: LENS-CONTRARIAN
target-role-agent: gtm-ci
workspace: hyeonworks
target-repo: ''
objective: ''
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: []
allowed-paths: []
task-boundaries: ''
non-goals: []
must-read: []
inherited-decisions: []
acceptance-tests: []
evidence-plan: []
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
max-tool-calls: 80
max-attempts: 2
max-cumulative-tokens: 136000
rehydration:
max-summary-input: 16000
full-read-triggers:
- tier-heavy
- critical-claim
- dissent-present
- confidence-low
- reviewer-request
- projection-conflict
rehydration-policy: projection-first-expand-on-trigger
method-selection:
method-id: competitive-intelligence
@@ -0,0 +1,80 @@
workflow-id: hyeonworks-vnext-v2
task-id: evidence-pack-competition
mode: divergent
tier: standard
model: sonnet
effort: medium
assigned-lens: LENS-REVENUE
target-role-agent: gtm-ci
workspace: hyeonworks
target-repo: hyeonworks
objective: >-
이번 discovery의 **공통 evidence pack 중 market/competition 부분**을 만든다. hyeonworks가 속한
문제공간(복잡한 시스템 동작을 정적 문서로 이해하기 어려운 개발자의 학습)에서 실명 경쟁·대체재를
외부 조사로 접지하고, 고정된 옵션 집합 A/B/C(+조건부 D)를 LENS-REVENUE(유입·반복 방문·수익)
관점에서 동일하게 평가한다. 선택하지 않는다 — 근거와 평가만 낸다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, Grep, Glob, Write, WebSearch, WebFetch]
allowed-paths:
- hyeonworks/completion-records/hyeonworks-vnext-v2
- hyeonworks/design/hyeonworks-vnext-v2
task-boundaries: >-
ground-boundary.yaml의 fixed-problem-space를 침범하지 않는다(실장애 확정·운영로그·원격DB·AI자동진단
제품으로 확장 제안 금지). v1 결정은 baseline for comparison일 뿐 hard constraint가 아니다.
**옵션별 별도 중복 조사를 하지 않는다** — 하나의 공통 pack을 만들고 그 위에서 A/B/C를 평가한다.
하나의 안을 옹호하지 않는다. 옵션을 선택하거나 최종 권고를 내리지 않는다(그건 /decide 소관).
보고서는 hyeonworks/completion-records/hyeonworks-vnext-v2/GTM-CI-20260720T115855Z.report.yaml
**한 개만** 쓴다.
non-goals: [옵션 선택·수렴, information architecture, wireframe, 시각 방향, 디자인 시스템, 프로토타입,
구현, 하나의 안 옹호, 옵션별 중복 조사]
must-read:
- hyeonworks/design/hyeonworks-vnext-v2/ground-boundary.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v2/EXEC-CEO-20260720T110525Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1/EXEC-CEO-20260718T111108Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1/STR-ANALYST-20260718T110705Z.report.yaml
- hyeonworks/app/README.md
inherited-decisions:
- {decision-id: EXEC-CEO-20260720T110525Z, summary: "v2 intake — mode=divergent, tier=standard, 문제공간 고정·해결공간 개방"}
acceptance-tests:
- criterion: >-
실명 경쟁·대체재가 최소 5개, 각각 실제 URL과 함께 기록되고 direct/adjacent/substitute 구분이 있다.
v1의 외부근거 0건 상태를 반복하지 않는다.
verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v2/GTM-CI-20260720T115855Z.report.yaml"
- criterion: >-
A/B/C(+조건부 D) 각 옵션에 대해 '현재 대안과 실명 경쟁·대체재' / '유입·반복 방문·수익 가설' /
'evidence refs' / 'unresolved assumptions'가 채워져 있다.
verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v2/GTM-CI-20260720T115855Z.report.yaml"
evidence-plan:
- {claim: "실명 경쟁·대체재와 그들의 제품 형태·과금·콘텐츠 확장 단위", grade: E2, receipt: "실제 접속 가능한 제품/문서 URL + 확인 시점"}
- {claim: "v1 discovery의 외부근거 부재", grade: E3, receipt: "STR-ANALYST-20260718T110705Z.report.yaml evidence 3건이 전부 사내 경로"}
- {claim: "옵션별 유입·반복방문·수익 가설", grade: E2, receipt: "외부 사례에서 도출한 가설 — 실측 아님을 명시"}
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
max-tool-calls: 80
max-attempts: 2
max-cumulative-tokens: 136000
rehydration:
max-summary-input: 16000
full-read-triggers:
- tier-heavy
- critical-claim
- dissent-present
- confidence-low
- reviewer-request
- projection-conflict
rehydration-policy: projection-first-expand-on-trigger
method-selection:
method-id: competitive-intelligence
@@ -0,0 +1,80 @@
workflow-id: hyeonworks-vnext-v2
task-id: evidence-pack-user
mode: divergent
tier: standard
model: sonnet
effort: medium
assigned-lens: LENS-CUSTOMER
target-role-agent: ux-researcher
workspace: hyeonworks
target-repo: hyeonworks
objective: >-
이번 discovery의 **공통 evidence pack 중 user 부분**을 만든다. 고정된 문제공간(복잡한 시스템 동작을
정적 문서만으로 이해하기 어렵거나, 증상·결과를 내부 상태 변화와 인과에 연결하기 어려운 개발자)에서
실제 학습 painful job과 현재 대처 방식을 외부 근거로 접지하고, 고정 옵션 집합 A/B/C(+조건부 D)를
LENS-CUSTOMER(사용자 문제 적합성·학습성과) 관점에서 동일하게 평가한다. 선택하지 않는다.
output-format: report.yaml (report-header BLUF로 시작) + 최종 메시지로 report-path + 1줄 bottom-line
반환
allowed-tools: [Read, Grep, Glob, Write, WebSearch, WebFetch]
allowed-paths:
- hyeonworks/completion-records/hyeonworks-vnext-v2
- hyeonworks/design/hyeonworks-vnext-v2
task-boundaries: >-
ground-boundary.yaml의 fixed-problem-space를 침범하지 않는다(실장애 확정·운영로그·원격DB·AI자동진단
제품으로 확장 제안 금지). v1의 dual-entry와 5단계 고정 루프는 baseline일 뿐 전제가 아니다 —
사용자 근거가 지지하지 않으면 지지하지 않는다고 쓴다. **옵션별 별도 중복 조사를 하지 않는다.**
사용자 실측 데이터가 없으므로 E2 상한·confidence Med 이하를 지키고 '실측했다'고 주장하지 않는다.
보고서는 hyeonworks/completion-records/hyeonworks-vnext-v2/UX-RESEARCHER-20260720T115855Z.report.yaml
**한 개만** 쓴다.
non-goals: [옵션 선택·수렴, information architecture, wireframe, 시각 방향, 디자인 시스템, 프로토타입,
구현, 하나의 안 옹호, 옵션별 중복 조사, 실측 없는 정량 주장]
must-read:
- hyeonworks/design/hyeonworks-vnext-v2/ground-boundary.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v2/EXEC-CEO-20260720T110525Z.report.yaml
- hyeonworks/completion-records/hyeonworks-vnext-v1/EXEC-CEO-20260718T111108Z.report.yaml
- hyeonworks/app/README.md
- hyeonworks/design/hyeonworks-vnext-v1/direction-input-brief.yaml
inherited-decisions:
- {decision-id: EXEC-CEO-20260720T110525Z, summary: "v2 intake — mode=divergent, tier=standard, 문제공간 고정·해결공간 개방"}
acceptance-tests:
- criterion: >-
학습 painful job이 외부 근거(개발자 학습 행태·기존 학습자료의 실패 지점)에 접지되고,
v1의 dual-entry 전제가 사용자 근거로 지지되는지 여부가 명시적으로 판정된다.
verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v2/UX-RESEARCHER-20260720T115855Z.report.yaml"
- criterion: >-
A/B/C(+조건부 D) 각 옵션에 대해 'target user와 painful job' / '학습성과 가설' /
'evidence refs' / 'unresolved assumptions'가 채워져 있다.
verify: "python3 .claude/hooks/validate_report.py hyeonworks/completion-records/hyeonworks-vnext-v2/UX-RESEARCHER-20260720T115855Z.report.yaml"
evidence-plan:
- {claim: "개발자가 동시성·시스템 동작을 학습할 때 겪는 실제 실패 지점", grade: E2, receipt: "외부 학습자료·커뮤니티 논의 URL + 확인 시점"}
- {claim: "v1이 dual-entry를 미검증 상태로 확정했다는 사실", grade: E3, receipt: "EXEC-CEO-20260718T111108Z dissent 항목 인용"}
- {claim: "옵션별 학습성과 가설", grade: E2, receipt: "학습과학·외부 사례에서 도출한 가설 — 실측 아님을 명시"}
expected-output:
report-header:
bottom-line: ''
decision-needed:
needed: false
approver: null
confidence:
value: Med
derived-from: evidence
risks: []
evidence: []
token-budget:
max-input-tokens: 60000
max-output-tokens: 8000
max-tool-calls: 80
max-attempts: 2
max-cumulative-tokens: 136000
rehydration:
max-summary-input: 16000
full-read-triggers:
- tier-heavy
- critical-claim
- dissent-present
- confidence-low
- reviewer-request
- projection-conflict
rehydration-policy: projection-first-expand-on-trigger
method-selection:
method-id: user-research