opencastle 0.33.9 → 0.33.10

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencastle",
3
- "version": "0.33.9",
3
+ "version": "0.33.10",
4
4
  "type": "module",
5
5
  "description": "Multi-agent orchestration framework for AI coding assistants",
6
6
  "bin": {
@@ -51,21 +51,21 @@
51
51
  "name": "docs/api-v2-contract.json",
52
52
  "type": "json",
53
53
  "task_id": "api-t1",
54
- "created_at": "2026-04-07T18:13:57.255Z"
54
+ "created_at": "2026-04-08T11:39:24.109Z"
55
55
  },
56
56
  {
57
57
  "id": "artifact-demo-api-v2-reports-security-gate-failure-md",
58
58
  "name": "reports/security-gate-failure.md",
59
59
  "type": "summary",
60
60
  "task_id": "api-t3",
61
- "created_at": "2026-04-07T18:13:57.255Z"
61
+ "created_at": "2026-04-08T11:39:24.109Z"
62
62
  },
63
63
  {
64
64
  "id": "artifact-demo-api-v2-src-api-rate-limiter-ts",
65
65
  "name": "src/api/rate-limiter.ts",
66
66
  "type": "file",
67
67
  "task_id": "api-t2",
68
- "created_at": "2026-04-07T18:13:57.255Z"
68
+ "created_at": "2026-04-08T11:39:24.109Z"
69
69
  }
70
70
  ],
71
71
  "has_more_events": false,
@@ -42,28 +42,28 @@
42
42
  "name": "libs/auth/src/jwt-middleware.ts",
43
43
  "type": "file",
44
44
  "task_id": "auth-t2",
45
- "created_at": "2026-04-07T18:13:57.254Z"
45
+ "created_at": "2026-04-08T11:39:24.108Z"
46
46
  },
47
47
  {
48
48
  "id": "artifact-demo-auth-revamp-libs-auth-src-rls-policies-sql",
49
49
  "name": "libs/auth/src/rls-policies.sql",
50
50
  "type": "file",
51
51
  "task_id": "auth-t3",
52
- "created_at": "2026-04-07T18:13:57.254Z"
53
- },
54
- {
55
- "id": "artifact-demo-auth-revamp-reports-auth-review-summary-md",
56
- "name": "reports/auth-review-summary.md",
57
- "type": "summary",
58
- "task_id": "auth-t5",
59
- "created_at": "2026-04-07T18:13:57.254Z"
52
+ "created_at": "2026-04-08T11:39:24.108Z"
60
53
  },
61
54
  {
62
55
  "id": "artifact-demo-auth-revamp-tests-auth-integration-test-ts",
63
56
  "name": "tests/auth/integration.test.ts",
64
57
  "type": "file",
65
58
  "task_id": "auth-t4",
66
- "created_at": "2026-04-07T18:13:57.254Z"
59
+ "created_at": "2026-04-08T11:39:24.108Z"
60
+ },
61
+ {
62
+ "id": "artifact-demo-auth-revamp-reports-auth-review-summary-md",
63
+ "name": "reports/auth-review-summary.md",
64
+ "type": "summary",
65
+ "task_id": "auth-t5",
66
+ "created_at": "2026-04-08T11:39:24.109Z"
67
67
  }
68
68
  ],
69
69
  "has_more_events": false,
@@ -46,47 +46,47 @@
46
46
  ],
47
47
  "artifact_count": 6,
