@cleocode/core 2026.3.57 → 2026.3.59

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.
Files changed (136) hide show
  1. package/dist/agents/agent-registry.d.ts +206 -0
  2. package/dist/agents/agent-registry.d.ts.map +1 -0
  3. package/dist/agents/agent-schema.d.ts.map +1 -1
  4. package/dist/agents/execution-learning.d.ts +223 -0
  5. package/dist/agents/execution-learning.d.ts.map +1 -0
  6. package/dist/agents/health-monitor.d.ts +161 -0
  7. package/dist/agents/health-monitor.d.ts.map +1 -0
  8. package/dist/agents/index.d.ts +4 -1
  9. package/dist/agents/index.d.ts.map +1 -1
  10. package/dist/agents/retry.d.ts +57 -4
  11. package/dist/agents/retry.d.ts.map +1 -1
  12. package/dist/backfill/index.d.ts +83 -0
  13. package/dist/backfill/index.d.ts.map +1 -0
  14. package/dist/bootstrap.d.ts +1 -1
  15. package/dist/config.d.ts +47 -0
  16. package/dist/config.d.ts.map +1 -1
  17. package/dist/index.d.ts +2 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +6985 -5068
  20. package/dist/index.js.map +4 -4
  21. package/dist/intelligence/adaptive-validation.d.ts +151 -0
  22. package/dist/intelligence/adaptive-validation.d.ts.map +1 -0
  23. package/dist/intelligence/impact.d.ts +34 -1
  24. package/dist/intelligence/impact.d.ts.map +1 -1
  25. package/dist/intelligence/index.d.ts +7 -2
  26. package/dist/intelligence/index.d.ts.map +1 -1
  27. package/dist/intelligence/types.d.ts +60 -0
  28. package/dist/intelligence/types.d.ts.map +1 -1
  29. package/dist/internal.d.ts +8 -4
  30. package/dist/internal.d.ts.map +1 -1
  31. package/dist/lib/index.d.ts +10 -0
  32. package/dist/lib/index.d.ts.map +1 -0
  33. package/dist/lib/retry.d.ts +128 -0
  34. package/dist/lib/retry.d.ts.map +1 -0
  35. package/dist/nexus/sharing/index.d.ts +48 -2
  36. package/dist/nexus/sharing/index.d.ts.map +1 -1
  37. package/dist/sessions/session-enforcement.d.ts.map +1 -1
  38. package/dist/stats/index.d.ts +1 -0
  39. package/dist/stats/index.d.ts.map +1 -1
  40. package/dist/stats/workflow-telemetry.d.ts +89 -0
  41. package/dist/stats/workflow-telemetry.d.ts.map +1 -0
  42. package/dist/store/brain-schema.d.ts.map +1 -1
  43. package/dist/store/converters.d.ts.map +1 -1
  44. package/dist/store/cross-db-cleanup.d.ts +93 -0
  45. package/dist/store/cross-db-cleanup.d.ts.map +1 -0
  46. package/dist/store/db-helpers.d.ts.map +1 -1
  47. package/dist/store/migration-sqlite.d.ts.map +1 -1
  48. package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
  49. package/dist/store/sqlite.d.ts.map +1 -1
  50. package/dist/store/task-store.d.ts.map +1 -1
  51. package/dist/store/tasks-schema.d.ts +18 -3
  52. package/dist/store/tasks-schema.d.ts.map +1 -1
  53. package/dist/store/validation-schemas.d.ts +32 -0
  54. package/dist/store/validation-schemas.d.ts.map +1 -1
  55. package/dist/tasks/add.d.ts +10 -1
  56. package/dist/tasks/add.d.ts.map +1 -1
  57. package/dist/tasks/complete.d.ts.map +1 -1
  58. package/dist/tasks/enforcement.d.ts +22 -0
  59. package/dist/tasks/enforcement.d.ts.map +1 -0
  60. package/dist/tasks/epic-enforcement.d.ts +199 -0
  61. package/dist/tasks/epic-enforcement.d.ts.map +1 -0
  62. package/dist/tasks/index.d.ts +1 -1
  63. package/dist/tasks/index.d.ts.map +1 -1
  64. package/dist/tasks/pipeline-stage.d.ts +181 -0
  65. package/dist/tasks/pipeline-stage.d.ts.map +1 -0
  66. package/dist/tasks/update.d.ts +2 -0
  67. package/dist/tasks/update.d.ts.map +1 -1
  68. package/migrations/drizzle-brain/20260321000001_t033-brain-indexes/migration.sql +12 -0
  69. package/migrations/drizzle-brain/20260321000001_t033-brain-indexes/snapshot.json +1232 -0
  70. package/migrations/drizzle-tasks/20260321000000_t033-connection-health/migration.sql +518 -0
  71. package/migrations/drizzle-tasks/20260321000000_t033-connection-health/snapshot.json +4312 -0
  72. package/migrations/drizzle-tasks/20260321000002_t060-pipeline-stage-binding/migration.sql +82 -0
  73. package/migrations/drizzle-tasks/20260321000002_t060-pipeline-stage-binding/snapshot.json +9 -0
  74. package/package.json +5 -5
  75. package/schemas/config.schema.json +37 -1547
  76. package/src/__tests__/sharing.test.ts +24 -0
  77. package/src/agents/__tests__/agent-registry.test.ts +351 -0
  78. package/src/agents/__tests__/execution-learning.test.ts +684 -0
  79. package/src/agents/__tests__/health-monitor.test.ts +332 -0
  80. package/src/agents/__tests__/registry.test.ts +30 -2
  81. package/src/agents/agent-registry.ts +394 -0
  82. package/src/agents/agent-schema.ts +5 -0
  83. package/src/agents/execution-learning.ts +675 -0
  84. package/src/agents/health-monitor.ts +279 -0
  85. package/src/agents/index.ts +37 -1
  86. package/src/agents/retry.ts +57 -4
  87. package/src/backfill/index.ts +309 -0
  88. package/src/bootstrap.ts +1 -1
  89. package/src/config.ts +126 -0
  90. package/src/index.ts +8 -1
  91. package/src/intelligence/__tests__/adaptive-validation.test.ts +694 -0
  92. package/src/intelligence/__tests__/impact.test.ts +165 -1
  93. package/src/intelligence/adaptive-validation.ts +764 -0
  94. package/src/intelligence/impact.ts +203 -0
  95. package/src/intelligence/index.ts +19 -0
  96. package/src/intelligence/types.ts +76 -0
  97. package/src/internal.ts +39 -0
  98. package/src/lib/__tests__/retry.test.ts +321 -0
  99. package/src/lib/index.ts +16 -0
  100. package/src/lib/retry.ts +224 -0
  101. package/src/lifecycle/__tests__/chain-store.test.ts +7 -0
  102. package/src/lifecycle/__tests__/tessera-engine.test.ts +52 -0
  103. package/src/nexus/sharing/index.ts +142 -2
  104. package/src/sessions/__tests__/session-edge-cases.test.ts +24 -1
  105. package/src/sessions/session-enforcement.ts +13 -2
  106. package/src/stats/index.ts +7 -0
  107. package/src/stats/workflow-telemetry.ts +502 -0
  108. package/src/store/__tests__/migration-safety.test.ts +3 -0
  109. package/src/store/__tests__/session-store.test.ts +132 -1
  110. package/src/store/__tests__/task-store.test.ts +22 -1
  111. package/src/store/__tests__/test-db-helper.ts +29 -2
  112. package/src/store/brain-schema.ts +4 -1
  113. package/src/store/converters.ts +2 -0
  114. package/src/store/cross-db-cleanup.ts +192 -0
  115. package/src/store/db-helpers.ts +2 -0
  116. package/src/store/migration-sqlite.ts +6 -0
  117. package/src/store/sqlite-data-accessor.ts +20 -28
  118. package/src/store/sqlite.ts +14 -2
  119. package/src/store/task-store.ts +6 -0
  120. package/src/store/tasks-schema.ts +59 -20
  121. package/src/tasks/__tests__/add.test.ts +16 -0
  122. package/src/tasks/__tests__/complete-unblocks.test.ts +10 -1
  123. package/src/tasks/__tests__/complete.test.ts +11 -2
  124. package/src/tasks/__tests__/epic-enforcement.test.ts +909 -0
  125. package/src/tasks/__tests__/minimal-test.test.ts +28 -0
  126. package/src/tasks/__tests__/pipeline-stage.test.ts +403 -0
  127. package/src/tasks/__tests__/update.test.ts +40 -6
  128. package/src/tasks/add.ts +128 -2
  129. package/src/tasks/complete.ts +29 -17
  130. package/src/tasks/enforcement.ts +127 -0
  131. package/src/tasks/epic-enforcement.ts +364 -0
  132. package/src/tasks/index.ts +1 -0
  133. package/src/tasks/pipeline-stage.ts +293 -0
  134. package/src/tasks/update.ts +62 -0
  135. package/templates/config.template.json +34 -111
  136. package/templates/global-config.template.json +24 -40
