@alevental/cccp 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -220,6 +220,87 @@ Sub-pipeline composition. Invokes another pipeline YAML inline within the parent
220
220
  - Resume works across pipeline boundaries
221
221
  - `on_fail` strategies work the same as PGE/autoresearch stages
222
222
 
223
+ ## Parallel Execution Groups
224
+
225
+ Run independent stages concurrently. Stages in a `parallel` block execute simultaneously as separate subprocesses, reducing total pipeline runtime when stages don't depend on each other's outputs.
226
+
227
+ ### When to Use Parallel Groups
228
+
229
+ Use parallel groups when stages share the same inputs but produce independent outputs. Common patterns:
230
+
231
+ - **Content fan-out**: After research/positioning is complete, multiple content pieces (blog post, release notes, social copy, changelog) can all be written simultaneously since they read the same source material
232
+ - **Multi-perspective analysis**: Run competitive analysis, market sizing, and customer research in parallel when they all stem from the same brief
233
+ - **Independent code tasks**: After a design is approved, implementation of separate modules or writing tests alongside documentation can happen concurrently
234
+ - **Multi-format generation**: Produce different output formats (PDF report, slide deck, executive summary) from the same source artifact in parallel
235
+
236
+ The key question is: **does stage B need to read stage A's output?** If not, they can be parallel.
237
+
238
+ ```yaml
239
+ - parallel:
240
+ on_failure: wait_all # Optional. "fail_fast" (default) or "wait_all".
241
+ stages:
242
+ - name: blog-post
243
+ type: pge
244
+ task: "Write the launch blog post."
245
+ # ... full stage config
246
+ - name: release-notes
247
+ type: agent
248
+ task: "Write release notes."
249
+ agent: copywriter
250
+ output: "{artifact_dir}/release-notes.md"
251
+ ```
252
+
253
+ | Field | Type | Required | Description |
254
+ |-------|------|----------|-------------|
255
+ | `on_failure` | string | No | `"fail_fast"` (default): stop group on first failure. `"wait_all"`: let all stages finish. |
256
+ | `stages` | Stage[] | Yes | At least 2 stages. Each stage uses the standard schema. |
257
+
258
+ ### Constraints
259
+
260
+ - **No `human_gate` inside parallel groups** — gates block execution and cannot run alongside other stages
261
+ - **No `pipeline` stages inside parallel groups** — sub-pipelines have complex state interactions
262
+ - **No conflicting outputs** — stages in the same group cannot write to the same `output` or `contract.deliverable` path
263
+ - **Unique stage names** — all stage names must be unique across the entire pipeline (including inside groups)
264
+
265
+ ### Failure Handling
266
+
267
+ | Mode | Behavior |
268
+ |------|----------|
269
+ | `fail_fast` (default) | When one stage fails, remaining unstarted stages are skipped. Already-running stages finish naturally. Pipeline stops after the group. |
270
+ | `wait_all` | All stages run to completion regardless of individual failures. Pipeline stops after the group if any stage failed. |
271
+
272
+ ### Resume
273
+
274
+ When resuming a pipeline that was interrupted during a parallel group, only the stages that didn't complete are re-executed. Completed stages within the group are skipped.
275
+
276
+ ### Example: Parallel Content Creation
277
+
278
+ ```yaml
279
+ stages:
280
+ - name: positioning
281
+ type: pge
282
+ # ... defines positioning strategy
283
+
284
+ - parallel:
285
+ on_failure: wait_all
286
+ stages:
287
+ - name: blog-post
288
+ type: pge
289
+ task: "Write the launch blog post."
290
+ inputs:
291
+ - "{artifact_dir}/positioning.md"
292
+ # ... PGE config
293
+ - name: release-notes
294
+ type: agent
295
+ task: "Write release notes."
296
+ agent: copywriter
297
+ output: "{artifact_dir}/release-notes.md"
298
+
299
+ - name: launch-approval
300
+ type: human_gate
301
+ prompt: "Review all materials."
302
+ ```
303
+
223
304
  ## Variables
224
305
 
225
306
  ### Syntax
@@ -658,7 +739,7 @@ Child pipelines share `{project}` and `{project_dir}` but get their own `{pipeli
658
739
  Dry-run to verify a pipeline without executing:
659
740
 
660
741
  ```bash
