@calliopelabs/cli 3.5.4 → 3.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 (291) hide show
  1. package/README.md +8 -0
  2. package/dist/acp.d.ts +10 -3
  3. package/dist/acp.d.ts.map +1 -1
  4. package/dist/acp.js +27 -7
  5. package/dist/acp.js.map +1 -1
  6. package/dist/bin.d.ts.map +1 -1
  7. package/dist/bin.js +28 -8
  8. package/dist/bin.js.map +1 -1
  9. package/dist/execution/authority.d.ts +4 -1
  10. package/dist/execution/authority.d.ts.map +1 -1
  11. package/dist/execution/authority.js +23 -7
  12. package/dist/execution/authority.js.map +1 -1
  13. package/dist/execution/child-grants.d.ts +2 -0
  14. package/dist/execution/child-grants.d.ts.map +1 -1
  15. package/dist/execution/child-grants.js +19 -4
  16. package/dist/execution/child-grants.js.map +1 -1
  17. package/dist/execution/delegated.d.ts +14 -0
  18. package/dist/execution/delegated.d.ts.map +1 -0
  19. package/dist/execution/delegated.js +66 -0
  20. package/dist/execution/delegated.js.map +1 -0
  21. package/dist/execution/files.js +6 -6
  22. package/dist/execution/files.js.map +1 -1
  23. package/dist/execution/guard.d.ts +5 -0
  24. package/dist/execution/guard.d.ts.map +1 -1
  25. package/dist/execution/guard.js +31 -16
  26. package/dist/execution/guard.js.map +1 -1
  27. package/dist/execution/index.d.ts +4 -0
  28. package/dist/execution/index.d.ts.map +1 -1
  29. package/dist/execution/index.js +4 -0
  30. package/dist/execution/index.js.map +1 -1
  31. package/dist/execution/ledger-cli.d.ts +2 -1
  32. package/dist/execution/ledger-cli.d.ts.map +1 -1
  33. package/dist/execution/ledger-cli.js +51 -14
  34. package/dist/execution/ledger-cli.js.map +1 -1
  35. package/dist/execution/ledger-protocol.d.ts +6 -2
  36. package/dist/execution/ledger-protocol.d.ts.map +1 -1
  37. package/dist/execution/ledger-protocol.js +110 -24
  38. package/dist/execution/ledger-protocol.js.map +1 -1
  39. package/dist/execution/ledger-server.d.ts +13 -0
  40. package/dist/execution/ledger-server.d.ts.map +1 -1
  41. package/dist/execution/ledger-server.js +57 -13
  42. package/dist/execution/ledger-server.js.map +1 -1
  43. package/dist/execution/ledger-tunnel.d.ts +50 -0
  44. package/dist/execution/ledger-tunnel.d.ts.map +1 -0
  45. package/dist/execution/ledger-tunnel.js +307 -0
  46. package/dist/execution/ledger-tunnel.js.map +1 -0
  47. package/dist/execution/ledger.d.ts +4 -0
  48. package/dist/execution/ledger.d.ts.map +1 -1
  49. package/dist/execution/ledger.js +30 -4
  50. package/dist/execution/ledger.js.map +1 -1
  51. package/dist/execution/parent-accounting.d.ts +41 -0
  52. package/dist/execution/parent-accounting.d.ts.map +1 -0
  53. package/dist/execution/parent-accounting.js +52 -0
  54. package/dist/execution/parent-accounting.js.map +1 -0
  55. package/dist/execution/parent-budget.d.ts +25 -0
  56. package/dist/execution/parent-budget.d.ts.map +1 -0
  57. package/dist/execution/parent-budget.js +102 -0
  58. package/dist/execution/parent-budget.js.map +1 -0
  59. package/dist/execution/project-spend.d.ts.map +1 -1
  60. package/dist/execution/project-spend.js +35 -5
  61. package/dist/execution/project-spend.js.map +1 -1
  62. package/dist/execution/remote-checkpoint.d.ts +15 -0
  63. package/dist/execution/remote-checkpoint.d.ts.map +1 -0
  64. package/dist/execution/remote-checkpoint.js +165 -0
  65. package/dist/execution/remote-checkpoint.js.map +1 -0
  66. package/dist/execution/remote-ledger.d.ts +12 -2
  67. package/dist/execution/remote-ledger.d.ts.map +1 -1
  68. package/dist/execution/remote-ledger.js +53 -21
  69. package/dist/execution/remote-ledger.js.map +1 -1
  70. package/dist/execution/types.d.ts +23 -5
  71. package/dist/execution/types.d.ts.map +1 -1
  72. package/dist/execution/types.js.map +1 -1
  73. package/dist/goals/supervised.js +2 -2
  74. package/dist/goals/supervised.js.map +1 -1
  75. package/dist/headless.d.ts +2 -6
  76. package/dist/headless.d.ts.map +1 -1
  77. package/dist/headless.js +17 -21
  78. package/dist/headless.js.map +1 -1
  79. package/dist/improvement/actions.d.ts +3 -4
  80. package/dist/improvement/actions.d.ts.map +1 -1
  81. package/dist/improvement/actions.js +10 -7
  82. package/dist/improvement/actions.js.map +1 -1
  83. package/dist/improvement/capabilities.d.ts +54 -0
  84. package/dist/improvement/capabilities.d.ts.map +1 -0
  85. package/dist/improvement/capabilities.js +44 -0
  86. package/dist/improvement/capabilities.js.map +1 -0
  87. package/dist/improvement/cli.d.ts +1 -1
  88. package/dist/improvement/cli.d.ts.map +1 -1
  89. package/dist/improvement/cli.js +14 -2
  90. package/dist/improvement/cli.js.map +1 -1
  91. package/dist/improvement/index.d.ts +5 -0
  92. package/dist/improvement/index.d.ts.map +1 -1
  93. package/dist/improvement/index.js +5 -0
  94. package/dist/improvement/index.js.map +1 -1
  95. package/dist/improvement/proposal-hash.d.ts +3 -0
  96. package/dist/improvement/proposal-hash.d.ts.map +1 -0
  97. package/dist/improvement/proposal-hash.js +5 -0
  98. package/dist/improvement/proposal-hash.js.map +1 -0
  99. package/dist/improvement/review-contract.d.ts +32 -0
  100. package/dist/improvement/review-contract.d.ts.map +1 -0
  101. package/dist/improvement/review-contract.js +62 -0
  102. package/dist/improvement/review-contract.js.map +1 -0
  103. package/dist/improvement/review-requests.d.ts +72 -0
  104. package/dist/improvement/review-requests.d.ts.map +1 -0
  105. package/dist/improvement/review-requests.js +63 -0
  106. package/dist/improvement/review-requests.js.map +1 -0
  107. package/dist/improvement/source-changes.d.ts +78 -0
  108. package/dist/improvement/source-changes.d.ts.map +1 -0
  109. package/dist/improvement/source-changes.js +91 -0
  110. package/dist/improvement/source-changes.js.map +1 -0
  111. package/dist/improvement/task-outcomes.d.ts +82 -0
  112. package/dist/improvement/task-outcomes.d.ts.map +1 -0
  113. package/dist/improvement/task-outcomes.js +72 -0
  114. package/dist/improvement/task-outcomes.js.map +1 -0
  115. package/dist/index.d.ts +10 -0
  116. package/dist/index.d.ts.map +1 -1
  117. package/dist/index.js +6 -0
  118. package/dist/index.js.map +1 -1
  119. package/dist/isolation/contracts.d.ts +13 -0
  120. package/dist/isolation/contracts.d.ts.map +1 -1
  121. package/dist/isolation/contracts.js +9 -1
  122. package/dist/isolation/contracts.js.map +1 -1
  123. package/dist/isolation/coordinator.d.ts.map +1 -1
  124. package/dist/isolation/coordinator.js +4 -0
  125. package/dist/isolation/coordinator.js.map +1 -1
  126. package/dist/isolation/process.d.ts.map +1 -1
  127. package/dist/isolation/process.js +3 -1
  128. package/dist/isolation/process.js.map +1 -1
  129. package/dist/isolation/worktree.d.ts +9 -1
  130. package/dist/isolation/worktree.d.ts.map +1 -1
  131. package/dist/isolation/worktree.js +8 -3
  132. package/dist/isolation/worktree.js.map +1 -1
  133. package/dist/memory.d.ts +5 -3
  134. package/dist/memory.d.ts.map +1 -1
  135. package/dist/memory.js +8 -6
  136. package/dist/memory.js.map +1 -1
  137. package/dist/migration/assessment-contract.d.ts +60 -0
  138. package/dist/migration/assessment-contract.d.ts.map +1 -0
  139. package/dist/migration/assessment-contract.js +132 -0
  140. package/dist/migration/assessment-contract.js.map +1 -0
  141. package/dist/migration/assessment-schema.d.ts +19 -0
  142. package/dist/migration/assessment-schema.d.ts.map +1 -0
  143. package/dist/migration/assessment-schema.js +43 -0
  144. package/dist/migration/assessment-schema.js.map +1 -0
  145. package/dist/migration/assessment.d.ts +159 -0
  146. package/dist/migration/assessment.d.ts.map +1 -0
  147. package/dist/migration/assessment.js +219 -0
  148. package/dist/migration/assessment.js.map +1 -0
  149. package/dist/migration/cli.d.ts +6 -0
  150. package/dist/migration/cli.d.ts.map +1 -0
  151. package/dist/migration/cli.js +101 -0
  152. package/dist/migration/cli.js.map +1 -0
  153. package/dist/migration/evidence.d.ts +27 -0
  154. package/dist/migration/evidence.d.ts.map +1 -0
  155. package/dist/migration/evidence.js +124 -0
  156. package/dist/migration/evidence.js.map +1 -0
  157. package/dist/migration/example.d.ts +33 -0
  158. package/dist/migration/example.d.ts.map +1 -0
  159. package/dist/migration/example.js +28 -0
  160. package/dist/migration/example.js.map +1 -0
  161. package/dist/migration/index.d.ts +21 -0
  162. package/dist/migration/index.d.ts.map +1 -0
  163. package/dist/migration/index.js +15 -0
  164. package/dist/migration/index.js.map +1 -0
  165. package/dist/migration/inventory.d.ts +70 -0
  166. package/dist/migration/inventory.d.ts.map +1 -0
  167. package/dist/migration/inventory.js +233 -0
  168. package/dist/migration/inventory.js.map +1 -0
  169. package/dist/migration/schema.d.ts +61 -0
  170. package/dist/migration/schema.d.ts.map +1 -0
  171. package/dist/migration/schema.js +76 -0
  172. package/dist/migration/schema.js.map +1 -0
  173. package/dist/migration/verification.d.ts +146 -0
  174. package/dist/migration/verification.d.ts.map +1 -0
  175. package/dist/migration/verification.js +260 -0
  176. package/dist/migration/verification.js.map +1 -0
  177. package/dist/orchestration/actions.d.ts +2 -0
  178. package/dist/orchestration/actions.d.ts.map +1 -1
  179. package/dist/orchestration/actions.js.map +1 -1
  180. package/dist/orchestration/artifact-host.d.ts +46 -0
  181. package/dist/orchestration/artifact-host.d.ts.map +1 -0
  182. package/dist/orchestration/artifact-host.js +64 -0
  183. package/dist/orchestration/artifact-host.js.map +1 -0
  184. package/dist/orchestration/coordinator-actions.d.ts +1 -1
  185. package/dist/orchestration/coordinator-actions.d.ts.map +1 -1
  186. package/dist/orchestration/coordinator-actions.js +5 -3
  187. package/dist/orchestration/coordinator-actions.js.map +1 -1
  188. package/dist/orchestration/coordinator-types.d.ts +23 -2
  189. package/dist/orchestration/coordinator-types.d.ts.map +1 -1
  190. package/dist/orchestration/coordinator.d.ts +5 -0
  191. package/dist/orchestration/coordinator.d.ts.map +1 -1
  192. package/dist/orchestration/coordinator.js +30 -13
  193. package/dist/orchestration/coordinator.js.map +1 -1
  194. package/dist/orchestration/execution-cli.d.ts +1 -1
  195. package/dist/orchestration/execution-cli.d.ts.map +1 -1
  196. package/dist/orchestration/execution-cli.js +29 -6
  197. package/dist/orchestration/execution-cli.js.map +1 -1
  198. package/dist/orchestration/execution-journal.d.ts.map +1 -1
  199. package/dist/orchestration/execution-journal.js +79 -6
  200. package/dist/orchestration/execution-journal.js.map +1 -1
  201. package/dist/orchestration/execution-store.d.ts +5 -1
  202. package/dist/orchestration/execution-store.d.ts.map +1 -1
  203. package/dist/orchestration/execution-store.js +66 -5
  204. package/dist/orchestration/execution-store.js.map +1 -1
  205. package/dist/orchestration/execution.d.ts.map +1 -1
  206. package/dist/orchestration/execution.js +37 -10
  207. package/dist/orchestration/execution.js.map +1 -1
  208. package/dist/orchestration/index.d.ts +6 -0
  209. package/dist/orchestration/index.d.ts.map +1 -1
  210. package/dist/orchestration/index.js +6 -0
  211. package/dist/orchestration/index.js.map +1 -1
  212. package/dist/orchestration/interruption.d.ts +10 -0
  213. package/dist/orchestration/interruption.d.ts.map +1 -0
  214. package/dist/orchestration/interruption.js +38 -0
  215. package/dist/orchestration/interruption.js.map +1 -0
  216. package/dist/orchestration/question-contract.d.ts +19 -0
  217. package/dist/orchestration/question-contract.d.ts.map +1 -0
  218. package/dist/orchestration/question-contract.js +21 -0
  219. package/dist/orchestration/question-contract.js.map +1 -0
  220. package/dist/orchestration/questions.d.ts +9 -0
  221. package/dist/orchestration/questions.d.ts.map +1 -0
  222. package/dist/orchestration/questions.js +75 -0
  223. package/dist/orchestration/questions.js.map +1 -0
  224. package/dist/orchestration/reviewed-ledger.d.ts +23 -0
  225. package/dist/orchestration/reviewed-ledger.d.ts.map +1 -0
  226. package/dist/orchestration/reviewed-ledger.js +49 -0
  227. package/dist/orchestration/reviewed-ledger.js.map +1 -0
  228. package/dist/orchestration/source-candidates.d.ts +64 -0
  229. package/dist/orchestration/source-candidates.d.ts.map +1 -0
  230. package/dist/orchestration/source-candidates.js +95 -0
  231. package/dist/orchestration/source-candidates.js.map +1 -0
  232. package/dist/orchestration/validation.js +1 -1
  233. package/dist/orchestration/validation.js.map +1 -1
  234. package/dist/runlog.js +2 -2
  235. package/dist/runlog.js.map +1 -1
  236. package/dist/runtime/permissions.d.ts.map +1 -1
  237. package/dist/runtime/permissions.js +3 -2
  238. package/dist/runtime/permissions.js.map +1 -1
  239. package/dist/runtime/turn.d.ts +2 -0
  240. package/dist/runtime/turn.d.ts.map +1 -1
  241. package/dist/runtime/turn.js +21 -7
  242. package/dist/runtime/turn.js.map +1 -1
  243. package/dist/session-management/actions.js +1 -1
  244. package/dist/session-management/actions.js.map +1 -1
  245. package/dist/sessions/execution-binding.d.ts +8 -0
  246. package/dist/sessions/execution-binding.d.ts.map +1 -0
  247. package/dist/sessions/execution-binding.js +9 -0
  248. package/dist/sessions/execution-binding.js.map +1 -0
  249. package/dist/sessions/index.d.ts +1 -0
  250. package/dist/sessions/index.d.ts.map +1 -1
  251. package/dist/sessions/index.js +1 -0
  252. package/dist/sessions/index.js.map +1 -1
  253. package/dist/source-changes/writer.d.ts +77 -0
  254. package/dist/source-changes/writer.d.ts.map +1 -0
  255. package/dist/source-changes/writer.js +189 -0
  256. package/dist/source-changes/writer.js.map +1 -0
  257. package/dist/spawning/actions.d.ts +10 -1
  258. package/dist/spawning/actions.d.ts.map +1 -1
  259. package/dist/spawning/actions.js +26 -7
  260. package/dist/spawning/actions.js.map +1 -1
  261. package/dist/spawning/cli.js +1 -1
  262. package/dist/spawning/cli.js.map +1 -1
  263. package/dist/spawning/execution.d.ts.map +1 -1
  264. package/dist/spawning/execution.js +2 -0
  265. package/dist/spawning/execution.js.map +1 -1
  266. package/dist/spawning/types.d.ts +19 -6
  267. package/dist/spawning/types.d.ts.map +1 -1
  268. package/dist/spawning/validation.d.ts +16 -0
  269. package/dist/spawning/validation.d.ts.map +1 -1
  270. package/dist/spawning/validation.js +44 -8
  271. package/dist/spawning/validation.js.map +1 -1
  272. package/dist/storage.d.ts +3 -0
  273. package/dist/storage.d.ts.map +1 -1
  274. package/dist/storage.js +6 -1
  275. package/dist/storage.js.map +1 -1
  276. package/dist/supervision/contracts.js +4 -1
  277. package/dist/supervision/contracts.js.map +1 -1
  278. package/dist/tools.d.ts +1 -0
  279. package/dist/tools.d.ts.map +1 -1
  280. package/dist/tools.js +5 -0
  281. package/dist/tools.js.map +1 -1
  282. package/docs/README.md +66 -0
  283. package/docs/delegation-ledger.md +329 -0
  284. package/docs/migration-assessment.md +113 -0
  285. package/docs/migration-example-plan.json +88 -0
  286. package/docs/migration-example-report.json +511 -0
  287. package/docs/migration-inventory.md +63 -0
  288. package/docs/migration-playbook.md +152 -0
  289. package/docs/migration-verification.md +177 -0
  290. package/docs/releases/3.6.0.md +43 -0
  291. package/package.json +7 -2
