RCP-CWK-034 Cowork CPM Orchestrator

Manages multi-phase, cross-project initiatives through a structured lifecycle

Creates the initiative structure, processes phase completions with dependency-aware advancement, and provides status queries โ€” all through file-based state persistence in .cpmrc.json. Coordinates across child projects where each phase can target a different project folder.


Cowork CPM Orchestrator

Tags: Introduced in Beta, CPM, Cross-Project, Initiative, Phase Management, Orchestrator, State, Bridge, Cowork

TL;DR

What It Does
Manages multi-phase, cross-project initiatives through a structured lifecycle. Creates the initiative structure, processes phase completions with dependency-aware advancement, and provides status queries — all through file-based state persistence in .cpmrc.json. Coordinates across child projects where each phase can target a different project folder.
How It Works
Three modes. INITIALIZE creates the full initiative structure: a .cpmrc.json state file, a .cpmPhases/ directory with per-phase artifact folders, dependency graph validation via topological sort, initial phase readiness determination, and a CPM-ROADMAP.md summary. TRANSITION processes a phase completion report from CWK-035 (Phase Runner), updates the state, checks which downstream phases become ready when dependencies are met, and optionally auto-advances. QUERY provides read-only status checks in four flavors: current status, full roadmap, dependency graph, and artifacts by phase.
What To Expect
A .cpmrc.json state file that tracks the entire initiative across sessions and projects. Phase transitions update the state and unlock dependent phases automatically. A .cpmHistory.json logs all transitions for audit. When all phases complete, an initiative-level completion summary is generated with artifact inventory and duration metrics.
Best Results When You
Plan your phases and dependencies carefully before initializing. Define clear deliverables and success criteria for each phase. Use CWK-035 (Phase Runner) for actual phase execution — this recipe handles the lifecycle, not the work itself.
Typical Time
INITIALIZE: 2–5 minutes depending on phase count. TRANSITION: 1–2 minutes per phase completion. QUERY: under 1 minute. End-to-end initiative timing depends on phase execution via CWK-035.
Difficulty
Advanced — requires understanding of cross-project initiative structure, phase dependency graphs, and the relationship between CWK-034 (lifecycle) and CWK-035 (execution). The recipe handles complexity internally, but designing a good initiative structure requires planning.

How To Start

This recipe manages cross-project initiatives. Start with INITIALIZE to create the structure, use CWK-035 to execute phases, return here with TRANSITION to process completions and advance, and use QUERY for status checks at any time.

STEP 1Choose Mode and Provide Parameters

Select the operating mode and provide the parameters required for that mode.
Available parameters
  • mode · string · required
    Operating mode: “initialize” (create structure), “transition” (process phase completion), or “query” (status check).
  • initiative_name · string · required for initialize
    Name of the cross-project initiative.
  • phases · list · required for initialize
    List of phase definitions with phase_id, name, execution_mode, target_project_path, deliverables, dependencies, and success_criteria.
  • current_phase_id · string · required for transition
    The phase that just completed.
  • completion_report · dict · required for transition
    Report from CWK-035 with status, artifacts, validation_confidence, and notes.
  • auto_advance · boolean · optional · default: false
    If true, automatically call CWK-035 for the next ready phase after a successful transition.
  • query_type · string · required for query
    What to query: “status”, “roadmap”, “dependencies”, or “artifacts”.
  • enable_git_checkpoint · boolean · optional · default: true
    Call CWK-005 after state-changing operations for crash protection.
Invocations
Initialize a new initiative
#H->AI::Directive: (Execute CWK-034 with mode="initialize", initiative_name="…", phases=[…], child_projects=[…])
Process a phase completion
#H->AI::Directive: (Execute CWK-034 with mode="transition", current_phase_id="Phase 1", completion_report={…})
Check initiative status
#H->AI::Directive: (Execute CWK-034 with mode="query", query_type="status")

Usage Examples

EXAMPLE 1Initializing a multi-phase initiative

User
Set up a CPM initiative for the website refresh with 3 phases across P067 and P061.
Cat
Initializing CPM structure. Initiative: Website Refresh (INIT-2026-04-001). 3 phases created: Phase 1 (Audit, DIRECT, P067 — READY), Phase 2 (Content Rewrite, CV_WORKFLOW, P067 — PENDING, depends on Phase 1), Phase 3 (Framework Sync, SUB_AGENT, P061 — PENDING, depends on Phase 2). State file: .cpmrc.json. Roadmap: CPM-ROADMAP.md. Git checkpoint saved. Next: Call CWK-035 to execute Phase 1.

EXAMPLE 2Processing a phase transition

User
Phase 1 audit is done, here’s the completion report.
Cat
Phase transition complete. Phase 1: Audit [PASSED], confidence 95%. Phase 2: Content Rewrite now READY (all dependencies met). Remaining: Phase 3 (PENDING — depends on Phase 2). Roadmap updated. Git checkpoint saved. Next: Call CWK-035 for Phase 2.

EXAMPLE 3Querying the dependency graph