48
48
  "artifacts": [
49
+ {
50
+ "id": "artifact-demo-dashboard-ui-reports-panel-review-dashboard-md",
51
+ "name": "reports/panel-review-dashboard.md",
52
+ "type": "summary",
53
+ "task_id": "ui-t7",
54
+ "created_at": "2026-04-08T11:39:24.109Z"
55
+ },
49
56
  {
50
57
  "id": "artifact-demo-dashboard-ui-reports-visual-regression-json",
51
58
  "name": "reports/visual-regression.json",
52
59
  "type": "json",
53
60
  "task_id": "ui-t6",
54
- "created_at": "2026-04-07T18:13:57.254Z"
61
+ "created_at": "2026-04-08T11:39:24.109Z"
55
62
  },
56
63
  {
57
64
  "id": "artifact-demo-dashboard-ui-src-components-DonutChart-tsx",
58
65
  "name": "src/components/DonutChart.tsx",
59
66
  "type": "file",
60
67
  "task_id": "ui-t3",
61
- "created_at": "2026-04-07T18:13:57.254Z"
68
+ "created_at": "2026-04-08T11:39:24.109Z"
62
69
  },
63
70
  {
64
71
  "id": "artifact-demo-dashboard-ui-src-components-KpiCard-tsx",
65
72
  "name": "src/components/KpiCard.tsx",
66
73
  "type": "file",
67
74
  "task_id": "ui-t2",
68
- "created_at": "2026-04-07T18:13:57.254Z"
75
+ "created_at": "2026-04-08T11:39:24.109Z"
69
76
  },
70
77
  {
71
78
  "id": "artifact-demo-dashboard-ui-src-components-design-tokens-ts",
72
79
  "name": "src/components/design-tokens.ts",
73
80
  "type": "file",
74
81
  "task_id": "ui-t1",
75
- "created_at": "2026-04-07T18:13:57.254Z"
82
+ "created_at": "2026-04-08T11:39:24.109Z"
76
83
  },
77
84
  {
78
85
  "id": "artifact-demo-dashboard-ui-src-styles-animations-css",
79
86
  "name": "src/styles/animations.css",
80
87
  "type": "file",
81
88
  "task_id": "ui-t4",
82
- "created_at": "2026-04-07T18:13:57.254Z"
83
- },
84
- {
85
- "id": "artifact-demo-dashboard-ui-reports-panel-review-dashboard-md",
86
- "name": "reports/panel-review-dashboard.md",
87
- "type": "summary",
88
- "task_id": "ui-t7",
89
- "created_at": "2026-04-07T18:13:57.255Z"
89
+ "created_at": "2026-04-08T11:39:24.109Z"
90
90
  }
91
91
  ],
92
92
  "has_more_events": false,
@@ -42,21 +42,21 @@
42
42
  "name": "src/etl/pipeline.ts",
43
43
  "type": "file",
44
44
  "task_id": "etl-t2",
45
- "created_at": "2026-04-07T18:13:57.255Z"
45
+ "created_at": "2026-04-08T11:39:24.109Z"
46
46
  },
47
47
  {
48
48
  "id": "artifact-demo-data-pipeline-src-etl-schema-ts",
49
49
  "name": "src/etl/schema.ts",
50
50
  "type": "file",
51
51
  "task_id": "etl-t1",
52
- "created_at": "2026-04-07T18:13:57.255Z"
52
+ "created_at": "2026-04-08T11:39:24.109Z"
53
53
  },
54
54
  {
55
55
  "id": "artifact-demo-data-pipeline-tests-etl-pipeline-test-ts",
56
56
  "name": "tests/etl/pipeline.test.ts",
57
57
  "type": "file",
58
58
  "task_id": "etl-t3",
59
- "created_at": "2026-04-07T18:13:57.255Z"
59
+ "created_at": "2026-04-08T11:39:24.109Z"
60
60
  }
61
61
  ],
62
62
  "has_more_events": false,
@@ -51,7 +51,7 @@
51
51
  "name": ".github/workflows/ci.yml",
52
52
  "type": "file",
53
53
  "task_id": "ci-t1",
54
- "created_at": "2026-04-07T18:13:57.256Z"
54
+ "created_at": "2026-04-08T11:39:24.110Z"
55
55
  }
56
56
  ],
57
57
  "has_more_events": false,
@@ -42,21 +42,21 @@
42
42
  "name": "docs/ARCHITECTURE.md",
43
43
  "type": "file",
44
44
  "task_id": "docs-t1",
45
- "created_at": "2026-04-07T18:13:57.256Z"
45
+ "created_at": "2026-04-08T11:39:24.110Z"
46
46
  },
