@soleri/core 2.4.0 → 2.6.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.
Files changed (328) hide show
  1. package/dist/brain/brain.d.ts +7 -0
  2. package/dist/brain/brain.d.ts.map +1 -1
  3. package/dist/brain/brain.js +56 -9
  4. package/dist/brain/brain.js.map +1 -1
  5. package/dist/brain/intelligence.d.ts +1 -0
  6. package/dist/brain/intelligence.d.ts.map +1 -1
  7. package/dist/brain/intelligence.js +164 -148
  8. package/dist/brain/intelligence.js.map +1 -1
  9. package/dist/brain/types.d.ts +2 -2
  10. package/dist/brain/types.d.ts.map +1 -1
  11. package/dist/cognee/client.d.ts +3 -0
  12. package/dist/cognee/client.d.ts.map +1 -1
  13. package/dist/cognee/client.js +17 -0
  14. package/dist/cognee/client.js.map +1 -1
  15. package/dist/cognee/sync-manager.d.ts +94 -0
  16. package/dist/cognee/sync-manager.d.ts.map +1 -0
  17. package/dist/cognee/sync-manager.js +293 -0
  18. package/dist/cognee/sync-manager.js.map +1 -0
  19. package/dist/control/identity-manager.d.ts +3 -1
  20. package/dist/control/identity-manager.d.ts.map +1 -1
  21. package/dist/control/identity-manager.js +49 -51
  22. package/dist/control/identity-manager.js.map +1 -1
  23. package/dist/control/intent-router.d.ts +1 -0
  24. package/dist/control/intent-router.d.ts.map +1 -1
  25. package/dist/control/intent-router.js +32 -32
  26. package/dist/control/intent-router.js.map +1 -1
  27. package/dist/curator/curator.d.ts +9 -1
  28. package/dist/curator/curator.d.ts.map +1 -1
  29. package/dist/curator/curator.js +104 -92
  30. package/dist/curator/curator.js.map +1 -1
  31. package/dist/errors/classify.d.ts +13 -0
  32. package/dist/errors/classify.d.ts.map +1 -0
  33. package/dist/errors/classify.js +97 -0
  34. package/dist/errors/classify.js.map +1 -0
  35. package/dist/errors/index.d.ts +6 -0
  36. package/dist/errors/index.d.ts.map +1 -0
  37. package/dist/errors/index.js +4 -0
  38. package/dist/errors/index.js.map +1 -0
  39. package/dist/errors/retry.d.ts +40 -0
  40. package/dist/errors/retry.d.ts.map +1 -0
  41. package/dist/errors/retry.js +97 -0
  42. package/dist/errors/retry.js.map +1 -0
  43. package/dist/errors/types.d.ts +48 -0
  44. package/dist/errors/types.d.ts.map +1 -0
  45. package/dist/errors/types.js +59 -0
  46. package/dist/errors/types.js.map +1 -0
  47. package/dist/governance/governance.d.ts +1 -0
  48. package/dist/governance/governance.d.ts.map +1 -1
  49. package/dist/governance/governance.js +51 -68
  50. package/dist/governance/governance.js.map +1 -1
  51. package/dist/index.d.ts +26 -5
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +22 -3
  54. package/dist/index.js.map +1 -1
  55. package/dist/intake/content-classifier.d.ts +14 -0
  56. package/dist/intake/content-classifier.d.ts.map +1 -0
  57. package/dist/intake/content-classifier.js +125 -0
  58. package/dist/intake/content-classifier.js.map +1 -0
  59. package/dist/intake/dedup-gate.d.ts +17 -0
  60. package/dist/intake/dedup-gate.d.ts.map +1 -0
  61. package/dist/intake/dedup-gate.js +66 -0
  62. package/dist/intake/dedup-gate.js.map +1 -0
  63. package/dist/intake/intake-pipeline.d.ts +63 -0
  64. package/dist/intake/intake-pipeline.d.ts.map +1 -0
  65. package/dist/intake/intake-pipeline.js +373 -0
  66. package/dist/intake/intake-pipeline.js.map +1 -0
  67. package/dist/intake/types.d.ts +65 -0
  68. package/dist/intake/types.d.ts.map +1 -0
  69. package/dist/intake/types.js +3 -0
  70. package/dist/intake/types.js.map +1 -0
  71. package/dist/intelligence/loader.js +1 -1
  72. package/dist/intelligence/loader.js.map +1 -1
  73. package/dist/intelligence/types.d.ts +3 -1
  74. package/dist/intelligence/types.d.ts.map +1 -1
  75. package/dist/loop/loop-manager.d.ts +58 -7
  76. package/dist/loop/loop-manager.d.ts.map +1 -1
  77. package/dist/loop/loop-manager.js +280 -6
  78. package/dist/loop/loop-manager.js.map +1 -1
  79. package/dist/loop/types.d.ts +69 -1
  80. package/dist/loop/types.d.ts.map +1 -1
  81. package/dist/loop/types.js +4 -1
  82. package/dist/loop/types.js.map +1 -1
  83. package/dist/persistence/index.d.ts +4 -0
  84. package/dist/persistence/index.d.ts.map +1 -0
  85. package/dist/persistence/index.js +3 -0
  86. package/dist/persistence/index.js.map +1 -0
  87. package/dist/persistence/postgres-provider.d.ts +46 -0
  88. package/dist/persistence/postgres-provider.d.ts.map +1 -0
  89. package/dist/persistence/postgres-provider.js +115 -0
  90. package/dist/persistence/postgres-provider.js.map +1 -0
  91. package/dist/persistence/sqlite-provider.d.ts +28 -0
  92. package/dist/persistence/sqlite-provider.d.ts.map +1 -0
  93. package/dist/persistence/sqlite-provider.js +97 -0
  94. package/dist/persistence/sqlite-provider.js.map +1 -0
  95. package/dist/persistence/types.d.ts +58 -0
  96. package/dist/persistence/types.d.ts.map +1 -0
  97. package/dist/persistence/types.js +8 -0
  98. package/dist/persistence/types.js.map +1 -0
  99. package/dist/planning/gap-analysis.d.ts +47 -4
  100. package/dist/planning/gap-analysis.d.ts.map +1 -1
  101. package/dist/planning/gap-analysis.js +190 -13
  102. package/dist/planning/gap-analysis.js.map +1 -1
  103. package/dist/planning/gap-types.d.ts +1 -1
  104. package/dist/planning/gap-types.d.ts.map +1 -1
  105. package/dist/planning/gap-types.js.map +1 -1
  106. package/dist/planning/planner.d.ts +277 -9
  107. package/dist/planning/planner.d.ts.map +1 -1
  108. package/dist/planning/planner.js +611 -46
  109. package/dist/planning/planner.js.map +1 -1
  110. package/dist/playbooks/generic/brainstorming.d.ts +9 -0
  111. package/dist/playbooks/generic/brainstorming.d.ts.map +1 -0
  112. package/dist/playbooks/generic/brainstorming.js +105 -0
  113. package/dist/playbooks/generic/brainstorming.js.map +1 -0
  114. package/dist/playbooks/generic/code-review.d.ts +11 -0
  115. package/dist/playbooks/generic/code-review.d.ts.map +1 -0
  116. package/dist/playbooks/generic/code-review.js +176 -0
  117. package/dist/playbooks/generic/code-review.js.map +1 -0
  118. package/dist/playbooks/generic/subagent-execution.d.ts +9 -0
  119. package/dist/playbooks/generic/subagent-execution.d.ts.map +1 -0
  120. package/dist/playbooks/generic/subagent-execution.js +68 -0
  121. package/dist/playbooks/generic/subagent-execution.js.map +1 -0
  122. package/dist/playbooks/generic/systematic-debugging.d.ts +9 -0
  123. package/dist/playbooks/generic/systematic-debugging.d.ts.map +1 -0
  124. package/dist/playbooks/generic/systematic-debugging.js +87 -0
  125. package/dist/playbooks/generic/systematic-debugging.js.map +1 -0
  126. package/dist/playbooks/generic/tdd.d.ts +9 -0
  127. package/dist/playbooks/generic/tdd.d.ts.map +1 -0
  128. package/dist/playbooks/generic/tdd.js +70 -0
  129. package/dist/playbooks/generic/tdd.js.map +1 -0
  130. package/dist/playbooks/generic/verification.d.ts +9 -0
  131. package/dist/playbooks/generic/verification.d.ts.map +1 -0
  132. package/dist/playbooks/generic/verification.js +74 -0
  133. package/dist/playbooks/generic/verification.js.map +1 -0
  134. package/dist/playbooks/index.d.ts +4 -0
  135. package/dist/playbooks/index.d.ts.map +1 -0
  136. package/dist/playbooks/index.js +5 -0
  137. package/dist/playbooks/index.js.map +1 -0
  138. package/dist/playbooks/playbook-registry.d.ts +42 -0
  139. package/dist/playbooks/playbook-registry.d.ts.map +1 -0
  140. package/dist/playbooks/playbook-registry.js +227 -0
  141. package/dist/playbooks/playbook-registry.js.map +1 -0
  142. package/dist/playbooks/playbook-seeder.d.ts +47 -0
  143. package/dist/playbooks/playbook-seeder.d.ts.map +1 -0
  144. package/dist/playbooks/playbook-seeder.js +104 -0
  145. package/dist/playbooks/playbook-seeder.js.map +1 -0
  146. package/dist/playbooks/playbook-types.d.ts +132 -0
  147. package/dist/playbooks/playbook-types.d.ts.map +1 -0
  148. package/dist/playbooks/playbook-types.js +12 -0
  149. package/dist/playbooks/playbook-types.js.map +1 -0
  150. package/dist/project/project-registry.d.ts +4 -4
  151. package/dist/project/project-registry.d.ts.map +1 -1
  152. package/dist/project/project-registry.js +30 -57
  153. package/dist/project/project-registry.js.map +1 -1
  154. package/dist/prompts/index.d.ts +4 -0
  155. package/dist/prompts/index.d.ts.map +1 -0
  156. package/dist/prompts/index.js +3 -0
  157. package/dist/prompts/index.js.map +1 -0
  158. package/dist/prompts/parser.d.ts +17 -0
  159. package/dist/prompts/parser.d.ts.map +1 -0
  160. package/dist/prompts/parser.js +47 -0
  161. package/dist/prompts/parser.js.map +1 -0
  162. package/dist/prompts/template-manager.d.ts +25 -0
  163. package/dist/prompts/template-manager.d.ts.map +1 -0
  164. package/dist/prompts/template-manager.js +71 -0
  165. package/dist/prompts/template-manager.js.map +1 -0
  166. package/dist/prompts/types.d.ts +26 -0
  167. package/dist/prompts/types.d.ts.map +1 -0
  168. package/dist/prompts/types.js +5 -0
  169. package/dist/prompts/types.js.map +1 -0
  170. package/dist/runtime/admin-extra-ops.d.ts +5 -3
  171. package/dist/runtime/admin-extra-ops.d.ts.map +1 -1
  172. package/dist/runtime/admin-extra-ops.js +348 -11
  173. package/dist/runtime/admin-extra-ops.js.map +1 -1
  174. package/dist/runtime/admin-ops.d.ts.map +1 -1
  175. package/dist/runtime/admin-ops.js +10 -3
  176. package/dist/runtime/admin-ops.js.map +1 -1
  177. package/dist/runtime/capture-ops.d.ts.map +1 -1
  178. package/dist/runtime/capture-ops.js +20 -2
  179. package/dist/runtime/capture-ops.js.map +1 -1
  180. package/dist/runtime/cognee-sync-ops.d.ts +12 -0
  181. package/dist/runtime/cognee-sync-ops.d.ts.map +1 -0
  182. package/dist/runtime/cognee-sync-ops.js +55 -0
  183. package/dist/runtime/cognee-sync-ops.js.map +1 -0
  184. package/dist/runtime/core-ops.d.ts +8 -6
  185. package/dist/runtime/core-ops.d.ts.map +1 -1
  186. package/dist/runtime/core-ops.js +226 -9
  187. package/dist/runtime/core-ops.js.map +1 -1
  188. package/dist/runtime/curator-extra-ops.d.ts +2 -2
  189. package/dist/runtime/curator-extra-ops.d.ts.map +1 -1
  190. package/dist/runtime/curator-extra-ops.js +15 -3
  191. package/dist/runtime/curator-extra-ops.js.map +1 -1
  192. package/dist/runtime/domain-ops.js +2 -2
  193. package/dist/runtime/domain-ops.js.map +1 -1
  194. package/dist/runtime/grading-ops.d.ts.map +1 -1
  195. package/dist/runtime/grading-ops.js.map +1 -1
  196. package/dist/runtime/intake-ops.d.ts +14 -0
  197. package/dist/runtime/intake-ops.d.ts.map +1 -0
  198. package/dist/runtime/intake-ops.js +110 -0
  199. package/dist/runtime/intake-ops.js.map +1 -0
  200. package/dist/runtime/loop-ops.d.ts +5 -4
  201. package/dist/runtime/loop-ops.d.ts.map +1 -1
  202. package/dist/runtime/loop-ops.js +84 -12
  203. package/dist/runtime/loop-ops.js.map +1 -1
  204. package/dist/runtime/memory-cross-project-ops.d.ts.map +1 -1
  205. package/dist/runtime/memory-cross-project-ops.js.map +1 -1
  206. package/dist/runtime/memory-extra-ops.js +5 -5
  207. package/dist/runtime/memory-extra-ops.js.map +1 -1
  208. package/dist/runtime/orchestrate-ops.d.ts.map +1 -1
  209. package/dist/runtime/orchestrate-ops.js +8 -2
  210. package/dist/runtime/orchestrate-ops.js.map +1 -1
  211. package/dist/runtime/planning-extra-ops.d.ts +13 -5
  212. package/dist/runtime/planning-extra-ops.d.ts.map +1 -1
  213. package/dist/runtime/planning-extra-ops.js +381 -18
  214. package/dist/runtime/planning-extra-ops.js.map +1 -1
  215. package/dist/runtime/playbook-ops.d.ts +14 -0
  216. package/dist/runtime/playbook-ops.d.ts.map +1 -0
  217. package/dist/runtime/playbook-ops.js +141 -0
  218. package/dist/runtime/playbook-ops.js.map +1 -0
  219. package/dist/runtime/project-ops.d.ts.map +1 -1
  220. package/dist/runtime/project-ops.js +7 -2
  221. package/dist/runtime/project-ops.js.map +1 -1
  222. package/dist/runtime/runtime.d.ts.map +1 -1
  223. package/dist/runtime/runtime.js +28 -9
  224. package/dist/runtime/runtime.js.map +1 -1
  225. package/dist/runtime/types.d.ts +8 -0
  226. package/dist/runtime/types.d.ts.map +1 -1
  227. package/dist/runtime/vault-extra-ops.d.ts +4 -2
  228. package/dist/runtime/vault-extra-ops.d.ts.map +1 -1
  229. package/dist/runtime/vault-extra-ops.js +383 -4
  230. package/dist/runtime/vault-extra-ops.js.map +1 -1
  231. package/dist/vault/playbook.d.ts +34 -0
  232. package/dist/vault/playbook.d.ts.map +1 -0
  233. package/dist/vault/playbook.js +60 -0
  234. package/dist/vault/playbook.js.map +1 -0
  235. package/dist/vault/vault.d.ts +52 -32
  236. package/dist/vault/vault.d.ts.map +1 -1
  237. package/dist/vault/vault.js +300 -181
  238. package/dist/vault/vault.js.map +1 -1
  239. package/package.json +9 -3
  240. package/src/__tests__/admin-extra-ops.test.ts +62 -15
  241. package/src/__tests__/admin-ops.test.ts +2 -2
  242. package/src/__tests__/brain.test.ts +3 -3
  243. package/src/__tests__/cognee-integration.test.ts +80 -0
  244. package/src/__tests__/cognee-sync-manager.test.ts +103 -0
  245. package/src/__tests__/core-ops.test.ts +36 -4
  246. package/src/__tests__/curator-extra-ops.test.ts +24 -2
  247. package/src/__tests__/errors.test.ts +388 -0
  248. package/src/__tests__/grading-ops.test.ts +28 -7
  249. package/src/__tests__/intake-pipeline.test.ts +162 -0
  250. package/src/__tests__/loop-ops.test.ts +74 -3
  251. package/src/__tests__/memory-cross-project-ops.test.ts +3 -1
  252. package/src/__tests__/orchestrate-ops.test.ts +8 -3
  253. package/src/__tests__/persistence.test.ts +291 -0
  254. package/src/__tests__/planner.test.ts +99 -21
  255. package/src/__tests__/planning-extra-ops.test.ts +168 -10
  256. package/src/__tests__/playbook-registry.test.ts +326 -0
  257. package/src/__tests__/playbook-seeder.test.ts +163 -0
  258. package/src/__tests__/playbook.test.ts +389 -0
  259. package/src/__tests__/postgres-provider.test.ts +58 -0
  260. package/src/__tests__/project-ops.test.ts +18 -4
  261. package/src/__tests__/template-manager.test.ts +222 -0
  262. package/src/__tests__/vault-extra-ops.test.ts +82 -7
  263. package/src/__tests__/vault.test.ts +184 -0
  264. package/src/brain/brain.ts +71 -9
  265. package/src/brain/intelligence.ts +258 -307
  266. package/src/brain/types.ts +2 -2
  267. package/src/cognee/client.ts +18 -0
  268. package/src/cognee/sync-manager.ts +389 -0
  269. package/src/control/identity-manager.ts +77 -75
  270. package/src/control/intent-router.ts +55 -57
  271. package/src/curator/curator.ts +199 -139
  272. package/src/errors/classify.ts +102 -0
  273. package/src/errors/index.ts +5 -0
  274. package/src/errors/retry.ts +132 -0
  275. package/src/errors/types.ts +81 -0
  276. package/src/governance/governance.ts +90 -107
  277. package/src/index.ts +116 -3
  278. package/src/intake/content-classifier.ts +146 -0
  279. package/src/intake/dedup-gate.ts +92 -0
  280. package/src/intake/intake-pipeline.ts +503 -0
  281. package/src/intake/types.ts +69 -0
  282. package/src/intelligence/loader.ts +1 -1
  283. package/src/intelligence/types.ts +3 -1
  284. package/src/loop/loop-manager.ts +325 -7
  285. package/src/loop/types.ts +72 -1
  286. package/src/persistence/index.ts +9 -0
  287. package/src/persistence/postgres-provider.ts +157 -0
  288. package/src/persistence/sqlite-provider.ts +115 -0
  289. package/src/persistence/types.ts +74 -0
  290. package/src/planning/gap-analysis.ts +286 -17
  291. package/src/planning/gap-types.ts +4 -1
  292. package/src/planning/planner.ts +828 -55
  293. package/src/playbooks/generic/brainstorming.ts +110 -0
  294. package/src/playbooks/generic/code-review.ts +181 -0
  295. package/src/playbooks/generic/subagent-execution.ts +74 -0
  296. package/src/playbooks/generic/systematic-debugging.ts +92 -0
  297. package/src/playbooks/generic/tdd.ts +75 -0
  298. package/src/playbooks/generic/verification.ts +79 -0
  299. package/src/playbooks/index.ts +27 -0
  300. package/src/playbooks/playbook-registry.ts +284 -0
  301. package/src/playbooks/playbook-seeder.ts +119 -0
  302. package/src/playbooks/playbook-types.ts +162 -0
  303. package/src/project/project-registry.ts +81 -74
  304. package/src/prompts/index.ts +3 -0
  305. package/src/prompts/parser.ts +59 -0
  306. package/src/prompts/template-manager.ts +77 -0
  307. package/src/prompts/types.ts +28 -0
  308. package/src/runtime/admin-extra-ops.ts +391 -13
  309. package/src/runtime/admin-ops.ts +17 -6
  310. package/src/runtime/capture-ops.ts +25 -6
  311. package/src/runtime/cognee-sync-ops.ts +63 -0
  312. package/src/runtime/core-ops.ts +258 -8
  313. package/src/runtime/curator-extra-ops.ts +17 -3
  314. package/src/runtime/domain-ops.ts +2 -2
  315. package/src/runtime/grading-ops.ts +11 -2
  316. package/src/runtime/intake-ops.ts +126 -0
  317. package/src/runtime/loop-ops.ts +96 -13
  318. package/src/runtime/memory-cross-project-ops.ts +1 -2
  319. package/src/runtime/memory-extra-ops.ts +5 -5
  320. package/src/runtime/orchestrate-ops.ts +8 -2
  321. package/src/runtime/planning-extra-ops.ts +414 -23
  322. package/src/runtime/playbook-ops.ts +169 -0
  323. package/src/runtime/project-ops.ts +9 -3
  324. package/src/runtime/runtime.ts +36 -10
  325. package/src/runtime/types.ts +8 -0
  326. package/src/runtime/vault-extra-ops.ts +425 -4
  327. package/src/vault/playbook.ts +87 -0
  328. package/src/vault/vault.ts +419 -235
