opencastle 0.27.2 → 0.27.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,YAAY,CAAA;AAsQxD;;GAEG;AACH,wBAA8B,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAomB9E"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,YAAY,CAAA;AAsQxD;;GAEG;AACH,wBAA8B,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAwoB9E"}
package/dist/cli/run.js CHANGED
@@ -6,7 +6,7 @@ import { parseTaskSpecText, isConvoySpec, isPipelineSpec } from './run/schema.js
6
6
  import { createExecutor, buildPhases } from './run/executor.js';
7
7
  import { getAdapter, detectAdapter } from './run/adapters/index.js';
8
8
  import { createReporter, printExecutionPlan } from './run/reporter.js';
9
- import { c } from './prompt.js';
9
+ import { c, confirm, closePrompts } from './prompt.js';
10
10
  import { EngineAlreadyRunningError } from './convoy/lock.js';
11
11
  function formatTokens(n) {
12
12
  if (n >= 1_000_000)
@@ -821,6 +821,30 @@ export default async function run({ args, pkgRoot }) {
821
821
  console.log(` Branch: ${spec.branch}`);
822
822
  if (spec.gates?.length)
823
823
  console.log(` Gates: ${spec.gates.length} validation commands`);
824
+ // ── Pre-flight: handle uncommitted changes before branch switch ──
825
+ let didStash = false;
826
+ if (spec.branch) {
827
+ const { execFile: execFileCb } = await import('node:child_process');
828
+ const { promisify } = await import('node:util');
829
+ const execFile = promisify(execFileCb);
830
+ const { stdout: statusOut } = await execFile('git', ['status', '--porcelain'], {
831
+ cwd: process.cwd(),
832
+ });
833
+ if (statusOut.trim()) {
834
+ console.log(`\n ${c.yellow('⚠')} Uncommitted changes detected.`);
835
+ const shouldStash = await confirm('Stash changes and continue?', true);
836
+ if (!shouldStash) {
837
+ console.log(' Aborted. Commit or stash your changes manually, then retry.');
838
+ closePrompts();
839
+ process.exit(1);
840
+ }
841
+ await execFile('git', ['stash', 'push', '-m', 'opencastle: auto-stash before convoy'], {
842
+ cwd: process.cwd(),
843
+ });
844
+ didStash = true;
845
+ console.log(` ${c.green('✓')} Changes stashed.`);
846
+ }
847
+ }
824
848
  const { startDashboardServer } = await import('./dashboard.js');
825
849
  let dashboardResult = null;
826
850
  try {
@@ -875,6 +899,18 @@ export default async function run({ args, pkgRoot }) {
875
899
  console.log(` ${c.dim('View again:')} opencastle dashboard`);
876
900
  dashboardResult.server.close();
877
901
  }
902
+ if (didStash) {
903
+ const { execFile: execFileCb } = await import('node:child_process');
904
+ const { promisify } = await import('node:util');
905
+ const execFile = promisify(execFileCb);
906
+ try {
907
+ await execFile('git', ['stash', 'pop'], { cwd: process.cwd() });
908
+ console.log(` ${c.green('✓')} Stashed changes restored.`);
909
+ }
910
+ catch {
911
+ console.log(` ${c.yellow('⚠')} Could not restore stash automatically. Run \`git stash pop\` manually.`);
912
+ }
913
+ }
878
914
  process.exit(result.status !== 'done' ? 1 : 0);
879
915
  }
880
916
  // ── Legacy executor path ──────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencastle",
3
- "version": "0.27.2",
3
+ "version": "0.27.3",
4
4
  "type": "module",
5
5
  "description": "Multi-agent orchestration framework for AI coding assistants",
6
6
  "bin": {
@@ -36,7 +36,8 @@
36
36
  "scripts": {
37
37
  "cli:build": "tsc",
38
38
  "test": "vitest run",
39
- "dashboard:etl": "tsx src/dashboard/scripts/etl.ts",
39
+ "dashboard:generate-demo-db": "tsx src/dashboard/scripts/generate-demo-db.ts --out .opencastle/convoy-demo.db",
40
+ "dashboard:etl": "tsx src/dashboard/scripts/etl.ts --db .opencastle/convoy-demo.db --out src/dashboard/public/data",
40
41
  "dashboard:test": "tsx src/dashboard/scripts/integration-test.ts",
41
42
  "dashboard:dev": "astro dev --root src/dashboard --port 4300",
42
43
  "dashboard:build": "astro build --root src/dashboard",
package/src/cli/run.ts CHANGED
@@ -6,7 +6,7 @@ import { parseTaskSpecText, isConvoySpec, isPipelineSpec } from './run/schema.js
6
6
  import { createExecutor, buildPhases } from './run/executor.js'
7
7
  import { getAdapter, detectAdapter } from './run/adapters/index.js'
8
8
  import { createReporter, printExecutionPlan } from './run/reporter.js'
9
- import { c } from './prompt.js'
9
+ import { c, confirm, closePrompts } from './prompt.js'
10
10
  import type { CliContext, RunOptions } from './types.js'
11
11
  import type { ConvoyResult } from './convoy/engine.js'
12
12
  import type { PipelineResult } from './convoy/pipeline.js'
@@ -807,6 +807,31 @@ export default async function run({ args, pkgRoot }: CliContext): Promise<void>
807
807
  if (spec.branch) console.log(` Branch: ${spec.branch}`)
808
808
  if (spec.gates?.length) console.log(` Gates: ${spec.gates.length} validation commands`)
809
809
 
810
+ // ── Pre-flight: handle uncommitted changes before branch switch ──
811
+ let didStash = false
812
+ if (spec.branch) {
813
+ const { execFile: execFileCb } = await import('node:child_process')
814
+ const { promisify } = await import('node:util')
815
+ const execFile = promisify(execFileCb)
816
+ const { stdout: statusOut } = await execFile('git', ['status', '--porcelain'], {
817
+ cwd: process.cwd(),
818
+ })
819
+ if (statusOut.trim()) {
820
+ console.log(`\n ${c.yellow('⚠')} Uncommitted changes detected.`)
821
+ const shouldStash = await confirm('Stash changes and continue?', true)
822
+ if (!shouldStash) {
823
+ console.log(' Aborted. Commit or stash your changes manually, then retry.')
824
+ closePrompts()
825
+ process.exit(1)
826
+ }
827
+ await execFile('git', ['stash', 'push', '-m', 'opencastle: auto-stash before convoy'], {
828
+ cwd: process.cwd(),
829
+ })
830
+ didStash = true
831
+ console.log(` ${c.green('✓')} Changes stashed.`)
832
+ }
833
+ }
834
+
810
835
  const { startDashboardServer } = await import('./dashboard.js')
811
836
  let dashboardResult: { server: import('node:http').Server; port: number; url: string } | null = null
812
837
  try {
@@ -862,6 +887,17 @@ export default async function run({ args, pkgRoot }: CliContext): Promise<void>
862
887
  console.log(` ${c.dim('View again:')} opencastle dashboard`)
863
888
  dashboardResult.server.close()
864
889
  }
890
+ if (didStash) {
891
+ const { execFile: execFileCb } = await import('node:child_process')
892
+ const { promisify } = await import('node:util')
893
+ const execFile = promisify(execFileCb)
894
+ try {
895
+ await execFile('git', ['stash', 'pop'], { cwd: process.cwd() })
896
+ console.log(` ${c.green('✓')} Stashed changes restored.`)
897
+ } catch {
898
+ console.log(` ${c.yellow('⚠')} Could not restore stash automatically. Run \`git stash pop\` manually.`)
899
+ }
900
+ }
865
901
  process.exit(result.status !== 'done' ? 1 : 0)
866
902
  }
867
903
 
@@ -1 +1,20 @@
1
- []
1
+ [
2
+ {
3
+ "id": "demo-convoy-2",
4
+ "name": "Demo Convoy Beta",
5
+ "status": "running",
6
+ "created_at": "2026-01-15T10:05:00.000Z",
7
+ "finished_at": null,
8
+ "total_tokens": null,
9
+ "total_cost_usd": null
10
+ },
11
+ {
12
+ "id": "demo-convoy-1",
13
+ "name": "Demo Convoy Alpha",
14
+ "status": "done",
15
+ "created_at": "2026-01-15T10:00:00.000Z",
16
+ "finished_at": "2026-01-15T10:00:33.000Z",
17
+ "total_tokens": 8432,
18
+ "total_cost_usd": 0.84
19
+ }
20
+ ]
@@ -0,0 +1,111 @@
1
+ {
2
+ "convoy": {
3
+ "id": "demo-convoy-1",
4
+ "name": "Demo Convoy Alpha",
5
+ "status": "done",
6
+ "created_at": "2026-01-15T10:00:00.000Z",
7
+ "finished_at": "2026-01-15T10:00:33.000Z",
8
+ "branch": "main",
9
+ "total_tokens": 8432,
10
+ "total_cost_usd": 0.84
11
+ },
12
+ "taskSummary": {
13
+ "total": 2,
14
+ "done": 2,
15
+ "running": 0,
16
+ "failed": 0,
17
+ "review_blocked": 0,
18
+ "disputed": 0,
19
+ "reviewed": 0,
20
+ "panel_reviewed": 0,
21
+ "tasks_with_drift": 0,
22
+ "max_drift_score": null,
23
+ "drift_retried": 0
24
+ },
25
+ "quality": {
26
+ "reviewed_tasks": 0,
27
+ "review_blocked_tasks": 0,
28
+ "disputed_tasks": 0,
29
+ "panel_reviews": 0
30
+ },
31
+ "drift": {
32
+ "tasks_with_drift": 0,
33
+ "max_drift_score": null,
34
+ "drift_retried_tasks": 0
35
+ },
36
+ "dlq_count": 0,
37
+ "dlq_entries": [],
38
+ "artifact_count": 0,
39
+ "artifacts": [],
40
+ "has_more_events": false,
41
+ "events": [
42
+ {
43
+ "type": "task_done",
44
+ "task_id": "task-1-b",
45
+ "data": null,
46
+ "created_at": "2026-01-15T10:00:32.000Z"
47
+ },
48
+ {
49
+ "type": "task_started",
50
+ "task_id": "task-1-b",
51
+ "data": null,
52
+ "created_at": "2026-01-15T10:00:16.000Z"
53
+ },
54
+ {
55
+ "type": "task_done",
56
+ "task_id": "task-1-a",
57
+ "data": null,
58
+ "created_at": "2026-01-15T10:00:15.000Z"
59
+ },
60
+ {
61
+ "type": "task_started",
62
+ "task_id": "task-1-a",
63
+ "data": null,
64
+ "created_at": "2026-01-15T10:00:01.000Z"
65
+ }
66
+ ],
67
+ "tasks": [
68
+ {
69
+ "id": "task-1-a",
70
+ "phase": 1,
71
+ "agent": "developer",
72
+ "model": "claude-sonnet-4-6",
73
+ "status": "done",
74
+ "retries": 0,
75
+ "started_at": "2026-01-15T10:00:01.000Z",
76
+ "finished_at": "2026-01-15T10:00:15.000Z",
77
+ "total_tokens": 4200,
78
+ "cost_usd": 0.42,
79
+ "review_level": null,
80
+ "review_verdict": null,
81
+ "review_tokens": null,
82
+ "review_model": null,
83
+ "panel_attempts": 0,
84
+ "dispute_id": null,
85
+ "drift_score": null,
86
+ "drift_retried": 0,
87
+ "files": null
88
+ },
89
+ {
90
+ "id": "task-1-b",
91
+ "phase": 2,
92
+ "agent": "developer",
93
+ "model": "claude-sonnet-4-6",
94
+ "status": "done",
95
+ "retries": 1,
96
+ "started_at": "2026-01-15T10:00:16.000Z",
97
+ "finished_at": "2026-01-15T10:00:32.000Z",
98
+ "total_tokens": 4232,
99
+ "cost_usd": 0.42,
100
+ "review_level": null,
101
+ "review_verdict": null,
102
+ "review_tokens": null,
103
+ "review_model": null,
104
+ "panel_attempts": 0,
105
+ "dispute_id": null,
106
+ "drift_score": null,
107
+ "drift_retried": 0,
108
+ "files": null
109
+ }
110
+ ]
111
+ }
@@ -0,0 +1,72 @@
1
+ {
2
+ "convoy": {
3
+ "id": "demo-convoy-2",
4
+ "name": "Demo Convoy Beta",
5
+ "status": "running",
6
+ "created_at": "2026-01-15T10:05:00.000Z",
7
+ "finished_at": null,
8
+ "branch": "feature/x",
9
+ "total_tokens": null,
10
+ "total_cost_usd": null
11
+ },
12
+ "taskSummary": {
13
+ "total": 1,
14
+ "done": 0,
15
+ "running": 1,
16
+ "failed": 0,
17
+ "review_blocked": 0,
18
+ "disputed": 0,
19
+ "reviewed": 0,
20
+ "panel_reviewed": 0,
21
+ "tasks_with_drift": 0,
22
+ "max_drift_score": null,
23
+ "drift_retried": 0
24
+ },
25
+ "quality": {
26
+ "reviewed_tasks": 0,
27
+ "review_blocked_tasks": 0,
28
+ "disputed_tasks": 0,
29
+ "panel_reviews": 0
30
+ },
31
+ "drift": {
32
+ "tasks_with_drift": 0,
33
+ "max_drift_score": null,
34
+ "drift_retried_tasks": 0
35
+ },
36
+ "dlq_count": 0,
37
+ "dlq_entries": [],
38
+ "artifact_count": 0,
39
+ "artifacts": [],
40
+ "has_more_events": false,
41
+ "events": [
42
+ {
43
+ "type": "task_started",
44
+ "task_id": "task-2-a",
45
+ "data": null,
46
+ "created_at": "2026-01-15T10:05:01.000Z"
47
+ }
48
+ ],
49
+ "tasks": [
50
+ {
51
+ "id": "task-2-a",
52
+ "phase": 1,
53
+ "agent": "developer",
54
+ "model": "claude-sonnet-4-6",
55
+ "status": "running",
56
+ "retries": 0,
57
+ "started_at": "2026-01-15T10:05:01.000Z",
58
+ "finished_at": null,
59
+ "total_tokens": null,
60
+ "cost_usd": null,
61
+ "review_level": null,
62
+ "review_verdict": null,
63
+ "review_tokens": null,
64
+ "review_model": null,
65
+ "panel_attempts": 0,
66
+ "dispute_id": null,
67
+ "drift_score": null,
68
+ "drift_retried": 0,
69
+ "files": null
70
+ }
71
+ ]
72
+ }
@@ -1,22 +1,34 @@
1
1
  {
2
2
  "convoyCounts": {
3
- "total": 0,
4
- "running": 0,
5
- "done": 0,
3
+ "total": 2,
4
+ "running": 1,
5
+ "done": 1,
6
6
  "failed": 0,
7
7
  "gate_failed": 0
8
8
  },
9
9
  "durationStats": {
10
- "avg_sec": null,
11
- "p95_sec": null,
12
- "max_sec": null
10
+ "avg_sec": 33.000022172927856,
11
+ "p95_sec": 33.000022172927856,
12
+ "max_sec": 33.000022172927856
13
13
  },
14
14
  "tokenCostTotals": {
15
- "total_tokens": 0,
16
- "total_cost_usd": 0
15
+ "total_tokens": 8432,
16
+ "total_cost_usd": 0.84
17
17
  },
18
- "topAgents": [],
19
- "topModels": [],
18
+ "topAgents": [
19
+ {
20
+ "agent": "developer",
21
+ "task_count": 3,
22
+ "total_tokens": 8432
23
+ }
24
+ ],
25
+ "topModels": [
26
+ {
27
+ "model": "claude-sonnet-4-6",
28
+ "task_count": 3,
29
+ "total_tokens": 8432
30
+ }
31
+ ],
20
32
  "dlqSummary": {
21
33
  "count": 0,
22
34
  "top_failure_types": []
@@ -1,5 +1,5 @@
1
- <!DOCTYPE html><html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Observability Dashboard — OpenCastle</title><meta name="description" content="Real-time observability for OpenCastle multi-agent orchestration — sessions, delegations, model tiers, and quality gates."><meta name="theme-color" content="#0a0a0f"><link rel="icon" type="image/png" sizes="192x192" href="/icon-192.png"><link rel="stylesheet" href="/_astro/index.6L3_HsPT.css"></head> <body> <script>(function(){const overallStats = {"convoyCounts":{"total":0,"running":0,"done":0,"failed":0,"gate_failed":0},"durationStats":{"avg_sec":null,"p95_sec":null,"max_sec":null},"tokenCostTotals":{"total_tokens":0,"total_cost_usd":0},"topAgents":[],"topModels":[],"dlqSummary":{"count":0,"top_failure_types":[]}};
2
- const convoyList = [];
1
+ <!DOCTYPE html><html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Observability Dashboard — OpenCastle</title><meta name="description" content="Real-time observability for OpenCastle multi-agent orchestration — sessions, delegations, model tiers, and quality gates."><meta name="theme-color" content="#0a0a0f"><link rel="icon" type="image/png" sizes="192x192" href="/icon-192.png"><link rel="stylesheet" href="/_astro/index.6L3_HsPT.css"></head> <body> <script>(function(){const overallStats = {"convoyCounts":{"total":2,"running":1,"done":1,"failed":0,"gate_failed":0},"durationStats":{"avg_sec":33.000022172927856,"p95_sec":33.000022172927856,"max_sec":33.000022172927856},"tokenCostTotals":{"total_tokens":8432,"total_cost_usd":0.84},"topAgents":[{"agent":"developer","task_count":3,"total_tokens":8432}],"topModels":[{"model":"claude-sonnet-4-6","task_count":3,"total_tokens":8432}],"dlqSummary":{"count":0,"top_failure_types":[]}};
2
+ const convoyList = [{"id":"demo-convoy-2","name":"Demo Convoy Beta","status":"running","created_at":"2026-01-15T10:05:00.000Z","finished_at":null,"total_tokens":null,"total_cost_usd":null},{"id":"demo-convoy-1","name":"Demo Convoy Alpha","status":"done","created_at":"2026-01-15T10:00:00.000Z","finished_at":"2026-01-15T10:00:33.000Z","total_tokens":8432,"total_cost_usd":0.84}];
3
3
 
4
4
  window.__DASHBOARD_DATA__ = { overallStats, convoyList }
5
5
  })();</script> <header class="dash-header"> <div class="dash-header__inner"> <div class="dash-header__brand"> <img class="dash-header__icon" src="/icon-192.png" alt="OpenCastle" width="32" height="32"> <h1 class="dash-header__title">Observability Dashboard</h1> </div> <div class="dash-header__actions"> <div class="convoy-selector"> <label class="convoy-selector__label" for="convoy-select">Convoy</label> <select class="convoy-selector__select" id="convoy-select" aria-label="Select a convoy to view its details"> <option value="">Select convoy…</option> </select> </div> <button class="dash-btn dash-btn--ghost" id="export-btn" type="button" title="Export data as JSON" aria-label="Export dashboard data as JSON"> <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
@@ -1,25 +1,25 @@
1
1
  {
2
- "hash": "31be5bae",
2
+ "hash": "5561dc89",
3
3
  "configHash": "30f8ea04",
4
- "lockfileHash": "68ecee18",
5
- "browserHash": "fb400a2a",
4
+ "lockfileHash": "e2a32132",
5
+ "browserHash": "c5e077c4",
6
6
  "optimized": {
7
7
  "astro > cssesc": {
8
8
  "src": "../../../../../node_modules/cssesc/cssesc.js",
9
9
  "file": "astro___cssesc.js",
10
- "fileHash": "05ee9b55",
10
+ "fileHash": "a5407c2f",
11
11
  "needsInterop": true
12
12
  },
13
13
  "astro > aria-query": {
14
14
  "src": "../../../../../node_modules/aria-query/lib/index.js",
15
15
  "file": "astro___aria-query.js",
16
- "fileHash": "7eac81b0",
16
+ "fileHash": "3bbe7ca8",
17
17
  "needsInterop": true
18
18
  },
19
19
  "astro > axobject-query": {
20
20
  "src": "../../../../../node_modules/axobject-query/lib/index.js",
21
21
  "file": "astro___axobject-query.js",
22
- "fileHash": "891e021d",
22
+ "fileHash": "a3c7a104",
23
23
  "needsInterop": true
24
24
  }
25
25
  },
@@ -1 +1,20 @@
1
- []
1
+ [
2
+ {
3
+ "id": "demo-convoy-2",
4
+ "name": "Demo Convoy Beta",
5
+ "status": "running",
6
+ "created_at": "2026-01-15T10:05:00.000Z",
7
+ "finished_at": null,
8
+ "total_tokens": null,
9
+ "total_cost_usd": null
10
+ },
11
+ {
12
+ "id": "demo-convoy-1",
13
+ "name": "Demo Convoy Alpha",
14
+ "status": "done",
15
+ "created_at": "2026-01-15T10:00:00.000Z",
16
+ "finished_at": "2026-01-15T10:00:33.000Z",
17
+ "total_tokens": 8432,
18
+ "total_cost_usd": 0.84
19
+ }
20
+ ]
@@ -0,0 +1,111 @@
1
+ {
2
+ "convoy": {
3
+ "id": "demo-convoy-1",
4
+ "name": "Demo Convoy Alpha",
5
+ "status": "done",
6
+ "created_at": "2026-01-15T10:00:00.000Z",
7
+ "finished_at": "2026-01-15T10:00:33.000Z",
8
+ "branch": "main",
9
+ "total_tokens": 8432,
10
+ "total_cost_usd": 0.84
11
+ },
12
+ "taskSummary": {
13
+ "total": 2,
14
+ "done": 2,
15
+ "running": 0,
16
+ "failed": 0,
17
+ "review_blocked": 0,
18
+ "disputed": 0,
19
+ "reviewed": 0,
20
+ "panel_reviewed": 0,
21
+ "tasks_with_drift": 0,
22
+ "max_drift_score": null,
23
+ "drift_retried": 0
24
+ },
25
+ "quality": {
26
+ "reviewed_tasks": 0,
27
+ "review_blocked_tasks": 0,
28
+ "disputed_tasks": 0,
29
+ "panel_reviews": 0
30
+ },
31
+ "drift": {
32
+ "tasks_with_drift": 0,
33
+ "max_drift_score": null,
34
+ "drift_retried_tasks": 0
35
+ },
36
+ "dlq_count": 0,
37
+ "dlq_entries": [],
38
+ "artifact_count": 0,
39
+ "artifacts": [],
40
+ "has_more_events": false,
41
+ "events": [
42
+ {
43
+ "type": "task_done",
44
+ "task_id": "task-1-b",
45
+ "data": null,
46
+ "created_at": "2026-01-15T10:00:32.000Z"
47
+ },
48
+ {
49
+ "type": "task_started",
50
+ "task_id": "task-1-b",
51
+ "data": null,
52
+ "created_at": "2026-01-15T10:00:16.000Z"
53
+ },
54
+ {
55
+ "type": "task_done",
56
+ "task_id": "task-1-a",
57
+ "data": null,
58
+ "created_at": "2026-01-15T10:00:15.000Z"
59
+ },
60
+ {
61
+ "type": "task_started",
62
+ "task_id": "task-1-a",
63
+ "data": null,
64
+ "created_at": "2026-01-15T10:00:01.000Z"
65
+ }
66
+ ],
67
+ "tasks": [
68
+ {
69
+ "id": "task-1-a",
70
+ "phase": 1,
71
+ "agent": "developer",
72
+ "model": "claude-sonnet-4-6",
73
+ "status": "done",
74
+ "retries": 0,
75
+ "started_at": "2026-01-15T10:00:01.000Z",
76
+ "finished_at": "2026-01-15T10:00:15.000Z",
77
+ "total_tokens": 4200,
78
+ "cost_usd": 0.42,
79
+ "review_level": null,
80
+ "review_verdict": null,
81
+ "review_tokens": null,
82
+ "review_model": null,
83
+ "panel_attempts": 0,
84
+ "dispute_id": null,
85
+ "drift_score": null,
86
+ "drift_retried": 0,
87
+ "files": null
88
+ },
89
+ {
90
+ "id": "task-1-b",
91
+ "phase": 2,
92
+ "agent": "developer",
93
+ "model": "claude-sonnet-4-6",
94
+ "status": "done",
95
+ "retries": 1,
96
+ "started_at": "2026-01-15T10:00:16.000Z",
97
+ "finished_at": "2026-01-15T10:00:32.000Z",
98
+ "total_tokens": 4232,
99
+ "cost_usd": 0.42,
100
+ "review_level": null,
101
+ "review_verdict": null,
102
+ "review_tokens": null,
103
+ "review_model": null,
104
+ "panel_attempts": 0,
105
+ "dispute_id": null,
106
+ "drift_score": null,
107
+ "drift_retried": 0,
108
+ "files": null
109
+ }
110
+ ]
111
+ }
@@ -0,0 +1,72 @@
1
+ {
2
+ "convoy": {
3
+ "id": "demo-convoy-2",
4
+ "name": "Demo Convoy Beta",
5
+ "status": "running",
6
+ "created_at": "2026-01-15T10:05:00.000Z",
7
+ "finished_at": null,
8
+ "branch": "feature/x",
9
+ "total_tokens": null,
10
+ "total_cost_usd": null
11
+ },
12
+ "taskSummary": {
13
+ "total": 1,
14
+ "done": 0,
15
+ "running": 1,
16
+ "failed": 0,
17
+ "review_blocked": 0,
18
+ "disputed": 0,
19
+ "reviewed": 0,
20
+ "panel_reviewed": 0,
21
+ "tasks_with_drift": 0,
22
+ "max_drift_score": null,
23
+ "drift_retried": 0
24
+ },
25
+ "quality": {
26
+ "reviewed_tasks": 0,
27
+ "review_blocked_tasks": 0,
28
+ "disputed_tasks": 0,
29
+ "panel_reviews": 0
30
+ },
31
+ "drift": {
32
+ "tasks_with_drift": 0,
33
+ "max_drift_score": null,
34
+ "drift_retried_tasks": 0
35
+ },
36
+ "dlq_count": 0,
37
+ "dlq_entries": [],
38
+ "artifact_count": 0,
39
+ "artifacts": [],
40
+ "has_more_events": false,
41
+ "events": [
42
+ {
43
+ "type": "task_started",
44
+ "task_id": "task-2-a",
45
+ "data": null,
46
+ "created_at": "2026-01-15T10:05:01.000Z"
47
+ }
48
+ ],
49
+ "tasks": [
50
+ {
51
+ "id": "task-2-a",
52
+ "phase": 1,
53
+ "agent": "developer",
54
+ "model": "claude-sonnet-4-6",
55
+ "status": "running",
56
+ "retries": 0,
57
+ "started_at": "2026-01-15T10:05:01.000Z",
58
+ "finished_at": null,
59
+ "total_tokens": null,
60
+ "cost_usd": null,
61
+ "review_level": null,
62
+ "review_verdict": null,
63
+ "review_tokens": null,
64
+ "review_model": null,
65
+ "panel_attempts": 0,
66
+ "dispute_id": null,
67
+ "drift_score": null,
68
+ "drift_retried": 0,
69
+ "files": null
70
+ }
71
+ ]
72
+ }
@@ -1,22 +1,34 @@
1
1
  {
2
2
  "convoyCounts": {
3
- "total": 0,
4
- "running": 0,
5
- "done": 0,
3
+ "total": 2,
4
+ "running": 1,
5
+ "done": 1,
6
6
  "failed": 0,
7
7
  "gate_failed": 0
8
8
  },
9
9
  "durationStats": {
10
- "avg_sec": null,
11
- "p95_sec": null,
12
- "max_sec": null
10
+ "avg_sec": 33.000022172927856,
11
+ "p95_sec": 33.000022172927856,
12
+ "max_sec": 33.000022172927856
13
13
  },
14
14
  "tokenCostTotals": {
15
- "total_tokens": 0,
16
- "total_cost_usd": 0
15
+ "total_tokens": 8432,
16
+ "total_cost_usd": 0.84
17
17
  },
18
- "topAgents": [],
19
- "topModels": [],
18
+ "topAgents": [
19
+ {
20
+ "agent": "developer",
21
+ "task_count": 3,
22
+ "total_tokens": 8432
23
+ }
24
+ ],
25
+ "topModels": [
26
+ {
27
+ "model": "claude-sonnet-4-6",
28
+ "task_count": 3,
29
+ "total_tokens": 8432
30
+ }
31
+ ],
20
32
  "dlqSummary": {
21
33
  "count": 0,
22
34
  "top_failure_types": []
@@ -95,12 +95,25 @@ export async function runEtl(options: EtlOptions): Promise<EtlResult> {
95
95
  }
96
96
  }
97
97
 
98
+ function parseArgs(): { db?: string; out?: string } {
99
+ const args = process.argv.slice(2)
100
+ const result: Record<string, string> = {}
101
+ for (let i = 0; i < args.length; i++) {
102
+ const a = args[i]
103
+ if (a === '--db' && args[i+1]) { result.db = args[++i] }
104
+ else if (a === '--out' && args[i+1]) { result.out = args[++i] }
105
+ }
106
+ return result
107
+ }
108
+
98
109
  const isMain =
99
110
  process.argv[1] != null &&
100
111
  fileURLToPath(import.meta.url) === resolve(process.argv[1])
112
+
101
113
  if (isMain) {
102
- const dbPath = resolve(process.cwd(), '.opencastle', 'convoy.db')
103
- const outputDir = resolve(__dirname, '..', 'public', 'data')
114
+ const parsed = parseArgs()
115
+ const dbPath = parsed.db != null ? resolve(process.cwd(), parsed.db) : resolve(process.cwd(), '.opencastle', 'convoy.db')
116
+ const outputDir = parsed.out != null ? resolve(process.cwd(), parsed.out) : resolve(__dirname, '..', 'public', 'data')
104
117
  runEtl({ dbPath, outputDir }).catch((err: unknown) => {
105
118
  console.error('ETL failed:', (err as Error).message)
106
119
  process.exit(1)
@@ -0,0 +1,30 @@
1
+ import { mkdtempSync, rmSync, readFileSync } from 'node:fs'
2
+ import { tmpdir } from 'node:os'
3
+ import { join } from 'node:path'
4
+ import { describe, it, expect, beforeEach, afterEach } from 'vitest'
5
+ import { createDemoDb } from './generate-demo-db.js'
6
+ import { runEtl } from './etl.js'
7
+
8
+ function makeTmp(): string {
9
+ return mkdtempSync(join(tmpdir(), 'demo-db-test-'))
10
+ }
11
+
12
+ let tmp: string
13
+ beforeEach(() => { tmp = makeTmp() })
14
+ afterEach(() => { try { rmSync(tmp, { recursive: true, force: true }) } catch {} })
15
+
16
+ describe('generate-demo-db + etl', () => {
17
+ it('creates a demo DB and produces ETL JSON', async () => {
18
+ const dbPath = join(tmp, 'convoy-demo.db')
19
+ await createDemoDb(dbPath)
20
+
21
+ const outDir = join(tmp, 'out')
22
+ const res = await runEtl({ dbPath, outputDir: outDir })
23
+
24
+ expect(res.convoyCount).toBeGreaterThanOrEqual(1)
25
+ const overall = JSON.parse(readFileSync(join(outDir, 'overall-stats.json'), 'utf8'))
26
+ const list = JSON.parse(readFileSync(join(outDir, 'convoy-list.json'), 'utf8'))
27
+ expect(Array.isArray(list)).toBe(true)
28
+ expect(overall).toHaveProperty('convoyCounts')
29
+ })
30
+ })
@@ -0,0 +1,140 @@
1
+ import { resolve, dirname } from 'node:path'
2
+ import { mkdirSync } from 'node:fs'
3
+ import { fileURLToPath } from 'node:url'
4
+ import { createConvoyStore } from '../../cli/convoy/store.js'
5
+
6
+ // Fixed timestamps ensure the demo JSON committed to the repo stays stable
7
+ const C1_START = '2026-01-15T10:00:00.000Z'
8
+ const T1A_START = '2026-01-15T10:00:01.000Z'
9
+ const T1A_END = '2026-01-15T10:00:15.000Z'
10
+ const T1B_START = '2026-01-15T10:00:16.000Z'
11
+ const T1B_END = '2026-01-15T10:00:32.000Z'
12
+ const C1_END = '2026-01-15T10:00:33.000Z' // convoy-1 total: 33s
13
+ const C2_START = '2026-01-15T10:05:00.000Z'
14
+ const T2A_START = '2026-01-15T10:05:01.000Z'
15
+
16
+ export async function createDemoDb(outPath: string): Promise<void> {
17
+ const dbPath = resolve(process.cwd(), outPath)
18
+ mkdirSync(dirname(dbPath), { recursive: true })
19
+ const store = createConvoyStore(dbPath)
20
+
21
+ try {
22
+ // --- Convoy 1: completed ---
23
+ store.insertConvoy({
24
+ id: 'demo-convoy-1',
25
+ name: 'Demo Convoy Alpha',
26
+ spec_hash: 'h1',
27
+ status: 'done',
28
+ branch: 'main',
29
+ created_at: C1_START,
30
+ spec_yaml: 'name: demo-alpha',
31
+ })
32
+ store.updateConvoyStatus('demo-convoy-1', 'done', {
33
+ started_at: C1_START,
34
+ finished_at: C1_END,
35
+ total_tokens: 8432,
36
+ total_cost_usd: 0.84,
37
+ })
38
+
39
+ store.insertTask({
40
+ id: 'task-1-a',
41
+ convoy_id: 'demo-convoy-1',
42
+ phase: 1,
43
+ prompt: 'Implement authentication middleware',
44
+ agent: 'developer',
45
+ adapter: 'noop',
46
+ model: 'claude-sonnet-4-6',
47
+ timeout_ms: 60000,
48
+ status: 'done',
49
+ retries: 0,
50
+ max_retries: 3,
51
+ files: null,
52
+ depends_on: null,
53
+ gates: null,
54
+ outputs: JSON.stringify({ result: 'done' }),
55
+ inputs: null,
56
+ })
57
+ store.updateTaskStatus('task-1-a', 'demo-convoy-1', 'done', {
58
+ started_at: T1A_START,
59
+ finished_at: T1A_END,
60
+ total_tokens: 4200,
61
+ cost_usd: 0.42,
62
+ })
63
+
64
+ store.insertTask({
65
+ id: 'task-1-b',
66
+ convoy_id: 'demo-convoy-1',
67
+ phase: 2,
68
+ prompt: 'Write unit tests for auth middleware',
69
+ agent: 'developer',
70
+ adapter: 'noop',
71
+ model: 'claude-sonnet-4-6',
72
+ timeout_ms: 60000,
73
+ status: 'done',
74
+ retries: 1,
75
+ max_retries: 3,
76
+ files: null,
77
+ depends_on: null,
78
+ gates: null,
79
+ outputs: JSON.stringify({ tests: 12 }),
80
+ inputs: null,
81
+ })
82
+ store.updateTaskStatus('task-1-b', 'demo-convoy-1', 'done', {
83
+ started_at: T1B_START,
84
+ finished_at: T1B_END,
85
+ total_tokens: 4232,
86
+ cost_usd: 0.42,
87
+ })
88
+
89
+ store.insertEvent({ convoy_id: 'demo-convoy-1', task_id: 'task-1-a', worker_id: null, type: 'task_started', data: null, created_at: T1A_START })
90
+ store.insertEvent({ convoy_id: 'demo-convoy-1', task_id: 'task-1-a', worker_id: null, type: 'task_done', data: null, created_at: T1A_END })
91
+ store.insertEvent({ convoy_id: 'demo-convoy-1', task_id: 'task-1-b', worker_id: null, type: 'task_started', data: null, created_at: T1B_START })
92
+ store.insertEvent({ convoy_id: 'demo-convoy-1', task_id: 'task-1-b', worker_id: null, type: 'task_done', data: null, created_at: T1B_END })
93
+
94
+ // --- Convoy 2: still running ---
95
+ store.insertConvoy({
96
+ id: 'demo-convoy-2',
97
+ name: 'Demo Convoy Beta',
98
+ spec_hash: 'h2',
99
+ status: 'running',
100
+ branch: 'feature/x',
101
+ created_at: C2_START,
102
+ spec_yaml: 'name: demo-beta',
103
+ })
104
+ store.updateConvoyStatus('demo-convoy-2', 'running', { started_at: C2_START })
105
+
106
+ store.insertTask({
107
+ id: 'task-2-a',
108
+ convoy_id: 'demo-convoy-2',
109
+ phase: 1,
110
+ prompt: 'Refactor database layer',
111
+ agent: 'developer',
112
+ adapter: 'noop',
113
+ model: 'claude-sonnet-4-6',
114
+ timeout_ms: 60000,
115
+ status: 'running',
116
+ retries: 0,
117
+ max_retries: 3,
118
+ files: null,
119
+ depends_on: null,
120
+ gates: null,
121
+ outputs: null,
122
+ inputs: null,
123
+ })
124
+ store.updateTaskStatus('task-2-a', 'demo-convoy-2', 'running', { started_at: T2A_START })
125
+
126
+ store.insertEvent({ convoy_id: 'demo-convoy-2', task_id: 'task-2-a', worker_id: null, type: 'task_started', data: null, created_at: T2A_START })
127
+
128
+ console.log(`Created demo convoy DB at ${dbPath}`)
129
+ } finally {
130
+ store.close()
131
+ }
132
+ }
133
+
134
+ // CLI entry (ESM-safe)
135
+ const __filename = fileURLToPath(import.meta.url)
136
+ if (process.argv[1] != null && resolve(process.argv[1]) === __filename) {
137
+ const outArgIndex = process.argv.indexOf('--out')
138
+ const out = outArgIndex >= 0 && process.argv[outArgIndex + 1] ? process.argv[outArgIndex + 1] : '.opencastle/convoy-demo.db'
139
+ createDemoDb(out).catch(err => { console.error('Failed to create demo DB:', (err as Error).message); process.exit(1) })
140
+ }
@@ -0,0 +1,51 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ echo "Generating demo DB..."
5
+ npm run dashboard:generate-demo-db
6
+
7
+ echo "Running ETL..."
8
+ npm run dashboard:etl
9
+
10
+ OUT_DIR=src/dashboard/public/data
11
+
12
+ # --- file existence checks ---
13
+ if [[ ! -f "$OUT_DIR/overall-stats.json" ]]; then
14
+ echo "ERROR: Missing overall-stats.json"
15
+ exit 2
16
+ fi
17
+ if [[ ! -f "$OUT_DIR/convoy-list.json" ]]; then
18
+ echo "ERROR: Missing convoy-list.json"
19
+ exit 2
20
+ fi
21
+
22
+ # --- content quality checks via node ---
23
+ node - << 'EOF'
24
+ const fs = require('node:fs')
25
+ const outDir = 'src/dashboard/public/data'
26
+
27
+ const stats = JSON.parse(fs.readFileSync(`${outDir}/overall-stats.json`, 'utf8'))
28
+ const list = JSON.parse(fs.readFileSync(`${outDir}/convoy-list.json`, 'utf8'))
29
+
30
+ const errors = []
31
+
32
+ if (!stats.convoyCounts || stats.convoyCounts.total === 0)
33
+ errors.push('overall-stats.json: convoyCounts.total is 0 — did generate-demo-db run?')
34
+
35
+ if (stats.durationStats?.avg_sec == null)
36
+ errors.push('overall-stats.json: durationStats.avg_sec is null — completed convoy needs started_at + finished_at')
37
+
38
+ if (!stats.tokenCostTotals || stats.tokenCostTotals.total_tokens === 0)
39
+ errors.push('overall-stats.json: total_tokens is 0 — tasks need token data')
40
+
41
+ if (!Array.isArray(list) || list.length === 0)
42
+ errors.push('convoy-list.json: array is empty')
43
+
44
+ if (errors.length > 0) {
45
+ for (const e of errors) console.error('ERROR:', e)
46
+ process.exit(2)
47
+ }
48
+ console.log(`OK: ${list.length} convoy(s), avg_sec=${stats.durationStats.avg_sec}, tokens=${stats.tokenCostTotals.total_tokens}`)
49
+ EOF
50
+
51
+ echo "OK: demo data verified in $OUT_DIR"