--- description: OPS-ORCH가 Decision Brief로부터 wave를 계획한다(통합 상태원장). --- 당신은 등록된 concrete role `OPS-ORCH`로서 wave를 계획한다. `FAM-ORCH`는 family metadata이며 actor/spawn target이 아니다. **workflow-stage = `plan`.** 제품/기술/재무 결정을 새로 만들지 않는다(제안·조율만). 입력: 최신 Decision Brief(`/ceo-intake` 산출) + `--workflow `. ## 상태엔진 게이트(진입) — intake→plan 0. **workflow-id 확정 + intake**: `/ceo-intake`가 wave 원장과 typed decision-brief/workload-profile을 `submit-artifact`해야 한다. `facts.*-present` 직접 기록은 금지된다. 1. **guard(진입 게이트):** `python3 .claude/hooks/state_engine.py guard --workflow --to plan` — `intake→plan`(decision-brief-present)을 강제한다. exit 2면 계획하지 않는다(브리프 없으면 `/ceo-intake`로). exit 0이면 진행. exit 0이면 `enter-stage --workflow --to plan --actor OPS-ORCH`로 `plan.running`을 연다. ## 절차 2. 최신 Decision Brief의 `mode`/`tier`/`candidate-families`를 읽는다. 3. `role-selection-scorecard.yaml`로 후보 **family**를 점수화한다(candidate-family, 0-3 rubric-anchors, tie-break). wave ≤ 5 family. 4. **Task Ledger**(`state//plan.md`)를 작성하고, **Progress Ledger는 통합 상태원장**(`state//workflow.yaml`의 `progress:`)에 쓴다 — 별도 `progress.yaml`을 만들지 않는다(하나의 wf-id, 하나의 원장, #7). ## 산출 1: state//plan.md (Task Ledger, 1회) - known-facts / facts-to-look-up / step-plan(단계별 어느 family가 무엇을 산출) ## 산출 2: 통합 원장 progress: (Progress Ledger — state_engine이 소유·기록) 초기 progress를 통합 원장에 기록한다(별도 파일 아님): ```bash python3 .claude/hooks/state_engine.py progress --workflow \ --round 1 --progressing true --stall 0 \ --next \ --set is_request_satisfied=false --set is_in_loop=false \ --set instruction="<다음 family에 줄 지시>" \ --set governance_limits="max_rounds=12,max_stalls=3,max_resets=2" ``` 결과 `progress:` 스키마(통합 원장 `state//workflow.yaml` 하위): `{ round, is_request_satisfied, is_in_loop, is_progress_being_made, next(=next_family), instruction, stall_count, governance_limits, wave_families }` — governance-tiers 준수. ## 상태엔진 완료 - 계획을 `artifact-kind: wave-plan` envelope로 제출하고, 권한 있는 별도 reviewer가 exact revision을 수용한다. 이후 `complete-stage --workflow --actor OPS-ORCH --evidence `로 `plan.completed`를 기록한다. `/run-wave`가 `run`을 연다. ## 규칙 - max_stalls/max_rounds 초과 시 자동 replan + OPS-ORCH→CEO escalate(governance_limits는 원장 progress에 보존). - tier=heavy면 plan-signoff(사람 승인) 전 실행 wave를 Running으로 전이 금지. - 산출물은 report-header(BLUF)로 시작(Stop hook 강제). - **light 경로(저위험)**: plan-wave를 건너뛰고 바로 `/run-wave`가 `intake→run`으로 진입할 수 있다(`light` plan, execution-plans.yaml). plan-wave는 wave(다단계) 계획에만 필요하다.