@@ -1,7 +1,68 @@
1
1
  import type { PlanGap } from './gap-types.js';
2
2
  import type { GapAnalysisOptions } from './gap-analysis.js';
3
- export type PlanStatus = 'draft' | 'approved' | 'executing' | 'completed';
3
+ /**
4
+ * Plan lifecycle status.
5
+ * Ported from Salvador's PlanLifecycleStatus with full 8-state lifecycle.
6
+ *
7
+ * Lifecycle: brainstorming → draft → approved → executing → [validating] → reconciling → completed → archived
8
+ */
9
+ export type PlanStatus = 'brainstorming' | 'draft' | 'approved' | 'executing' | 'validating' | 'reconciling' | 'completed' | 'archived';
10
+ /**
11
+ * Valid status transitions.
12
+ * Each key maps to the set of statuses it can transition to.
13
+ * Ported from Salvador's LIFECYCLE_TRANSITIONS.
14
+ */
15
+ export declare const LIFECYCLE_TRANSITIONS: Record<PlanStatus, PlanStatus[]>;
16
+ /**
17
+ * Statuses where the 30-minute TTL should NOT apply.
18
+ * Plans in these states may span multiple sessions.
19
+ */
20
+ export declare const NON_EXPIRING_STATUSES: PlanStatus[];
21
+ /**
22
+ * Validate a lifecycle status transition.
23
+ * Returns true if the transition is valid, false otherwise.
24
+ */
25
+ export declare function isValidTransition(from: PlanStatus, to: PlanStatus): boolean;
26
+ /**
27
+ * Get the valid next statuses for a given status.
28
+ */
29
+ export declare function getValidNextStatuses(status: PlanStatus): PlanStatus[];
30
+ /**
31
+ * Check if a status should have TTL expiration.
32
+ * Plans in executing/reconciling states persist indefinitely.
33
+ */
34
+ export declare function shouldExpire(status: PlanStatus): boolean;
4
35
  export type TaskStatus = 'pending' | 'in_progress' | 'completed' | 'skipped' | 'failed';
