45 lines
3.1 KiB
Markdown
45 lines
3.1 KiB
Markdown
---
|
|
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 <wf>`.
|
|
|
|
## 상태엔진 게이트(진입) — 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 <wf> --to plan` — `intake→plan`(decision-brief-present)을 강제한다. exit 2면 계획하지 않는다(브리프 없으면 `/ceo-intake`로). exit 0이면 진행.
|
|
exit 0이면 `enter-stage --workflow <wf> --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/<wf>/plan.md`)를 작성하고, **Progress Ledger는 통합 상태원장**(`state/<wf>/workflow.yaml`의 `progress:`)에 쓴다 — 별도 `progress.yaml`을 만들지 않는다(하나의 wf-id, 하나의 원장, #7).
|
|
|
|
## 산출 1: state/<wf>/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 <wf> \
|
|
--round 1 --progressing true --stall 0 \
|
|
--next <FAM-...> \
|
|
--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/<wf>/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 <wf> --actor OPS-ORCH --evidence <wave-plan.report.yaml>`로
|
|
`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(다단계) 계획에만 필요하다.
|