@calliopelabs/cli 3.5.4 → 3.7.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 (311) hide show
  1. package/README.md +8 -0
  2. package/dist/acp/controls.d.ts +10 -0
  3. package/dist/acp/controls.d.ts.map +1 -0
  4. package/dist/acp/controls.js +81 -0
  5. package/dist/acp/controls.js.map +1 -0
  6. package/dist/acp.d.ts +21 -7
  7. package/dist/acp.d.ts.map +1 -1
  8. package/dist/acp.js +139 -23
  9. package/dist/acp.js.map +1 -1
  10. package/dist/bin.d.ts.map +1 -1
  11. package/dist/bin.js +28 -8
  12. package/dist/bin.js.map +1 -1
  13. package/dist/build-identity.d.ts +27 -0
  14. package/dist/build-identity.d.ts.map +1 -0
  15. package/dist/build-identity.js +32 -0
  16. package/dist/build-identity.js.map +1 -0
  17. package/dist/build-metadata.json +1 -0
  18. package/dist/execution/authority.d.ts +4 -1
  19. package/dist/execution/authority.d.ts.map +1 -1
  20. package/dist/execution/authority.js +23 -7
  21. package/dist/execution/authority.js.map +1 -1
  22. package/dist/execution/child-grants.d.ts +2 -0
  23. package/dist/execution/child-grants.d.ts.map +1 -1
  24. package/dist/execution/child-grants.js +19 -4
  25. package/dist/execution/child-grants.js.map +1 -1
  26. package/dist/execution/delegated.d.ts +14 -0
  27. package/dist/execution/delegated.d.ts.map +1 -0
  28. package/dist/execution/delegated.js +66 -0
  29. package/dist/execution/delegated.js.map +1 -0
  30. package/dist/execution/files.js +6 -6
  31. package/dist/execution/files.js.map +1 -1
  32. package/dist/execution/guard.d.ts +5 -0
  33. package/dist/execution/guard.d.ts.map +1 -1
  34. package/dist/execution/guard.js +31 -16
  35. package/dist/execution/guard.js.map +1 -1
  36. package/dist/execution/index.d.ts +4 -0
  37. package/dist/execution/index.d.ts.map +1 -1
  38. package/dist/execution/index.js +4 -0
  39. package/dist/execution/index.js.map +1 -1
  40. package/dist/execution/ledger-cli.d.ts +2 -1
  41. package/dist/execution/ledger-cli.d.ts.map +1 -1
  42. package/dist/execution/ledger-cli.js +51 -14
  43. package/dist/execution/ledger-cli.js.map +1 -1
  44. package/dist/execution/ledger-protocol.d.ts +6 -2
  45. package/dist/execution/ledger-protocol.d.ts.map +1 -1
  46. package/dist/execution/ledger-protocol.js +110 -24
  47. package/dist/execution/ledger-protocol.js.map +1 -1
  48. package/dist/execution/ledger-server.d.ts +13 -0
  49. package/dist/execution/ledger-server.d.ts.map +1 -1
  50. package/dist/execution/ledger-server.js +57 -13
  51. package/dist/execution/ledger-server.js.map +1 -1
  52. package/dist/execution/ledger-tunnel.d.ts +50 -0
  53. package/dist/execution/ledger-tunnel.d.ts.map +1 -0
  54. package/dist/execution/ledger-tunnel.js +307 -0
  55. package/dist/execution/ledger-tunnel.js.map +1 -0
  56. package/dist/execution/ledger.d.ts +4 -0
  57. package/dist/execution/ledger.d.ts.map +1 -1
  58. package/dist/execution/ledger.js +30 -4
  59. package/dist/execution/ledger.js.map +1 -1
  60. package/dist/execution/parent-accounting.d.ts +41 -0
  61. package/dist/execution/parent-accounting.d.ts.map +1 -0
  62. package/dist/execution/parent-accounting.js +52 -0
  63. package/dist/execution/parent-accounting.js.map +1 -0
  64. package/dist/execution/parent-budget.d.ts +25 -0
  65. package/dist/execution/parent-budget.d.ts.map +1 -0
  66. package/dist/execution/parent-budget.js +102 -0
  67. package/dist/execution/parent-budget.js.map +1 -0
  68. package/dist/execution/project-spend.d.ts.map +1 -1
  69. package/dist/execution/project-spend.js +35 -5
  70. package/dist/execution/project-spend.js.map +1 -1
  71. package/dist/execution/remote-checkpoint.d.ts +15 -0
  72. package/dist/execution/remote-checkpoint.d.ts.map +1 -0
  73. package/dist/execution/remote-checkpoint.js +165 -0
  74. package/dist/execution/remote-checkpoint.js.map +1 -0
  75. package/dist/execution/remote-ledger.d.ts +12 -2
  76. package/dist/execution/remote-ledger.d.ts.map +1 -1
  77. package/dist/execution/remote-ledger.js +53 -21
  78. package/dist/execution/remote-ledger.js.map +1 -1
  79. package/dist/execution/types.d.ts +23 -5
  80. package/dist/execution/types.d.ts.map +1 -1
  81. package/dist/execution/types.js.map +1 -1
  82. package/dist/goals/supervised.js +2 -2
  83. package/dist/goals/supervised.js.map +1 -1
  84. package/dist/headless.d.ts +2 -6
  85. package/dist/headless.d.ts.map +1 -1
  86. package/dist/headless.js +17 -21
  87. package/dist/headless.js.map +1 -1
  88. package/dist/improvement/actions.d.ts +3 -4
  89. package/dist/improvement/actions.d.ts.map +1 -1
  90. package/dist/improvement/actions.js +10 -7
  91. package/dist/improvement/actions.js.map +1 -1
  92. package/dist/improvement/capabilities.d.ts +54 -0
  93. package/dist/improvement/capabilities.d.ts.map +1 -0
  94. package/dist/improvement/capabilities.js +44 -0
  95. package/dist/improvement/capabilities.js.map +1 -0
  96. package/dist/improvement/cli.d.ts +1 -1
  97. package/dist/improvement/cli.d.ts.map +1 -1
  98. package/dist/improvement/cli.js +29 -3
  99. package/dist/improvement/cli.js.map +1 -1
  100. package/dist/improvement/host-capabilities.d.ts +119 -0
  101. package/dist/improvement/host-capabilities.d.ts.map +1 -0
  102. package/dist/improvement/host-capabilities.js +18 -0
  103. package/dist/improvement/host-capabilities.js.map +1 -0
  104. package/dist/improvement/index.d.ts +6 -0
  105. package/dist/improvement/index.d.ts.map +1 -1
  106. package/dist/improvement/index.js +6 -0
  107. package/dist/improvement/index.js.map +1 -1
  108. package/dist/improvement/proposal-hash.d.ts +3 -0
  109. package/dist/improvement/proposal-hash.d.ts.map +1 -0
  110. package/dist/improvement/proposal-hash.js +5 -0
  111. package/dist/improvement/proposal-hash.js.map +1 -0
  112. package/dist/improvement/review-contract.d.ts +32 -0
  113. package/dist/improvement/review-contract.d.ts.map +1 -0
  114. package/dist/improvement/review-contract.js +62 -0
  115. package/dist/improvement/review-contract.js.map +1 -0
  116. package/dist/improvement/review-requests.d.ts +72 -0
  117. package/dist/improvement/review-requests.d.ts.map +1 -0
  118. package/dist/improvement/review-requests.js +63 -0
  119. package/dist/improvement/review-requests.js.map +1 -0
  120. package/dist/improvement/source-changes.d.ts +78 -0
  121. package/dist/improvement/source-changes.d.ts.map +1 -0
  122. package/dist/improvement/source-changes.js +91 -0
  123. package/dist/improvement/source-changes.js.map +1 -0
  124. package/dist/improvement/task-outcomes.d.ts +82 -0
  125. package/dist/improvement/task-outcomes.d.ts.map +1 -0
  126. package/dist/improvement/task-outcomes.js +72 -0
  127. package/dist/improvement/task-outcomes.js.map +1 -0
  128. package/dist/index.d.ts +10 -0
  129. package/dist/index.d.ts.map +1 -1
  130. package/dist/index.js +6 -0
  131. package/dist/index.js.map +1 -1
  132. package/dist/isolation/contracts.d.ts +13 -0
  133. package/dist/isolation/contracts.d.ts.map +1 -1
  134. package/dist/isolation/contracts.js +9 -1
  135. package/dist/isolation/contracts.js.map +1 -1
  136. package/dist/isolation/coordinator.d.ts.map +1 -1
  137. package/dist/isolation/coordinator.js +4 -0
  138. package/dist/isolation/coordinator.js.map +1 -1
  139. package/dist/isolation/process.d.ts.map +1 -1
  140. package/dist/isolation/process.js +3 -1
  141. package/dist/isolation/process.js.map +1 -1
  142. package/dist/isolation/worktree.d.ts +9 -1
  143. package/dist/isolation/worktree.d.ts.map +1 -1
  144. package/dist/isolation/worktree.js +8 -3
  145. package/dist/isolation/worktree.js.map +1 -1
  146. package/dist/memory.d.ts +5 -3
  147. package/dist/memory.d.ts.map +1 -1
  148. package/dist/memory.js +8 -6
  149. package/dist/memory.js.map +1 -1
  150. package/dist/migration/assessment-contract.d.ts +60 -0
  151. package/dist/migration/assessment-contract.d.ts.map +1 -0
  152. package/dist/migration/assessment-contract.js +132 -0
  153. package/dist/migration/assessment-contract.js.map +1 -0
  154. package/dist/migration/assessment-schema.d.ts +19 -0
  155. package/dist/migration/assessment-schema.d.ts.map +1 -0
  156. package/dist/migration/assessment-schema.js +43 -0
  157. package/dist/migration/assessment-schema.js.map +1 -0
  158. package/dist/migration/assessment.d.ts +159 -0
  159. package/dist/migration/assessment.d.ts.map +1 -0
  160. package/dist/migration/assessment.js +219 -0
  161. package/dist/migration/assessment.js.map +1 -0
  162. package/dist/migration/cli.d.ts +6 -0
  163. package/dist/migration/cli.d.ts.map +1 -0
  164. package/dist/migration/cli.js +101 -0
  165. package/dist/migration/cli.js.map +1 -0
  166. package/dist/migration/evidence.d.ts +27 -0
  167. package/dist/migration/evidence.d.ts.map +1 -0
  168. package/dist/migration/evidence.js +124 -0
  169. package/dist/migration/evidence.js.map +1 -0
  170. package/dist/migration/example.d.ts +33 -0
  171. package/dist/migration/example.d.ts.map +1 -0
  172. package/dist/migration/example.js +28 -0
  173. package/dist/migration/example.js.map +1 -0
  174. package/dist/migration/index.d.ts +21 -0
  175. package/dist/migration/index.d.ts.map +1 -0
  176. package/dist/migration/index.js +15 -0
  177. package/dist/migration/index.js.map +1 -0
  178. package/dist/migration/inventory.d.ts +70 -0
  179. package/dist/migration/inventory.d.ts.map +1 -0
  180. package/dist/migration/inventory.js +233 -0
  181. package/dist/migration/inventory.js.map +1 -0
  182. package/dist/migration/schema.d.ts +61 -0
  183. package/dist/migration/schema.d.ts.map +1 -0
  184. package/dist/migration/schema.js +76 -0
  185. package/dist/migration/schema.js.map +1 -0
  186. package/dist/migration/verification.d.ts +146 -0
  187. package/dist/migration/verification.d.ts.map +1 -0
  188. package/dist/migration/verification.js +260 -0
  189. package/dist/migration/verification.js.map +1 -0
  190. package/dist/orchestration/actions.d.ts +2 -0
  191. package/dist/orchestration/actions.d.ts.map +1 -1
  192. package/dist/orchestration/actions.js.map +1 -1
  193. package/dist/orchestration/artifact-host.d.ts +46 -0
  194. package/dist/orchestration/artifact-host.d.ts.map +1 -0
  195. package/dist/orchestration/artifact-host.js +64 -0
  196. package/dist/orchestration/artifact-host.js.map +1 -0
  197. package/dist/orchestration/coordinator-actions.d.ts +1 -1
  198. package/dist/orchestration/coordinator-actions.d.ts.map +1 -1
  199. package/dist/orchestration/coordinator-actions.js +5 -3
  200. package/dist/orchestration/coordinator-actions.js.map +1 -1
  201. package/dist/orchestration/coordinator-types.d.ts +23 -2
  202. package/dist/orchestration/coordinator-types.d.ts.map +1 -1
  203. package/dist/orchestration/coordinator.d.ts +5 -0
  204. package/dist/orchestration/coordinator.d.ts.map +1 -1
  205. package/dist/orchestration/coordinator.js +30 -13
  206. package/dist/orchestration/coordinator.js.map +1 -1
  207. package/dist/orchestration/execution-cli.d.ts +1 -1
  208. package/dist/orchestration/execution-cli.d.ts.map +1 -1
  209. package/dist/orchestration/execution-cli.js +29 -6
  210. package/dist/orchestration/execution-cli.js.map +1 -1
  211. package/dist/orchestration/execution-journal.d.ts.map +1 -1
  212. package/dist/orchestration/execution-journal.js +79 -6
  213. package/dist/orchestration/execution-journal.js.map +1 -1
  214. package/dist/orchestration/execution-store.d.ts +5 -1
  215. package/dist/orchestration/execution-store.d.ts.map +1 -1
  216. package/dist/orchestration/execution-store.js +66 -5
  217. package/dist/orchestration/execution-store.js.map +1 -1
  218. package/dist/orchestration/execution.d.ts.map +1 -1
  219. package/dist/orchestration/execution.js +37 -10
  220. package/dist/orchestration/execution.js.map +1 -1
  221. package/dist/orchestration/index.d.ts +6 -0
  222. package/dist/orchestration/index.d.ts.map +1 -1
  223. package/dist/orchestration/index.js +6 -0
  224. package/dist/orchestration/index.js.map +1 -1
  225. package/dist/orchestration/interruption.d.ts +10 -0
  226. package/dist/orchestration/interruption.d.ts.map +1 -0
  227. package/dist/orchestration/interruption.js +38 -0
  228. package/dist/orchestration/interruption.js.map +1 -0
  229. package/dist/orchestration/question-contract.d.ts +19 -0
  230. package/dist/orchestration/question-contract.d.ts.map +1 -0
  231. package/dist/orchestration/question-contract.js +21 -0
  232. package/dist/orchestration/question-contract.js.map +1 -0
  233. package/dist/orchestration/questions.d.ts +9 -0
  234. package/dist/orchestration/questions.d.ts.map +1 -0
  235. package/dist/orchestration/questions.js +75 -0
  236. package/dist/orchestration/questions.js.map +1 -0
  237. package/dist/orchestration/reviewed-ledger.d.ts +23 -0
  238. package/dist/orchestration/reviewed-ledger.d.ts.map +1 -0
  239. package/dist/orchestration/reviewed-ledger.js +57 -0
  240. package/dist/orchestration/reviewed-ledger.js.map +1 -0
  241. package/dist/orchestration/routing.d.ts +3 -0
  242. package/dist/orchestration/routing.d.ts.map +1 -1
  243. package/dist/orchestration/routing.js +5 -1
  244. package/dist/orchestration/routing.js.map +1 -1
  245. package/dist/orchestration/source-candidates.d.ts +64 -0
  246. package/dist/orchestration/source-candidates.d.ts.map +1 -0
  247. package/dist/orchestration/source-candidates.js +95 -0
  248. package/dist/orchestration/source-candidates.js.map +1 -0
  249. package/dist/orchestration/validation.js +1 -1
  250. package/dist/orchestration/validation.js.map +1 -1
  251. package/dist/runlog.js +2 -2
  252. package/dist/runlog.js.map +1 -1
  253. package/dist/runtime/permissions.d.ts.map +1 -1
  254. package/dist/runtime/permissions.js +3 -2
  255. package/dist/runtime/permissions.js.map +1 -1
  256. package/dist/runtime/turn.d.ts +2 -0
  257. package/dist/runtime/turn.d.ts.map +1 -1
  258. package/dist/runtime/turn.js +21 -7
  259. package/dist/runtime/turn.js.map +1 -1
  260. package/dist/session-management/actions.js +1 -1
  261. package/dist/session-management/actions.js.map +1 -1
  262. package/dist/sessions/execution-binding.d.ts +8 -0
  263. package/dist/sessions/execution-binding.d.ts.map +1 -0
  264. package/dist/sessions/execution-binding.js +9 -0
  265. package/dist/sessions/execution-binding.js.map +1 -0
  266. package/dist/sessions/index.d.ts +1 -0
  267. package/dist/sessions/index.d.ts.map +1 -1
  268. package/dist/sessions/index.js +1 -0
  269. package/dist/sessions/index.js.map +1 -1
  270. package/dist/source-changes/writer.d.ts +77 -0
  271. package/dist/source-changes/writer.d.ts.map +1 -0
  272. package/dist/source-changes/writer.js +189 -0
  273. package/dist/source-changes/writer.js.map +1 -0
  274. package/dist/spawning/actions.d.ts +10 -1
  275. package/dist/spawning/actions.d.ts.map +1 -1
  276. package/dist/spawning/actions.js +26 -7
  277. package/dist/spawning/actions.js.map +1 -1
  278. package/dist/spawning/cli.js +1 -1
  279. package/dist/spawning/cli.js.map +1 -1
  280. package/dist/spawning/execution.d.ts.map +1 -1
  281. package/dist/spawning/execution.js +2 -0
  282. package/dist/spawning/execution.js.map +1 -1
  283. package/dist/spawning/types.d.ts +19 -6
  284. package/dist/spawning/types.d.ts.map +1 -1
  285. package/dist/spawning/validation.d.ts +16 -0
  286. package/dist/spawning/validation.d.ts.map +1 -1
  287. package/dist/spawning/validation.js +44 -8
  288. package/dist/spawning/validation.js.map +1 -1
  289. package/dist/storage.d.ts +5 -0
  290. package/dist/storage.d.ts.map +1 -1
  291. package/dist/storage.js +10 -1
  292. package/dist/storage.js.map +1 -1
  293. package/dist/supervision/contracts.js +4 -1
  294. package/dist/supervision/contracts.js.map +1 -1
  295. package/dist/tools.d.ts +1 -0
  296. package/dist/tools.d.ts.map +1 -1
  297. package/dist/tools.js +5 -0
  298. package/dist/tools.js.map +1 -1
  299. package/docs/README.md +66 -0
  300. package/docs/acp.md +228 -0
  301. package/docs/delegation-ledger.md +331 -0
  302. package/docs/improvement-cycles.md +304 -0
  303. package/docs/migration-assessment.md +113 -0
  304. package/docs/migration-example-plan.json +88 -0
  305. package/docs/migration-example-report.json +511 -0
  306. package/docs/migration-inventory.md +63 -0
  307. package/docs/migration-playbook.md +152 -0
  308. package/docs/migration-verification.md +177 -0
  309. package/docs/releases/3.6.0.md +43 -0
  310. package/docs/releases/3.7.0.md +53 -0
  311. package/package.json +11 -3