661
- npx @alevental/cccp run -f pipeline.yaml -p test --dry-run
742
+ npx @alevental/cccp@latest run -f pipeline.yaml -p test --dry-run
662
743
  ```
663
744
 
664
745
  This shows all assembled prompts, resolved agent paths, and interpolated variables without dispatching any agents.
@@ -6,14 +6,14 @@ allowed-tools: Bash(npx:*), mcp__cccp__*
6
6
 
7
7
  # Running CCCP Pipelines
8
8
 
9
- All commands use `npx @alevental/cccp` — no global install required.
9
+ All commands use `npx @alevental/cccp@latest` — no global install required.
10
10
 
11
11
  ## CLI Commands
12
12
 
13
13
  ### `run` — Execute a pipeline
14
14
 
15
15
  ```bash
16
- npx @alevental/cccp run -f <pipeline.yaml> -p <project> [options]
16
+ npx @alevental/cccp@latest run -f <pipeline.yaml> -p <project> [options]
17
17
  ```
18
18
 
19
19
  | Flag | Required | Description |
@@ -27,19 +27,19 @@ npx @alevental/cccp run -f <pipeline.yaml> -p <project> [options]
27
27
  | `-v, --var <key=value>` | No | Set pipeline variable (repeatable) |
28
28
 
29
29
  **Recommended workflow:**
30
- 1. Dry-run first: `npx @alevental/cccp run -f pipeline.yaml -p myproject --dry-run`
31
- 2. Full run: `npx @alevental/cccp run -f pipeline.yaml -p myproject`
32
- 3. Headless (CI): `npx @alevental/cccp run -f pipeline.yaml -p myproject --headless`
30
+ 1. Dry-run first: `npx @alevental/cccp@latest run -f pipeline.yaml -p myproject --dry-run`
31
+ 2. Full run: `npx @alevental/cccp@latest run -f pipeline.yaml -p myproject`
32
+ 3. Headless (CI): `npx @alevental/cccp@latest run -f pipeline.yaml -p myproject --headless`
33
33
 
34
34
  **Variables:** Override pipeline defaults from CLI:
35
35
  ```bash
36
- npx @alevental/cccp run -f sprint.yaml -p app -v sprint=3 -v env=staging
36
+ npx @alevental/cccp@latest run -f sprint.yaml -p app -v sprint=3 -v env=staging
37
37
  ```
38
38
 
39
39
  ### `resume` — Resume an interrupted run
40
40
 
41
41
  ```bash
42
- npx @alevental/cccp resume -p <project> -r <run-id-prefix> [options]
42
+ npx @alevental/cccp@latest resume -p <project> -r <run-id-prefix> [options]
43
43
  ```
44
44
 
45
45
  | Flag | Required | Description |
@@ -54,7 +54,7 @@ Skips completed stages and resumes from the first incomplete stage. For PGE stag
54
54
  ### `dashboard` — Monitor a run
55
55
 
56
56
  ```bash
57
- npx @alevental/cccp dashboard -r <run-id-prefix> [-d <project-dir>]
57
+ npx @alevental/cccp@latest dashboard -r <run-id-prefix> [-d <project-dir>]
58
58
  ```
59
59
 
60
60
  Launches a standalone TUI dashboard. Can run in a separate terminal or cmux pane while the pipeline executes.
@@ -62,7 +62,7 @@ Launches a standalone TUI dashboard. Can run in a separate terminal or cmux pane
62
62
  ### `mcp-server` — Start the MCP server
63
63
 
64
64
  ```bash
65
- npx @alevental/cccp mcp-server
65
+ npx @alevental/cccp@latest mcp-server
66
66
  ```
67
67
 
68
68
  Exposes five tools over stdio: `cccp_runs`, `cccp_status`, `cccp_gate_respond`, `cccp_logs`, `cccp_artifacts`.
@@ -73,7 +73,7 @@ Register in `.mcp.json`:
73
73
  "mcpServers": {
74
74
  "cccp": {
75
75
  "command": "npx",
76
- "args": ["@alevental/cccp", "mcp-server"]
76
+ "args": ["@alevental/cccp@latest", "mcp-server"]
77
77
  }
78
78
  }
79
79
  }
@@ -82,13 +82,13 @@ Register in `.mcp.json`:
82
82
  ### `init` — Scaffold a new project
83
83
 
84
84
  ```bash