47
47
  {
48
48
  "id": "artifact-demo-docs-update-docs-README-md",
49
49
  "name": "docs/README.md",
50
50
  "type": "file",
51
51
  "task_id": "docs-t1",
52
- "created_at": "2026-04-07T18:13:57.256Z"
52
+ "created_at": "2026-04-08T11:39:24.110Z"
53
53
  },
54
54
  {
55
55
  "id": "artifact-demo-docs-update-docs-api-reference-json",
56
56
  "name": "docs/api-reference.json",
57
57
  "type": "json",
58
58
  "task_id": "docs-t2",
59
- "created_at": "2026-04-07T18:13:57.256Z"
59
+ "created_at": "2026-04-08T11:39:24.110Z"
60
60
  }
61
61
  ],
62
62
  "has_more_events": false,
@@ -42,28 +42,28 @@
42
42
  "name": "reports/bundle-analysis.json",
43
43
  "type": "json",
44
44
  "task_id": "perf-t1",
45
- "created_at": "2026-04-07T18:13:57.255Z"
45
+ "created_at": "2026-04-08T11:39:24.109Z"
46
46
  },
47
47
  {
48
48
  "id": "artifact-demo-perf-opt-reports-web-vitals-improvement-md",
49
49
  "name": "reports/web-vitals-improvement.md",
50
50
  "type": "summary",
51
51
  "task_id": "perf-t4",
52
- "created_at": "2026-04-07T18:13:57.255Z"
52
+ "created_at": "2026-04-08T11:39:24.109Z"
53
53
  },
54
54
  {
55
55
  "id": "artifact-demo-perf-opt-src-charts-index-ts",
56
56
  "name": "src/charts/index.ts",
57
57
  "type": "file",
58
58
  "task_id": "perf-t2",
59
- "created_at": "2026-04-07T18:13:57.255Z"
59
+ "created_at": "2026-04-08T11:39:24.109Z"
60
60
  },
61
61
  {
62
62
  "id": "artifact-demo-perf-opt-src-utils-image-loader-ts",
63
63
  "name": "src/utils/image-loader.ts",
64
64
  "type": "file",
65
65
  "task_id": "perf-t3",
66
- "created_at": "2026-04-07T18:13:57.255Z"
66
+ "created_at": "2026-04-08T11:39:24.109Z"
67
67
  }
68
68
  ],
69
69
  "has_more_events": false,
@@ -1,25 +1,25 @@
1
1
  {
2
- "hash": "f3e695ca",
2
+ "hash": "00dc2d3e",
3
3
  "configHash": "30f8ea04",
4
- "lockfileHash": "63d12489",
5
- "browserHash": "e7c6fa88",
4
+ "lockfileHash": "25166523",
5
+ "browserHash": "f7d2c286",
6
6
  "optimized": {
7
7
  "astro > cssesc": {
8
8
  "src": "../../../../../node_modules/cssesc/cssesc.js",
9
9
  "file": "astro___cssesc.js",
10
- "fileHash": "2f5b696b",
10
+ "fileHash": "d2e25787",
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": "b9c79683",
16
+ "fileHash": "2c861ad0",
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": "73366578",
22
+ "fileHash": "b45d4d9c",
23
23
  "needsInterop": true
24
24
  }
25
25
  },
@@ -51,21 +51,21 @@
51
51
  "name": "docs/api-v2-contract.json",
52
52
  "type": "json",
53
53
  "task_id": "api-t1",
54
- "created_at": "2026-04-07T18:13:57.255Z"
54
+ "created_at": "2026-04-08T11:39:24.109Z"
55
55
  },
56
56
  {
57
57
  "id": "artifact-demo-api-v2-reports-security-gate-failure-md",
58
58
  "name": "reports/security-gate-failure.md",
59
59
  "type": "summary",
60
60
  "task_id": "api-t3",
61
- "created_at": "2026-04-07T18:13:57.255Z"
61
+ "created_at": "2026-04-08T11:39:24.109Z"
62
62
  },
63
63
  {
64
64
  "id": "artifact-demo-api-v2-src-api-rate-limiter-ts",
65
65
  "name": "src/api/rate-limiter.ts",
66
66
  "type": "file",
67
67
  "task_id": "api-t2",
68
- "created_at": "2026-04-07T18:13:57.255Z"
68
+ "created_at": "2026-04-08T11:39:24.109Z"
69
69
  }