@@ -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"}
@@ -0,0 +1,91 @@
1
+ /** Verified source changes become review branches in their owning repository. */
2
+ import { sourceWriter } from '../source-changes/writer.js';
3
+ import { canonicalJson, digest } from '../approvals/index.js';
4
+ import { readCollectedArtifact } from '../orchestration/verification.js';
5
+ import { OrchestrationError } from '../orchestration/types.js';
6
+ import { id, pathName, shape } from '../orchestration/validation.js';
7
+ import { readPinnedWorktreeBase, worktreeGit } from '../isolation/worktree.js';
8
+ import { inspectImprovements, improvementProposalHash } from './actions.js';
9
+ function conflict(message) { throw new OrchestrationError('conflict', message); }
10
+ const hex = (v) => typeof v === 'string' && /^[a-f0-9]{64}$/.test(v);
11
+ const uuid = (v) => typeof v === 'string' && /^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$/.test(v);
12
+ const branchFor = (source, hash) => `refs/heads/calliope-proposals/${source.runId}/${hash}`;
13
+ const commitMessage = (source, hash) => `Propose source change for ${source.taskId}\n\nCalliope-Source-Proposal: ${hash}\nRun: ${source.runId}\nArtifact-SHA256: ${source.artifactHash}\n`;
14
+ const git = (project, args, options, input, accepted = [0]) => worktreeGit(project, ['--no-replace-objects', ...args], options.signal, accepted, input);
15
+ export function sourceChangeCapabilities() {
16
+ return { version: 1, owner: 'calliope-cli', writer: 'git',
17
+ operations: ['preview', 'propose', 'inspect', 'list'], semantics: 'verified-patch-to-local-review-branch',
18
+ installation: false, merge: false, push: false, mayCallModel: false };
19
+ }
20
+ function selection(value) {
21
+ shape(value, ['runId', 'cycleId', 'executionRevision', 'proposalHash', 'taskId', 'artifactId', 'artifactHash']);
22
+ if (!uuid(value.runId) || !uuid(value.cycleId) || ![value.executionRevision, value.proposalHash, value.artifactHash].every(hex))
23
+ throw new OrchestrationError('invalid', 'Select exact native improvement and artifact identities.');
24
+ id(value.taskId);
25
+ id(value.artifactId);
26
+ }
27
+ /** Preview reads verified evidence and Git metadata; it creates no Git object or ref. */
28
+ export async function previewSourceChange(cwd, source, options = {}) {
29
+ return preview(cwd, source, options);
30
+ }
31
+ async function preview(cwd, source, options, leaseId) {
32
+ selection(source);
33
+ const current = await inspectImprovements(cwd, source.runId, options), { store, view } = current, state = current.execution.state;
34
+ if (state.revision !== source.executionRevision || state.ownerId || current.owner?.alive && current.owner.id !== leaseId)
35
+ conflict('The source execution changed or is still owned. Refresh its verified results.');
36
+ store.assertApproval(current.execution.header);
37
+ const cycle = current.history.cycles.find(c => c.id === source.cycleId);
38
+ if (!cycle || cycle.status !== 'verified' || cycle.withdrawal || improvementProposalHash(cycle) !== source.proposalHash)
39
+ conflict('Select an exact verified improvement that has not been withdrawn.');
40
+ const task = store.context().plan.tasks.find(t => t.id === source.taskId), result = cycle.results.find(r => r.taskId === source.taskId);
41
+ if (!task?.isolation || task.isolation.mode === 'read-only-v1' || task.isolation.patchArtifactId !== source.artifactId ||
42
+ !result || result.status !== 'completed' || !result.checks.length || result.checks.some(c => !c.passed))
43
+ conflict('Source proposals require a completed isolated task and its executor-collected patch.');
44
+ const artifact = result.artifacts.find(a => a.id === source.artifactId);
45
+ if (!artifact || artifact.sha256 !== source.artifactHash || artifact.kind !== 'patch' || artifact.bytes < 1 || artifact.bytes > 1024 * 1024)
46
+ conflict('Select the verified nonempty native patch, up to 1 MiB.');
47
+ const bytes = await readCollectedArtifact(store, artifact, options);
48
+ let patch;
49
+ try {
50
+ patch = new TextDecoder('utf-8', { fatal: true }).decode(bytes);
51
+ }
52
+ catch {
53
+ conflict('Native patches must use UTF-8.');
54
+ }
55
+ const project = view.manifest.project, baseCommit = readPinnedWorktreeBase(store.root, project.root, view.manifest.planHash);
56
+ const head = (await git(project.root, ['rev-parse', '--verify', 'HEAD^{commit}'], options)).trim();
57
+ if (head !== baseCommit)
58
+ conflict('The owning repository advanced beyond the verified base. Prepare and verify a new change.');
59
+ const author = { name: (await git(project.root, ['config', '--local', '--get', 'user.name'], options)).trim(),
60
+ email: (await git(project.root, ['config', '--local', '--get', 'user.email'], options)).trim() };
61
+ if (Object.values(author).some(v => !v || v.length > 256 || /[\r\n<>\x00]/.test(v)))
62
+ conflict('Configure a valid repository-local Git author before reviewing a source proposal.');
63
+ const stats = await git(project.root, ['apply', '--numstat', '-z', '--'], options, { text: patch });
64
+ const paths = stats.split('\0').filter(Boolean).map(line => {
65
+ const match = /^(?:\d+|-)\t(?:\d+|-)\t(.+)$/s.exec(line);
66
+ if (!match)
67
+ conflict('Native patch path inventory is unavailable.');
68
+ const value = match[1];
69
+ pathName(value);
70
+ if (value.split('/').some(p => p.toLowerCase() === '.git'))
71
+ conflict('Git metadata cannot be proposed.');
72
+ return value;
73
+ });
74
+ const grants = store.context().plan.agents.find(a => a.id === task.agentId).allowedPaths.filter(g => g.access === 'write');
75
+ if (!paths.length || paths.length > 10000 || paths.some(p => !grants.some(g => g.path === '.' || p === g.path || p.startsWith(g.path + '/'))))
76
+ conflict('The patch includes paths outside the selected worker’s original write scope.');
77
+ const review = { version: 1, kind: 'source-change-review', writer: 'git', project: { root: project.root, key: project.key },
78
+ source, manifestHash: view.manifest.hash, sourceHash: digest(canonicalJson({ cycle, artifact })), baseCommit, author, paths, patchBytes: bytes.length };
79
+ const hash = digest(canonicalJson(review));
80
+ store.assertRevision(source.executionRevision);
81
+ store.assertApproval(current.execution.header);
82
+ return { review, hash, branch: branchFor(source, hash), patch };
83
+ }
84
+ const writer = sourceWriter({
85
+ directory: 'source-proposals', kind: 'source-change-review', status: 'proposed', tool: 'orchestration_source_proposal',
86
+ operation: 'Create one local review branch; do not merge, install, push or run work.', selection, branchFor, commitMessage, preview,
87
+ });
88
+ export const proposeSourceChange = writer.write;
89
+ export const inspectSourceChange = writer.inspect;
90
+ export const listSourceChanges = writer.list;
91
+ //# sourceMappingURL=source-changes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-changes.js","sourceRoot":"","sources":["../../src/improvement/source-changes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ import type { RunActionOptions } from '../orchestration/actions.js';
2
+ export interface TaskOutcomeSelection {
3
+ taskId: string;
4
+ attempt: number;
5
+ executionRevision: string;
6
+ }
7
+ export declare function taskOutcomeCapabilities(): {
8
+ readonly version: 1;
9
+ readonly owner: 'calliope-cli';
10
+ readonly operations: readonly ['inspect'];
11
+ readonly semantics: 'exact-native-attempt-observation';
12
+ readonly artifactValidation: 'retained-bytes';
13
+ readonly assessment: false;
14
+ readonly reward: false;
15
+ readonly mayCallModel: false;
16
+ };
17
+ export declare function inspectTaskOutcome(cwd: string, runId: string, selection: TaskOutcomeSelection, options?: RunActionOptions): Promise<{
18
+ value: {
19
+ version: 1;
20
+ kind: 'task.outcome-observation';
21
+ interpretation: 'native-attempt-evidence-not-user-assessment-or-reward';
22
+ source: {
23
+ runId: string;
24
+ manifestHash: string;
25
+ planHash: string;
26
+ approvalRevision: string;
27
+ executionRevision: string;
28
+ taskId: string;
29
+ agentId: string;
30
+ attempt: number;
31
+ sessionId: string;
32
+ started: {
33
+ id: string;
34
+ hash: string;
35
+ at: string;
36
+ sequence: number;
37
+ };
38
+ configurationHash: string;
39
+ graphHash: string;
40
+ };
41
+ status: "cancelled" | "completed" | "denied" | "failed" | "review_required" | "unknown";
42
+ executorStatus: "cancelled" | "completed" | "denied" | "failed" | "review_required" | "unknown";
43
+ finished: {
44
+ id: string;
45
+ hash: string;
46
+ at: string;
47
+ sequence: number;
48
+ } | null;
49
+ accepted: {
50
+ id: string;
51
+ hash: string;
52
+ at: string;
53
+ sequence: number;
54
+ } | null;
55
+ checks: import("../orchestration/coordinator-types.js").CheckEvidence[];
56
+ artifacts: {
57
+ id: string;
58
+ taskId: string;
59
+ agentId: string;
60
+ kind: "decision" | "evidence" | "file" | "patch" | "report" | "test_result";
61
+ sha256: string;
62
+ bytes: number;
63
+ source: {
64
+ runId: string;
65
+ eventId: string;
66
+ };
67
+ }[];
68
+ measurements: {
69
+ durationMs: number | null;
70
+ toolCalls: number;
71
+ toolFailures: number;
72
+ settledCostNanos: number | null;
73
+ };
74
+ accounting: {
75
+ basis: 'native-reservations-and-settlements';
76
+ revision: string | null;
77
+ charge: import("../orchestration/request-accounting.js").AttributedCharge | null;
78
+ };
79
+ };
80
+ hash: string;
81
+ }>;
82
+ //# sourceMappingURL=task-outcomes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-outcomes.d.ts","sourceRoot":"","sources":["../../src/improvement/task-outcomes.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAGlE,MAAM,WAAW,oBAAoB;IAAE,MAAM,EAAC,MAAM,CAAC;IAAA,OAAO,EAAC,MAAM,CAAC;IAAA,iBAAiB,EAAC,MAAM,CAAA;CAAC;AAG7F,wBAAgB,uBAAuB;aAAW,OAAO,EAAC,CAAC;aAAC,KAAK,EAAC,cAAc;aAAC,UAAU,YAAE,SAAS;aACpG,SAAS,EAAC,kCAAkC;aAAC,kBAAkB,EAAC,gBAAgB;aAAC,UAAU;aAAO,MAAM;aAAO,YAAY;EAAkB;AAE/I,wBAAsB,kBAAkB,CAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,EAAC,SAAS,EAAC,oBAAoB,EAAC,OAAO,GAAC,gBAAmB;;iBAgCpG,CAAC;cAAe,0BAA0B;wBAC9C,uDAAuD;;YAC9D,KAAK;YAAa,YAAY;YAAoB,QAAQ;YAAwB,gBAAgB;YACxG,iBAAiB;YAA0B,MAAM;YAAS,OAAO;YAAc,OAAO;YAAgB,SAAS;YAC/G,OAAO;;;;;;YAAY,iBAAiB;YACpC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAKG,UAAU;YACtB,SAAS;YAAc,YAAY;YACnC,gBAAgB;;;YACN,KAAK,EAAC,qCAAqC;YAAU,QAAQ;YAA6D,MAAM;;;;GAG/I"}
@@ -0,0 +1,72 @@
1
+ /** Exact native attempt evidence for reviewed feedback, without assigning rewards. */
2
+ import { join } from 'node:path';
3
+ import { canonicalJson, digest } from '../approvals/index.js';
4
+ import { throwIfCancelled } from '../cancellation.js';
5
+ import { assertExecutionStoreOutsideProject } from '../execution/index.js';
6
+ import { inspectExecution } from '../orchestration/coordinator-actions.js';
7
+ import { replayExecution } from '../orchestration/execution-journal.js';
8
+ import { readCollectedArtifact } from '../orchestration/verification.js';
9
+ import { readRunAccounting } from '../orchestration/accounting.js';
10
+ import { workerAttemptContext } from '../orchestration/worker-context.js';
11
+ import { id, shape } from '../orchestration/validation.js';
12
+ import { OrchestrationError } from '../orchestration/types.js';
13
+ const ref = (event) => ({ id: event.id, hash: event.hash, at: event.at, sequence: event.sequence });
14
+ function conflict(message) { throw new OrchestrationError('conflict', message); }
15
+ export function taskOutcomeCapabilities() {
16
+ return { version: 1, owner: 'calliope-cli', operations: ['inspect'],
17
+ semantics: 'exact-native-attempt-observation', artifactValidation: 'retained-bytes', assessment: false, reward: false, mayCallModel: false };
18
+ }
19
+ export async function inspectTaskOutcome(cwd, runId, selection, options = {}) {
20
+ shape(selection, ['taskId', 'attempt', 'executionRevision']);
21
+ id(selection.taskId);
22
+ if (!Number.isSafeInteger(selection.attempt) || selection.attempt < 1 || typeof selection.executionRevision !== 'string' || !/^[a-f0-9]{64}$/.test(selection.executionRevision))
23
+ throw new OrchestrationError('invalid', 'Select the exact task attempt and execution revision.');
24
+ const current = await inspectExecution(cwd, runId, options), { store, view, execution } = current;
25
+ assertExecutionStoreOutsideProject(view.manifest.project.root, join(store.root, '..', '..'));
26
+ if (!execution || execution.state.revision !== selection.executionRevision || execution.state.ownerId || current.owner?.alive)
27
+ conflict('Stop or recover active execution and refresh its exact task evidence.');
28
+ const starts = execution.events.filter((event) => event.change.type === 'task_started' && event.change.taskId === selection.taskId);
29
+ const start = starts.find(event => event.change.attempt === selection.attempt);
30
+ if (!start)
31
+ throw new OrchestrationError('unavailable', 'No native task start has this attempt identity.');
32
+ const next = starts.find(event => event.sequence > start.sequence);
33
+ const events = execution.events.filter(event => event.sequence >= start.sequence && (!next || event.sequence < next.sequence));
34
+ const prefixEvents = execution.events.slice(0, start.sequence);
35
+ const prefix = { header: execution.header, events: prefixEvents, state: replayExecution(execution.header, view.manifest, prefixEvents) };
36
+ const context = store.context(prefix), task = context.plan.tasks.find(t => t.id === selection.taskId);
37
+ const agent = context.plan.agents.find(a => a.id === task.agentId);
38
+ const attempt = workerAttemptContext(context.plan, task, prefix).attempt;
39
+ const finished = events.filter((event) => event.change.type === 'task_finished' && event.change.taskId === task.id).at(-1);
40
+ const accepted = finished ? events.find(event => event.change.type === 'task_accepted' && event.change.taskId === task.id && event.sequence > finished.sequence) : undefined;
41
+ const output = finished?.change.output;
42
+ let bytes = 0;
43
+ for (const artifact of output?.artifacts ?? []) {
44
+ throwIfCancelled(options.signal);
45
+ bytes += artifact.bytes;
46
+ if (bytes > 64 * 1024 * 1024)
47
+ throw new OrchestrationError('limit', 'Selected attempt evidence exceeds the 64 MiB inspection bound.');
48
+ await readCollectedArtifact(store, artifact, options);
49
+ }
50
+ const accounting = readRunAccounting(store, execution);
51
+ const attribution = accounting.status === 'available' ? accounting.attribution : undefined;
52
+ const charge = attribution?.status === 'available' && attribution.executionRevision === execution.state.revision ? attribution.groups[start.id] ?? null : null;
53
+ const tools = events.filter(event => event.change.type === 'tool' && event.change.taskId === task.id && event.change.stage === 'finished');
54
+ const value = { version: 1, kind: 'task.outcome-observation',
55
+ interpretation: 'native-attempt-evidence-not-user-assessment-or-reward',
56
+ source: { runId: view.run.id, manifestHash: view.manifest.hash, planHash: view.manifest.planHash, approvalRevision: execution.header.approvalRevision,
57
+ executionRevision: execution.state.revision, taskId: task.id, agentId: task.agentId, attempt: attempt.number, sessionId: start.change.sessionId,
58
+ started: ref(start), configurationHash: digest(canonicalJson({ task, agent, strategy: prefix.state.supervision?.strategies[task.id] ?? null })),
59
+ graphHash: prefix.state.graph?.hash ?? view.manifest.planHash },
60
+ status: accepted ? 'completed' : finished?.change.status ?? 'unknown',
61
+ executorStatus: finished?.change.status ?? 'unknown', finished: finished ? ref(finished) : null, accepted: accepted ? ref(accepted) : null,
62
+ checks: structuredClone(output?.checks ?? []),
63
+ artifacts: (output?.artifacts ?? []).map(a => ({ id: a.id, taskId: a.taskId, agentId: a.agentId, kind: a.kind, sha256: a.sha256, bytes: a.bytes, source: { ...a.source } })),
64
+ measurements: { durationMs: finished ? Date.parse(finished.at) - Date.parse(start.at) : null,
65
+ toolCalls: tools.length, toolFailures: tools.filter(e => e.change.type === 'tool' && !e.change.success).length,
66
+ settledCostNanos: charge?.status === 'available' && charge.usageComplete ? charge.accounted.costNanos : null },
67
+ accounting: { basis: 'native-reservations-and-settlements', revision: attribution?.status === 'available' ? attribution.revision : null, charge: charge ? structuredClone(charge) : null } };
68
+ store.assertRevision(selection.executionRevision);
69
+ throwIfCancelled(options.signal);
70
+ return { value, hash: digest(canonicalJson(value)) };
71
+ }
72
+ //# sourceMappingURL=task-outcomes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-outcomes.js","sourceRoot":"","sources":["../../src/improvement/task-outcomes.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -22,4 +22,14 @@ export type { JudgmentRequest, JudgmentResponse, JudgmentEngine, Question, Answe
22
22
  export { runHeadless } from './headless.js';
