pi-daddy 0.22.0 → 0.23.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 (362) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/contracts/daily-view/v1/README.md +114 -0
  3. package/contracts/daily-view/v1/fixtures/view.json +525 -0
  4. package/contracts/daily-view/v1/fixtures/view.txt +75 -0
  5. package/contracts/daily-view/v1/fixtures/work.jsonl +17 -0
  6. package/contracts/daily-view/v1/p03/README.md +26 -0
  7. package/contracts/daily-view/v1/p03/fixtures/retained-executions.json +241 -0
  8. package/contracts/daily-view/v1/p03/projection.schema.json +194 -0
  9. package/contracts/daily-view/v1/p03/provenance.json +21 -0
  10. package/contracts/dashboard-host/v1/README.md +176 -0
  11. package/contracts/debrief/v1/README.md +146 -0
  12. package/contracts/debrief/v1/intervention/README.md +32 -0
  13. package/contracts/debrief/v1/intervention/fixtures/artifact-3ee11136beb864f518252e5024dae9197421fbf97b6e981d3243c782b5c44bd0.txt +1 -0
  14. package/contracts/debrief/v1/intervention/fixtures/artifact-58905d872dd3c54a9705f67b05fa82edbad7af6476ae8993faf1a7b9fadfb905.txt +1 -0
  15. package/contracts/debrief/v1/intervention/fixtures/assessment.json +29 -0
  16. package/contracts/debrief/v1/intervention/fixtures/blind-view.json +20 -0
  17. package/contracts/debrief/v1/intervention/fixtures/choice.json +7 -0
  18. package/contracts/debrief/v1/intervention/fixtures/manifest.json +57 -0
  19. package/contracts/debrief/v1/intervention/fixtures/reveal.json +39 -0
  20. package/contracts/debrief/v1/provenance.json +89 -0
  21. package/contracts/debrief/v1/work-capture/README.md +38 -0
  22. package/contracts/debrief/v1/work-capture/fixtures/batch.json +17 -0
  23. package/contracts/debrief/v1/work-capture/fixtures/cases.json +184 -0
  24. package/contracts/debrief/v1/work-capture/fixtures/review.json +184 -0
  25. package/contracts/debrief/v1/work-capture/review-request.schema.json +41 -0
  26. package/contracts/debrief/v1/work-capture/work-case.schema.json +190 -0
  27. package/contracts/debrief/v2/README.md +71 -0
  28. package/contracts/debrief/v2/input-pin.json +66 -0
  29. package/contracts/debrief/v2/intervention-upstream.md +40 -0
  30. package/contracts/debrief/v2/work-signals-upstream.md +22 -0
  31. package/contracts/dispatch-control/v1/README.md +109 -0
  32. package/contracts/dispatch-control/v1/request.schema.json +19 -0
  33. package/contracts/effect-profile/v1/README.md +124 -0
  34. package/contracts/execution-retention/v1/README.md +109 -0
  35. package/contracts/execution-retention/v2/README.md +148 -0
  36. package/contracts/execution-retention/v2/fixtures/interrupted-native-bytes.json +91 -0
  37. package/contracts/execution-retention/v2/fixtures/missing-native-session.json +91 -0
  38. package/contracts/execution-retention/v2/fixtures/native-file-unknown-branch.json +91 -0
  39. package/contracts/execution-retention/v2/fixtures/native-id-without-bytes.json +91 -0
  40. package/contracts/execution-retention/v2/fixtures/native-live-branch.json +90 -0
  41. package/contracts/execution-retention/v2/fixtures/replaced-native-session.json +92 -0
  42. package/contracts/execution-retention/v2/fixtures/result-82c620cdfeb8ca6b858cf653d7f5e2eedca5315d6244216d60e8b36f03223d6a.bin +1 -0
  43. package/contracts/execution-retention/v2/fixtures/session-2ec1f134bc739984434f7fca689e1c3d1c39fce2dcadae709e9b6faedfcc4ac7.bin +3 -0
  44. package/contracts/execution-retention/v2/fixtures/session-9bdb4bd16a901da31580acf056bda525225259e15ec409e0410480109011772f.bin +3 -0
  45. package/contracts/execution-retention/v2/manifest.schema.json +858 -0
  46. package/contracts/experiment/v1/README.md +164 -0
  47. package/contracts/factory-order/v1/README.md +151 -0
  48. package/contracts/factory-order/v1/adoption-pin.json +8 -0
  49. package/contracts/intent-control/v1/README.md +135 -0
  50. package/contracts/intent-control/v1/request.schema.json +1096 -0
  51. package/contracts/intent-control/v2/README.md +34 -0
  52. package/contracts/intent-control/v2/request.schema.json +1070 -0
  53. package/contracts/ledger/v4/README.md +241 -0
  54. package/contracts/ledger/v4/fixtures/layout-options.json +428 -0
  55. package/contracts/ledger/v4/fixtures/work-acceptance.json +57 -0
  56. package/contracts/ledger/v4/fixtures/work-occurrence.json +44 -0
  57. package/contracts/ledger/v4/fixtures/work-revision.json +26 -0
  58. package/contracts/ledger/v4/fixtures/work-snapshot.json +73 -0
  59. package/contracts/ledger/v4/ledger-event.schema.json +162 -0
  60. package/contracts/ordinary-control/v1/README.md +59 -0
  61. package/contracts/producer-ipc/v1/README.md +137 -0
  62. package/dist/check-runner.d.ts +5 -0
  63. package/dist/check-runner.d.ts.map +1 -1
  64. package/dist/check-runner.js +16 -2
  65. package/dist/check-runner.js.map +1 -1
  66. package/dist/control-journal.d.ts +20 -0
  67. package/dist/control-journal.d.ts.map +1 -0
  68. package/dist/control-journal.js +73 -0
  69. package/dist/control-journal.js.map +1 -0
  70. package/dist/daily-view-input.d.ts +44 -0
  71. package/dist/daily-view-input.d.ts.map +1 -0
  72. package/dist/daily-view-input.js +68 -0
  73. package/dist/daily-view-input.js.map +1 -0
  74. package/dist/daily-view-render.d.ts +4 -0
  75. package/dist/daily-view-render.d.ts.map +1 -0
  76. package/dist/daily-view-render.js +41 -0
  77. package/dist/daily-view-render.js.map +1 -0
  78. package/dist/daily-view.d.ts +74 -0
  79. package/dist/daily-view.d.ts.map +1 -0
  80. package/dist/daily-view.js +170 -0
  81. package/dist/daily-view.js.map +1 -0
  82. package/dist/dashboard-cli.d.ts +26 -1
  83. package/dist/dashboard-cli.d.ts.map +1 -1
  84. package/dist/dashboard-cli.js +121 -3
  85. package/dist/dashboard-cli.js.map +1 -1
  86. package/dist/dashboard-harness.d.ts +19 -0
  87. package/dist/dashboard-harness.d.ts.map +1 -0
  88. package/dist/dashboard-harness.js +75 -0
  89. package/dist/dashboard-harness.js.map +1 -0
  90. package/dist/dashboard-herdr.d.ts.map +1 -1
  91. package/dist/dashboard-herdr.js +7 -2
  92. package/dist/dashboard-herdr.js.map +1 -1
  93. package/dist/dashboard-host-contract.d.ts +111 -0
  94. package/dist/dashboard-host-contract.d.ts.map +1 -0
  95. package/dist/dashboard-host-contract.js +14 -0
  96. package/dist/dashboard-host-contract.js.map +1 -0
  97. package/dist/dashboard-host-transport.d.ts +15 -0
  98. package/dist/dashboard-host-transport.d.ts.map +1 -0
  99. package/dist/dashboard-host-transport.js +122 -0
  100. package/dist/dashboard-host-transport.js.map +1 -0
  101. package/dist/dashboard-host.d.ts +149 -0
  102. package/dist/dashboard-host.d.ts.map +1 -0
  103. package/dist/dashboard-host.js +329 -0
  104. package/dist/dashboard-host.js.map +1 -0
  105. package/dist/dashboard-observation.d.ts +28 -0
  106. package/dist/dashboard-observation.d.ts.map +1 -0
  107. package/dist/dashboard-observation.js +86 -0
  108. package/dist/dashboard-observation.js.map +1 -0
  109. package/dist/debrief-contract.d.ts +65 -0
  110. package/dist/debrief-contract.d.ts.map +1 -0
  111. package/dist/debrief-contract.js +151 -0
  112. package/dist/debrief-contract.js.map +1 -0
  113. package/dist/debrief-fixture.d.ts +16 -0
  114. package/dist/debrief-fixture.d.ts.map +1 -0
  115. package/dist/debrief-fixture.js +41 -0
  116. package/dist/debrief-fixture.js.map +1 -0
  117. package/dist/debrief-host.d.ts +59 -0
  118. package/dist/debrief-host.d.ts.map +1 -0
  119. package/dist/debrief-host.js +49 -0
  120. package/dist/debrief-host.js.map +1 -0
  121. package/dist/debrief-render.d.ts +5 -0
  122. package/dist/debrief-render.d.ts.map +1 -0
  123. package/dist/debrief-render.js +65 -0
  124. package/dist/debrief-render.js.map +1 -0
  125. package/dist/debrief.d.ts +90 -0
  126. package/dist/debrief.d.ts.map +1 -0
  127. package/dist/debrief.js +263 -0
  128. package/dist/debrief.js.map +1 -0
  129. package/dist/delegate-types.d.ts +2 -0
  130. package/dist/delegate-types.d.ts.map +1 -1
  131. package/dist/delegate-types.js.map +1 -1
  132. package/dist/delegate.d.ts.map +1 -1
  133. package/dist/delegate.js +1 -0
  134. package/dist/delegate.js.map +1 -1
  135. package/dist/dispatch-control.d.ts +45 -0
  136. package/dist/dispatch-control.d.ts.map +1 -0
  137. package/dist/dispatch-control.js +76 -0
  138. package/dist/dispatch-control.js.map +1 -0
  139. package/dist/effect-profile-runtime.d.ts +40 -0
  140. package/dist/effect-profile-runtime.d.ts.map +1 -0
  141. package/dist/effect-profile-runtime.js +51 -0
  142. package/dist/effect-profile-runtime.js.map +1 -0
  143. package/dist/effect-profile.d.ts +40 -0
  144. package/dist/effect-profile.d.ts.map +1 -0
  145. package/dist/effect-profile.js +152 -0
  146. package/dist/effect-profile.js.map +1 -0
  147. package/dist/execution-retention.d.ts +90 -0
  148. package/dist/execution-retention.d.ts.map +1 -0
  149. package/dist/execution-retention.js +247 -0
  150. package/dist/execution-retention.js.map +1 -0
  151. package/dist/experiment-contract.d.ts +56 -0
  152. package/dist/experiment-contract.d.ts.map +1 -0
  153. package/dist/experiment-contract.js +80 -0
  154. package/dist/experiment-contract.js.map +1 -0
  155. package/dist/experiment-state.d.ts +22 -0
  156. package/dist/experiment-state.d.ts.map +1 -0
  157. package/dist/experiment-state.js +79 -0
  158. package/dist/experiment-state.js.map +1 -0
  159. package/dist/experiment-store.d.ts +28 -0
  160. package/dist/experiment-store.d.ts.map +1 -0
  161. package/dist/experiment-store.js +130 -0
  162. package/dist/experiment-store.js.map +1 -0
  163. package/dist/experiment.d.ts +65 -0
  164. package/dist/experiment.d.ts.map +1 -0
  165. package/dist/experiment.js +357 -0
  166. package/dist/experiment.js.map +1 -0
  167. package/dist/factory-contract.d.ts +79 -0
  168. package/dist/factory-contract.d.ts.map +1 -0
  169. package/dist/factory-contract.js +89 -0
  170. package/dist/factory-contract.js.map +1 -0
  171. package/dist/factory-migration.d.ts +20 -0
  172. package/dist/factory-migration.d.ts.map +1 -0
  173. package/dist/factory-migration.js +55 -0
  174. package/dist/factory-migration.js.map +1 -0
  175. package/dist/factory-order.d.ts +848 -0
  176. package/dist/factory-order.d.ts.map +1 -0
  177. package/dist/factory-order.js +83 -0
  178. package/dist/factory-order.js.map +1 -0
  179. package/dist/factory-registry.d.ts +121 -0
  180. package/dist/factory-registry.d.ts.map +1 -0
  181. package/dist/factory-registry.js +133 -0
  182. package/dist/factory-registry.js.map +1 -0
  183. package/dist/file-lock.d.ts +8 -2
  184. package/dist/file-lock.d.ts.map +1 -1
  185. package/dist/file-lock.js +78 -19
  186. package/dist/file-lock.js.map +1 -1
  187. package/dist/herdr-poll.d.ts +8 -0
  188. package/dist/herdr-poll.d.ts.map +1 -1
  189. package/dist/herdr-poll.js +23 -0
  190. package/dist/herdr-poll.js.map +1 -1
  191. package/dist/index.d.ts +20 -0
  192. package/dist/index.d.ts.map +1 -1
  193. package/dist/index.js +20 -0
  194. package/dist/index.js.map +1 -1
  195. package/dist/intent-application.d.ts +17 -0
  196. package/dist/intent-application.d.ts.map +1 -0
  197. package/dist/intent-application.js +113 -0
  198. package/dist/intent-application.js.map +1 -0
  199. package/dist/intent-control.d.ts +201 -0
  200. package/dist/intent-control.d.ts.map +1 -0
  201. package/dist/intent-control.js +110 -0
  202. package/dist/intent-control.js.map +1 -0
  203. package/dist/intent-scheduling.d.ts +9 -0
  204. package/dist/intent-scheduling.d.ts.map +1 -0
  205. package/dist/intent-scheduling.js +15 -0
  206. package/dist/intent-scheduling.js.map +1 -0
  207. package/dist/ledger-append.d.ts +15 -0
  208. package/dist/ledger-append.d.ts.map +1 -0
  209. package/dist/ledger-append.js +94 -0
  210. package/dist/ledger-append.js.map +1 -0
  211. package/dist/ledger.d.ts +11 -0
  212. package/dist/ledger.d.ts.map +1 -1
  213. package/dist/ledger.js +3 -7
  214. package/dist/ledger.js.map +1 -1
  215. package/dist/native-session-target.d.ts +9 -0
  216. package/dist/native-session-target.d.ts.map +1 -0
  217. package/dist/native-session-target.js +29 -0
  218. package/dist/native-session-target.js.map +1 -0
  219. package/dist/native-session.d.ts +59 -0
  220. package/dist/native-session.d.ts.map +1 -0
  221. package/dist/native-session.js +154 -0
  222. package/dist/native-session.js.map +1 -0
  223. package/dist/order-schedule.d.ts +37 -0
  224. package/dist/order-schedule.d.ts.map +1 -0
  225. package/dist/order-schedule.js +81 -0
  226. package/dist/order-schedule.js.map +1 -0
  227. package/dist/ordinary-children.d.ts +52 -0
  228. package/dist/ordinary-children.d.ts.map +1 -0
  229. package/dist/ordinary-children.js +93 -0
  230. package/dist/ordinary-children.js.map +1 -0
  231. package/dist/producer-ipc-contract.d.ts +29 -0
  232. package/dist/producer-ipc-contract.d.ts.map +1 -0
  233. package/dist/producer-ipc-contract.js +29 -0
  234. package/dist/producer-ipc-contract.js.map +1 -0
  235. package/dist/producer-ipc.d.ts +55 -0
  236. package/dist/producer-ipc.d.ts.map +1 -0
  237. package/dist/producer-ipc.js +143 -0
  238. package/dist/producer-ipc.js.map +1 -0
  239. package/dist/resource-budget.d.ts +334 -0
  240. package/dist/resource-budget.d.ts.map +1 -0
  241. package/dist/resource-budget.js +415 -0
  242. package/dist/resource-budget.js.map +1 -0
  243. package/dist/retention-contract.d.ts +73 -0
  244. package/dist/retention-contract.d.ts.map +1 -0
  245. package/dist/retention-contract.js +104 -0
  246. package/dist/retention-contract.js.map +1 -0
  247. package/dist/retention-json.d.ts +3 -0
  248. package/dist/retention-json.d.ts.map +1 -0
  249. package/dist/retention-json.js +32 -0
  250. package/dist/retention-json.js.map +1 -0
  251. package/dist/run-child.d.ts +4 -0
  252. package/dist/run-child.d.ts.map +1 -1
  253. package/dist/run-child.js +16 -2
  254. package/dist/run-child.js.map +1 -1
  255. package/dist/run-herdr.d.ts +6 -0
  256. package/dist/run-herdr.d.ts.map +1 -1
  257. package/dist/run-herdr.js +19 -6
  258. package/dist/run-herdr.js.map +1 -1
  259. package/dist/vendor/adoption.d.ts +129 -0
  260. package/dist/vendor/adoption.d.ts.map +1 -0
  261. package/dist/vendor/adoption.js +102 -0
  262. package/dist/vendor/adoption.js.map +1 -0
  263. package/dist/work-ledger-destination.d.ts +20 -0
  264. package/dist/work-ledger-destination.d.ts.map +1 -0
  265. package/dist/work-ledger-destination.js +131 -0
  266. package/dist/work-ledger-destination.js.map +1 -0
  267. package/dist/work-ledger-json.d.ts +25 -0
  268. package/dist/work-ledger-json.d.ts.map +1 -0
  269. package/dist/work-ledger-json.js +267 -0
  270. package/dist/work-ledger-json.js.map +1 -0
  271. package/dist/work-ledger-occurrences.d.ts +227 -0
  272. package/dist/work-ledger-occurrences.d.ts.map +1 -0
  273. package/dist/work-ledger-occurrences.js +115 -0
  274. package/dist/work-ledger-occurrences.js.map +1 -0
  275. package/dist/work-ledger-projection.d.ts +295 -0
  276. package/dist/work-ledger-projection.d.ts.map +1 -0
  277. package/dist/work-ledger-projection.js +237 -0
  278. package/dist/work-ledger-projection.js.map +1 -0
  279. package/dist/work-ledger-snapshot.d.ts +29 -0
  280. package/dist/work-ledger-snapshot.d.ts.map +1 -0
  281. package/dist/work-ledger-snapshot.js +267 -0
  282. package/dist/work-ledger-snapshot.js.map +1 -0
  283. package/dist/work-ledger-types.d.ts +261 -0
  284. package/dist/work-ledger-types.d.ts.map +1 -0
  285. package/dist/work-ledger-types.js +13 -0
  286. package/dist/work-ledger-types.js.map +1 -0
  287. package/dist/work-ledger-validation.d.ts +14 -0
  288. package/dist/work-ledger-validation.d.ts.map +1 -0
  289. package/dist/work-ledger-validation.js +226 -0
  290. package/dist/work-ledger-validation.js.map +1 -0
  291. package/dist/work-ledger.d.ts +43 -0
  292. package/dist/work-ledger.d.ts.map +1 -0
  293. package/dist/work-ledger.js +225 -0
  294. package/dist/work-ledger.js.map +1 -0
  295. package/extensions/delegate-chain.ts +1 -0
  296. package/extensions/delegation-native.ts +12 -0
  297. package/extensions/delegation.ts +4 -3
  298. package/extensions/execute-child.ts +34 -4
  299. package/extensions/grants.ts +2 -0
  300. package/extensions/ordinary-runtime.ts +14 -0
  301. package/extensions/run-delegation.ts +7 -7
  302. package/extensions/session.ts +3 -1
  303. package/package.json +78 -4
  304. package/src/check-runner.ts +20 -2
  305. package/src/control-journal.ts +26 -0
  306. package/src/daily-view-input.ts +59 -0
  307. package/src/daily-view-render.ts +44 -0
  308. package/src/daily-view.ts +152 -0
  309. package/src/dashboard-cli.ts +103 -4
  310. package/src/dashboard-harness.ts +28 -0
  311. package/src/dashboard-herdr.ts +7 -2
  312. package/src/dashboard-host-contract.ts +42 -0
  313. package/src/dashboard-host-transport.ts +38 -0
  314. package/src/dashboard-host.ts +168 -0
  315. package/src/dashboard-observation.ts +44 -0
  316. package/src/debrief-contract.ts +127 -0
  317. package/src/debrief-fixture.ts +29 -0
  318. package/src/debrief-host.ts +53 -0
  319. package/src/debrief-render.ts +49 -0
  320. package/src/debrief.ts +198 -0
  321. package/src/delegate-types.ts +2 -0
  322. package/src/delegate.ts +1 -0
  323. package/src/dispatch-control.ts +81 -0
  324. package/src/effect-profile-runtime.ts +46 -0
  325. package/src/effect-profile.ts +129 -0
  326. package/src/execution-retention.ts +230 -0
  327. package/src/experiment-contract.ts +66 -0
  328. package/src/experiment-state.ts +44 -0
  329. package/src/experiment-store.ts +90 -0
  330. package/src/experiment.ts +231 -0
  331. package/src/factory-contract.ts +47 -0
  332. package/src/factory-migration.ts +29 -0
  333. package/src/factory-order.ts +56 -0
  334. package/src/factory-registry.ts +60 -0
  335. package/src/file-lock.ts +47 -11
  336. package/src/herdr-poll.ts +18 -0
  337. package/src/index.ts +32 -0
  338. package/src/intent-application.ts +90 -0
  339. package/src/intent-control.ts +107 -0
  340. package/src/intent-scheduling.ts +14 -0
  341. package/src/ledger-append.ts +72 -0
  342. package/src/ledger.ts +3 -9
  343. package/src/native-session-target.ts +23 -0
  344. package/src/native-session.ts +139 -0
  345. package/src/order-schedule.ts +42 -0
  346. package/src/ordinary-children.ts +59 -0
  347. package/src/producer-ipc-contract.ts +26 -0
  348. package/src/producer-ipc.ts +107 -0
  349. package/src/resource-budget.ts +349 -0
  350. package/src/retention-contract.ts +84 -0
  351. package/src/retention-json.ts +20 -0
  352. package/src/run-child.ts +13 -2
  353. package/src/run-herdr.ts +11 -7
  354. package/src/vendor/adoption.ts +109 -0
  355. package/src/work-ledger-destination.ts +113 -0
  356. package/src/work-ledger-json.ts +228 -0
  357. package/src/work-ledger-occurrences.ts +99 -0
  358. package/src/work-ledger-projection.ts +262 -0
  359. package/src/work-ledger-snapshot.ts +246 -0
  360. package/src/work-ledger-types.ts +229 -0
  361. package/src/work-ledger-validation.ts +174 -0
  362. package/src/work-ledger.ts +186 -0