@@ -0,0 +1,54 @@
1
+ /** Versioned description of implemented native mechanisms, never a permission grant. */
2
+ export declare function improvementCapabilities(): {
3
+ readonly version: 2;
4
+ readonly kind: 'improvement.capabilities';
5
+ readonly owner: 'calliope-cli';
6
+ readonly mechanisms: {
7
+ readonly recursiveTaskStrategy: true;
8
+ readonly crossRunLearnedStrategy: false;
9
+ readonly modelTraining: false;
10
+ readonly externalFeedbackImport: false;
11
+ };
12
+ readonly historyVersions: readonly [1, 2, 3];
13
+ readonly hostAdmission: {
14
+ readonly version: 1;
15
+ readonly option: 'expectedExecutionRevision';
16
+ readonly operations: readonly ['propose', 'run'];
17
+ readonly semantics: 'exact-revision-before-start';
18
+ readonly controllerReset: 'own-committed-event';
19
+ };
20
+ readonly operations: {
21
+ readonly history: {
22
+ readonly mode: 'read-only';
23
+ readonly mayCallModel: false;
24
+ };
25
+ readonly propose: {
26
+ readonly mode: 'reviewed-mutation';
27
+ readonly mayCallModel: true;
28
+ };
29
+ readonly run: {
30
+ readonly mode: 'reviewed-mutation';
31
+ readonly mayCallModel: true;
32
+ };
33
+ readonly rollback: {
34
+ readonly mode: 'reviewed-mutation';
35
+ readonly mayCallModel: false;
36
+ };
37
+ };
38
+ readonly scope: {
39
+ readonly owner: 'native-project-run';
40
+ readonly requiredPlanVersion: 4;
41
+ readonly activation: 'exact-proposal-hash-and-native-policy';
42
+ readonly inheritedLimits: readonly ['scope', 'budget', 'deadline', 'depth', 'count'];
43
+ readonly rollback: 'strategy-withdrawal-no-source-inverse-or-refund';
44
+ };
45
+ readonly evidence: {
46
+ readonly authority: 'native-execution-and-request-journals';
47
+ readonly hypotheses: 'proposed-not-verified-facts';
48
+ readonly acceptance: 'source-attributed-native-checks-or-human-acceptance';
49
+ readonly missingMetrics: 'null-not-zero';
50
+ readonly cost: 'comparable-only-with-settled-bound-request-provenance';
51
+ };
52
+ readonly notice: 'Capabilities describe this CLI implementation. Inspect the exact project/run and current policy before acting. No feedback is imported, no project is opened, and no authority or budget is granted by this query.';
53
+ };
54
+ //# sourceMappingURL=capabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/improvement/capabilities.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,wBAAgB,uBAAuB;aAEnC,OAAO,EAAE,CAAC;aACV,IAAI,EAAE,0BAA0B;aAChC,KAAK,EAAE,cAAc;aACrB,UAAU;iBACR,qBAAqB;iBACrB,uBAAuB;iBACvB,aAAa;iBACb,sBAAsB;;aAExB,eAAe,YAAG,CAAC,EAAE,CAAC,EAAE,CAAC;aACzB,aAAa;iBACX,OAAO,EAAE,CAAC;iBACV,MAAM,EAAE,2BAA2B;iBACnC,UAAU,YAAG,SAAS,EAAE,KAAK;iBAC7B,SAAS,EAAE,6BAA6B;iBACxC,eAAe,EAAE,qBAAqB;;aAExC,UAAU;iBACR,OAAO;qBAAG,IAAI,EAAE,WAAW;qBAAE,YAAY;;iBACzC,OAAO;qBAAG,IAAI,EAAE,mBAAmB;qBAAE,YAAY;;iBACjD,GAAG;qBAAG,IAAI,EAAE,mBAAmB;qBAAE,YAAY;;iBAC7C,QAAQ;qBAAG,IAAI,EAAE,mBAAmB;qBAAE,YAAY;;;aAEpD,KAAK;iBACH,KAAK,EAAE,oBAAoB;iBAC3B,mBAAmB,EAAE,CAAC;iBACtB,UAAU,EAAE,uCAAuC;iBACnD,eAAe,YAAG,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO;iBACjE,QAAQ,EAAE,iDAAiD;;aAE7D,QAAQ;iBACN,SAAS,EAAE,uCAAuC;iBAClD,UAAU,EAAE,6BAA6B;iBACzC,UAAU,EAAE,qDAAqD;iBACjE,cAAc,EAAE,eAAe;iBAC/B,IAAI,EAAE,uDAAuD;;aAE/D,MAAM,EAAE,oNAAoN;EAE/N"}
@@ -0,0 +1,44 @@
1
+ /** Versioned description of implemented native mechanisms, never a permission grant. */
2
+ export function improvementCapabilities() {
3
+ return {
4
+ version: 2,
5
+ kind: 'improvement.capabilities',
6
+ owner: 'calliope-cli',
7
+ mechanisms: {
8
+ recursiveTaskStrategy: true,
9
+ crossRunLearnedStrategy: false,
10
+ modelTraining: false,
11
+ externalFeedbackImport: false,
12
+ },
13
+ historyVersions: [1, 2, 3],
14
+ hostAdmission: {
15
+ version: 1,
16
+ option: 'expectedExecutionRevision',
17
+ operations: ['propose', 'run'],
18
+ semantics: 'exact-revision-before-start',
19
+ controllerReset: 'own-committed-event',
20
+ },
21
+ operations: {
22
+ history: { mode: 'read-only', mayCallModel: false },
23
+ propose: { mode: 'reviewed-mutation', mayCallModel: true },
24
+ run: { mode: 'reviewed-mutation', mayCallModel: true },
25
+ rollback: { mode: 'reviewed-mutation', mayCallModel: false },
26
+ },
27
+ scope: {
28
+ owner: 'native-project-run',
29
+ requiredPlanVersion: 4,
30
+ activation: 'exact-proposal-hash-and-native-policy',
31
+ inheritedLimits: ['scope', 'budget', 'deadline', 'depth', 'count'],
32
+ rollback: 'strategy-withdrawal-no-source-inverse-or-refund',
33
+ },
34
+ evidence: {
35
+ authority: 'native-execution-and-request-journals',
36
+ hypotheses: 'proposed-not-verified-facts',
37
+ acceptance: 'source-attributed-native-checks-or-human-acceptance',
38
+ missingMetrics: 'null-not-zero',
39
+ cost: 'comparable-only-with-settled-bound-request-provenance',
40
+ },
41
+ notice: 'Capabilities describe this CLI implementation. Inspect the exact project/run and current policy before acting. No feedback is imported, no project is opened, and no authority or budget is granted by this query.',
42
+ };
43
+ }
44
+ //# sourceMappingURL=capabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/improvement/capabilities.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,MAAM,UAAU,uBAAuB;IACrC,OAAO;QACL,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE,cAAc;QACrB,UAAU,EAAE;YACV,qBAAqB,EAAE,IAAI;YAC3B,uBAAuB,EAAE,KAAK;YAC9B,aAAa,EAAE,KAAK;YACpB,sBAAsB,EAAE,KAAK;SAC9B;QACD,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1B,aAAa,EAAE;YACb,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,2BAA2B;YACnC,UAAU,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;YAC9B,SAAS,EAAE,6BAA6B;YACxC,eAAe,EAAE,qBAAqB;SACvC;QACD,UAAU,EAAE;YACV,OAAO,EAAE,EAAC,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAC;YACjD,OAAO,EAAE,EAAC,IAAI,EAAE,mBAAmB,EAAE,YAAY,EAAE,IAAI,EAAC;YACxD,GAAG,EAAE,EAAC,IAAI,EAAE,mBAAmB,EAAE,YAAY,EAAE,IAAI,EAAC;YACpD,QAAQ,EAAE,EAAC,IAAI,EAAE,mBAAmB,EAAE,YAAY,EAAE,KAAK,EAAC;SAC3D;QACD,KAAK,EAAE;YACL,KAAK,EAAE,oBAAoB;YAC3B,mBAAmB,EAAE,CAAC;YACtB,UAAU,EAAE,uCAAuC;YACnD,eAAe,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC;YAClE,QAAQ,EAAE,iDAAiD;SAC5D;QACD,QAAQ,EAAE;YACR,SAAS,EAAE,uCAAuC;YAClD,UAAU,EAAE,6BAA6B;YACzC,UAAU,EAAE,qDAAqD;YACjE,cAAc,EAAE,eAAe;YAC/B,IAAI,EAAE,uDAAuD;SAC9D;QACD,MAAM,EAAE,oNAAoN;KACpN,CAAC;AACb,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { CoordinatorOptions } from '../orchestration/coordinator.js';
2
2
  import type { ImprovementCycle } from './types.js';