23
23
  export type { HeadlessEvent, HeadlessOptions, HeadlessOutputMode } from './headless.js';
24
24
  export * from './runtime/index.js';
25
+ export { inventorySource, runMigrationCommand, MigrationError, INVENTORY_SCHEMA } from './migration/index.js';
26
+ export type { MigrationInventory } from './migration/index.js';
27
+ export { analyzeVerificationPlan, verifyMigration, VERIFICATION_SCHEMAS } from './migration/index.js';
28
+ export type { VerificationPlan, VerificationOptions } from './migration/index.js';
29
+ export { comparatorHealthy, compareBehavior, migrationExample } from './migration/index.js';
30
+ export { analyzeVerificationEvidence, EVIDENCE_REVIEW_SCHEMA } from './migration/index.js';
31
+ export { assessMigration, analyzeAssessmentRequest, ASSESSMENT_SCHEMAS } from './migration/index.js';
32
+ export type { AssessmentRequest, AssessmentOptions, AssessmentReview, AssessmentReviewRequest, AssessmentImplementation, PilotMeasurement } from './migration/index.js';
33
+ export { analyzeBaselinePlan, verifyMigrationBaseline, analyzeBaselineEvidence, BASELINE_SCHEMAS } from './migration/index.js';
34
+ export type { BaselinePlan } from './migration/index.js';
25
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,SAAS,EACT,GAAG,EACH,GAAG,EACH,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,sBAAsB,EACtB,SAAS,EACT,UAAU,EACV,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnG,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC5J,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AACjG,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGnI,OAAO,EACL,cAAc,EACd,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAC3C,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAC/D,WAAW,EAAE,iBAAiB,EAC9B,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG1G,OAAO,EAAE,QAAQ,IAAI,KAAK,EAAE,eAAe,IAAI,uBAAuB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACnH,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC/G,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAIxF,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,SAAS,EACT,GAAG,EACH,GAAG,EACH,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,sBAAsB,EACtB,SAAS,EACT,UAAU,EACV,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnG,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC5J,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AACjG,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGnI,OAAO,EACL,cAAc,EACd,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAC3C,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAC/D,WAAW,EAAE,iBAAiB,EAC9B,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG1G,OAAO,EAAE,QAAQ,IAAI,KAAK,EAAE,eAAe,IAAI,uBAAuB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACnH,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC/G,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAIxF,cAAc,oBAAoB,CAAC;AAEnC,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC9G,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACtG,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrG,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxK,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC/H,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -21,4 +21,10 @@ export { evaluate as judge, validateRequest as validateJudgmentRequest, Judgment
21
21
  export { runHeadless } from './headless.js';
22
22
  // Shared runtime for terminal, editor and programmatic clients.
23
23
  export * from './runtime/index.js';
24
+ export { inventorySource, runMigrationCommand, MigrationError, INVENTORY_SCHEMA } from './migration/index.js';
25
+ export { analyzeVerificationPlan, verifyMigration, VERIFICATION_SCHEMAS } from './migration/index.js';
26
+ export { comparatorHealthy, compareBehavior, migrationExample } from './migration/index.js';
27
+ export { analyzeVerificationEvidence, EVIDENCE_REVIEW_SCHEMA } from './migration/index.js';
28
+ export { assessMigration, analyzeAssessmentRequest, ASSESSMENT_SCHEMAS } from './migration/index.js';
29
+ export { analyzeBaselinePlan, verifyMigrationBaseline, analyzeBaselineEvidence, BASELINE_SCHEMAS } from './migration/index.js';
24
30
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,+DAA+D;AAC/D,OAAO,EACL,SAAS,EACT,GAAG,EACH,GAAG,EACH,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,sBAAsB,EACtB,SAAS,EACT,UAAU,GAEX,MAAM,aAAa,CAAC;AACrB,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnG,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE5J,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAGjG,aAAa;AACb,OAAO,EACL,cAAc,EACd,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAC3C,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAC/D,WAAW,EAAE,iBAAiB,EAC9B,aAAa,GACd,MAAM,cAAc,CAAC;AAGtB,oBAAoB;AACpB,OAAO,EAAE,QAAQ,IAAI,KAAK,EAAE,eAAe,IAAI,uBAAuB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEnH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,gEAAgE;AAChE,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,+DAA+D;AAC/D,OAAO,EACL,SAAS,EACT,GAAG,EACH,GAAG,EACH,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,sBAAsB,EACtB,SAAS,EACT,UAAU,GAEX,MAAM,aAAa,CAAC;AACrB,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnG,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE5J,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAGjG,aAAa;AACb,OAAO,EACL,cAAc,EACd,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAC3C,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAC/D,WAAW,EAAE,iBAAiB,EAC9B,aAAa,GACd,MAAM,cAAc,CAAC;AAGtB,oBAAoB;AACpB,OAAO,EAAE,QAAQ,IAAI,KAAK,EAAE,eAAe,IAAI,uBAAuB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEnH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,gEAAgE;AAChE,cAAc,oBAAoB,CAAC;AAEnC,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE9G,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEtG,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAErG,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -9,6 +9,7 @@ export interface VerificationCommand {
9
9
  timeoutMs: number;
10
10
  }
11
11
  export interface TaskIsolation {
12
+ mode?: 'read-only-v1';
12
13
  patchArtifactId: string;
13
14
  commands: VerificationCommand[];
14
15
  }
@@ -25,6 +26,18 @@ export interface CommandEvidence {
25
26
  durationMs: number;
26
27
  container: string;
27
28
  cleanupConfirmed: boolean;
29
+ /** Raw captured bytes, before display redaction. Never compare truncated output. */
30
+ outputDigests?: {
31
+ version: 1;
32
+ stdout: {
33
+ sha256: string;
34
+ bytes: number;
35
+ };
36
+ stderr: {
37
+ sha256: string;
38
+ bytes: number;
39
+ };
40
+ };
28
41
  cleanup?: {
29
42
  version: 1;
30
43
  removal: {
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/isolation/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAG1E,MAAM,WAAW,iBAAiB;IAAG,OAAO,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAChE,MAAM,WAAW,mBAAmB;IAAG,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;AAC9F,MAAM,WAAW,aAAa;IAAG,eAAe,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,mBAAmB,EAAE,CAAA;CAAE;AAC3F,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,CAAC,CAAC;IAAC,IAAI,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IACpE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,aAAa,CAAC;IACzF,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IACvE,SAAS,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,OAAO,CAAC;IAC7C,OAAO,CAAC,EAAE;QAAC,OAAO,EAAC,CAAC,CAAC;QAAA,OAAO,EAAC;YAAC,OAAO,EAAC,SAAS,GAAC,QAAQ,GAAC,SAAS,GAAC,OAAO,CAAC;YAAA,QAAQ,EAAC,MAAM,GAAC,IAAI,CAAA;SAAC,CAAC;QAC/F,YAAY,CAAC,EAAC;YAAC,OAAO,EAAC,QAAQ,GAAC,SAAS,GAAC,SAAS,GAAC,OAAO,CAAC;YAAA,QAAQ,EAAC,MAAM,GAAC,IAAI,CAAA;SAAC,CAAA;KAAC,CAAC;CACtF;AACD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,iBAAiB,CAIpF;AACD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAe1H"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/isolation/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAG1E,MAAM,WAAW,iBAAiB;IAAG,OAAO,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAChE,MAAM,WAAW,mBAAmB;IAAG,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;AAC9F,MAAM,WAAW,aAAa;IAAG,IAAI,CAAC,EAAE,cAAc,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,mBAAmB,EAAE,CAAA;CAAE;AAClH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,CAAC,CAAC;IAAC,IAAI,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IACpE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,aAAa,CAAC;IACzF,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IACvE,SAAS,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,OAAO,CAAC;IAC7C,oFAAoF;IACpF,aAAa,CAAC,EAAE;QAAE,OAAO,EAAE,CAAC,CAAC;QAAC,MAAM,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,MAAM,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IACrH,OAAO,CAAC,EAAE;QAAC,OAAO,EAAC,CAAC,CAAC;QAAA,OAAO,EAAC;YAAC,OAAO,EAAC,SAAS,GAAC,QAAQ,GAAC,SAAS,GAAC,OAAO,CAAC;YAAA,QAAQ,EAAC,MAAM,GAAC,IAAI,CAAA;SAAC,CAAC;QAC/F,YAAY,CAAC,EAAC;YAAC,OAAO,EAAC,QAAQ,GAAC,SAAS,GAAC,SAAS,GAAC,OAAO,CAAC;YAAA,QAAQ,EAAC,MAAM,GAAC,IAAI,CAAA;SAAC,CAAA;KAAC,CAAC;CACtF;AACD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,iBAAiB,CAIpF;AACD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAsB1H"}
@@ -5,13 +5,21 @@ export function validateIsolation(value) {
5
5
  fail('Isolated workers require version 1 and a pinned local Docker image ID (sha256:...).');
6
6
  }
7
7
  export function validateTaskIsolation(value, task, plan) {
8
- shape(value, ['patchArtifactId', 'commands']);
8
+ shape(value, ['patchArtifactId', 'commands'], ['mode']);
9
+ if (value.mode !== undefined && value.mode !== 'read-only-v1')
10
+ fail('Unknown isolated task mode.');
9
11
  id(value.patchArtifactId);
10
12
  array(value.commands, 8);
11
13
  const agent = plan.agents.find(a => a.id === task.agentId);
12
14
  const output = (name, kind) => task.outputs.some(o => o.id === name && o.kind === kind && o.path === undefined);
13
15
  if (!output(value.patchArtifactId, 'patch'))
14
16
  fail('An isolated task requires a declared patch artifact without a project path.');
17
+ if (value.mode === 'read-only-v1') {
18
+ if (value.commands.length || agent.allowedTools.some(tool => !['think', 'ask_question', 'read_file', 'list_files', 'brain_search', 'brain_entity'].includes(tool)) || agent.allowedPaths.some(grant => grant.access !== 'read'))
19
+ fail('Read-only tasks require read-only tools and paths, without command execution.');
20
+ if (task.outputs.some(output => output.path !== undefined || output.id !== value.patchArtifactId && !['report', 'decision', 'evidence'].includes(output.kind)))
21
+ fail('Read-only tasks return pathless reports, decisions or evidence; only the executor supplies the patch.');
22
+ }
15
23
  const seen = new Set();
16
24
  for (const command of value.commands) {
17
25
  shape(command, ['artifactId', 'argv', 'timeoutMs']);
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/isolation/contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/isolation/contracts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../src/isolation/coordinator.ts"],"names":[],"mappings":"AAOA,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAyC,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAG3F,wBAAsB,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAoB3I;AACD,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,gBAAgB,GAAC;IAAC,qBAAqB,CAAC,EAAC,MAAM,CAAA;CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAwB1N"}
1
+ {"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../src/isolation/coordinator.ts"],"names":[],"mappings":"AAOA,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAyC,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAG3F,wBAAsB,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAqB3I;AACD,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,gBAAgB,GAAC;IAAC,qBAAqB,CAAC,EAAC,MAAM,CAAA;CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA0B1N"}
@@ -39,6 +39,8 @@ export async function taskWorktree(store, task, options) {
39
39
  copied.set(path, artifact.sha256);
40
40
  }
41
41
  options.runlog?.policyEvent({ tool: 'orchestration_workspace', source: 'isolation', decision: 'allow', reason: canonicalJson({ taskId: task.id, base, root, inputs: [...copied] }), durationMs: 0 });
42
+ if (task.isolation?.mode === 'read-only-v1')
43
+ workspace.rememberVerification(agent.allowedPaths, workspace.snapshot(agent.allowedPaths, options.signal));
42
44
  return workspace;
43
45
  }
44
46
  export async function verifyInWorktree(store, task, workspace, guard, options) {
@@ -72,6 +74,8 @@ export async function verifyInWorktree(store, task, workspace, guard, options) {
72
74
  workspace.rememberVerification(agent.allowedPaths, before);
73
75
  }
74
76
  guard.assertActive(options.signal);
77
+ if (task.isolation?.mode === 'read-only-v1')
78
+ workspace.assertVerified(options.signal);
75
79
  const patch = await workspace.patch(options.signal);
76
80
  outputs.set(task.isolation.patchArtifactId, patch);
77
81
  return outputs;