70
70
  ],
71
71
  "has_more_events": false,
@@ -42,28 +42,28 @@
42
42
  "name": "libs/auth/src/jwt-middleware.ts",
43
43
  "type": "file",
44
44
  "task_id": "auth-t2",
45
- "created_at": "2026-04-07T18:13:57.254Z"
45
+ "created_at": "2026-04-08T11:39:24.108Z"
46
46
  },
47
47
  {
48
48
  "id": "artifact-demo-auth-revamp-libs-auth-src-rls-policies-sql",
49
49
  "name": "libs/auth/src/rls-policies.sql",
50
50
  "type": "file",
51
51
  "task_id": "auth-t3",
52
- "created_at": "2026-04-07T18:13:57.254Z"
53
- },
54
- {
55
- "id": "artifact-demo-auth-revamp-reports-auth-review-summary-md",
56
- "name": "reports/auth-review-summary.md",
57
- "type": "summary",
58
- "task_id": "auth-t5",
59
- "created_at": "2026-04-07T18:13:57.254Z"
52
+ "created_at": "2026-04-08T11:39:24.108Z"
60
53
  },
61
54
  {
62
55
  "id": "artifact-demo-auth-revamp-tests-auth-integration-test-ts",
63
56
  "name": "tests/auth/integration.test.ts",
64
57
  "type": "file",
65
58
  "task_id": "auth-t4",
66
- "created_at": "2026-04-07T18:13:57.254Z"
59
+ "created_at": "2026-04-08T11:39:24.108Z"
60
+ },
61
+ {
62
+ "id": "artifact-demo-auth-revamp-reports-auth-review-summary-md",
63
+ "name": "reports/auth-review-summary.md",
64
+ "type": "summary",
65
+ "task_id": "auth-t5",
66
+ "created_at": "2026-04-08T11:39:24.109Z"
67
67
  }
68
68
  ],
69
69
  "has_more_events": false,
@@ -46,47 +46,47 @@
46
46
  ],
47
47
  "artifact_count": 6,
48
48
  "artifacts": [
49
+ {
50
+ "id": "artifact-demo-dashboard-ui-reports-panel-review-dashboard-md",
51
+ "name": "reports/panel-review-dashboard.md",
52
+ "type": "summary",
53
+ "task_id": "ui-t7",
54
+ "created_at": "2026-04-08T11:39:24.109Z"
55
+ },
49
56
  {
50
57
  "id": "artifact-demo-dashboard-ui-reports-visual-regression-json",
51
58
  "name": "reports/visual-regression.json",
52
59
  "type": "json",
53
60
  "task_id": "ui-t6",
54
- "created_at": "2026-04-07T18:13:57.254Z"
61
+ "created_at": "2026-04-08T11:39:24.109Z"
55
62
  },
56
63
  {
57
64
  "id": "artifact-demo-dashboard-ui-src-components-DonutChart-tsx",
58
65
  "name": "src/components/DonutChart.tsx",
59
66
  "type": "file",
60
67
  "task_id": "ui-t3",
61
- "created_at": "2026-04-07T18:13:57.254Z"
68
+ "created_at": "2026-04-08T11:39:24.109Z"
62
69
  },
63
70
  {
64
71
  "id": "artifact-demo-dashboard-ui-src-components-KpiCard-tsx",
65
72
  "name": "src/components/KpiCard.tsx",
66
73
  "type": "file",
67
74
  "task_id": "ui-t2",
68
- "created_at": "2026-04-07T18:13:57.254Z"
75
+ "created_at": "2026-04-08T11:39:24.109Z"
69
76
  },
70
77
  {
71
78
  "id": "artifact-demo-dashboard-ui-src-components-design-tokens-ts",
72
79
  "name": "src/components/design-tokens.ts",
73
80
  "type": "file",
74
81
  "task_id": "ui-t1",
75
- "created_at": "2026-04-07T18:13:57.254Z"
82
+ "created_at": "2026-04-08T11:39:24.109Z"
76
83
  },
77
84
  {
78
85
  "id": "artifact-demo-dashboard-ui-src-styles-animations-css",
79
86
  "name": "src/styles/animations.css",
80
87
  "type": "file",
81
88
  "task_id": "ui-t4",
82
- "created_at": "2026-04-07T18:13:57.254Z"
83
- },
84
- {
85
- "id": "artifact-demo-dashboard-ui-reports-panel-review-dashboard-md",
86
- "name": "reports/panel-review-dashboard.md",
87
- "type": "summary",
88
- "task_id": "ui-t7",
89
- "created_at": "2026-04-07T18:13:57.255Z"
89
+ "created_at": "2026-04-08T11:39:24.109Z"
90
90
  }
91
91
  ],