User
Show me the phase dependency graph.
Cat
Phase Dependency Graph. Phase 1: Audit [PASSED] — depends on: none (root phase), blocks: Phase 2. Phase 2: Content Rewrite [READY] — depends on: Phase 1, blocks: Phase 3. Phase 3: Framework Sync [PENDING] — depends on: Phase 2, blocks: none.

How AI Reads This Recipe

When this recipe is triggered, the AI manages a CPM initiative lifecycle. The AI should:
  1. Validate Inputs. Check mode and required parameters. For initialize: validate paths exist, validate phase dependencies form a valid DAG via topological sort, require at least 2 phases. For transition: load .cpmrc.json, validate phase exists and is IN_PROGRESS. For query: load .cpmrc.json. Missing state for non-initialize modes → error.
  2. Initialize (Step 1). Create .cpmPhases/ directory structure. Validate dependency graph. Determine initial readiness (no dependencies → READY, else PENDING). Generate initiative ID. Write .cpmrc.json, .cpmHistory.json, and CPM-ROADMAP.md. Git checkpoint. Display summary with ready phases.
  3. Transition (Step 2). Process completion report. If REVISION_NEEDED: reset to READY, note reason. Otherwise: update status, timestamp, confidence. Append to history. Check downstream dependencies — promote PENDING to READY when all deps met. Check initiative completion. Update state and roadmap. Git checkpoint. If auto_advance, call CWK-035 for next ready phase.
  4. Query (Step 3). Match query_type: status shows per-phase status; roadmap outputs CPM-ROADMAP.md; dependencies shows directed graph with blocking relationships; artifacts lists all artifacts by completed phase.
  5. Completion (Step 5). When all phases pass: mark COMPLETE, update state, append completion event, generate final summary with duration and artifact inventory. Suggest CWK-026 for knowledge transfer.
Error handling: circular dependencies → error with cycle description. Missing artifacts → warning and downgrade to PASSED_WITH_NOTES. Errors during transition → route to CWK-021 for analysis.

When To Use This Recipe

Use this recipe when you need to coordinate work across multiple projects or multiple phases within a complex initiative, want dependency-aware phase sequencing, need persistent state tracking for an initiative that spans many sessions, or want a structured completion workflow with audit history and artifact tracking.
Do Not Use When
You have a single-phase task — use CWK-030 directly. For multi-persona collaboration within a single project without cross-project coordination, use CWK-031 (MPCS Orchestrator). For a one-off sub-agent delegation, use CWK-008.

Recipe FAQ

What is the difference between CWK-034 and CWK-031?
CWK-034 manages cross-project initiatives with multiple phases, dependency graphs, and state that spans projects. CWK-031 manages multi-persona collaboration within a single project. CWK-034 is the project coordinator; CWK-031 is the persona orchestrator. They can work together — a phase in a CWK-034 initiative might use CWK-031 for its execution.

How do phase dependencies work?
Each phase lists its dependencies by phase_id. During initialization, the recipe validates the dependency graph using topological sort to detect cycles. A phase becomes READY only when all its dependencies have status PASSED or PASSED_WITH_NOTES. Root phases (no dependencies) start as READY.

What happens if a phase fails?
If the completion report has status REVISION_NEEDED, the phase is reset to READY for re-execution. The reason is recorded in the phase notes. You can call CWK-035 again to re-run it.

What is auto_advance?
When set to true, after a successful phase transition, the recipe automatically calls CWK-035 (Phase Runner) for the next ready phase. This enables hands-off processing of sequential initiatives. When false (default), it pauses for user confirmation after each transition.

Where is the state stored?
Three files in the master project folder: .cpmrc.json (current state), .cpmHistory.json (transition audit log), and CPM-ROADMAP.md (human-readable overview). The .cpmPhases/ directory contains per-phase artifact folders.

Version History

v1.00a — 2026-03-02
Initial creation. Merges Studio STU-060 (CPM Init), STU-062 (CPM Completion Handler), and STU-063 (CPM Handoff Naming) into a single orchestrator. Three modes with file-based state persistence, dependency-aware phase sequencing, topological cycle detection, auto-advance option, and integration with CWK-035, CWK-005, CWK-026, and CWK-021.

Get this recipe with CRAFT for Claude Cowork

Cowork recipes ship bundled with CRAFT for Claude Cowork — there’s no separate download. Clone the framework once, and your AI runs every recipe automatically when invoked.

Pull anytime to stay on the latest version — free to clone, no login or email required.

Then start your session

Once CRAFT is in your project folder, open a new Cowork session and ask Claude to initialize. For example:

You

Please initialize my CRAFT session.

Claude

CRAFT session ready. Your project is loaded, your persona is active, and your recipes are available. What would you like to work on?

What is CRAFT for Claude Cowork?

Not familiar with Git? Download as a ZIP

No command line needed. Just download, move, and unzip:

  1. Open the CRAFT framework repo on GitHub.
  2. Click the green Code button, then choose Download ZIP.
  3. Move the downloaded ZIP into your Claude Cowork project folder.
  4. Unzip it: double-click on Mac, or right-click → Extract All on Windows.

Similar Posts