@cleocode/cleo 2026.4.96 → 2026.4.97
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.
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
-- T944 — additive role/scope/severity axes + experiments side-table
|
|
2
|
+
-- Orthogonal to existing `type` column. `type` is NOT deprecated; it remains
|
|
3
|
+
-- the hierarchical discriminator (epic/task/subtask). `role`, `scope`, and
|
|
4
|
+
-- `severity` are the new orthogonal axes for intent, granularity, and bug
|
|
5
|
+
-- priority respectively. See ADR / RCASD Round 2 for rationale.
|
|
6
|
+
|
|
7
|
+
ALTER TABLE `tasks` ADD COLUMN `role` TEXT NOT NULL DEFAULT 'work'
|
|
8
|
+
CHECK (role IN ('work','research','experiment','bug','spike','release'));--> statement-breakpoint
|
|
9
|
+
ALTER TABLE `tasks` ADD COLUMN `scope` TEXT NOT NULL DEFAULT 'feature'
|
|
10
|
+
CHECK (scope IN ('project','feature','unit'));--> statement-breakpoint
|
|
11
|
+
ALTER TABLE `tasks` ADD COLUMN `severity` TEXT
|
|
12
|
+
CHECK (severity IS NULL OR (severity IN ('P0','P1','P2','P3') AND role='bug'));--> statement-breakpoint
|
|
13
|
+
|
|
14
|
+
CREATE INDEX IF NOT EXISTS `idx_tasks_role` ON `tasks` (`role`);--> statement-breakpoint
|
|
15
|
+
CREATE INDEX IF NOT EXISTS `idx_tasks_scope` ON `tasks` (`scope`);--> statement-breakpoint
|
|
16
|
+
CREATE INDEX IF NOT EXISTS `idx_tasks_role_status` ON `tasks` (`role`,`status`);--> statement-breakpoint
|
|
17
|
+
|
|
18
|
+
-- Backfill role/scope from legacy `type` so the 948 production rows land on
|
|
19
|
+
-- sensible non-default values. Rows with type=NULL are treated as 'task'.
|
|
20
|
+
UPDATE `tasks` SET `scope` = 'project' WHERE `type` = 'epic';--> statement-breakpoint
|
|
21
|
+
UPDATE `tasks` SET `scope` = 'feature' WHERE `type` = 'task' OR `type` IS NULL;--> statement-breakpoint
|
|
22
|
+
UPDATE `tasks` SET `scope` = 'unit' WHERE `type` = 'subtask';--> statement-breakpoint
|
|
23
|
+
|
|
24
|
+
-- Experiments side-table keyed 1:1 to tasks.id for role='experiment' rows.
|
|
25
|
+
CREATE TABLE IF NOT EXISTS `experiments` (
|
|
26
|
+
`task_id` TEXT PRIMARY KEY REFERENCES `tasks`(`id`) ON DELETE CASCADE,
|
|
27
|
+
`sandbox_branch` TEXT,
|
|
28
|
+
`baseline_commit` TEXT,
|
|
29
|
+
`merged_at` TEXT,
|
|
30
|
+
`receipt_id` TEXT,
|
|
31
|
+
`metrics_delta_json` TEXT,
|
|
32
|
+
`created_at` TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
33
|
+
`updated_at` TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
34
|
+
);--> statement-breakpoint
|
|
35
|
+
CREATE INDEX IF NOT EXISTS `idx_experiments_merged` ON `experiments` (`merged_at`);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cleocode/cleo",
|
|
3
|
-
"version": "2026.4.
|
|
3
|
+
"version": "2026.4.97",
|
|
4
4
|
"description": "CLEO CLI — the assembled product consuming @cleocode/core",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/cli/index.js",
|
|
@@ -29,14 +29,14 @@
|
|
|
29
29
|
"tree-sitter-ruby": "^0.23.1",
|
|
30
30
|
"tree-sitter-rust": "0.23.1",
|
|
31
31
|
"tree-sitter-typescript": "^0.23.2",
|
|
32
|
-
"@cleocode/
|
|
33
|
-
"@cleocode/cant": "2026.4.
|
|
34
|
-
"@cleocode/contracts": "2026.4.
|
|
35
|
-
"@cleocode/
|
|
36
|
-
"@cleocode/
|
|
37
|
-
"@cleocode/nexus": "2026.4.
|
|
38
|
-
"@cleocode/playbooks": "2026.4.
|
|
39
|
-
"@cleocode/runtime": "2026.4.
|
|
32
|
+
"@cleocode/caamp": "2026.4.97",
|
|
33
|
+
"@cleocode/cant": "2026.4.97",
|
|
34
|
+
"@cleocode/contracts": "2026.4.97",
|
|
35
|
+
"@cleocode/core": "2026.4.97",
|
|
36
|
+
"@cleocode/lafs": "2026.4.97",
|
|
37
|
+
"@cleocode/nexus": "2026.4.97",
|
|
38
|
+
"@cleocode/playbooks": "2026.4.97",
|
|
39
|
+
"@cleocode/runtime": "2026.4.97"
|
|
40
40
|
},
|
|
41
41
|
"engines": {
|
|
42
42
|
"node": ">=24.0.0"
|
|
@@ -67,6 +67,7 @@
|
|
|
67
67
|
"postbuild": "node scripts/assert-shebang.mjs",
|
|
68
68
|
"typecheck": "tsc --noEmit",
|
|
69
69
|
"test": "cd ../.. && vitest run packages/cleo/src",
|
|
70
|
+
"test:integration": "cd ../.. && vitest run --config packages/cleo/vitest.integration.config.ts",
|
|
70
71
|
"postinstall": "node bin/postinstall.js"
|
|
71
72
|
}
|
|
72
73
|
}
|