@@ -0,0 +1,858 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://pi-daddy.local/contracts/execution-retention/v2/manifest.schema.json",
4
+ "type": "object",
5
+ "properties": {
6
+ "version": {
7
+ "const": "2.0"
8
+ },
9
+ "archiveId": {
10
+ "type": "string",
11
+ "pattern": "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
12
+ },
13
+ "identity": {
14
+ "type": "object",
15
+ "properties": {
16
+ "executionId": {
17
+ "type": "string",
18
+ "minLength": 1,
19
+ "maxLength": 512,
20
+ "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
21
+ },
22
+ "parentExecutionId": {
23
+ "anyOf": [
24
+ {
25
+ "type": "string",
26
+ "minLength": 1,
27
+ "maxLength": 512,
28
+ "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
29
+ },
30
+ {
31
+ "type": "null"
32
+ }
33
+ ]
34
+ },
35
+ "childId": {
36
+ "type": "string",
37
+ "minLength": 1,
38
+ "maxLength": 512,
39
+ "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
40
+ },
41
+ "toolCallId": {
42
+ "anyOf": [
43
+ {
44
+ "type": "string",
45
+ "minLength": 1,
46
+ "maxLength": 512,
47
+ "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
48
+ },
49
+ {
50
+ "type": "null"
51
+ }
52
+ ]
53
+ },
54
+ "executor": {
55
+ "enum": [
56
+ "process",
57
+ "herdr",
58
+ "check"
59
+ ]
60
+ },
61
+ "taskDigest": {
62
+ "anyOf": [
63
+ {
64
+ "type": "string",
65
+ "pattern": "^[a-f0-9]{64}$"
66
+ },
67
+ {
68
+ "type": "null"
69
+ }
70
+ ]
71
+ },
72
+ "definitionDigest": {
73
+ "anyOf": [
74
+ {
75
+ "type": "string",
76
+ "pattern": "^[a-f0-9]{64}$"
77
+ },
78
+ {
79
+ "type": "null"
80
+ }
81
+ ]
82
+ },
83
+ "configurationDigest": {
84
+ "type": "string",
85
+ "pattern": "^[a-f0-9]{64}$"
86
+ },
87
+ "workspaceId": {
88
+ "anyOf": [
89
+ {
90
+ "type": "string",
91
+ "minLength": 1,
92
+ "maxLength": 512,
93
+ "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
94
+ },
95
+ {
96
+ "type": "null"
97
+ }
98
+ ]
99
+ }
100
+ },
101
+ "required": [
102
+ "executionId",
103
+ "parentExecutionId",
104
+ "childId",
105
+ "toolCallId",
106
+ "executor",
107
+ "taskDigest",
108
+ "definitionDigest",
109
+ "configurationDigest",
110
+ "workspaceId"
111
+ ],
112
+ "additionalProperties": false
113
+ },
114
+ "native": {
115
+ "type": "object",
116
+ "properties": {
117
+ "pid": {
118
+ "anyOf": [
119
+ {
120
+ "type": "integer",
121
+ "minimum": 1,
122
+ "maximum": 9007199254740991
123
+ },
124
+ {
125
+ "type": "null"
126
+ }
127
+ ]
128
+ },
129
+ "paneId": {
130
+ "anyOf": [
131
+ {
132
+ "type": "string",
133
+ "minLength": 1,
134
+ "maxLength": 4096,
135
+ "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
136
+ },
137
+ {
138
+ "type": "null"
139
+ }
140
+ ]
141
+ },
142
+ "agentName": {
143
+ "anyOf": [
144
+ {
145
+ "type": "string",
146
+ "minLength": 1,
147
+ "maxLength": 4096,
148
+ "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
149
+ },
150
+ {
151
+ "type": "null"
152
+ }
153
+ ]
154
+ },
155
+ "tabId": {
156
+ "anyOf": [
157
+ {
158
+ "type": "string",
159
+ "minLength": 1,
160
+ "maxLength": 4096,
161
+ "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
162
+ },
163
+ {
164
+ "type": "null"
165
+ }
166
+ ]
167
+ },
168
+ "sessionId": {
169
+ "anyOf": [
170
+ {
171
+ "type": "string",
172
+ "pattern": "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
173
+ },
174
+ {
175
+ "type": "null"
176
+ }
177
+ ]
178
+ },
179
+ "sessionPath": {
180
+ "anyOf": [
181
+ {
182
+ "type": "string",
183
+ "minLength": 1,
184
+ "maxLength": 4096,
185
+ "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
186
+ },
187
+ {
188
+ "type": "null"
189
+ }
190
+ ]
191
+ },
192
+ "branchLeafId": {
193
+ "anyOf": [
194
+ {
195
+ "type": "string",
196
+ "minLength": 1,
197
+ "maxLength": 128,
198
+ "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
199
+ },
200
+ {
201
+ "type": "null"
202
+ }
203
+ ]
204
+ }
205
+ },
206
+ "required": [
207
+ "pid",
208
+ "paneId",
209
+ "agentName",
210
+ "tabId",
211
+ "sessionId",
212
+ "sessionPath",
213
+ "branchLeafId"
214
+ ],
215
+ "additionalProperties": false
216
+ },
217
+ "nativeSession": {
218
+ "type": "object",
219
+ "properties": {
220
+ "source": {
221
+ "enum": [
222
+ null,
223
+ "herdr-id",
224
+ "herdr-path",
225
+ "pi-session-file",
226
+ "pi-session-manager"
227
+ ]
228
+ },
229
+ "status": {
230
+ "enum": [
231
+ "missing",
232
+ "verified",
233
+ "invalid",
234
+ "changed",
235
+ "truncated",
236
+ "unsupported"
237
+ ]
238
+ },
239
+ "sessionId": {
240
+ "anyOf": [
241
+ {
242
+ "type": "string",
243
+ "pattern": "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
244
+ },
245
+ {
246
+ "type": "null"
247
+ }
248
+ ]
249
+ },
250
+ "sessionPath": {
251
+ "anyOf": [
252
+ {
253
+ "type": "string",
254
+ "minLength": 1,
255
+ "maxLength": 4096,
256
+ "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
257
+ },
258
+ {
259
+ "type": "null"
260
+ }
261
+ ]
262
+ },
263
+ "parentSessionPath": {
264
+ "anyOf": [
265
+ {
266
+ "type": "string",
267
+ "minLength": 1,
268
+ "maxLength": 4096,
269
+ "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
270
+ },
271
+ {
272
+ "type": "null"
273
+ }
274
+ ]
275
+ },
276
+ "branchLeafId": {
277
+ "anyOf": [
278
+ {
279
+ "type": "string",
280
+ "minLength": 1,
281
+ "maxLength": 128,
282
+ "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
283
+ },
284
+ {
285
+ "type": "null"
286
+ }
287
+ ]
288
+ },
289
+ "branchState": {
290
+ "enum": [
291
+ "unknown",
292
+ "observed"
293
+ ]
294
+ },
295
+ "lastPersistedEntryId": {
296
+ "anyOf": [
297
+ {
298
+ "type": "string",
299
+ "minLength": 1,
300
+ "maxLength": 128,
301
+ "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
302
+ },
303
+ {
304
+ "type": "null"
305
+ }
306
+ ]
307
+ },
308
+ "sha256": {
309
+ "anyOf": [
310
+ {
311
+ "type": "string",
312
+ "pattern": "^[a-f0-9]{64}$"
313
+ },
314
+ {
315
+ "type": "null"
316
+ }
317
+ ]
318
+ },
319
+ "reason": {
320
+ "anyOf": [
321
+ {
322
+ "type": "string",
323
+ "minLength": 1,
324
+ "maxLength": 512,
325
+ "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
326
+ },
327
+ {
328
+ "type": "null"
329
+ }
330
+ ]
331
+ }
332
+ },
333
+ "required": [
334
+ "source",
335
+ "status",
336
+ "sessionId",
337
+ "sessionPath",
338
+ "parentSessionPath",
339
+ "branchLeafId",
340
+ "branchState",
341
+ "lastPersistedEntryId",
342
+ "sha256",
343
+ "reason"
344
+ ],
345
+ "additionalProperties": false
346
+ },
347
+ "state": {
348
+ "enum": [
349
+ "running",
350
+ "terminal"
351
+ ]
352
+ },
353
+ "outcome": {
354
+ "anyOf": [
355
+ {
356
+ "type": "object",
357
+ "properties": {
358
+ "code": {
359
+ "anyOf": [
360
+ {
361
+ "type": "integer",
362
+ "minimum": -2147483648,
363
+ "maximum": 2147483647
364
+ },
365
+ {
366
+ "type": "null"
367
+ }
368
+ ]
369
+ },
370
+ "signal": {
371
+ "anyOf": [
372
+ {
373
+ "type": "string",
374
+ "minLength": 1,
375
+ "maxLength": 64,
376
+ "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
377
+ },
378
+ {
379
+ "type": "null"
380
+ }
381
+ ]
382
+ },
383
+ "timedOut": {
384
+ "type": "boolean"
385
+ },
386
+ "aborted": {
387
+ "type": "boolean"
388
+ },
389
+ "truncated": {
390
+ "type": "boolean"
391
+ },
392
+ "failed": {
393
+ "type": "boolean"
394
+ }
395
+ },
396
+ "required": [
397
+ "code",
398
+ "signal",
399
+ "timedOut",
400
+ "aborted",
401
+ "truncated",
402
+ "failed"
403
+ ],
404
+ "additionalProperties": false
405
+ },
406
+ {
407
+ "type": "null"
408
+ }
409
+ ]
410
+ },
411
+ "content": {
412
+ "type": "object",
413
+ "properties": {
414
+ "stdout": {
415
+ "oneOf": [
416
+ {
417
+ "type": "object",
418
+ "properties": {
419
+ "status": {
420
+ "const": "missing"
421
+ },
422
+ "path": {
423
+ "const": null
424
+ },
425
+ "sha256": {
426
+ "const": null
427
+ },
428
+ "bytes": {
429
+ "const": null
430
+ }
431
+ },
432
+ "required": [
433
+ "status",
434
+ "path",
435
+ "sha256",
436
+ "bytes"
437
+ ],
438
+ "additionalProperties": false
439
+ },
440
+ {
441
+ "type": "object",
442
+ "properties": {
443
+ "status": {
444
+ "const": "retained"
445
+ },
446
+ "path": {
447
+ "type": "string",
448
+ "pattern": "^stdout-[a-f0-9]{64}\\.bin$"
449
+ },
450
+ "sha256": {
451
+ "type": "string",
452
+ "pattern": "^[a-f0-9]{64}$"
453
+ },
454
+ "bytes": {
455
+ "type": "integer",
456
+ "minimum": 0,
457
+ "maximum": 1048576
458
+ }
459
+ },
460
+ "required": [
461
+ "status",
462
+ "path",
463
+ "sha256",
464
+ "bytes"
465
+ ],
466
+ "additionalProperties": false
467
+ }
468
+ ]
469
+ },
470
+ "stderr": {
471
+ "oneOf": [
472
+ {
473
+ "type": "object",
474
+ "properties": {
475
+ "status": {
476
+ "const": "missing"
477
+ },
478
+ "path": {
479
+ "const": null
480
+ },
481
+ "sha256": {
482
+ "const": null
483
+ },
484
+ "bytes": {
485
+ "const": null
486
+ }
487
+ },
488
+ "required": [
489
+ "status",
490
+ "path",
491
+ "sha256",
492
+ "bytes"
493
+ ],
494
+ "additionalProperties": false
495
+ },
496
+ {
497
+ "type": "object",
498
+ "properties": {
499
+ "status": {
500
+ "const": "retained"
501
+ },
502
+ "path": {
503
+ "type": "string",
504
+ "pattern": "^stderr-[a-f0-9]{64}\\.bin$"
505
+ },
506
+ "sha256": {
507
+ "type": "string",
508
+ "pattern": "^[a-f0-9]{64}$"
509
+ },
510
+ "bytes": {
511
+ "type": "integer",
512
+ "minimum": 0,
513
+ "maximum": 1048576
514
+ }
515
+ },
516
+ "required": [
517
+ "status",
518
+ "path",
519
+ "sha256",
520
+ "bytes"
521
+ ],
522
+ "additionalProperties": false
523
+ }
524
+ ]
525
+ },
526
+ "paneSnapshot": {
527
+ "oneOf": [
528
+ {
529
+ "type": "object",
530
+ "properties": {
531
+ "status": {
532
+ "const": "missing"
533
+ },
534
+ "path": {
535
+ "const": null
536
+ },
537
+ "sha256": {
538
+ "const": null
539
+ },
540
+ "bytes": {
541
+ "const": null
542
+ }
543
+ },
544
+ "required": [
545
+ "status",
546
+ "path",
547
+ "sha256",
548
+ "bytes"
549
+ ],
550
+ "additionalProperties": false
551
+ },
552
+ {
553
+ "type": "object",
554
+ "properties": {
555
+ "status": {
556
+ "const": "retained"
557
+ },
558
+ "path": {
559
+ "type": "string",
560
+ "pattern": "^paneSnapshot-[a-f0-9]{64}\\.bin$"
561
+ },
562
+ "sha256": {
563
+ "type": "string",
564
+ "pattern": "^[a-f0-9]{64}$"
565
+ },
566
+ "bytes": {
567
+ "type": "integer",
568
+ "minimum": 0,
569
+ "maximum": 1048576
570
+ }
571
+ },
572
+ "required": [
573
+ "status",
574
+ "path",
575
+ "sha256",
576
+ "bytes"
577
+ ],
578
+ "additionalProperties": false
579
+ }
580
+ ]
581
+ },
582
+ "checkReceipt": {
583
+ "oneOf": [
584
+ {
585
+ "type": "object",
586
+ "properties": {
587
+ "status": {
588
+ "const": "missing"
589
+ },
590
+ "path": {
591
+ "const": null
592
+ },
593
+ "sha256": {
594
+ "const": null
595
+ },
596
+ "bytes": {
597
+ "const": null
598
+ }
599
+ },
600
+ "required": [
601
+ "status",
602
+ "path",
603
+ "sha256",
604
+ "bytes"
605
+ ],
606
+ "additionalProperties": false
607
+ },
608
+ {
609
+ "type": "object",
610
+ "properties": {
611
+ "status": {
612
+ "const": "retained"
613
+ },
614
+ "path": {
615
+ "type": "string",
616
+ "pattern": "^checkReceipt-[a-f0-9]{64}\\.bin$"
617
+ },
618
+ "sha256": {
619
+ "type": "string",
620
+ "pattern": "^[a-f0-9]{64}$"
621
+ },
622
+ "bytes": {
623
+ "type": "integer",
624
+ "minimum": 0,
625
+ "maximum": 1048576
626
+ }
627
+ },
628
+ "required": [
629
+ "status",
630
+ "path",
631
+ "sha256",
632
+ "bytes"
633
+ ],
634
+ "additionalProperties": false
635
+ }
636
+ ]
637
+ },
638
+ "result": {
639
+ "oneOf": [
640
+ {
641
+ "type": "object",
642
+ "properties": {
643
+ "status": {
644
+ "const": "missing"
645
+ },
646
+ "path": {
647
+ "const": null
648
+ },
649
+ "sha256": {
650
+ "const": null
651
+ },
652
+ "bytes": {
653
+ "const": null
654
+ }
655
+ },
656
+ "required": [
657
+ "status",
658
+ "path",
659
+ "sha256",
660
+ "bytes"
661
+ ],
662
+ "additionalProperties": false
663
+ },
664
+ {
665
+ "type": "object",
666
+ "properties": {
667
+ "status": {
668
+ "const": "retained"
669
+ },
670
+ "path": {
671
+ "type": "string",
672
+ "pattern": "^result-[a-f0-9]{64}\\.bin$"
673
+ },
674
+ "sha256": {
675
+ "type": "string",
676
+ "pattern": "^[a-f0-9]{64}$"
677
+ },
678
+ "bytes": {
679
+ "type": "integer",
680
+ "minimum": 0,
681
+ "maximum": 1048576
682
+ }
683
+ },
684
+ "required": [
685
+ "status",
686
+ "path",
687
+ "sha256",
688
+ "bytes"
689
+ ],
690
+ "additionalProperties": false
691
+ }
692
+ ]
693
+ },
694
+ "session": {
695
+ "oneOf": [
696
+ {
697
+ "type": "object",
698
+ "properties": {
699
+ "status": {
700
+ "const": "missing"
701
+ },
702
+ "path": {
703
+ "const": null
704
+ },
705
+ "sha256": {
706
+ "const": null
707
+ },
708
+ "bytes": {
709
+ "const": null
710
+ }
711
+ },
712
+ "required": [
713
+ "status",
714
+ "path",
715
+ "sha256",
716
+ "bytes"
717
+ ],
718
+ "additionalProperties": false
719
+ },
720
+ {
721
+ "type": "object",
722
+ "properties": {
723
+ "status": {
724
+ "const": "retained"
725
+ },
726
+ "path": {
727
+ "type": "string",
728
+ "pattern": "^session-[a-f0-9]{64}\\.bin$"
729
+ },
730
+ "sha256": {
731
+ "type": "string",
732
+ "pattern": "^[a-f0-9]{64}$"
733
+ },
734
+ "bytes": {
735
+ "type": "integer",
736
+ "minimum": 0,
737
+ "maximum": 1048576
738
+ }
739
+ },
740
+ "required": [
741
+ "status",
742
+ "path",
743
+ "sha256",
744
+ "bytes"
745
+ ],
746
+ "additionalProperties": false
747
+ }
748
+ ]
749
+ }
750
+ },
751
+ "required": [
752
+ "stdout",
753
+ "stderr",
754
+ "paneSnapshot",
755
+ "checkReceipt",
756
+ "result",
757
+ "session"
758
+ ],
759
+ "additionalProperties": false
760
+ },
761
+ "coverage": {
762
+ "type": "object",
763
+ "properties": {
764
+ "complete": {
765
+ "const": false
766
+ },
767
+ "losses": {
768
+ "type": "array",
769
+ "items": {
770
+ "type": "string",
771
+ "minLength": 1,
772
+ "maxLength": 512,
773
+ "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
774
+ },
775
+ "maxItems": 64,
776
+ "uniqueItems": true
777
+ }
778
+ },
779
+ "required": [
780
+ "complete",
781
+ "losses"
782
+ ],
783
+ "additionalProperties": false
784
+ },
785
+ "acceptance": {
786
+ "const": "not-assessed"
787
+ }
788
+ },
789
+ "required": [
790
+ "version",
791
+ "archiveId",
792
+ "identity",
793
+ "native",
794
+ "nativeSession",
795
+ "state",
796
+ "outcome",
797
+ "content",
798
+ "coverage",
799
+ "acceptance"
800
+ ],
801
+ "additionalProperties": false,
802
+ "allOf": [
803
+ {
804
+ "if": {
805
+ "properties": {
806
+ "state": {
807
+ "const": "running"
808
+ }
809
+ }
810
+ },
811
+ "then": {
812
+ "properties": {
813
+ "outcome": {
814
+ "const": null
815
+ }
816
+ }
817
+ },
818
+ "else": {
819
+ "properties": {
820
+ "outcome": {
821
+ "type": "object"
822
+ }
823
+ }
824
+ }
825
+ },
826
+ {
827
+ "if": {
828
+ "properties": {
829
+ "nativeSession": {
830
+ "properties": {
831
+ "branchState": {
832
+ "const": "unknown"
833
+ }
834
+ }
835
+ }
836
+ }
837
+ },
838
+ "then": {
839
+ "properties": {
840
+ "nativeSession": {
841
+ "properties": {
842
+ "branchLeafId": {
843
+ "const": null
844
+ }
845
+ }
846
+ },
847
+ "native": {
848
+ "properties": {
849
+ "branchLeafId": {
850
+ "const": null
851
+ }
852
+ }
853
+ }
854
+ }
855
+ }
856
+ }
857
+ ]
858
+ }