92
92
  "has_more_events": false,
@@ -42,21 +42,21 @@
42
42
  "name": "src/etl/pipeline.ts",
43
43
  "type": "file",
44
44
  "task_id": "etl-t2",
45
- "created_at": "2026-04-07T18:13:57.255Z"
45
+ "created_at": "2026-04-08T11:39:24.109Z"
46
46
  },
47
47
  {
48
48
  "id": "artifact-demo-data-pipeline-src-etl-schema-ts",
49
49
  "name": "src/etl/schema.ts",
50
50
  "type": "file",
51
51
  "task_id": "etl-t1",
52
- "created_at": "2026-04-07T18:13:57.255Z"
52
+ "created_at": "2026-04-08T11:39:24.109Z"
53
53
  },
54
54
  {
55
55
  "id": "artifact-demo-data-pipeline-tests-etl-pipeline-test-ts",
56
56
  "name": "tests/etl/pipeline.test.ts",
57
57
  "type": "file",
58
58
  "task_id": "etl-t3",
59
- "created_at": "2026-04-07T18:13:57.255Z"
59
+ "created_at": "2026-04-08T11:39:24.109Z"
60
60
  }
61
61
  ],
62
62
  "has_more_events": false,
@@ -51,7 +51,7 @@
51
51
  "name": ".github/workflows/ci.yml",
52
52
  "type": "file",
53
53
  "task_id": "ci-t1",
54
- "created_at": "2026-04-07T18:13:57.256Z"
54
+ "created_at": "2026-04-08T11:39:24.110Z"
55
55
  }
56
56
  ],
57
57
  "has_more_events": false,
@@ -42,21 +42,21 @@
42
42
  "name": "docs/ARCHITECTURE.md",
43
43
  "type": "file",
44
44
  "task_id": "docs-t1",
45
- "created_at": "2026-04-07T18:13:57.256Z"
45
+ "created_at": "2026-04-08T11:39:24.110Z"
46
46
  },
47
47
  {
48
48
  "id": "artifact-demo-docs-update-docs-README-md",
49
49
  "name": "docs/README.md",
50
50
  "type": "file",
51
51
  "task_id": "docs-t1",
52
- "created_at": "2026-04-07T18:13:57.256Z"
52
+ "created_at": "2026-04-08T11:39:24.110Z"
53
53
  },
54
54
  {
55
55
  "id": "artifact-demo-docs-update-docs-api-reference-json",
56
56
  "name": "docs/api-reference.json",
57
57
  "type": "json",
58
58
  "task_id": "docs-t2",
59
- "created_at": "2026-04-07T18:13:57.256Z"
59
+ "created_at": "2026-04-08T11:39:24.110Z"
60
60
  }
61
61
  ],
62
62
  "has_more_events": false,
@@ -42,28 +42,28 @@
42
42
  "name": "reports/bundle-analysis.json",
43
43
  "type": "json",
44
44
  "task_id": "perf-t1",
45
- "created_at": "2026-04-07T18:13:57.255Z"
45
+ "created_at": "2026-04-08T11:39:24.109Z"
46
46
  },