85
- npx @alevental/cccp init [-d <dir>]
85
+ npx @alevental/cccp@latest init [-d <dir>]
86
86
  ```
87
87
 
88
88
  ### `examples` — Scaffold all agents and example pipelines
89
89
 
90
90
  ```bash
91
- npx @alevental/cccp examples [-d <dir>] [--agents-only] [--pipelines-only]
91
+ npx @alevental/cccp@latest examples [-d <dir>] [--agents-only] [--pipelines-only]
92
92
  ```
93
93
 
94
94
  ## Gate Interaction
@@ -114,7 +114,7 @@ When running inside a cmux workspace (`CMUX_WORKSPACE_ID` is set), CCCP automati
114
114
  cmux new-split right # Returns surface:N
115
115
 
116
116
  # Send a dashboard command to the new pane
117
- cmux send --surface surface:1 "npx @alevental/cccp dashboard -r abc12345"
117
+ cmux send --surface surface:1 "npx @alevental/cccp@latest dashboard -r abc12345"
118
118
  cmux send-key --surface surface:1 Enter
119
119
 
120
120
  # Check status from sidebar
package/README.md CHANGED
@@ -70,7 +70,7 @@ npx @alevental/cccp run -f pipelines/example.yaml -p my-project
70
70
 
71
71
  ## Pipeline YAML
72
72
 
73
- Pipelines are sequences of typed stages:
73
+ Pipelines are sequences of typed stages, with optional parallel groups for concurrent execution:
74
74
 
75
75
  ```yaml
76
76
  name: my-pipeline
@@ -111,6 +111,19 @@ stages:
111
111
  variables:
112
112
  source: "{artifact_dir}/design.md"
113
113
 
114
+ # Run independent stages concurrently
115
+ - parallel:
116
+ on_failure: wait_all
117
+ stages:
118
+ - name: blog-post
119
+ type: agent
120
+ agent: copywriter
121
+ output: "{artifact_dir}/blog-post.md"
122
+ - name: release-notes
123
+ type: agent
124
+ agent: copywriter
125
+ output: "{artifact_dir}/release-notes.md"
126
+
114
127
  # Human approval gate
115
128
  - name: approval
116
129
  type: human_gate
@@ -129,6 +142,8 @@ stages:
129
142
  | `pipeline` | Invoke another pipeline YAML as a sub-pipeline — runs inline, shares the parent run lifecycle |
130
143
  | `human_gate` | Block until approved via MCP tool call or state file edit |
131
144
 
145
+ Stages can also be wrapped in a `parallel` block to run concurrently. See the [pipeline skill](.claude/skills/cccp-pipeline/SKILL.md) for the full schema.
146
+
132
147
  ### Variables
133
148
 
134
149
  Built-in variables available in all string fields:
@@ -296,7 +311,7 @@ Without cmux, CCCP falls back to plain terminal output.
296
311
  ## Development
297
312
 