36
+ export interface TaskEvidence {
37
+ /** What the evidence proves (maps to an acceptance criterion). */
38
+ criterion: string;
39
+ /** Evidence content — command output, URL, file path, description. */
40
+ content: string;
41
+ /** Evidence type. */
42
+ type: 'command_output' | 'url' | 'file' | 'description';
43
+ submittedAt: number;
44
+ }
45
+ export interface TaskMetrics {
46
+ durationMs?: number;
47
+ iterations?: number;
48
+ toolCalls?: number;
49
+ modelTier?: string;
50
+ estimatedCostUsd?: number;
51
+ }
52
+ export interface TaskDeliverable {
53
+ type: 'file' | 'vault_entry' | 'url';
54
+ path: string;
55
+ hash?: string;
56
+ verifiedAt?: number;
57
+ stale?: boolean;
58
+ }
59
+ export interface ExecutionSummary {
60
+ totalDurationMs: number;
61
+ tasksCompleted: number;
62
+ tasksSkipped: number;
63
+ tasksFailed: number;
64
+ avgTaskDurationMs: number;
65
+ }
5
66
  export interface PlanTask {
6
67
  id: string;
7
68
  title: string;
@@ -9,18 +70,50 @@ export interface PlanTask {
9
70
  status: TaskStatus;
10
71
  /** Optional dependency IDs — tasks that must complete before this one. */
11
72
  dependsOn?: string[];
73
+ /** Evidence submitted for task acceptance criteria. */
74
+ evidence?: TaskEvidence[];
75
+ /** Whether this task has been verified (all evidence checked + reviews passed). */
76
+ verified?: boolean;
77
+ /** Task-level acceptance criteria (for verification checking). */
78
+ acceptanceCriteria?: string[];
79
+ /** Timestamp when task was first moved to in_progress. */
80
+ startedAt?: number;
81
+ /** Timestamp when task reached a terminal state (completed/skipped/failed). */
82
+ completedAt?: number;
83
+ /** Per-task execution metrics. */
84
+ metrics?: TaskMetrics;
85
+ /** Deliverables produced by this task. */
86
+ deliverables?: TaskDeliverable[];
12
87
  updatedAt: number;
13
88
  }
14
89
  export interface DriftItem {
90
+ /** Type of drift */
15
91
  type: 'skipped' | 'added' | 'modified' | 'reordered';
92
+ /** What drifted */
16
93
  description: string;
94
+ /** How much this affected the plan */
17
95
  impact: 'low' | 'medium' | 'high';
96
+ /** Why the drift occurred */
18
97
  rationale: string;
19
98
  }
99
+ /**
100
+ * Severity weights for drift accuracy score calculation.
101
+ * Score = 100 - sum(drift_items * weight_per_impact)
102
+ * Ported from Salvador's plan-lifecycle-types.ts.
103
+ */
104
+ export declare const DRIFT_WEIGHTS: Record<DriftItem['impact'], number>;
105
+ /**
106
+ * Calculate drift accuracy score from drift items.
107
+ * Score = max(0, 100 - sum(weight_per_impact))
108
+ * Ported from Salvador's calculateDriftScore.
109
+ */
110
+ export declare function calculateDriftScore(items: DriftItem[]): number;
20
111
  export interface ReconciliationReport {
21
112
  planId: string;
113
+ /** Accuracy score: 100 = perfect execution, 0 = total drift. Impact-weighted. */
22
114
  accuracy: number;
23
115
  driftItems: DriftItem[];
116
+ /** Human-readable summary of the drift */
24
117
  summary: string;
25
118
  reconciledAt: number;
26
119
  }
@@ -51,13 +144,37 @@ export interface PlanCheck {
51
144
  * - Score = max(0, 100 - totalDeductions)
52
145
  */
53
146
  export declare function calculateScore(gaps: PlanGap[], iteration?: number): number;
147
+ /**
148
+ * A structured decision with rationale.
149
+ * Ported from Salvador's PlanContent.decisions.
150
+ */
151
+ export interface PlanDecision {
152
+ decision: string;
153
+ rationale: string;
154
+ }
54
155
  export interface Plan {
55
156
  id: string;
56
157
  objective: string;
57
158
  scope: string;
58
159
  status: PlanStatus;
59
- decisions: string[];
160
+ /**
161
+ * Decisions can be flat strings (backward compat) or structured {decision, rationale}.
162
+ * New plans should prefer PlanDecision[].
163
+ */
164
+ decisions: (string | PlanDecision)[];
60
165
  tasks: PlanTask[];
166
+ /** High-level approach description. Ported from Salvador's PlanContent. */
167
+ approach?: string;
168
+ /** Additional context for the plan. */
169
+ context?: string;
170
+ /** Measurable success criteria. */
171
+ success_criteria?: string[];
172
+ /** Tools to use in execution order. */
173
+ tool_chain?: string[];
174
+ /** Flow definition to follow (e.g., 'developer', 'reviewer', 'designer'). */
175
+ flow?: string;
176
+ /** Target operational mode (e.g., 'build', 'review', 'fix'). */
177
+ target_mode?: string;
61
178
  /** Reconciliation report — populated by reconcile(). */
62
179
  reconciliation?: ReconciliationReport;
63
180
  /** Review evidence — populated by addReview(). */
@@ -66,6 +183,14 @@ export interface Plan {
66
183
  latestCheck?: PlanCheck;
67
184
  /** All check history. */
68
185
  checks: PlanCheck[];
186
+ /** Matched playbook info (set by orchestration layer via playbook_match). */
187
+ playbookMatch?: {
188
+ label: string;
189
+ genericId?: string;
190
+ domainId?: string;
191
+ };
192
+ /** Aggregate execution metrics — populated by reconcile() and complete(). */
193
+ executionSummary?: ExecutionSummary;
69
194
  createdAt: number;
70
195
  updatedAt: number;
71
196
  }
@@ -83,17 +208,50 @@ export declare class Planner {
83
208
  create(params: {
84
209
  objective: string;
85
210
  scope: string;
86
- decisions?: string[];
211
+ decisions?: (string | PlanDecision)[];
87
212
  tasks?: Array<{
88
213
  title: string;
89
214
  description: string;
90
215
  }>;
216
+ approach?: string;
217
+ context?: string;
218
+ success_criteria?: string[];
219
+ tool_chain?: string[];
220
+ flow?: string;
221
+ target_mode?: string;
222
+ /** Start in 'brainstorming' instead of 'draft'. Default: 'draft'. */
223
+ initialStatus?: 'brainstorming' | 'draft';
91
224
  }): Plan;
92
225
  get(planId: string): Plan | null;
93
226
  list(): Plan[];
227
+ /**
228
+ * Transition a plan to a new status using the typed FSM.
229
+ * Validates that the transition is allowed before applying it.
230
+ */
231
+ private transition;
232
+ /**
233
+ * Promote a brainstorming plan to draft status.
234
+ * Only allowed from 'brainstorming'.
235
+ */
236
+ promoteToDraft(planId: string): Plan;
94
237
  approve(planId: string): Plan;
95
238
  startExecution(planId: string): Plan;
96
239
  updateTask(planId: string, taskId: string, status: TaskStatus): Plan;
240
+ /**
241
+ * Transition plan to 'validating' state (post-execution verification).
242
+ * Only allowed from 'executing'.
243
+ */
244
+ startValidation(planId: string): Plan;
245
+ /**
246
+ * Transition plan to 'reconciling' state.
247
+ * Allowed from 'executing' or 'validating'.
248
+ */
249
+ startReconciliation(planId: string): Plan;
250
+ /**
251
+ * Complete a plan. Only allowed from 'reconciling'.
252
+ * Use startReconciliation() + reconcile() + complete() for the full lifecycle,
253
+ * or reconcile() which auto-transitions through reconciling → completed.
254
+ */
97
255
  complete(planId: string): Plan;
98
256
  getExecuting(): Plan[];
99
257
  getActive(): Plan[];
@@ -104,12 +262,18 @@ export declare class Planner {
104
262
  iterate(planId: string, changes: {
105
263
  objective?: string;
106
264
  scope?: string;
107
- decisions?: string[];
265
+ decisions?: (string | PlanDecision)[];
108
266
  addTasks?: Array<{
109
267
  title: string;
110
268
  description: string;
111
269
  }>;
112
270
  removeTasks?: string[];
271
+ approach?: string;
272
+ context?: string;
273
+ success_criteria?: string[];
274
+ tool_chain?: string[];
275
+ flow?: string;
276
+ target_mode?: string;
113
277
  }): Plan;
114
278
  /**
115
279
  * Split a plan's tasks into sub-tasks with dependency tracking.
@@ -120,14 +284,20 @@ export declare class Planner {
120
284
  title: string;
121
285
  description: string;
122
286
  dependsOn?: string[];
287
+ acceptanceCriteria?: string[];
123
288
  }>): Plan;
124
289
  /**
125
290
  * Reconcile a plan — compare what was planned vs what actually happened.
126
- * Only allowed on 'executing' or 'completed' plans.
291
+ * Uses impact-weighted drift scoring (ported from Salvador's calculateDriftScore).
292
+ *
293
+ * Transitions: executing → reconciling → completed (automatic).
294
+ * Also allowed from 'validating' and 'reconciling' states.
127
295
  */
128
296
  reconcile(planId: string, report: {
129
297
  actualOutcome: string;
130
298
  driftItems?: DriftItem[];
299
+ /** Who initiated the reconciliation. */
300
+ reconciledBy?: 'human' | 'auto';
131
301
  }): Plan;
132
302
  /**
133
303
  * Add review evidence to a plan or specific task.
@@ -146,12 +316,108 @@ export declare class Planner {
146
316
  task: PlanTask;
147
317
  unmetDependencies: PlanTask[];
148
318
  ready: boolean;
319
+ deliverableStatus?: {
320
+ count: number;
321
+ staleCount: number;
322
+ };
149
323
  };
150
324
  /**
151
- * Archive completed plans older than the given number of days.
152
- * Removes them from the active store and returns the archived plans.
325
+ * Compute aggregate execution summary from per-task metrics.
326
+ * Called from reconcile() and complete() to populate plan.executionSummary.
153
327
  */
154
- archive(olderThanDays: number): Plan[];
328
+ private computeExecutionSummary;
329
+ /**
330
+ * Submit a deliverable for a task. Auto-computes SHA-256 hash for file deliverables.
331
+ */
332
+ submitDeliverable(planId: string, taskId: string, deliverable: {
333
+ type: TaskDeliverable['type'];
334
+ path: string;
335
+ hash?: string;
336
+ }): PlanTask;
337
+ /**
338
+ * Verify all deliverables for a task.
339
+ * - file: checks existsSync + SHA-256 hash match
340
+ * - vault_entry: checks vault.get(path) non-null (requires vault instance)
341
+ * - url: skips (just records, no fetch)
342
+ */
343
+ verifyDeliverables(planId: string, taskId: string, vault?: {
344
+ get(id: string): unknown | null;
345
+ }): {
346
+ verified: boolean;
347
+ deliverables: TaskDeliverable[];
348
+ staleCount: number;
349
+ };
350
+ /**
351
+ * Submit evidence for a task acceptance criterion.
352
+ * Evidence is stored on the task and used by verifyTask() to check completeness.
353
+ */
354
+ submitEvidence(planId: string, taskId: string, evidence: {
355
+ criterion: string;
356
+ content: string;
357
+ type: TaskEvidence['type'];
358
+ }): PlanTask;
359
+ /**
360
+ * Verify a task — check that evidence exists for all acceptance criteria
361
+ * and any reviews have passed.
362
+ * Returns verification status with details.
363
+ */
364
+ verifyTask(planId: string, taskId: string): {
365
+ verified: boolean;
366
+ task: PlanTask;
367
+ missingCriteria: string[];
368
+ reviewStatus: 'approved' | 'rejected' | 'needs_changes' | 'no_reviews';
369
+ };
370
+ /**
371
+ * Verify an entire plan — check all tasks are in a final state,
372
+ * all verification-required tasks have evidence, no tasks stuck in_progress.
373
+ * Returns a validation report.
374
+ */
375
+ verifyPlan(planId: string): {
376
+ valid: boolean;
377
+ planId: string;
378
+ issues: Array<{
379
+ taskId: string;
380
+ issue: string;
381
+ }>;
382
+ summary: {
383
+ total: number;
384
+ completed: number;
385
+ skipped: number;
386
+ failed: number;
387
+ pending: number;
388
+ inProgress: number;
389
+ verified: number;
390
+ };
391
+ };
392
+ /**
393
+ * Auto-reconcile a plan — fast path for plans with minimal drift.
394
+ * Checks all tasks are in final state, generates reconciliation report automatically.
395
+ * Returns null if drift is too significant for auto-reconciliation (>2 non-completed tasks).
396
+ */
397
+ autoReconcile(planId: string): Plan | null;
398
+ /**
399
+ * Generate a review prompt for spec compliance checking.
400
+ * Used by subagent dispatch — the controller generates the prompt, a subagent executes it.
401
+ */
402
+ generateReviewSpec(planId: string, taskId: string): {
403
+ prompt: string;
404
+ task: PlanTask;
405
+ plan: Plan;
406
+ };
407
+ /**
408
+ * Generate a review prompt for code quality checking.
409
+ */
410
+ generateReviewQuality(planId: string, taskId: string): {
411
+ prompt: string;
412
+ task: PlanTask;
413
+ plan: Plan;
414
+ };
415
+ /**
416
+ * Archive completed plans — transitions them to 'archived' status.
417
+ * If olderThanDays is provided, only archives plans older than that.
418
+ * Returns the archived plans.
419
+ */
420
+ archive(olderThanDays?: number): Plan[];
155
421
  /**
156
422
  * Get statistics about all plans.
157
423
  */
@@ -163,9 +429,11 @@ export declare class Planner {
163
429
  tasksByStatus: Record<TaskStatus, number>;
164
430
  };
165
431
  /**
166
- * Grade a plan using 6-pass gap analysis with severity-weighted scoring.
432
+ * Grade a plan using gap analysis with severity-weighted scoring.
167
433
  * Ported from Salvador MCP's multi-pass grading engine.
168
434
  *
435
+ * 6 built-in passes + optional custom passes (domain-specific checks).
436
+ *
169
437
  * Scoring:
170
438
  * - Each gap has a severity (critical=30, major=15, minor=2, info=0)
171
439
  * - Deductions are per-category with optional caps
@@ -1 +1 @@
1
- {"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../../src/planning/planner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../../src/planning/planner.ts"],"names":[],"mappings":"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"}