3
- export declare const IMPROVEMENT_USAGE = "calliope improve [history|propose|run <cycle-id> --approve <hash>|rollback <cycle-id>] [--run <run-id>] [--allow-mutations] [--json]";
3
+ export declare const IMPROVEMENT_USAGE = "calliope improve [capabilities|history|propose|run <cycle-id> --approve <hash>|rollback <cycle-id>] [--run <run-id>] [--allow-mutations] [--json]";
4
4
  export declare function improvementLines(cycles: ImprovementCycle[]): string[];
5
5
  export declare function runImprovementCommand(args: string[], options?: CoordinatorOptions & {
6
6
  cwd?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/improvement/cli.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AAExE,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,YAAY,CAAC;AAEjD,eAAO,MAAM,iBAAiB,yIAAuI,CAAC;AACtK,wBAAgB,gBAAgB,CAAC,MAAM,EAAC,gBAAgB,EAAE,GAAE,MAAM,EAAE,CAGnE;AACD,wBAAsB,qBAAqB,CAAC,IAAI,EAAC,MAAM,EAAE,EAAC,OAAO,GAAC,kBAAkB,GAAC;IAAC,GAAG,CAAC,EAAC,MAAM,CAAC;IAAA,KAAK,CAAC,EAAC,CAAC,IAAI,EAAC,MAAM,KAAG,IAAI,CAAA;CAAI,GAAE,OAAO,CAAC,MAAM,CAAC,CAyBhJ"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/improvement/cli.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AAGxE,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,YAAY,CAAC;AAEjD,eAAO,MAAM,iBAAiB,sJAAoJ,CAAC;AACnL,wBAAgB,gBAAgB,CAAC,MAAM,EAAC,gBAAgB,EAAE,GAAE,MAAM,EAAE,CAGnE;AACD,wBAAsB,qBAAqB,CAAC,IAAI,EAAC,MAAM,EAAE,EAAC,OAAO,GAAC,kBAAkB,GAAC;IAAC,GAAG,CAAC,EAAC,MAAM,CAAC;IAAA,KAAK,CAAC,EAAC,CAAC,IAAI,EAAC,MAAM,KAAG,IAAI,CAAA;CAAI,GAAE,OAAO,CAAC,MAAM,CAAC,CAiChJ"}
@@ -5,7 +5,8 @@ import { SessionPolicyError } from '../session-management/index.js';
5
5
  import { ExecutionLimitError } from '../execution/index.js';
6
6
  import { OrchestrationError } from '../orchestration/types.js';
7
7
  import { inspectImprovements, proposeImprovement, runImprovement, withdrawImprovement } from './actions.js';
8
- export const IMPROVEMENT_USAGE = 'calliope improve [history|propose|run <cycle-id> --approve <hash>|rollback <cycle-id>] [--run <run-id>] [--allow-mutations] [--json]';
8
+ import { improvementCapabilities } from './capabilities.js';
9
+ export const IMPROVEMENT_USAGE = 'calliope improve [capabilities|history|propose|run <cycle-id> --approve <hash>|rollback <cycle-id>] [--run <run-id>] [--allow-mutations] [--json]';
9
10
  export function improvementLines(cycles) {
10
11
  return cycles.slice(-20).flatMap(c => [`${c.id} · ${c.principle} · ${c.proposedChange.action} · ${c.status}${c.parentCycleId ? ' · parent ' + c.parentCycleId : ''}`,
11
12
  ...c.metrics.filter(m => m.comparable).map(m => ` ${m.name}: ${m.before} → ${m.after} ${m.unit}; observed, not a causal guarantee`)]);
@@ -20,8 +21,19 @@ export async function runImprovementCommand(args, options = {}) {
20
21
  const { values, positionals } = parseArgs({ args, allowPositionals: true, options: { run: { type: 'string' }, approve: { type: 'string' }, json: { type: 'boolean' }, 'allow-mutations': { type: 'boolean' } } });
21
22
  json = !!values.json;
22
23
  action = positionals[0] ?? 'history';
23
- if (!['history', 'propose', 'run', 'rollback'].includes(action) || positionals.length > (['run', 'rollback'].includes(action) ? 2 : 1) || ['run', 'rollback'].includes(action) && !positionals[1] || action === 'run' && !values.approve || action !== 'run' && values.approve)
24
+ if (!['capabilities', 'history', 'propose', 'run', 'rollback'].includes(action) || positionals.length > (['run', 'rollback'].includes(action) ? 2 : 1) || ['run', 'rollback'].includes(action) && !positionals[1] || action === 'run' && !values.approve || action !== 'run' && values.approve)
24
25
  throw new OrchestrationError('invalid', IMPROVEMENT_USAGE);
26
+ if (action === 'capabilities') {
27
+ if (Object.keys(values).some(key => key !== 'json'))
28
+ throw new OrchestrationError('invalid', IMPROVEMENT_USAGE);
29
+ options.signal?.throwIfAborted();
30
+ const data = improvementCapabilities();
31
+ if (json)
32
+ emit({ version: 1, type: 'improvement', action, localOnly: true, data });
33
+ else
34
+ write('Native improvement capabilities (contract 1)\nSupported: recursive task-strategy history, proposal, reviewed run and strategy withdrawal.\nUnavailable: external feedback import, cross-run learned strategy selection and model training.\n' + data.notice + '\n');
35
+ return 0;
36
+ }
25
37
  const opts = { ...options, ...(values['allow-mutations'] ? { approve: async () => 'allow' } : {}), confirmation: values['allow-mutations'] ? 'none' : options.confirmation ?? 'mutating', onEvent: event => { options.onEvent?.(event); if (json)
26
38
  emit({ version: 1, type: 'improvement.event', runId: event.runId, event }); } };
27
39
  let data, exitCode = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/improvement/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/improvement/cli.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,9 @@ export * from './projection.js';
4
4
  export * from './actions.js';
5
5
  export * from './cli.js';
6
6
  export * from './feedback.js';
7
+ export * from './capabilities.js';
8
+ export * from './review-contract.js';
9
+ export * from './review-requests.js';
10
+ export * from './source-changes.js';
11
+ export * from './task-outcomes.js';
7
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/improvement/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/improvement/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
@@ -4,4 +4,9 @@ export * from './projection.js';
4
4
  export * from './actions.js';
5
5
  export * from './cli.js';
6
6
  export * from './feedback.js';
7
+ export * from './capabilities.js';
8
+ export * from './review-contract.js';
9
+ export * from './review-requests.js';
10
+ export * from './source-changes.js';
11
+ export * from './task-outcomes.js';
7
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/improvement/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/improvement/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ImprovementCycle } from './types.js';
2
+ export declare function improvementProposalHash(cycle: ImprovementCycle): string;
3
+ //# sourceMappingURL=proposal-hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proposal-hash.d.ts","sourceRoot":"","sources":["../../src/improvement/proposal-hash.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,YAAY,CAAC;AAEjD,wBAAgB,uBAAuB,CAAC,KAAK,EAAC,gBAAgB,GAAE,MAAM,CAErE"}
@@ -0,0 +1,5 @@
1
+ import { canonicalJson, digest } from '../approvals/index.js';
2
+ export function improvementProposalHash(cycle) {
3
+ return digest(canonicalJson({ version: 1, runId: cycle.runId, manifestHash: cycle.source.manifestHash, decision: cycle.source.decision, proposal: cycle.proposedChange, deadline: cycle.budget.deadline }));
4
+ }
5
+ //# sourceMappingURL=proposal-hash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proposal-hash.js","sourceRoot":"","sources":["../../src/improvement/proposal-hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAG3D,MAAM,UAAU,uBAAuB,CAAC,KAAsB;IAC5D,OAAO,MAAM,CAAC,aAAa,CAAC,EAAC,OAAO,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,CAAC,KAAK,EAAC,YAAY,EAAC,KAAK,CAAC,MAAM,CAAC,YAAY,EAAC,QAAQ,EAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAC,QAAQ,EAAC,KAAK,CAAC,cAAc,EAAC,QAAQ,EAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAC,CAAC,CAAC,CAAC;AACjM,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { type RunManifest } from '../orchestration/types.js';
2
+ import type { ExecutionEvent, ExecutionHeader, ExecutionProjection, ExecutionInspection } from '../orchestration/coordinator-types.js';
3
+ /** Untrusted request data. It never contains a human approval or execution grant. */
4
+ export interface ImprovementReviewRequest {
5
+ version: 1;
6
+ action: 'propose' | 'run' | 'rollback';
7
+ executionRevision: string;
8
+ cycleId: string | null;
9
+ proposalHash: string | null;
10
+ reason: string;
11
+ }
12
+ export declare function validateImprovementReviewRequest(value: unknown): asserts value is ImprovementReviewRequest;
13
+ export declare function validateImprovementReviewEvent(event: ExecutionEvent, manifest: RunManifest, header: ExecutionHeader, state: ExecutionProjection, prior: ExecutionEvent[]): void;
14
+ export declare function projectImprovementReviews(execution: ExecutionInspection, now?: number): {
15
+ version: 1;
16
+ kind: 'improvement.review-requests';
17
+ runId: string;
18
+ executionRevision: string;
19
+ requests: {
20
+ id: string;
21
+ hash: string;
22
+ at: string;
23
+ request: ImprovementReviewRequest;
24
+ status: string;
25
+ dismissal: {
26
+ id: string;
27
+ hash: string;
28
+ at: string;
29
+ } | null;
30
+ }[];
31
+ };
32
+ //# sourceMappingURL=review-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-contract.d.ts","sourceRoot":"","sources":["../../src/improvement/review-contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,KAAK,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAC9E,OAAO,KAAK,EAAC,cAAc,EAAC,eAAe,EAAC,mBAAmB,EAAC,mBAAmB,EAAC,MAAM,uCAAuC,CAAC;AAIlI,qFAAqF;AACrF,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAC,CAAC,CAAC;IAAA,MAAM,EAAC,SAAS,GAAC,KAAK,GAAC,UAAU,CAAC;IAAA,iBAAiB,EAAC,MAAM,CAAC;IACrE,OAAO,EAAC,MAAM,GAAC,IAAI,CAAC;IAAA,YAAY,EAAC,MAAM,GAAC,IAAI,CAAC;IAAA,MAAM,EAAC,MAAM,CAAC;CAC5D;AACD,wBAAgB,gCAAgC,CAAC,KAAK,EAAC,OAAO,GAAE,OAAO,CAAC,KAAK,IAAI,wBAAwB,CAMxG;AACD,wBAAgB,8BAA8B,CAAC,KAAK,EAAC,cAAc,EAAC,QAAQ,EAAC,WAAW,EAAC,MAAM,EAAC,eAAe,EAAC,KAAK,EAAC,mBAAmB,EAAC,KAAK,EAAC,cAAc,EAAE,GAAE,IAAI,CAwBrK;AACD,wBAAgB,yBAAyB,CAAC,SAAS,EAAC,mBAAmB,EAAC,GAAG,SAAW;IAC5E,OAAO,EAAC,CAAC;IAAU,IAAI,EAAC,6BAA6B;IAAU,KAAK;IAAuB,iBAAiB;IAClH,QAAQ;;;;;;;;;;;;EAOX"}
@@ -0,0 +1,62 @@
1
+ import { hex, shape, text, uuid, fail } from '../orchestration/validation.js';
2
+ import { OrchestrationError } from '../orchestration/types.js';
3
+ import { projectImprovementHistory } from './projection.js';
4
+ import { improvementProposalHash } from './proposal-hash.js';
5
+ export function validateImprovementReviewRequest(value) {
6
+ shape(value, ['version', 'action', 'executionRevision', 'cycleId', 'proposalHash', 'reason']);
7
+ if (value.version !== 1 || !['propose', 'run', 'rollback'].includes(String(value.action)) || !hex(value.executionRevision))
8
+ fail('Invalid improvement review request.');
9
+ text(value.reason, 1024);
10
+ if (/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/.test(value.reason))
11
+ fail('Invalid review request text.');
12
+ if (value.action === 'propose' ? value.cycleId !== null || value.proposalHash !== null : !uuid(value.cycleId) || !hex(value.proposalHash))
13
+ fail('Review request requires an exact proposal identity.');
14
+ }
15
+ export function validateImprovementReviewEvent(event, manifest, header, state, prior) {
16
+ const c = event.change;
17
+ function conflict(message) { throw new OrchestrationError('conflict', message); }
18
+ if (state.ownerId || !state.supervision)
19
+ conflict('Improvement review requests require an inactive supervised run.');
20
+ if (c.type === 'improvement_review_dismissed') {
21
+ const last = prior.at(-1);
22
+ if (c.executionRevision !== state.revision || last?.id !== c.requestId || last.change.type !== 'improvement_review_requested')
23
+ conflict('Review request is no longer pending.');
24
+ return;
25
+ }
26
+ if (c.type !== 'improvement_review_requested')
27
+ fail('Invalid improvement review event.');
28
+ const request = c.request;
29
+ if (request.executionRevision !== state.revision || event.previous !== state.revision)
30
+ conflict('Review request revision changed.');
31
+ if (prior.at(-1)?.change.type === 'improvement_review_requested')
32
+ conflict('Resolve the pending review request before requesting another.');
33
+ if (prior.filter(e => e.change.type === 'improvement_review_requested').length >= 64)
34
+ conflict('Review request retention reached; preserve the run.');
35
+ const context = { ...manifest, plan: state.graph?.plan ?? manifest.plan };
36
+ const history = projectImprovementHistory(manifest, { header, events: prior, state }, context);
37
+ if (request.action === 'propose') {
38
+ if (Date.parse(event.at) >= state.deadline || state.status === 'completed' || state.supervision.review || state.supervision.rounds >= context.plan.supervision.maxRounds || !prior.some(e => e.change.type === 'task_finished'))
39
+ conflict('A new improvement proposal is unavailable.');
40
+ }
41
+ else {
42
+ const cycle = history.cycles.find(c => c.id === request.cycleId);
43
+ if (!cycle || cycle.withdrawal || improvementProposalHash(cycle) !== request.proposalHash)
44
+ conflict('Improvement proposal identity changed or was withdrawn.');
45
+ if (request.action === 'run' && (Date.parse(event.at) >= state.deadline || cycle.status !== 'proposed' || state.supervision.decisionId !== cycle.id))
46
+ conflict('Select the current unapplied improvement.');
47
+ if (request.action === 'rollback' && state.supervision.decisionId && state.supervision.decisionId !== cycle.id)
48
+ conflict('Resolve the current decision before requesting withdrawal.');
49
+ }
50
+ }
51
+ export function projectImprovementReviews(execution, now = Date.now()) {
52
+ return { version: 1, kind: 'improvement.review-requests', runId: execution.state.runId, executionRevision: execution.state.revision,
53
+ requests: execution.events.flatMap(event => {
54
+ if (event.change.type !== 'improvement_review_requested')
55
+ return [];
56
+ const dismissed = execution.events.find(e => e.change.type === 'improvement_review_dismissed' && e.change.requestId === event.id);
57
+ const status = dismissed ? 'dismissed' : event.hash !== execution.state.revision ? 'stale' : event.change.request.action !== 'rollback' && now >= execution.state.deadline ? 'expired' : 'pending';
58
+ return [{ id: event.id, hash: event.hash, at: event.at, request: structuredClone(event.change.request), status,
59
+ dismissal: dismissed ? { id: dismissed.id, hash: dismissed.hash, at: dismissed.at } : null }];
60
+ }) };
61
+ }
62
+ //# sourceMappingURL=review-contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-contract.js","sourceRoot":"","sources":["../../src/improvement/review-contract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ import type { CoordinatorOptions } from '../orchestration/coordinator.js';
2
+ import { type ImprovementReviewRequest } from './review-contract.js';
3
+ /** Separately negotiated metadata API; not an extension of the execution capability contract. */
4
+ export declare function improvementReviewCapabilities(): {
5
+ readonly version: 1;
6
+ readonly kind: 'improvement.review-capabilities';
7
+ readonly owner: 'calliope-cli';
8
+ readonly operations: readonly ['request', 'inspect', 'dismiss'];
9
+ readonly actions: readonly ['propose', 'run', 'rollback'];
10
+ readonly authority: 'request-only-no-execution';
11
+ readonly storage: 'native-execution-journal';
12
+ readonly maxRequests: 64;
13
+ };
14
+ export declare function inspectImprovementReviews(cwd: string, runId: string | undefined, options?: CoordinatorOptions): Promise<{
15
+ version: 1;
16
+ kind: 'improvement.review-requests';
17
+ runId: string;
18
+ executionRevision: string;
19
+ requests: {
20
+ id: string;
21
+ hash: string;
22
+ at: string;
23
+ request: ImprovementReviewRequest;
24
+ status: string;
25
+ dismissal: {
26
+ id: string;
27
+ hash: string;
28
+ at: string;
29
+ } | null;
30
+ }[];
31
+ }>;
32
+ export declare function requestImprovementReview(cwd: string, runId: string | undefined, request: ImprovementReviewRequest, options?: CoordinatorOptions): Promise<{
33
+ requestId: string;
34
+ existing: boolean;
35
+ reviews: {
36
+ version: 1;
37
+ kind: 'improvement.review-requests';
38
+ runId: string;
39
+ executionRevision: string;
40
+ requests: {
41
+ id: string;
42
+ hash: string;
43
+ at: string;
44
+ request: ImprovementReviewRequest;
45
+ status: string;
46
+ dismissal: {
47
+ id: string;
48
+ hash: string;
49
+ at: string;
50
+ } | null;
51
+ }[];
52
+ };
53
+ }>;
54
+ export declare function dismissImprovementReview(cwd: string, runId: string | undefined, requestId: string, executionRevision: string, options?: CoordinatorOptions): Promise<{
55
+ version: 1;
56
+ kind: 'improvement.review-requests';
57
+ runId: string;
58
+ executionRevision: string;
59
+ requests: {
60
+ id: string;
61
+ hash: string;
62
+ at: string;
63
+ request: ImprovementReviewRequest;
64
+ status: string;
65
+ dismissal: {
66
+ id: string;
67
+ hash: string;
68
+ at: string;
69
+ } | null;
70
+ }[];
71
+ }>;
72
+ //# sourceMappingURL=review-requests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-requests.d.ts","sourceRoot":"","sources":["../../src/improvement/review-requests.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AAExE,OAAO,EAA4D,KAAK,wBAAwB,EAAC,MAAM,sBAAsB,CAAC;AAE9H,iGAAiG;AACjG,wBAAgB,6BAA6B;aACnC,OAAO,EAAC,CAAC;aAAC,IAAI,EAAC,iCAAiC;aAAC,KAAK,EAAC,cAAc;aAAC,UAAU,YAAE,SAAS,EAAC,SAAS,EAAC,SAAS;aACrH,OAAO,YAAE,SAAS,EAAC,KAAK,EAAC,UAAU;aAAE,SAAS,EAAC,2BAA2B;aAAC,OAAO,EAAC,0BAA0B;aAAC,WAAW,EAAC,EAAE;EAC/H;AACD,wBAAsB,yBAAyB,CAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,GAAC,SAAS,EAAC,OAAO,GAAC,kBAAqB;;;;;;;;;;;;;;;;;GAG9G;AACD,wBAAsB,wBAAwB,CAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,GAAC,SAAS,EAAC,OAAO,EAAC,wBAAwB,EAAC,OAAO,GAAC,kBAAqB;;;;;;;;;;;;;;;;;;;;;GAiB9I;AACD,wBAAsB,wBAAwB,CAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,GAAC,SAAS,EAAC,SAAS,EAAC,MAAM,EAAC,iBAAiB,EAAC,MAAM,EAAC,OAAO,GAAC,kBAAqB;;;;;;;;;;;;;;;;;GAavJ"}
@@ -0,0 +1,63 @@
1
+ import { canonicalJson } from '../approvals/index.js';
2
+ import { authorizeSessionAction } from '../session-management/index.js';
3
+ import { OrchestrationError } from '../orchestration/types.js';
4
+ import { uuid, hex } from '../orchestration/validation.js';
5
+ import { inspectImprovements } from './actions.js';
6
+ import { projectImprovementReviews, validateImprovementReviewRequest } from './review-contract.js';
7
+ /** Separately negotiated metadata API; not an extension of the execution capability contract. */
8
+ export function improvementReviewCapabilities() {
9
+ return { version: 1, kind: 'improvement.review-capabilities', owner: 'calliope-cli', operations: ['request', 'inspect', 'dismiss'],
10
+ actions: ['propose', 'run', 'rollback'], authority: 'request-only-no-execution', storage: 'native-execution-journal', maxRequests: 64 };
11
+ }
12
+ export async function inspectImprovementReviews(cwd, runId, options = {}) {
13
+ const current = await inspectImprovements(cwd, runId, options);
14
+ return projectImprovementReviews(current.execution);
15
+ }
16
+ export async function requestImprovementReview(cwd, runId, request, options = {}) {
17
+ validateImprovementReviewRequest(request);
18
+ request = structuredClone(request);
19
+ const current = await inspectImprovements(cwd, runId, options), store = current.store;
20
+ if (current.owner?.alive || current.execution.state.ownerId)
21
+ throw new OrchestrationError('conflict', 'Stop or recover the active coordinator before requesting review.');
22
+ const duplicate = () => { const last = store.read().events.at(-1); return last?.change.type === 'improvement_review_requested' && canonicalJson(last.change.request) === canonicalJson(request) ? last : null; };
23
+ if (!duplicate())
24
+ store.assertRevision(request.executionRevision);
25
+ await authorizeSessionAction(cwd, 'orchestration_improvement_review_request', { path: cwd, runId: current.view.run.id, request, scope: 'record untrusted review request only; no model calls or execution authority' }, { ...options, confirmation: options.confirmation ?? 'mutating' });
26
+ const lease = store.acquire();
27
+ try {
28
+ lease.check();
29
+ const prior = store.read();
30
+ store.assertApproval(prior.header);
31
+ if (prior.state.ownerId)
32
+ throw new OrchestrationError('conflict', 'Execution became active during review request.');
33
+ const existing = duplicate();
34
+ if (existing)
35
+ return { requestId: existing.id, existing: true, reviews: projectImprovementReviews(prior) };
36
+ store.assertRevision(request.executionRevision);
37
+ const event = await store.append({ type: 'improvement_review_requested', request }, options.signal, undefined, () => { lease.check(); store.assertApproval(prior.header); store.assertRevision(request.executionRevision); });
38
+ return { requestId: event.id, existing: false, reviews: projectImprovementReviews(store.read()) };
39
+ }
40
+ finally {
41
+ lease.release();
42
+ }
43
+ }
44
+ export async function dismissImprovementReview(cwd, runId, requestId, executionRevision, options = {}) {
45
+ if (!uuid(requestId) || !hex(executionRevision))
46
+ throw new OrchestrationError('invalid', 'Review dismissal requires its exact request and revision.');
47
+ const current = await inspectImprovements(cwd, runId, options), store = current.store;
48
+ store.assertRevision(executionRevision);
49
+ const last = current.execution.events.at(-1);
50
+ if (current.owner?.alive || current.execution.state.ownerId || last?.id !== requestId || last.change.type !== 'improvement_review_requested')
51
+ throw new OrchestrationError('conflict', 'Review request is no longer pending.');
52
+ await authorizeSessionAction(cwd, 'orchestration_improvement_review_dismiss', { path: cwd, runId: current.view.run.id, requestId, executionRevision, scope: 'dismiss request only; retain the strategy and execution evidence' }, { ...options, confirmation: options.confirmation ?? 'mutating' });
53
+ const lease = store.acquire();
54
+ try {
55
+ const before = current.execution;
56
+ await store.append({ type: 'improvement_review_dismissed', requestId, executionRevision }, options.signal, undefined, () => { lease.check(); store.assertApproval(before.header); store.assertRevision(executionRevision); });
57
+ return projectImprovementReviews(store.read());
58
+ }
59
+ finally {
60
+ lease.release();
61
+ }
62
+ }
63
+ //# sourceMappingURL=review-requests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-requests.js","sourceRoot":"","sources":["../../src/improvement/review-requests.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ import type { RunActionOptions } from '../orchestration/actions.js';
2
+ export interface SourceChangeSelection {
3
+ runId: string;
4
+ cycleId: string;
5
+ executionRevision: string;
6
+ proposalHash: string;
7
+ taskId: string;
8
+ artifactId: string;
9
+ artifactHash: string;
10
+ }
11
+ export interface SourceChangeReview {
12
+ version: 1;
13
+ kind: 'source-change-review';
14
+ writer: 'git';
15
+ project: {
16
+ root: string;
17
+ key: string;
18
+ };
19
+ source: SourceChangeSelection;
20
+ manifestHash: string;
21
+ sourceHash: string;
22
+ baseCommit: string;
23
+ author: {
24
+ name: string;
25
+ email: string;
26
+ };
27
+ paths: string[];
28
+ patchBytes: number;
29
+ }
30
+ export declare function sourceChangeCapabilities(): {
31
+ readonly version: 1;
32
+ readonly owner: 'calliope-cli';
33
+ readonly writer: 'git';
34
+ readonly operations: readonly ['preview', 'propose', 'inspect', 'list'];
35
+ readonly semantics: 'verified-patch-to-local-review-branch';
36
+ readonly installation: false;
37
+ readonly merge: false;
38
+ readonly push: false;
39
+ readonly mayCallModel: false;
40
+ };
41
+ /** Preview reads verified evidence and Git metadata; it creates no Git object or ref. */
42
+ export declare function previewSourceChange(cwd: string, source: SourceChangeSelection, options?: RunActionOptions): Promise<{
43
+ review: SourceChangeReview;
44
+ hash: string;
45
+ branch: string;
46
+ patch: string;
47
+ }>;
48
+ export declare const proposeSourceChange: (cwd: string, source: SourceChangeSelection, reviewedHash: string, options?: RunActionOptions) => Promise<{
49
+ version: 1;
50
+ status: "prepared" | "proposed";
51
+ hash: string;
52
+ branch: string;
53
+ review: SourceChangeReview;
54
+ createdAt: string;
55
+ commit: string | null;
56
+ tree: string | null;
57
+ }>;
58
+ export declare const inspectSourceChange: (cwd: string, runId: string, hash: string, options?: RunActionOptions) => Promise<{
59
+ version: 1;
60
+ status: "prepared" | "proposed";
61
+ hash: string;
62
+ branch: string;
63
+ review: SourceChangeReview;
64
+ createdAt: string;
65
+ commit: string | null;
66
+ tree: string | null;
67
+ }>;
68
+ export declare const listSourceChanges: (cwd: string, runId: string, options?: RunActionOptions) => Promise<{
69
+ version: 1;
70
+ status: "prepared" | "proposed";
71
+ hash: string;
72
+ branch: string;
73
+ review: SourceChangeReview;
74
+ createdAt: string;
75
+ commit: string | null;
76
+ tree: string | null;
77
+ }[]>;
78
+ //# sourceMappingURL=source-changes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-changes.d.ts","sourceRoot":"","sources":["../../src/improvement/source-changes.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAIlE,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAC,MAAM,CAAC;IAAA,OAAO,EAAC,MAAM,CAAC;IAAA,iBAAiB,EAAC,MAAM,CAAC;IAAA,YAAY,EAAC,MAAM,CAAC;IACzE,MAAM,EAAC,MAAM,CAAC;IAAA,UAAU,EAAC,MAAM,CAAC;IAAA,YAAY,EAAC,MAAM,CAAC;CACrD;AACD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAC,CAAC,CAAC;IAAA,IAAI,EAAC,sBAAsB,CAAC;IAAA,MAAM,EAAC,KAAK,CAAC;IAAA,OAAO,EAAC;QAAC,IAAI,EAAC,MAAM,CAAC;QAAA,GAAG,EAAC,MAAM,CAAA;KAAC,CAAC;IACpF,MAAM,EAAC,qBAAqB,CAAC;IAAA,YAAY,EAAC,MAAM,CAAC;IAAA,UAAU,EAAC,MAAM,CAAC;IAAA,UAAU,EAAC,MAAM,CAAC;IACrF,MAAM,EAAC;QAAC,IAAI,EAAC,MAAM,CAAC;QAAA,KAAK,EAAC,MAAM,CAAA;KAAC,CAAC;IAAA,KAAK,EAAC,MAAM,EAAE,CAAC;IAAA,UAAU,EAAC,MAAM,CAAC;CACpE;AASD,wBAAgB,wBAAwB;aAAW,OAAO,EAAC,CAAC;aAAC,KAAK,EAAC,cAAc;aAAC,MAAM,EAAC,KAAK;aAC5F,UAAU,YAAE,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,MAAM;aAAE,SAAS,EAAC,uCAAuC;aACnG,YAAY;aAAO,KAAK;aAAO,IAAI;aAAO,YAAY;EAAkB;AAS1E,yFAAyF;AACzF,wBAAsB,mBAAmB,CAAC,GAAG,EAAC,MAAM,EAAC,MAAM,EAAC,qBAAqB,EAAC,OAAO,GAAC,gBAAmB;;;;;GAE5G;AA6CD,eAAO,MAAM,mBAAmB;;;;;;;;;EAAa,CAAC;AAC9C,eAAO,MAAM,mBAAmB;;;;;;;;;EAAe,CAAC;AAChD,eAAO,MAAM,iBAAiB;;;;;;;;;IAAY,CAAC"}