298
313
  ```bash
299
- npm test # run all tests (181 tests)
314
+ npm test # run all tests (206 tests)
300
315
  npm run typecheck # tsc --noEmit
301
316
  npm run test:watch # watch mode
302
317
  npm run build # compile TypeScript to dist/
package/dist/cli.js CHANGED
@@ -1,15 +1,22 @@
1
1
  #!/usr/bin/env node
2
2
  import { resolve } from "node:path";
3
+ import { getHeapStatistics } from "node:v8";
3
4
  import { Command } from "commander";
4
5
  import { loadProjectConfig } from "./config.js";
5
6
  import { loadPipeline } from "./pipeline.js";
6
7
  import { runPipeline } from "./runner.js";
7
8
  import { buildRunContext, resolveArtifactDir, parseCLIVars } from "./context.js";
9
+ // Warn if heap limit is below 8 GB — long pipelines can exceed the default ~4 GB.
10
+ const heapLimitMb = Math.round(getHeapStatistics().heap_size_limit / 1024 / 1024);
11
+ if (heapLimitMb < 8000) {
12
+ console.error(`[cccp] heap limit is ${heapLimitMb} MB. For long pipelines, increase with:\n` +
13
+ ` NODE_OPTIONS="--max-old-space-size=8192" npx @alevental/cccp run ...`);
14
+ }
8
15
  const program = new Command();
9
16
  program
10
17
  .name("cccp")
11
18
  .description("Claude Code and Cmux Pipeline Reagent — deterministic YAML-based pipeline orchestration")
12
- .version("0.3.0");
19
+ .version("0.3.1");
13
20
  program
14
21
  .command("run")
15
22
  .description("Run a pipeline from a YAML definition")
@@ -54,10 +61,10 @@ program
54
61
  cliVars,
55
62
  });
56
63
  if (showTui) {
57
- const { createState, saveState } = await import("./state.js");
64
+ const { createState, flattenStageEntries, saveState } = await import("./state.js");
58
65
  const { startDashboard } = await import("./tui/dashboard.js");
59
66
  // Create initial state so the dashboard has something to render.
60
- const initialState = createState(pipeline.name, opts.project, pipelineFile, pipeline.stages.map((s) => ({ name: s.name, type: s.type })), artifactDir, projectDir);
67
+ const initialState = createState(pipeline.name, opts.project, pipelineFile, flattenStageEntries(pipeline.stages), artifactDir, projectDir);
61
68
  await saveState(initialState);
62
69
  // Start dashboard, then run pipeline. Dashboard watches state.json.
63
70
  const dashboard = startDashboard(initialState.runId, projectDir, initialState);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/db.d.ts CHANGED
@@ -10,6 +10,7 @@ export declare function dbPath(projectDir: string): string;
10
10
  export declare class CccpDatabase {
11
11
  private db;
12
12
  private filePath;
13
+ private flushCount;
13
14
  private constructor();
14
15
  /**
15
16
  * Open or create a database. If the file exists, load it. Otherwise create
@@ -46,6 +47,12 @@ export declare class CccpDatabase {
46
47
  findRuns(filter?: RunFilter): DiscoveredRun[];
47
48
  private rowToState;
48
49
  appendEvent(runId: string, eventType: string, stageName?: string, data?: unknown): void;
50
+ /**
51
+ * Remove old events for a run, keeping only the most recent `keep` entries.
52
+ * Prevents the append-only events table (and sql.js WASM memory) from
53
+ * growing without bound during long pipeline runs.
54
+ */
55
+ pruneEvents(runId: string, keep?: number): void;
49
56
  getEvents(runId: string, sinceId?: number): StateEvent[];
50
57
  setCheckpoint(runId: string, stageName: string, key: string, value: string): void;
51
58
  getCheckpoint(runId: string, stageName: string, key: string): string | null;
@@ -53,6 +60,10 @@ export declare class CccpDatabase {
53
60
  * Atomically write the database to disk (write to .tmp then rename).
54
61
  */
55
62
  flush(): void;
63
+ /**
64
+ * Prune events for all active runs. Called periodically during flush.
65
+ */
66
+ private pruneAllEvents;
56
67
  /**
57
68
  * Reload the database from disk (for read-only consumers in separate processes).
58
69
  */
package/dist/db.js CHANGED
@@ -24,6 +24,7 @@ export function dbPath(projectDir) {
24
24
  export class CccpDatabase {
25
25
  db;
26
26
  filePath;
27
+ flushCount = 0;
27
28
  constructor(db, filePath) {
28
29
  this.db = db;
29
30
  this.filePath = filePath;
@@ -264,6 +265,16 @@ export class CccpDatabase {
264
265
  data ? JSON.stringify(data) : null,
265
266
  ]);
266
267
  }
268
+ /**
269
+ * Remove old events for a run, keeping only the most recent `keep` entries.
270
+ * Prevents the append-only events table (and sql.js WASM memory) from
271
+ * growing without bound during long pipeline runs.
272
+ */
273
+ pruneEvents(runId, keep = 500) {
274
+ this.db.run(`DELETE FROM events WHERE run_id = ? AND id NOT IN (
275
+ SELECT id FROM events WHERE run_id = ? ORDER BY id DESC LIMIT ?
276
+ )`, [runId, runId, keep]);
277
+ }
267
278
  getEvents(runId, sinceId) {
268
279
  const sql = sinceId != null
269
280
  ? `SELECT * FROM events WHERE run_id = ? AND id > ? ORDER BY id`
@@ -304,14 +315,30 @@ export class CccpDatabase {
304
315
  * Atomically write the database to disk (write to .tmp then rename).
305
316
  */
306
317
  flush() {
318
+ // Periodically prune old events to cap DB size for long-running pipelines.
319
+ this.flushCount++;
320
+ if (this.flushCount % 50 === 0) {
321
+ this.pruneAllEvents();
322
+ }
307
323
  const data = this.db.export();
308
- const buffer = Buffer.from(data);
309
324
  const dir = dirname(this.filePath);
310
325
  mkdirSync(dir, { recursive: true });
311
326
  const tmp = join(dir, `.cccp-db-${randomUUID()}.tmp`);
312
- writeFileSync(tmp, buffer);
327
+ // Write Uint8Array directly — avoids a full copy through Buffer.from().
328
+ writeFileSync(tmp, data);
313
329
  renameSync(tmp, this.filePath);
314
330
  }
331
+ /**
332
+ * Prune events for all active runs. Called periodically during flush.
333
+ */
334
+ pruneAllEvents() {
335
+ const results = this.db.exec(`SELECT DISTINCT run_id FROM events`);
336
+ if (results.length === 0)
337
+ return;
338
+ for (const row of results[0].values) {
339
+ this.pruneEvents(row[0]);
340
+ }
341
+ }
315
342
  /**
316
343
  * Reload the database from disk (for read-only consumers in separate processes).
317
344
  */
package/dist/db.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
package/dist/pipeline.js CHANGED
@@ -89,11 +89,67 @@ const StageSchema = z.discriminatedUnion("type", [
89
89
  AutoresearchStageSchema,
90
90
  PipelineStageSchema,
91
91
  ]);
92
+ const ParallelGroupSchema = z.object({
93
+ parallel: z.object({
94
+ on_failure: z.enum(["fail_fast", "wait_all"]).optional(),
95
+ stages: z.array(StageSchema).min(2, "Parallel groups must contain at least 2 stages"),
96
+ }),
97
+ });
98
+ const StageEntrySchema = z.union([StageSchema, ParallelGroupSchema]);
92
99
  const PipelineSchema = z.object({
93
100
  name: z.string(),
94
101
  description: z.string().optional(),
95
102
  variables: z.record(z.string()).optional(),
96
- stages: z.array(StageSchema).min(1),
103
+ stages: z.array(StageEntrySchema).min(1),
104
+ }).superRefine((pipeline, ctx) => {
105
+ // Collect all stage names and validate parallel group constraints.
106
+ const allNames = new Set();
107
+ const issues = [];
108
+ for (const entry of pipeline.stages) {
109
+ if ("parallel" in entry && !("type" in entry)) {
110
+ // Parallel group — validate inner stages
111
+ const group = entry;
112
+ const groupOutputs = new Map(); // output path → stage name
113
+ for (const stage of group.parallel.stages) {
114
+ // No human_gate inside parallel groups
115
+ if (stage.type === "human_gate") {
116
+ issues.push(`Stage '${stage.name}' is type human_gate and cannot be inside a parallel group (gates block execution)`);
117
+ }
118
+ // No pipeline stages inside parallel groups
119
+ if (stage.type === "pipeline") {
120
+ issues.push(`Stage '${stage.name}' is type pipeline and cannot be inside a parallel group`);
121
+ }
122
+ // Duplicate name check
123
+ if (allNames.has(stage.name)) {
124
+ issues.push(`Duplicate stage name '${stage.name}'`);
125
+ }
126
+ allNames.add(stage.name);
127
+ // Conflicting output paths within group
128
+ const outputPath = stage.type === "agent" ? stage.output :
129
+ stage.type === "pge" ? stage.contract?.deliverable :
130
+ stage.type === "autoresearch" ? stage.output :
131
+ undefined;
132
+ if (outputPath) {
133
+ const existing = groupOutputs.get(outputPath);
134
+ if (existing) {
135
+ issues.push(`Stages '${existing}' and '${stage.name}' in the same parallel group both write to '${outputPath}'`);
136
+ }
137
+ groupOutputs.set(outputPath, stage.name);
138
+ }
139
+ }
140
+ }
141
+ else {
142
+ // Regular stage
143
+ const stage = entry;
144
+ if (allNames.has(stage.name)) {
145
+ issues.push(`Duplicate stage name '${stage.name}'`);
146
+ }
147
+ allNames.add(stage.name);
148
+ }
149
+ }
150
+ for (const issue of issues) {
151
+ ctx.addIssue({ code: z.ZodIssueCode.custom, message: issue });
152
+ }
97
153
  });
98
154
  // ---------------------------------------------------------------------------
99
155
  // Public API
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"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"}