47
47
  {
48
48
  "id": "artifact-demo-perf-opt-reports-web-vitals-improvement-md",
49
49
  "name": "reports/web-vitals-improvement.md",
50
50
  "type": "summary",
51
51
  "task_id": "perf-t4",
52
- "created_at": "2026-04-07T18:13:57.255Z"
52
+ "created_at": "2026-04-08T11:39:24.109Z"
53
53
  },
54
54
  {
55
55
  "id": "artifact-demo-perf-opt-src-charts-index-ts",
56
56
  "name": "src/charts/index.ts",
57
57
  "type": "file",
58
58
  "task_id": "perf-t2",
59
- "created_at": "2026-04-07T18:13:57.255Z"
59
+ "created_at": "2026-04-08T11:39:24.109Z"
60
60
  },
61
61
  {
62
62
  "id": "artifact-demo-perf-opt-src-utils-image-loader-ts",
63
63
  "name": "src/utils/image-loader.ts",
64
64
  "type": "file",
65
65
  "task_id": "perf-t3",
66
- "created_at": "2026-04-07T18:13:57.255Z"
66
+ "created_at": "2026-04-08T11:39:24.109Z"
67
67
  }
68
68
  ],
69
69
  "has_more_events": false,
@@ -7,7 +7,7 @@ description: "Creates and names Linear issues, assigns labels and priorities, ma
7
7
 
8
8
  # Task Management with Linear
9
9
 
10
- For project-specific team ID, workflow state UUIDs, and label UUIDs, see [tracker-config.md](../../.opencastle/project/tracker-config.md).
10
+ For project-specific team ID, workflow state UUIDs, and label UUIDs, see [tracker-config.md](../../.opencastle/project/tracker-config.md). For status transitions, follow the **Status Update Procedure** section below.
11
11
 
12
12
  ## MCP Tool Examples
13
13
 
@@ -16,8 +16,8 @@ For project-specific team ID, workflow state UUIDs, and label UUIDs, see [tracke
16
16
  { "teamId": "TEAM_UUID", "title": "[UI] Build PriceRangeFilter", "description": "Objective: ...\nFiles: ...\nAC: ...", "labelIds": ["LABEL_UUID"], "priority": 2 }
17
17
  // → { "id": "TAS-42", "url": "https://linear.app/team/TAS-42" }
18
18
 
19
- // Update issue status
20
- { "issueId": "TAS-42", "stateId": "IN_PROGRESS_UUID" }
19
+ // Update issue status (see Status Update Procedure)
20
+ { "issueId": "TAS-42", "stateId": "<UUID from tracker-config.md>" }
21
21
 
22
22
  // Search issues
23
23
  { "query": "is:open assignee:me", "teamId": "TEAM_UUID" }
@@ -76,3 +76,21 @@ Group related issues under a Linear project; issues track individual subtasks.
76
76
  6. On completion: verify all issues Done/Cancelled, run build/lint/test.
77
77
 
78
78
  If creation fails: check team ID and state UUIDs in [tracker-config.md](../../.opencastle/project/tracker-config.md); retry once. If board state is inconsistent on resume: re-read all issue statuses before proceeding.
79
+
80
+ ## Status Update Procedure
81
+
82
+ > ⚠️ `update_issue` requires a workflow state **UUID** — passing a name like `"In Progress"` always fails with `stateId must be a UUID`.
83
+
84
+ 1. **Read UUIDs from [tracker-config.md](../../.opencastle/project/tracker-config.md)** before any status transition. Names returned by `list_issues`/`get_issue` are display-only, not valid `stateId` values.
85
+ 2. **If `tracker-config.md` has no state UUIDs**, skip status updates and log a warning.
86
+
87
+ ```json
88
+ // ✅ UUID from tracker-config.md
89
+ { "issueId": "TAS-42", "stateId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890" }
90
+ // ❌ FAILS — name, not UUID
91
+ { "issueId": "TAS-42", "status": "In Progress" }
92
+ ```
93
+
94
+ ## One-Time Setup: Discover Workflow State UUIDs
95
+
96
+ If `tracker-config.md` lacks state UUIDs, ask the user to populate them from Linear Settings → Teams → Workflow (UUID in browser URL per state) or via the GraphQL `workflowStates { nodes { id name } }` query.