@@ -0,0 +1,82 @@
1
+ -- T060: Remove FK constraint from tasks.pipeline_stage so it stores stage names
2
+ -- (e.g. "implementation", "testing") rather than lifecycle_stages.id references.
3
+ -- Tasks can now be assigned a pipeline stage without a lifecycle pipeline record.
4
+ --
5
+ -- SQLite does not support DROP CONSTRAINT, so we rebuild the tasks table.
6
+ PRAGMA foreign_keys=OFF;
7
+ --> statement-breakpoint
8
+ CREATE TABLE `tasks_t060` (
9
+ `id` text PRIMARY KEY,
10
+ `title` text NOT NULL,
11
+ `description` text,
12
+ `status` text DEFAULT 'pending' NOT NULL,
13
+ `priority` text DEFAULT 'medium' NOT NULL,
14
+ `type` text,
15
+ `parent_id` text,
16
+ `phase` text,
17
+ `size` text,
18
+ `position` integer,
19
+ `position_version` integer DEFAULT 0,
20
+ `labels_json` text DEFAULT '[]',
21
+ `notes_json` text DEFAULT '[]',
22
+ `acceptance_json` text DEFAULT '[]',
23
+ `files_json` text DEFAULT '[]',
24
+ `origin` text,
25
+ `blocked_by` text,
26
+ `epic_lifecycle` text,
27
+ `no_auto_complete` integer,
28
+ `created_at` text DEFAULT (datetime('now')) NOT NULL,
29
+ `updated_at` text,
30
+ `completed_at` text,
31
+ `cancelled_at` text,
32
+ `cancellation_reason` text,
33
+ `archived_at` text,
34
+ `archive_reason` text,
35
+ `cycle_time_days` integer,
36
+ `verification_json` text,
37
+ `created_by` text,
38
+ `modified_by` text,
39
+ `session_id` text,
40
+ `pipeline_stage` text,
41
+ CONSTRAINT `fk_tasks_parent_id` FOREIGN KEY (`parent_id`) REFERENCES `tasks_t060`(`id`) ON DELETE SET NULL,
42
+ CONSTRAINT `fk_tasks_session_id` FOREIGN KEY (`session_id`) REFERENCES `sessions`(`id`) ON DELETE SET NULL
43
+ );
44
+ --> statement-breakpoint
45
+ INSERT INTO `tasks_t060` SELECT
46
+ `id`, `title`, `description`, `status`, `priority`, `type`, `parent_id`,
47
+ `phase`, `size`, `position`, `position_version`, `labels_json`, `notes_json`,
48
+ `acceptance_json`, `files_json`, `origin`, `blocked_by`, `epic_lifecycle`,
49
+ `no_auto_complete`, `created_at`, `updated_at`, `completed_at`, `cancelled_at`,
50
+ `cancellation_reason`, `archived_at`, `archive_reason`, `cycle_time_days`,
51
+ `verification_json`, `created_by`, `modified_by`, `session_id`,
52
+ NULL
53
+ FROM `tasks`;
54
+ --> statement-breakpoint
55
+ DROP TABLE `tasks`;
56
+ --> statement-breakpoint
57
+ ALTER TABLE `tasks_t060` RENAME TO `tasks`;
58
+ --> statement-breakpoint
59
+ -- Restore indexes
60
+ CREATE INDEX `idx_tasks_status` ON `tasks` (`status`);
61
+ --> statement-breakpoint
62
+ CREATE INDEX `idx_tasks_parent_id` ON `tasks` (`parent_id`);
63
+ --> statement-breakpoint
64
+ CREATE INDEX `idx_tasks_phase` ON `tasks` (`phase`);
65
+ --> statement-breakpoint
66
+ CREATE INDEX `idx_tasks_type` ON `tasks` (`type`);
67
+ --> statement-breakpoint
68
+ CREATE INDEX `idx_tasks_priority` ON `tasks` (`priority`);
69
+ --> statement-breakpoint
70
+ CREATE INDEX `idx_tasks_session_id` ON `tasks` (`session_id`);
71
+ --> statement-breakpoint
72
+ CREATE INDEX `idx_tasks_pipeline_stage` ON `tasks` (`pipeline_stage`);
73
+ --> statement-breakpoint
74
+ CREATE INDEX `idx_tasks_parent_status` ON `tasks` (`parent_id`, `status`);
75
+ --> statement-breakpoint
76
+ CREATE INDEX `idx_tasks_status_priority` ON `tasks` (`status`, `priority`);
77
+ --> statement-breakpoint
78
+ CREATE INDEX `idx_tasks_type_phase` ON `tasks` (`type`, `phase`);
79
+ --> statement-breakpoint
80
+ CREATE INDEX `idx_tasks_status_archive_reason` ON `tasks` (`status`, `archive_reason`);
81
+ --> statement-breakpoint
82
+ PRAGMA foreign_keys=ON;
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "7",
3
+ "dialect": "sqlite",
4
+ "id": "t060-pipeline-stage-binding-20260321",
5
+ "prevIds": [
6
+ "t033-connection-health-20260321"
7
+ ],
8
+ "ddl": []
9
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cleocode/core",
3
- "version": "2026.3.57",
3
+ "version": "2026.3.59",
4
4
  "description": "CLEO core business logic kernel — tasks, sessions, memory, orchestration, lifecycle, with bundled SQLite store",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -36,10 +36,10 @@
36
36
  "write-file-atomic": "^6.0.0",
37
37
  "yaml": "^2.8.2",
38
38
  "zod": "^3.25.76",
39
- "@cleocode/adapters": "2026.3.57",
40
- "@cleocode/agents": "2026.3.57",
41
- "@cleocode/skills": "2026.3.57",
42
- "@cleocode/contracts": "2026.3.57"
39
+ "@cleocode/adapters": "2026.3.59",
40
+ "@cleocode/agents": "2026.3.59",
41
+ "@cleocode/skills": "2026.3.59",
42
+ "@cleocode/contracts": "2026.3.59"
43
43
  },
44
44
  "engines": {
45
45
  "node": ">=24.0.0"