pi-daddy 0.28.0 → 0.32.1

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 (1012) hide show
  1. package/CHANGELOG.md +108 -124
  2. package/README.md +18 -896
  3. package/THIRD_PARTY_NOTICES.md +1 -1
  4. package/contracts/ledger-record/v1/README.md +44 -0
  5. package/contracts/ledger-record/v1/fixtures/child-lifecycle.json +45 -0
  6. package/contracts/ledger-record/v1/fixtures/ledger-record.jsonl +3 -0
  7. package/contracts/ledger-record/v1/governance-event.schema.json +747 -0
  8. package/contracts/ledger-record/v1/record.schema.json +91 -0
  9. package/dist/cli.d.ts +10 -4
  10. package/dist/cli.d.ts.map +1 -1
  11. package/dist/cli.js +120 -106
  12. package/dist/cli.js.map +1 -1
  13. package/dist/executors/activity-session.d.ts +12 -0
  14. package/dist/executors/activity-session.d.ts.map +1 -0
  15. package/dist/executors/activity-session.js +43 -0
  16. package/dist/executors/activity-session.js.map +1 -0
  17. package/dist/executors/executor.d.ts +39 -0
  18. package/dist/executors/executor.d.ts.map +1 -0
  19. package/dist/executors/executor.js +95 -0
  20. package/dist/executors/executor.js.map +1 -0
  21. package/dist/executors/herdr-cli.d.ts +78 -0
  22. package/dist/executors/herdr-cli.d.ts.map +1 -0
  23. package/dist/executors/herdr-cli.js +114 -0
  24. package/dist/executors/herdr-cli.js.map +1 -0
  25. package/dist/executors/herdr-name.d.ts.map +1 -0
  26. package/dist/executors/herdr-name.js.map +1 -0
  27. package/dist/executors/herdr-pi-lifecycle.d.ts.map +1 -0
  28. package/dist/executors/herdr-pi-lifecycle.js +22 -0
  29. package/dist/executors/herdr-pi-lifecycle.js.map +1 -0
  30. package/dist/executors/herdr-poll.d.ts +140 -0
  31. package/dist/executors/herdr-poll.d.ts.map +1 -0
  32. package/dist/executors/herdr-poll.js +252 -0
  33. package/dist/executors/herdr-poll.js.map +1 -0
  34. package/dist/executors/herdr-stage.d.ts +40 -0
  35. package/dist/executors/herdr-stage.d.ts.map +1 -0
  36. package/dist/executors/herdr-stage.js +54 -0
  37. package/dist/executors/herdr-stage.js.map +1 -0
  38. package/dist/executors/herdr-start.d.ts.map +1 -0
  39. package/dist/executors/herdr-start.js.map +1 -0
  40. package/dist/executors/native-session-target.d.ts +9 -0
  41. package/dist/executors/native-session-target.d.ts.map +1 -0
  42. package/dist/executors/native-session-target.js +30 -0
  43. package/dist/executors/native-session-target.js.map +1 -0
  44. package/dist/executors/pane-reaper.d.ts +111 -0
  45. package/dist/executors/pane-reaper.d.ts.map +1 -0
  46. package/dist/executors/pane-reaper.js +242 -0
  47. package/dist/executors/pane-reaper.js.map +1 -0
  48. package/dist/executors/process-activity.d.ts +3 -0
  49. package/dist/executors/process-activity.d.ts.map +1 -0
  50. package/dist/executors/process-activity.js +59 -0
  51. package/dist/executors/process-activity.js.map +1 -0
  52. package/dist/executors/run-herdr.d.ts +122 -0
  53. package/dist/executors/run-herdr.d.ts.map +1 -0
  54. package/dist/executors/run-herdr.js +341 -0
  55. package/dist/executors/run-herdr.js.map +1 -0
  56. package/dist/executors/vendor/herdr-pi-lifecycle.d.ts.map +1 -0
  57. package/dist/executors/vendor/herdr-pi-lifecycle.js.map +1 -0
  58. package/dist/governance/approval-prompt.d.ts +119 -0
  59. package/dist/governance/approval-prompt.d.ts.map +1 -0
  60. package/dist/governance/approval-prompt.js +133 -0
  61. package/dist/governance/approval-prompt.js.map +1 -0
  62. package/dist/governance/approval-store.d.ts +149 -0
  63. package/dist/governance/approval-store.d.ts.map +1 -0
  64. package/dist/governance/approval-store.js +309 -0
  65. package/dist/governance/approval-store.js.map +1 -0
  66. package/dist/governance/execution-retention.d.ts +90 -0
  67. package/dist/governance/execution-retention.d.ts.map +1 -0
  68. package/dist/governance/execution-retention.js +317 -0
  69. package/dist/governance/execution-retention.js.map +1 -0
  70. package/dist/governance/file-lock.d.ts.map +1 -0
  71. package/dist/governance/file-lock.js +205 -0
  72. package/dist/governance/file-lock.js.map +1 -0
  73. package/dist/governance/finalization.d.ts.map +1 -0
  74. package/dist/governance/finalization.js.map +1 -0
  75. package/dist/governance/grant-store.d.ts +96 -0
  76. package/dist/governance/grant-store.d.ts.map +1 -0
  77. package/dist/governance/grant-store.js +186 -0
  78. package/dist/governance/grant-store.js.map +1 -0
  79. package/dist/governance/init.d.ts +129 -0
  80. package/dist/governance/init.d.ts.map +1 -0
  81. package/dist/governance/init.js +360 -0
  82. package/dist/governance/init.js.map +1 -0
  83. package/dist/governance/lease-helper.d.ts.map +1 -0
  84. package/dist/governance/lease-helper.js +121 -0
  85. package/dist/governance/lease-helper.js.map +1 -0
  86. package/dist/governance/lease-record.d.ts +90 -0
  87. package/dist/governance/lease-record.d.ts.map +1 -0
  88. package/dist/governance/lease-record.js.map +1 -0
  89. package/dist/governance/ledger-events.d.ts +111 -0
  90. package/dist/governance/ledger-events.d.ts.map +1 -0
  91. package/dist/governance/ledger-events.js +129 -0
  92. package/dist/governance/ledger-events.js.map +1 -0
  93. package/dist/governance/ledger-report.d.ts +134 -0
  94. package/dist/governance/ledger-report.d.ts.map +1 -0
  95. package/dist/governance/ledger-report.js +294 -0
  96. package/dist/governance/ledger-report.js.map +1 -0
  97. package/dist/governance/ledger-v3-validation.d.ts +21 -0
  98. package/dist/governance/ledger-v3-validation.d.ts.map +1 -0
  99. package/dist/governance/ledger-v3-validation.js +353 -0
  100. package/dist/governance/ledger-v3-validation.js.map +1 -0
  101. package/dist/governance/ledger.d.ts +258 -0
  102. package/dist/governance/ledger.d.ts.map +1 -0
  103. package/dist/governance/ledger.js +201 -0
  104. package/dist/governance/ledger.js.map +1 -0
  105. package/dist/governance/native-session.d.ts +59 -0
  106. package/dist/governance/native-session.d.ts.map +1 -0
  107. package/dist/governance/native-session.js +208 -0
  108. package/dist/governance/native-session.js.map +1 -0
  109. package/dist/governance/record.d.ts +65 -0
  110. package/dist/governance/record.d.ts.map +1 -0
  111. package/dist/governance/record.js +259 -0
  112. package/dist/governance/record.js.map +1 -0
  113. package/dist/governance/retention-contract.d.ts.map +1 -0
  114. package/dist/governance/retention-contract.js +187 -0
  115. package/dist/governance/retention-contract.js.map +1 -0
  116. package/dist/governance/retention-json.d.ts.map +1 -0
  117. package/dist/governance/retention-json.js.map +1 -0
  118. package/dist/governance/workspace-lease.d.ts +40 -0
  119. package/dist/governance/workspace-lease.d.ts.map +1 -0
  120. package/dist/governance/workspace-lease.js +357 -0
  121. package/dist/governance/workspace-lease.js.map +1 -0
  122. package/dist/index.d.ts +59 -42
  123. package/dist/index.d.ts.map +1 -1
  124. package/dist/index.js +61 -42
  125. package/dist/index.js.map +1 -1
  126. package/dist/kernel/approval.d.ts +241 -0
  127. package/dist/kernel/approval.d.ts.map +1 -0
  128. package/dist/kernel/approval.js +270 -0
  129. package/dist/kernel/approval.js.map +1 -0
  130. package/dist/kernel/capabilities.d.ts +136 -0
  131. package/dist/kernel/capabilities.d.ts.map +1 -0
  132. package/dist/kernel/capabilities.js +199 -0
  133. package/dist/kernel/capabilities.js.map +1 -0
  134. package/dist/kernel/catalog.d.ts +125 -0
  135. package/dist/kernel/catalog.d.ts.map +1 -0
  136. package/dist/kernel/catalog.js +338 -0
  137. package/dist/kernel/catalog.js.map +1 -0
  138. package/dist/kernel/chain.d.ts.map +1 -0
  139. package/dist/kernel/chain.js.map +1 -0
  140. package/dist/kernel/correlation.d.ts.map +1 -0
  141. package/dist/kernel/correlation.js +267 -0
  142. package/dist/kernel/correlation.js.map +1 -0
  143. package/dist/kernel/definitions.d.ts.map +1 -0
  144. package/dist/kernel/definitions.js +164 -0
  145. package/dist/kernel/definitions.js.map +1 -0
  146. package/dist/kernel/delegate-types.d.ts +160 -0
  147. package/dist/kernel/delegate-types.d.ts.map +1 -0
  148. package/dist/kernel/delegate-types.js +9 -0
  149. package/dist/kernel/delegate-types.js.map +1 -0
  150. package/dist/kernel/delegate.d.ts.map +1 -0
  151. package/dist/kernel/delegate.js +320 -0
  152. package/dist/kernel/delegate.js.map +1 -0
  153. package/dist/kernel/delegation-approval.d.ts.map +1 -0
  154. package/dist/kernel/delegation-approval.js +93 -0
  155. package/dist/kernel/delegation-approval.js.map +1 -0
  156. package/dist/kernel/env-names.d.ts +51 -0
  157. package/dist/kernel/env-names.d.ts.map +1 -0
  158. package/dist/kernel/env-names.js +112 -0
  159. package/dist/kernel/env-names.js.map +1 -0
  160. package/dist/kernel/execution-id.d.ts.map +1 -0
  161. package/dist/kernel/execution-id.js.map +1 -0
  162. package/dist/kernel/fanout.d.ts.map +1 -0
  163. package/dist/kernel/fanout.js +93 -0
  164. package/dist/kernel/fanout.js.map +1 -0
  165. package/dist/kernel/grant-env.d.ts +118 -0
  166. package/dist/kernel/grant-env.d.ts.map +1 -0
  167. package/dist/kernel/grant-env.js +104 -0
  168. package/dist/kernel/grant-env.js.map +1 -0
  169. package/dist/kernel/ledger-identifiers.d.ts.map +1 -0
  170. package/dist/kernel/ledger-identifiers.js.map +1 -0
  171. package/dist/kernel/model-preflight.d.ts +13 -0
  172. package/dist/kernel/model-preflight.d.ts.map +1 -0
  173. package/dist/kernel/model-preflight.js +30 -0
  174. package/dist/kernel/model-preflight.js.map +1 -0
  175. package/dist/kernel/pi-tools.d.ts.map +1 -0
  176. package/dist/kernel/pi-tools.js +29 -0
  177. package/dist/kernel/pi-tools.js.map +1 -0
  178. package/dist/kernel/progress.d.ts.map +1 -0
  179. package/dist/kernel/progress.js.map +1 -0
  180. package/dist/kernel/project-paths.d.ts +43 -0
  181. package/dist/kernel/project-paths.d.ts.map +1 -0
  182. package/dist/kernel/project-paths.js +81 -0
  183. package/dist/kernel/project-paths.js.map +1 -0
  184. package/dist/kernel/propagation.d.ts +195 -0
  185. package/dist/kernel/propagation.d.ts.map +1 -0
  186. package/dist/kernel/propagation.js +275 -0
  187. package/dist/kernel/propagation.js.map +1 -0
  188. package/dist/kernel/refusals.d.ts +16 -0
  189. package/dist/kernel/refusals.d.ts.map +1 -0
  190. package/dist/kernel/refusals.js +53 -0
  191. package/dist/kernel/refusals.js.map +1 -0
  192. package/dist/kernel/resolve.d.ts +120 -0
  193. package/dist/kernel/resolve.d.ts.map +1 -0
  194. package/dist/kernel/resolve.js +201 -0
  195. package/dist/kernel/resolve.js.map +1 -0
  196. package/dist/kernel/routing-authority.d.ts +71 -0
  197. package/dist/kernel/routing-authority.d.ts.map +1 -0
  198. package/dist/kernel/routing-authority.js +100 -0
  199. package/dist/kernel/routing-authority.js.map +1 -0
  200. package/dist/kernel/run-child.d.ts +111 -0
  201. package/dist/kernel/run-child.d.ts.map +1 -0
  202. package/dist/kernel/run-child.js +324 -0
  203. package/dist/kernel/run-child.js.map +1 -0
  204. package/dist/kernel/skill-packages.d.ts +116 -0
  205. package/dist/kernel/skill-packages.d.ts.map +1 -0
  206. package/dist/kernel/skill-packages.js +300 -0
  207. package/dist/kernel/skill-packages.js.map +1 -0
  208. package/dist/kernel/skill-resources.d.ts.map +1 -0
  209. package/dist/kernel/skill-resources.js +56 -0
  210. package/dist/kernel/skill-resources.js.map +1 -0
  211. package/dist/kernel/spawn.d.ts +60 -0
  212. package/dist/kernel/spawn.d.ts.map +1 -0
  213. package/dist/kernel/spawn.js +116 -0
  214. package/dist/kernel/spawn.js.map +1 -0
  215. package/dist/kernel/workspace.d.ts +51 -0
  216. package/dist/kernel/workspace.d.ts.map +1 -0
  217. package/dist/kernel/workspace.js +223 -0
  218. package/dist/kernel/workspace.js.map +1 -0
  219. package/dist/products/activity-timeline.d.ts +126 -0
  220. package/dist/products/activity-timeline.d.ts.map +1 -0
  221. package/dist/products/activity-timeline.js +542 -0
  222. package/dist/products/activity-timeline.js.map +1 -0
  223. package/dist/products/dashboard-cli.d.ts +26 -0
  224. package/dist/products/dashboard-cli.d.ts.map +1 -0
  225. package/dist/products/dashboard-cli.js +224 -0
  226. package/dist/products/dashboard-cli.js.map +1 -0
  227. package/dist/products/dashboard-display-controls.d.ts +17 -0
  228. package/dist/products/dashboard-display-controls.d.ts.map +1 -0
  229. package/dist/products/dashboard-display-controls.js +38 -0
  230. package/dist/products/dashboard-display-controls.js.map +1 -0
  231. package/dist/products/dashboard-handshake.d.ts +42 -0
  232. package/dist/products/dashboard-handshake.d.ts.map +1 -0
  233. package/dist/products/dashboard-handshake.js +158 -0
  234. package/dist/products/dashboard-handshake.js.map +1 -0
  235. package/dist/products/dashboard-herdr.d.ts +55 -0
  236. package/dist/products/dashboard-herdr.d.ts.map +1 -0
  237. package/dist/products/dashboard-herdr.js +324 -0
  238. package/dist/products/dashboard-herdr.js.map +1 -0
  239. package/dist/products/dashboard-projection.d.ts +62 -0
  240. package/dist/products/dashboard-projection.d.ts.map +1 -0
  241. package/dist/products/dashboard-projection.js +305 -0
  242. package/dist/products/dashboard-projection.js.map +1 -0
  243. package/dist/products/dashboard-render.d.ts.map +1 -0
  244. package/dist/products/dashboard-render.js +208 -0
  245. package/dist/products/dashboard-render.js.map +1 -0
  246. package/extensions/activity-timeline.ts +134 -28
  247. package/extensions/approval-banking.ts +3 -3
  248. package/extensions/approvals.ts +18 -12
  249. package/extensions/chain-approval-facts.ts +9 -6
  250. package/extensions/chain-ledger.ts +4 -4
  251. package/extensions/chain-plan.ts +6 -6
  252. package/extensions/correlation-shape.ts +42 -33
  253. package/extensions/delegate-chain.ts +93 -45
  254. package/extensions/delegation-authority.ts +7 -3
  255. package/extensions/delegation-ledger.ts +2 -2
  256. package/extensions/delegation-native.ts +24 -7
  257. package/extensions/delegation.ts +91 -80
  258. package/extensions/execute-child.ts +440 -293
  259. package/extensions/execution-occurrence.ts +2 -2
  260. package/extensions/executor-session.ts +5 -5
  261. package/extensions/fanout-outcome.ts +8 -6
  262. package/extensions/grant-store-refusal.ts +24 -12
  263. package/extensions/grants-command.ts +42 -34
  264. package/extensions/grants-connected-command.ts +29 -15
  265. package/extensions/grants.ts +73 -73
  266. package/extensions/init-command.ts +18 -12
  267. package/extensions/reload-environment.ts +12 -5
  268. package/extensions/run-delegation.ts +29 -19
  269. package/extensions/session-environment.ts +25 -11
  270. package/extensions/session-report.ts +61 -12
  271. package/extensions/session.ts +58 -34
  272. package/extensions/spawn-summary.ts +5 -5
  273. package/extensions/stored-grant-session.ts +5 -5
  274. package/extensions/tripwire.ts +1 -1
  275. package/extensions/workspace-runtime.ts +26 -24
  276. package/herdr-plugin/herdr-plugin.toml +1 -1
  277. package/package.json +4 -211
  278. package/src/cli.ts +149 -92
  279. package/src/executors/activity-session.ts +54 -0
  280. package/src/executors/executor.ts +123 -0
  281. package/src/executors/herdr-cli.ts +132 -0
  282. package/src/executors/herdr-pi-lifecycle.ts +21 -0
  283. package/src/executors/herdr-poll.ts +305 -0
  284. package/src/executors/herdr-stage.ts +55 -0
  285. package/src/executors/native-session-target.ts +31 -0
  286. package/src/executors/pane-reaper.ts +270 -0
  287. package/src/executors/process-activity.ts +54 -0
  288. package/src/executors/run-herdr.ts +426 -0
  289. package/src/governance/approval-prompt.ts +225 -0
  290. package/src/governance/approval-store.ts +385 -0
  291. package/src/governance/execution-retention.ts +372 -0
  292. package/src/governance/file-lock.ts +210 -0
  293. package/src/governance/finalization.ts +82 -0
  294. package/src/governance/grant-store.ts +235 -0
  295. package/src/governance/init.ts +447 -0
  296. package/src/governance/lease-helper.ts +124 -0
  297. package/src/governance/lease-record.ts +131 -0
  298. package/src/governance/ledger-events.ts +222 -0
  299. package/src/governance/ledger-report.ts +396 -0
  300. package/src/governance/ledger-v3-validation.ts +384 -0
  301. package/src/governance/ledger.ts +419 -0
  302. package/src/governance/native-session.ts +264 -0
  303. package/src/governance/record.ts +294 -0
  304. package/src/governance/retention-contract.ts +201 -0
  305. package/src/governance/retention-json.ts +24 -0
  306. package/src/governance/workspace-lease.ts +429 -0
  307. package/src/index.ts +82 -92
  308. package/src/kernel/approval.ts +406 -0
  309. package/src/kernel/capabilities.ts +216 -0
  310. package/src/kernel/catalog.ts +373 -0
  311. package/src/kernel/correlation.ts +351 -0
  312. package/src/kernel/definitions.ts +215 -0
  313. package/src/kernel/delegate-types.ts +162 -0
  314. package/src/kernel/delegate.ts +375 -0
  315. package/src/kernel/delegation-approval.ts +126 -0
  316. package/src/kernel/env-names.ts +119 -0
  317. package/src/kernel/fanout.ts +106 -0
  318. package/src/kernel/grant-env.ts +174 -0
  319. package/src/kernel/model-preflight.ts +44 -0
  320. package/src/kernel/pi-tools.ts +32 -0
  321. package/src/kernel/project-paths.ts +97 -0
  322. package/src/kernel/propagation.ts +341 -0
  323. package/src/kernel/refusals.ts +64 -0
  324. package/src/kernel/resolve.ts +258 -0
  325. package/src/kernel/routing-authority.ts +121 -0
  326. package/src/kernel/run-child.ts +418 -0
  327. package/src/kernel/skill-packages.ts +329 -0
  328. package/src/kernel/skill-resources.ts +64 -0
  329. package/src/kernel/spawn.ts +156 -0
  330. package/src/kernel/workspace.ts +336 -0
  331. package/src/products/activity-timeline.ts +679 -0
  332. package/src/products/dashboard-cli.ts +250 -0
  333. package/src/products/dashboard-display-controls.ts +44 -0
  334. package/src/products/dashboard-handshake.ts +222 -0
  335. package/src/products/dashboard-herdr.ts +427 -0
  336. package/src/products/dashboard-projection.ts +389 -0
  337. package/src/products/dashboard-render.ts +260 -0
  338. package/PRODUCT-GUIDE.md +0 -155
  339. package/REQUIREMENTS.md +0 -41
  340. package/contracts/daily-view/v1/README.md +0 -114
  341. package/contracts/daily-view/v1/fixtures/view.json +0 -525
  342. package/contracts/daily-view/v1/fixtures/view.txt +0 -75
  343. package/contracts/daily-view/v1/fixtures/work.jsonl +0 -17
  344. package/contracts/daily-view/v1/p03/README.md +0 -26
  345. package/contracts/daily-view/v1/p03/fixtures/retained-executions.json +0 -241
  346. package/contracts/daily-view/v1/p03/projection.schema.json +0 -194
  347. package/contracts/daily-view/v1/p03/provenance.json +0 -21
  348. package/contracts/dashboard-host/v1/README.md +0 -176
  349. package/contracts/debrief/v1/README.md +0 -146
  350. package/contracts/debrief/v1/intervention/README.md +0 -32
  351. package/contracts/debrief/v1/intervention/fixtures/artifact-3ee11136beb864f518252e5024dae9197421fbf97b6e981d3243c782b5c44bd0.txt +0 -1
  352. package/contracts/debrief/v1/intervention/fixtures/artifact-58905d872dd3c54a9705f67b05fa82edbad7af6476ae8993faf1a7b9fadfb905.txt +0 -1
  353. package/contracts/debrief/v1/intervention/fixtures/assessment.json +0 -29
  354. package/contracts/debrief/v1/intervention/fixtures/blind-view.json +0 -20
  355. package/contracts/debrief/v1/intervention/fixtures/choice.json +0 -7
  356. package/contracts/debrief/v1/intervention/fixtures/manifest.json +0 -57
  357. package/contracts/debrief/v1/intervention/fixtures/reveal.json +0 -39
  358. package/contracts/debrief/v1/provenance.json +0 -89
  359. package/contracts/debrief/v1/work-capture/README.md +0 -38
  360. package/contracts/debrief/v1/work-capture/fixtures/batch.json +0 -17
  361. package/contracts/debrief/v1/work-capture/fixtures/cases.json +0 -184
  362. package/contracts/debrief/v1/work-capture/fixtures/review.json +0 -184
  363. package/contracts/debrief/v1/work-capture/review-request.schema.json +0 -41
  364. package/contracts/debrief/v1/work-capture/work-case.schema.json +0 -190
  365. package/contracts/debrief/v2/README.md +0 -71
  366. package/contracts/debrief/v2/input-pin.json +0 -66
  367. package/contracts/debrief/v2/intervention-upstream.md +0 -40
  368. package/contracts/debrief/v2/work-signals-upstream.md +0 -22
  369. package/contracts/dispatch-control/v1/README.md +0 -109
  370. package/contracts/dispatch-control/v1/request.schema.json +0 -19
  371. package/contracts/effect-profile/v1/README.md +0 -124
  372. package/contracts/execution-retention/v1/README.md +0 -109
  373. package/contracts/execution-retention/v2/README.md +0 -148
  374. package/contracts/execution-retention/v2/fixtures/interrupted-native-bytes.json +0 -91
  375. package/contracts/execution-retention/v2/fixtures/missing-native-session.json +0 -91
  376. package/contracts/execution-retention/v2/fixtures/native-file-unknown-branch.json +0 -91
  377. package/contracts/execution-retention/v2/fixtures/native-id-without-bytes.json +0 -91
  378. package/contracts/execution-retention/v2/fixtures/native-live-branch.json +0 -90
  379. package/contracts/execution-retention/v2/fixtures/replaced-native-session.json +0 -92
  380. package/contracts/execution-retention/v2/fixtures/result-82c620cdfeb8ca6b858cf653d7f5e2eedca5315d6244216d60e8b36f03223d6a.bin +0 -1
  381. package/contracts/execution-retention/v2/fixtures/session-2ec1f134bc739984434f7fca689e1c3d1c39fce2dcadae709e9b6faedfcc4ac7.bin +0 -3
  382. package/contracts/execution-retention/v2/fixtures/session-9bdb4bd16a901da31580acf056bda525225259e15ec409e0410480109011772f.bin +0 -3
  383. package/contracts/execution-retention/v2/manifest.schema.json +0 -858
  384. package/contracts/experiment/v1/README.md +0 -164
  385. package/contracts/factory-order/v1/README.md +0 -151
  386. package/contracts/factory-order/v1/adoption-pin.json +0 -8
  387. package/contracts/intent-control/v1/README.md +0 -135
  388. package/contracts/intent-control/v1/request.schema.json +0 -1096
  389. package/contracts/intent-control/v2/README.md +0 -34
  390. package/contracts/intent-control/v2/request.schema.json +0 -1070
  391. package/contracts/ledger/v2/README.md +0 -59
  392. package/contracts/ledger/v2/fixtures/capability-decision.json +0 -95
  393. package/contracts/ledger/v2/fixtures/check-receipt.json +0 -40
  394. package/contracts/ledger/v2/fixtures/child-lifecycle.json +0 -42
  395. package/contracts/ledger/v2/fixtures/workspace-lease.json +0 -41
  396. package/contracts/ledger/v2/ledger-event.schema.json +0 -633
  397. package/contracts/ledger/v3/README.md +0 -36
  398. package/contracts/ledger/v3/fixtures/check-receipt.json +0 -41
  399. package/contracts/ledger/v3/fixtures/child-lifecycle.json +0 -44
  400. package/contracts/ledger/v3/fixtures/workflow-fact.json +0 -40
  401. package/contracts/ledger/v3/ledger-event.schema.json +0 -955
  402. package/contracts/ledger/v4/README.md +0 -241
  403. package/contracts/ledger/v4/fixtures/layout-options.json +0 -428
  404. package/contracts/ledger/v4/fixtures/work-acceptance.json +0 -57
  405. package/contracts/ledger/v4/fixtures/work-occurrence.json +0 -44
  406. package/contracts/ledger/v4/fixtures/work-revision.json +0 -26
  407. package/contracts/ledger/v4/fixtures/work-snapshot.json +0 -73
  408. package/contracts/ledger/v4/ledger-event.schema.json +0 -162
  409. package/contracts/ordinary-control/v1/README.md +0 -59
  410. package/contracts/producer-ipc/v1/README.md +0 -137
  411. package/dist/activity-timeline.d.ts +0 -109
  412. package/dist/activity-timeline.d.ts.map +0 -1
  413. package/dist/activity-timeline.js +0 -208
  414. package/dist/activity-timeline.js.map +0 -1
  415. package/dist/approval-prompt.d.ts +0 -119
  416. package/dist/approval-prompt.d.ts.map +0 -1
  417. package/dist/approval-prompt.js +0 -133
  418. package/dist/approval-prompt.js.map +0 -1
  419. package/dist/approval-store.d.ts +0 -149
  420. package/dist/approval-store.d.ts.map +0 -1
  421. package/dist/approval-store.js +0 -314
  422. package/dist/approval-store.js.map +0 -1
  423. package/dist/approval.d.ts +0 -241
  424. package/dist/approval.d.ts.map +0 -1
  425. package/dist/approval.js +0 -268
  426. package/dist/approval.js.map +0 -1
  427. package/dist/capabilities.d.ts +0 -136
  428. package/dist/capabilities.d.ts.map +0 -1
  429. package/dist/capabilities.js +0 -203
  430. package/dist/capabilities.js.map +0 -1
  431. package/dist/catalog.d.ts +0 -98
  432. package/dist/catalog.d.ts.map +0 -1
  433. package/dist/catalog.js +0 -273
  434. package/dist/catalog.js.map +0 -1
  435. package/dist/chain.d.ts.map +0 -1
  436. package/dist/chain.js.map +0 -1
  437. package/dist/check-runner.d.ts +0 -66
  438. package/dist/check-runner.d.ts.map +0 -1
  439. package/dist/check-runner.js +0 -275
  440. package/dist/check-runner.js.map +0 -1
  441. package/dist/control-journal.d.ts +0 -20
  442. package/dist/control-journal.d.ts.map +0 -1
  443. package/dist/control-journal.js +0 -73
  444. package/dist/control-journal.js.map +0 -1
  445. package/dist/correlation.d.ts.map +0 -1
  446. package/dist/correlation.js +0 -231
  447. package/dist/correlation.js.map +0 -1
  448. package/dist/daily-dashboard-host.d.ts +0 -136
  449. package/dist/daily-dashboard-host.d.ts.map +0 -1
  450. package/dist/daily-dashboard-host.js +0 -164
  451. package/dist/daily-dashboard-host.js.map +0 -1
  452. package/dist/daily-panel.d.ts +0 -36
  453. package/dist/daily-panel.d.ts.map +0 -1
  454. package/dist/daily-panel.js +0 -84
  455. package/dist/daily-panel.js.map +0 -1
  456. package/dist/daily-view-input.d.ts +0 -44
  457. package/dist/daily-view-input.d.ts.map +0 -1
  458. package/dist/daily-view-input.js +0 -68
  459. package/dist/daily-view-input.js.map +0 -1
  460. package/dist/daily-view-render.d.ts +0 -5
  461. package/dist/daily-view-render.d.ts.map +0 -1
  462. package/dist/daily-view-render.js +0 -42
  463. package/dist/daily-view-render.js.map +0 -1
  464. package/dist/daily-view.d.ts +0 -77
  465. package/dist/daily-view.d.ts.map +0 -1
  466. package/dist/daily-view.js +0 -176
  467. package/dist/daily-view.js.map +0 -1
  468. package/dist/dashboard-cli.d.ts +0 -54
  469. package/dist/dashboard-cli.d.ts.map +0 -1
  470. package/dist/dashboard-cli.js +0 -367
  471. package/dist/dashboard-cli.js.map +0 -1
  472. package/dist/dashboard-display-controls.d.ts +0 -15
  473. package/dist/dashboard-display-controls.d.ts.map +0 -1
  474. package/dist/dashboard-display-controls.js +0 -34
  475. package/dist/dashboard-display-controls.js.map +0 -1
  476. package/dist/dashboard-handshake.d.ts +0 -42
  477. package/dist/dashboard-handshake.d.ts.map +0 -1
  478. package/dist/dashboard-handshake.js +0 -147
  479. package/dist/dashboard-handshake.js.map +0 -1
  480. package/dist/dashboard-harness.d.ts +0 -22
  481. package/dist/dashboard-harness.d.ts.map +0 -1
  482. package/dist/dashboard-harness.js +0 -89
  483. package/dist/dashboard-harness.js.map +0 -1
  484. package/dist/dashboard-herdr.d.ts +0 -55
  485. package/dist/dashboard-herdr.d.ts.map +0 -1
  486. package/dist/dashboard-herdr.js +0 -293
  487. package/dist/dashboard-herdr.js.map +0 -1
  488. package/dist/dashboard-host-contract.d.ts +0 -127
  489. package/dist/dashboard-host-contract.d.ts.map +0 -1
  490. package/dist/dashboard-host-contract.js +0 -14
  491. package/dist/dashboard-host-contract.js.map +0 -1
  492. package/dist/dashboard-host-transport.d.ts +0 -16
  493. package/dist/dashboard-host-transport.d.ts.map +0 -1
  494. package/dist/dashboard-host-transport.js +0 -127
  495. package/dist/dashboard-host-transport.js.map +0 -1
  496. package/dist/dashboard-host.d.ts +0 -239
  497. package/dist/dashboard-host.d.ts.map +0 -1
  498. package/dist/dashboard-host.js +0 -474
  499. package/dist/dashboard-host.js.map +0 -1
  500. package/dist/dashboard-menu.d.ts +0 -16
  501. package/dist/dashboard-menu.d.ts.map +0 -1
  502. package/dist/dashboard-menu.js +0 -33
  503. package/dist/dashboard-menu.js.map +0 -1
  504. package/dist/dashboard-observation.d.ts +0 -28
  505. package/dist/dashboard-observation.d.ts.map +0 -1
  506. package/dist/dashboard-observation.js +0 -87
  507. package/dist/dashboard-observation.js.map +0 -1
  508. package/dist/dashboard-projection.d.ts +0 -73
  509. package/dist/dashboard-projection.d.ts.map +0 -1
  510. package/dist/dashboard-projection.js +0 -294
  511. package/dist/dashboard-projection.js.map +0 -1
  512. package/dist/dashboard-render.d.ts.map +0 -1
  513. package/dist/dashboard-render.js +0 -212
  514. package/dist/dashboard-render.js.map +0 -1
  515. package/dist/debrief-contract.d.ts +0 -65
  516. package/dist/debrief-contract.d.ts.map +0 -1
  517. package/dist/debrief-contract.js +0 -151
  518. package/dist/debrief-contract.js.map +0 -1
  519. package/dist/debrief-fixture.d.ts +0 -16
  520. package/dist/debrief-fixture.d.ts.map +0 -1
  521. package/dist/debrief-fixture.js +0 -41
  522. package/dist/debrief-fixture.js.map +0 -1
  523. package/dist/debrief-host.d.ts +0 -59
  524. package/dist/debrief-host.d.ts.map +0 -1
  525. package/dist/debrief-host.js +0 -49
  526. package/dist/debrief-host.js.map +0 -1
  527. package/dist/debrief-render.d.ts +0 -5
  528. package/dist/debrief-render.d.ts.map +0 -1
  529. package/dist/debrief-render.js +0 -65
  530. package/dist/debrief-render.js.map +0 -1
  531. package/dist/debrief.d.ts +0 -90
  532. package/dist/debrief.d.ts.map +0 -1
  533. package/dist/debrief.js +0 -263
  534. package/dist/debrief.js.map +0 -1
  535. package/dist/definitions.d.ts.map +0 -1
  536. package/dist/definitions.js +0 -164
  537. package/dist/definitions.js.map +0 -1
  538. package/dist/delegate-types.d.ts +0 -154
  539. package/dist/delegate-types.d.ts.map +0 -1
  540. package/dist/delegate-types.js +0 -8
  541. package/dist/delegate-types.js.map +0 -1
  542. package/dist/delegate.d.ts.map +0 -1
  543. package/dist/delegate.js +0 -313
  544. package/dist/delegate.js.map +0 -1
  545. package/dist/delegation-approval.d.ts.map +0 -1
  546. package/dist/delegation-approval.js +0 -94
  547. package/dist/delegation-approval.js.map +0 -1
  548. package/dist/dispatch-control.d.ts +0 -45
  549. package/dist/dispatch-control.d.ts.map +0 -1
  550. package/dist/dispatch-control.js +0 -76
  551. package/dist/dispatch-control.js.map +0 -1
  552. package/dist/effect-profile-runtime.d.ts +0 -40
  553. package/dist/effect-profile-runtime.d.ts.map +0 -1
  554. package/dist/effect-profile-runtime.js +0 -51
  555. package/dist/effect-profile-runtime.js.map +0 -1
  556. package/dist/effect-profile.d.ts +0 -40
  557. package/dist/effect-profile.d.ts.map +0 -1
  558. package/dist/effect-profile.js +0 -152
  559. package/dist/effect-profile.js.map +0 -1
  560. package/dist/execution-id.d.ts.map +0 -1
  561. package/dist/execution-id.js.map +0 -1
  562. package/dist/execution-retention.d.ts +0 -90
  563. package/dist/execution-retention.d.ts.map +0 -1
  564. package/dist/execution-retention.js +0 -247
  565. package/dist/execution-retention.js.map +0 -1
  566. package/dist/executor.d.ts +0 -39
  567. package/dist/executor.d.ts.map +0 -1
  568. package/dist/executor.js +0 -94
  569. package/dist/executor.js.map +0 -1
  570. package/dist/experiment-contract.d.ts +0 -56
  571. package/dist/experiment-contract.d.ts.map +0 -1
  572. package/dist/experiment-contract.js +0 -80
  573. package/dist/experiment-contract.js.map +0 -1
  574. package/dist/experiment-state.d.ts +0 -22
  575. package/dist/experiment-state.d.ts.map +0 -1
  576. package/dist/experiment-state.js +0 -79
  577. package/dist/experiment-state.js.map +0 -1
  578. package/dist/experiment-store.d.ts +0 -30
  579. package/dist/experiment-store.d.ts.map +0 -1
  580. package/dist/experiment-store.js +0 -147
  581. package/dist/experiment-store.js.map +0 -1
  582. package/dist/experiment.d.ts +0 -65
  583. package/dist/experiment.d.ts.map +0 -1
  584. package/dist/experiment.js +0 -362
  585. package/dist/experiment.js.map +0 -1
  586. package/dist/factory-contract.d.ts +0 -79
  587. package/dist/factory-contract.d.ts.map +0 -1
  588. package/dist/factory-contract.js +0 -89
  589. package/dist/factory-contract.js.map +0 -1
  590. package/dist/factory-migration.d.ts +0 -20
  591. package/dist/factory-migration.d.ts.map +0 -1
  592. package/dist/factory-migration.js +0 -55
  593. package/dist/factory-migration.js.map +0 -1
  594. package/dist/factory-order.d.ts +0 -848
  595. package/dist/factory-order.d.ts.map +0 -1
  596. package/dist/factory-order.js +0 -83
  597. package/dist/factory-order.js.map +0 -1
  598. package/dist/factory-registry.d.ts +0 -121
  599. package/dist/factory-registry.d.ts.map +0 -1
  600. package/dist/factory-registry.js +0 -133
  601. package/dist/factory-registry.js.map +0 -1
  602. package/dist/fanout.d.ts.map +0 -1
  603. package/dist/fanout.js +0 -93
  604. package/dist/fanout.js.map +0 -1
  605. package/dist/file-lock.d.ts.map +0 -1
  606. package/dist/file-lock.js +0 -201
  607. package/dist/file-lock.js.map +0 -1
  608. package/dist/finalization.d.ts.map +0 -1
  609. package/dist/finalization.js.map +0 -1
  610. package/dist/git-identity.d.ts +0 -13
  611. package/dist/git-identity.d.ts.map +0 -1
  612. package/dist/git-identity.js +0 -47
  613. package/dist/git-identity.js.map +0 -1
  614. package/dist/grant-env.d.ts +0 -75
  615. package/dist/grant-env.d.ts.map +0 -1
  616. package/dist/grant-env.js +0 -154
  617. package/dist/grant-env.js.map +0 -1
  618. package/dist/grant-store.d.ts +0 -96
  619. package/dist/grant-store.d.ts.map +0 -1
  620. package/dist/grant-store.js +0 -188
  621. package/dist/grant-store.js.map +0 -1
  622. package/dist/herdr-cli.d.ts +0 -78
  623. package/dist/herdr-cli.d.ts.map +0 -1
  624. package/dist/herdr-cli.js +0 -113
  625. package/dist/herdr-cli.js.map +0 -1
  626. package/dist/herdr-name.d.ts.map +0 -1
  627. package/dist/herdr-name.js.map +0 -1
  628. package/dist/herdr-pi-lifecycle.d.ts.map +0 -1
  629. package/dist/herdr-pi-lifecycle.js +0 -22
  630. package/dist/herdr-pi-lifecycle.js.map +0 -1
  631. package/dist/herdr-poll.d.ts +0 -133
  632. package/dist/herdr-poll.d.ts.map +0 -1
  633. package/dist/herdr-poll.js +0 -222
  634. package/dist/herdr-poll.js.map +0 -1
  635. package/dist/herdr-stage.d.ts +0 -40
  636. package/dist/herdr-stage.d.ts.map +0 -1
  637. package/dist/herdr-stage.js +0 -54
  638. package/dist/herdr-stage.js.map +0 -1
  639. package/dist/herdr-start.d.ts.map +0 -1
  640. package/dist/herdr-start.js.map +0 -1
  641. package/dist/init.d.ts +0 -117
  642. package/dist/init.d.ts.map +0 -1
  643. package/dist/init.js +0 -323
  644. package/dist/init.js.map +0 -1
  645. package/dist/intent-application.d.ts +0 -17
  646. package/dist/intent-application.d.ts.map +0 -1
  647. package/dist/intent-application.js +0 -114
  648. package/dist/intent-application.js.map +0 -1
  649. package/dist/intent-control.d.ts +0 -201
  650. package/dist/intent-control.d.ts.map +0 -1
  651. package/dist/intent-control.js +0 -110
  652. package/dist/intent-control.js.map +0 -1
  653. package/dist/intent-scheduling.d.ts +0 -9
  654. package/dist/intent-scheduling.d.ts.map +0 -1
  655. package/dist/intent-scheduling.js +0 -15
  656. package/dist/intent-scheduling.js.map +0 -1
  657. package/dist/learning-connection.d.ts +0 -127
  658. package/dist/learning-connection.d.ts.map +0 -1
  659. package/dist/learning-connection.js +0 -54
  660. package/dist/learning-connection.js.map +0 -1
  661. package/dist/lease-helper.d.ts.map +0 -1
  662. package/dist/lease-helper.js +0 -94
  663. package/dist/lease-helper.js.map +0 -1
  664. package/dist/lease-record.d.ts +0 -90
  665. package/dist/lease-record.d.ts.map +0 -1
  666. package/dist/lease-record.js.map +0 -1
  667. package/dist/ledger-append.d.ts +0 -15
  668. package/dist/ledger-append.d.ts.map +0 -1
  669. package/dist/ledger-append.js +0 -94
  670. package/dist/ledger-append.js.map +0 -1
  671. package/dist/ledger-events.d.ts +0 -131
  672. package/dist/ledger-events.d.ts.map +0 -1
  673. package/dist/ledger-events.js +0 -107
  674. package/dist/ledger-events.js.map +0 -1
  675. package/dist/ledger-identifiers.d.ts.map +0 -1
  676. package/dist/ledger-identifiers.js.map +0 -1
  677. package/dist/ledger-report.d.ts +0 -134
  678. package/dist/ledger-report.d.ts.map +0 -1
  679. package/dist/ledger-report.js +0 -271
  680. package/dist/ledger-report.js.map +0 -1
  681. package/dist/ledger-v3-validation.d.ts +0 -11
  682. package/dist/ledger-v3-validation.d.ts.map +0 -1
  683. package/dist/ledger-v3-validation.js +0 -265
  684. package/dist/ledger-v3-validation.js.map +0 -1
  685. package/dist/ledger.d.ts +0 -242
  686. package/dist/ledger.d.ts.map +0 -1
  687. package/dist/ledger.js +0 -142
  688. package/dist/ledger.js.map +0 -1
  689. package/dist/measured-order.d.ts +0 -249
  690. package/dist/measured-order.d.ts.map +0 -1
  691. package/dist/measured-order.js +0 -309
  692. package/dist/measured-order.js.map +0 -1
  693. package/dist/measured-session.d.ts +0 -97
  694. package/dist/measured-session.d.ts.map +0 -1
  695. package/dist/measured-session.js +0 -134
  696. package/dist/measured-session.js.map +0 -1
  697. package/dist/model-preflight.d.ts +0 -13
  698. package/dist/model-preflight.d.ts.map +0 -1
  699. package/dist/model-preflight.js +0 -29
  700. package/dist/model-preflight.js.map +0 -1
  701. package/dist/native-session-target.d.ts +0 -9
  702. package/dist/native-session-target.d.ts.map +0 -1
  703. package/dist/native-session-target.js +0 -29
  704. package/dist/native-session-target.js.map +0 -1
  705. package/dist/native-session.d.ts +0 -59
  706. package/dist/native-session.d.ts.map +0 -1
  707. package/dist/native-session.js +0 -154
  708. package/dist/native-session.js.map +0 -1
  709. package/dist/order-schedule.d.ts +0 -37
  710. package/dist/order-schedule.d.ts.map +0 -1
  711. package/dist/order-schedule.js +0 -81
  712. package/dist/order-schedule.js.map +0 -1
  713. package/dist/ordinary-children.d.ts +0 -52
  714. package/dist/ordinary-children.d.ts.map +0 -1
  715. package/dist/ordinary-children.js +0 -93
  716. package/dist/ordinary-children.js.map +0 -1
  717. package/dist/pane-reaper.d.ts +0 -111
  718. package/dist/pane-reaper.d.ts.map +0 -1
  719. package/dist/pane-reaper.js +0 -242
  720. package/dist/pane-reaper.js.map +0 -1
  721. package/dist/pi-tools.d.ts.map +0 -1
  722. package/dist/pi-tools.js +0 -21
  723. package/dist/pi-tools.js.map +0 -1
  724. package/dist/producer-ipc-contract.d.ts +0 -29
  725. package/dist/producer-ipc-contract.d.ts.map +0 -1
  726. package/dist/producer-ipc-contract.js +0 -29
  727. package/dist/producer-ipc-contract.js.map +0 -1
  728. package/dist/producer-ipc.d.ts +0 -55
  729. package/dist/producer-ipc.d.ts.map +0 -1
  730. package/dist/producer-ipc.js +0 -143
  731. package/dist/producer-ipc.js.map +0 -1
  732. package/dist/product-files.d.ts +0 -6
  733. package/dist/product-files.d.ts.map +0 -1
  734. package/dist/product-files.js +0 -55
  735. package/dist/product-files.js.map +0 -1
  736. package/dist/progress.d.ts.map +0 -1
  737. package/dist/progress.js.map +0 -1
  738. package/dist/propagation.d.ts +0 -203
  739. package/dist/propagation.d.ts.map +0 -1
  740. package/dist/propagation.js +0 -279
  741. package/dist/propagation.js.map +0 -1
  742. package/dist/refusals.d.ts +0 -16
  743. package/dist/refusals.d.ts.map +0 -1
  744. package/dist/refusals.js +0 -55
  745. package/dist/refusals.js.map +0 -1
  746. package/dist/resolve.d.ts +0 -120
  747. package/dist/resolve.d.ts.map +0 -1
  748. package/dist/resolve.js +0 -211
  749. package/dist/resolve.js.map +0 -1
  750. package/dist/resource-budget.d.ts +0 -334
  751. package/dist/resource-budget.d.ts.map +0 -1
  752. package/dist/resource-budget.js +0 -415
  753. package/dist/resource-budget.js.map +0 -1
  754. package/dist/retention-contract.d.ts.map +0 -1
  755. package/dist/retention-contract.js +0 -104
  756. package/dist/retention-contract.js.map +0 -1
  757. package/dist/retention-json.d.ts.map +0 -1
  758. package/dist/retention-json.js.map +0 -1
  759. package/dist/routing-authority.d.ts +0 -71
  760. package/dist/routing-authority.d.ts.map +0 -1
  761. package/dist/routing-authority.js +0 -100
  762. package/dist/routing-authority.js.map +0 -1
  763. package/dist/run-child.d.ts +0 -87
  764. package/dist/run-child.d.ts.map +0 -1
  765. package/dist/run-child.js +0 -248
  766. package/dist/run-child.js.map +0 -1
  767. package/dist/run-herdr.d.ts +0 -119
  768. package/dist/run-herdr.d.ts.map +0 -1
  769. package/dist/run-herdr.js +0 -335
  770. package/dist/run-herdr.js.map +0 -1
  771. package/dist/skill-packages.d.ts +0 -116
  772. package/dist/skill-packages.d.ts.map +0 -1
  773. package/dist/skill-packages.js +0 -295
  774. package/dist/skill-packages.js.map +0 -1
  775. package/dist/skill-resources.d.ts.map +0 -1
  776. package/dist/skill-resources.js +0 -52
  777. package/dist/skill-resources.js.map +0 -1
  778. package/dist/spawn.d.ts +0 -60
  779. package/dist/spawn.d.ts.map +0 -1
  780. package/dist/spawn.js +0 -116
  781. package/dist/spawn.js.map +0 -1
  782. package/dist/vendor/adoption.d.ts +0 -129
  783. package/dist/vendor/adoption.d.ts.map +0 -1
  784. package/dist/vendor/adoption.js +0 -102
  785. package/dist/vendor/adoption.js.map +0 -1
  786. package/dist/vendor/herdr-pi-lifecycle.d.ts.map +0 -1
  787. package/dist/vendor/herdr-pi-lifecycle.js.map +0 -1
  788. package/dist/work-command.d.ts +0 -32
  789. package/dist/work-command.d.ts.map +0 -1
  790. package/dist/work-command.js +0 -179
  791. package/dist/work-command.js.map +0 -1
  792. package/dist/work-ledger-destination.d.ts +0 -20
  793. package/dist/work-ledger-destination.d.ts.map +0 -1
  794. package/dist/work-ledger-destination.js +0 -131
  795. package/dist/work-ledger-destination.js.map +0 -1
  796. package/dist/work-ledger-json.d.ts +0 -25
  797. package/dist/work-ledger-json.d.ts.map +0 -1
  798. package/dist/work-ledger-json.js +0 -267
  799. package/dist/work-ledger-json.js.map +0 -1
  800. package/dist/work-ledger-occurrences.d.ts +0 -227
  801. package/dist/work-ledger-occurrences.d.ts.map +0 -1
  802. package/dist/work-ledger-occurrences.js +0 -115
  803. package/dist/work-ledger-occurrences.js.map +0 -1
  804. package/dist/work-ledger-projection.d.ts +0 -295
  805. package/dist/work-ledger-projection.d.ts.map +0 -1
  806. package/dist/work-ledger-projection.js +0 -237
  807. package/dist/work-ledger-projection.js.map +0 -1
  808. package/dist/work-ledger-snapshot.d.ts +0 -29
  809. package/dist/work-ledger-snapshot.d.ts.map +0 -1
  810. package/dist/work-ledger-snapshot.js +0 -267
  811. package/dist/work-ledger-snapshot.js.map +0 -1
  812. package/dist/work-ledger-types.d.ts +0 -261
  813. package/dist/work-ledger-types.d.ts.map +0 -1
  814. package/dist/work-ledger-types.js +0 -13
  815. package/dist/work-ledger-types.js.map +0 -1
  816. package/dist/work-ledger-validation.d.ts +0 -14
  817. package/dist/work-ledger-validation.d.ts.map +0 -1
  818. package/dist/work-ledger-validation.js +0 -226
  819. package/dist/work-ledger-validation.js.map +0 -1
  820. package/dist/work-ledger.d.ts +0 -43
  821. package/dist/work-ledger.d.ts.map +0 -1
  822. package/dist/work-ledger.js +0 -225
  823. package/dist/work-ledger.js.map +0 -1
  824. package/dist/work-policy-registry.d.ts +0 -133
  825. package/dist/work-policy-registry.d.ts.map +0 -1
  826. package/dist/work-policy-registry.js +0 -128
  827. package/dist/work-policy-registry.js.map +0 -1
  828. package/dist/work-run.d.ts +0 -56
  829. package/dist/work-run.d.ts.map +0 -1
  830. package/dist/work-run.js +0 -102
  831. package/dist/work-run.js.map +0 -1
  832. package/dist/work-setup.d.ts +0 -40
  833. package/dist/work-setup.d.ts.map +0 -1
  834. package/dist/work-setup.js +0 -174
  835. package/dist/work-setup.js.map +0 -1
  836. package/dist/workflow-fact-id.d.ts +0 -4
  837. package/dist/workflow-fact-id.d.ts.map +0 -1
  838. package/dist/workflow-fact-id.js +0 -14
  839. package/dist/workflow-fact-id.js.map +0 -1
  840. package/dist/workflow-facts.d.ts +0 -34
  841. package/dist/workflow-facts.d.ts.map +0 -1
  842. package/dist/workflow-facts.js +0 -43
  843. package/dist/workflow-facts.js.map +0 -1
  844. package/dist/workspace-lease.d.ts +0 -40
  845. package/dist/workspace-lease.d.ts.map +0 -1
  846. package/dist/workspace-lease.js +0 -333
  847. package/dist/workspace-lease.js.map +0 -1
  848. package/dist/workspace.d.ts +0 -57
  849. package/dist/workspace.d.ts.map +0 -1
  850. package/dist/workspace.js +0 -216
  851. package/dist/workspace.js.map +0 -1
  852. package/extensions/daily-dashboard-session.ts +0 -48
  853. package/extensions/daily-work-session.ts +0 -20
  854. package/extensions/learning-outcome-session.ts +0 -38
  855. package/extensions/learning-session.ts +0 -59
  856. package/extensions/ordinary-runtime.ts +0 -14
  857. package/extensions/primary-shadow.ts +0 -11
  858. package/extensions/work-policy-session.ts +0 -139
  859. package/extensions/work-run-session.ts +0 -75
  860. package/extensions/work-runtime.ts +0 -44
  861. package/extensions/work-session.ts +0 -132
  862. package/src/activity-timeline.ts +0 -133
  863. package/src/approval-prompt.ts +0 -225
  864. package/src/approval-store.ts +0 -386
  865. package/src/approval.ts +0 -399
  866. package/src/capabilities.ts +0 -220
  867. package/src/catalog.ts +0 -306
  868. package/src/check-runner.ts +0 -387
  869. package/src/control-journal.ts +0 -26
  870. package/src/correlation.ts +0 -320
  871. package/src/daily-dashboard-host.ts +0 -105
  872. package/src/daily-panel.ts +0 -80
  873. package/src/daily-view-input.ts +0 -59
  874. package/src/daily-view-render.ts +0 -45
  875. package/src/daily-view.ts +0 -160
  876. package/src/dashboard-cli.ts +0 -340
  877. package/src/dashboard-display-controls.ts +0 -21
  878. package/src/dashboard-handshake.ts +0 -199
  879. package/src/dashboard-harness.ts +0 -37
  880. package/src/dashboard-herdr.ts +0 -363
  881. package/src/dashboard-host-contract.ts +0 -50
  882. package/src/dashboard-host-transport.ts +0 -43
  883. package/src/dashboard-host.ts +0 -244
  884. package/src/dashboard-menu.ts +0 -28
  885. package/src/dashboard-observation.ts +0 -46
  886. package/src/dashboard-projection.ts +0 -390
  887. package/src/dashboard-render.ts +0 -259
  888. package/src/debrief-contract.ts +0 -127
  889. package/src/debrief-fixture.ts +0 -29
  890. package/src/debrief-host.ts +0 -53
  891. package/src/debrief-render.ts +0 -49
  892. package/src/debrief.ts +0 -198
  893. package/src/definitions.ts +0 -211
  894. package/src/delegate-types.ts +0 -154
  895. package/src/delegate.ts +0 -348
  896. package/src/delegation-approval.ts +0 -126
  897. package/src/dispatch-control.ts +0 -81
  898. package/src/effect-profile-runtime.ts +0 -46
  899. package/src/effect-profile.ts +0 -129
  900. package/src/execution-retention.ts +0 -230
  901. package/src/executor.ts +0 -123
  902. package/src/experiment-contract.ts +0 -66
  903. package/src/experiment-state.ts +0 -44
  904. package/src/experiment-store.ts +0 -98
  905. package/src/experiment.ts +0 -236
  906. package/src/factory-contract.ts +0 -47
  907. package/src/factory-migration.ts +0 -29
  908. package/src/factory-order.ts +0 -56
  909. package/src/factory-registry.ts +0 -60
  910. package/src/fanout.ts +0 -106
  911. package/src/file-lock.ts +0 -178
  912. package/src/finalization.ts +0 -79
  913. package/src/git-identity.ts +0 -56
  914. package/src/grant-env.ts +0 -221
  915. package/src/grant-store.ts +0 -235
  916. package/src/herdr-cli.ts +0 -125
  917. package/src/herdr-pi-lifecycle.ts +0 -21
  918. package/src/herdr-poll.ts +0 -253
  919. package/src/herdr-stage.ts +0 -55
  920. package/src/init.ts +0 -389
  921. package/src/intent-application.ts +0 -91
  922. package/src/intent-control.ts +0 -107
  923. package/src/intent-scheduling.ts +0 -14
  924. package/src/learning-connection.ts +0 -70
  925. package/src/lease-helper.ts +0 -97
  926. package/src/lease-record.ts +0 -131
  927. package/src/ledger-append.ts +0 -72
  928. package/src/ledger-events.ts +0 -226
  929. package/src/ledger-report.ts +0 -357
  930. package/src/ledger-v3-validation.ts +0 -266
  931. package/src/ledger.ts +0 -369
  932. package/src/measured-order.ts +0 -72
  933. package/src/measured-session.ts +0 -70
  934. package/src/model-preflight.ts +0 -41
  935. package/src/native-session-target.ts +0 -23
  936. package/src/native-session.ts +0 -139
  937. package/src/order-schedule.ts +0 -42
  938. package/src/ordinary-children.ts +0 -59
  939. package/src/pane-reaper.ts +0 -270
  940. package/src/pi-tools.ts +0 -25
  941. package/src/producer-ipc-contract.ts +0 -26
  942. package/src/producer-ipc.ts +0 -107
  943. package/src/product-files.ts +0 -34
  944. package/src/propagation.ts +0 -333
  945. package/src/refusals.ts +0 -70
  946. package/src/resolve.ts +0 -267
  947. package/src/resource-budget.ts +0 -349
  948. package/src/retention-contract.ts +0 -84
  949. package/src/retention-json.ts +0 -20
  950. package/src/routing-authority.ts +0 -121
  951. package/src/run-child.ts +0 -303
  952. package/src/run-herdr.ts +0 -386
  953. package/src/skill-packages.ts +0 -314
  954. package/src/skill-resources.ts +0 -48
  955. package/src/spawn.ts +0 -156
  956. package/src/vendor/adoption.ts +0 -109
  957. package/src/work-command.ts +0 -197
  958. package/src/work-ledger-destination.ts +0 -113
  959. package/src/work-ledger-json.ts +0 -228
  960. package/src/work-ledger-occurrences.ts +0 -99
  961. package/src/work-ledger-projection.ts +0 -262
  962. package/src/work-ledger-snapshot.ts +0 -246
  963. package/src/work-ledger-types.ts +0 -229
  964. package/src/work-ledger-validation.ts +0 -174
  965. package/src/work-ledger.ts +0 -186
  966. package/src/work-policy-registry.ts +0 -81
  967. package/src/work-run.ts +0 -79
  968. package/src/work-setup.ts +0 -141
  969. package/src/workflow-fact-id.ts +0 -16
  970. package/src/workflow-facts.ts +0 -65
  971. package/src/workspace-lease.ts +0 -363
  972. package/src/workspace.ts +0 -308
  973. /package/contracts/{ledger/v3 → ledger-record/v1}/fixtures/capability-decision.json +0 -0
  974. /package/contracts/{ledger/v3 → ledger-record/v1}/fixtures/workspace-lease.json +0 -0
  975. /package/dist/{herdr-name.d.ts → executors/herdr-name.d.ts} +0 -0
  976. /package/dist/{herdr-name.js → executors/herdr-name.js} +0 -0
  977. /package/dist/{herdr-pi-lifecycle.d.ts → executors/herdr-pi-lifecycle.d.ts} +0 -0
  978. /package/dist/{herdr-start.d.ts → executors/herdr-start.d.ts} +0 -0
  979. /package/dist/{herdr-start.js → executors/herdr-start.js} +0 -0
  980. /package/dist/{vendor → executors/vendor}/herdr-pi-lifecycle.d.ts +0 -0
  981. /package/dist/{vendor → executors/vendor}/herdr-pi-lifecycle.js +0 -0
  982. /package/dist/{file-lock.d.ts → governance/file-lock.d.ts} +0 -0
  983. /package/dist/{finalization.d.ts → governance/finalization.d.ts} +0 -0
  984. /package/dist/{finalization.js → governance/finalization.js} +0 -0
  985. /package/dist/{lease-helper.d.ts → governance/lease-helper.d.ts} +0 -0
  986. /package/dist/{lease-record.js → governance/lease-record.js} +0 -0
  987. /package/dist/{retention-contract.d.ts → governance/retention-contract.d.ts} +0 -0
  988. /package/dist/{retention-json.d.ts → governance/retention-json.d.ts} +0 -0
  989. /package/dist/{retention-json.js → governance/retention-json.js} +0 -0
  990. /package/dist/{chain.d.ts → kernel/chain.d.ts} +0 -0
  991. /package/dist/{chain.js → kernel/chain.js} +0 -0
  992. /package/dist/{correlation.d.ts → kernel/correlation.d.ts} +0 -0
  993. /package/dist/{definitions.d.ts → kernel/definitions.d.ts} +0 -0
  994. /package/dist/{delegate.d.ts → kernel/delegate.d.ts} +0 -0
  995. /package/dist/{delegation-approval.d.ts → kernel/delegation-approval.d.ts} +0 -0
  996. /package/dist/{execution-id.d.ts → kernel/execution-id.d.ts} +0 -0
  997. /package/dist/{execution-id.js → kernel/execution-id.js} +0 -0
  998. /package/dist/{fanout.d.ts → kernel/fanout.d.ts} +0 -0
  999. /package/dist/{ledger-identifiers.d.ts → kernel/ledger-identifiers.d.ts} +0 -0
  1000. /package/dist/{ledger-identifiers.js → kernel/ledger-identifiers.js} +0 -0
  1001. /package/dist/{pi-tools.d.ts → kernel/pi-tools.d.ts} +0 -0
  1002. /package/dist/{progress.d.ts → kernel/progress.d.ts} +0 -0
  1003. /package/dist/{progress.js → kernel/progress.js} +0 -0
  1004. /package/dist/{skill-resources.d.ts → kernel/skill-resources.d.ts} +0 -0
  1005. /package/dist/{dashboard-render.d.ts → products/dashboard-render.d.ts} +0 -0
  1006. /package/src/{herdr-name.ts → executors/herdr-name.ts} +0 -0
  1007. /package/src/{herdr-start.ts → executors/herdr-start.ts} +0 -0
  1008. /package/src/{vendor → executors/vendor}/herdr-pi-lifecycle.ts +0 -0
  1009. /package/src/{chain.ts → kernel/chain.ts} +0 -0
  1010. /package/src/{execution-id.ts → kernel/execution-id.ts} +0 -0
  1011. /package/src/{ledger-identifiers.ts → kernel/ledger-identifiers.ts} +0 -0
  1012. /package/src/{progress.ts → kernel/progress.ts} +0 -0
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Every environment variable this package reads or writes, in one place (ADR-0076 PR 3b).
3
+ *
4
+ * Two namespaces existed before: `PI_GRANTS_*` for governance and `PI_DADDY_*` for products. Everything is
5
+ * `PI_DADDY_*` now. The kernel's `childEnv` hook used to refuse product-supplied keys by prefix; with one
6
+ * prefix it refuses by the closed list below, so the list must name every variable that shapes governance.
7
+ * `test/env-names.test.ts` forces that: every key the planner writes into a child's environment must be in
8
+ * GOVERNANCE_ENV_KEYS, and no `PI_GRANTS_` literal may survive anywhere except the legacy table here.
9
+ *
10
+ * Legacy names are adopted once per process (`adoptLegacyEnvironment`) so an operator's `export
11
+ * PI_GRANTS_HERDR=1` keeps working for one minor release with a visible warning; the new name always wins
12
+ * when both are set. Children are spawned with the new names only.
13
+ */
14
+
15
+ // Governance state pushed at a child by the spawn plan. Stripped from the parent's environment first, so a
16
+ // child holds exactly what the plan decided (see GRANT_ENV_KEYS in propagation.ts).
17
+ export const ENV_GRANT = "PI_DADDY_GRANT";
18
+ export const ENV_DEPTH = "PI_DADDY_DEPTH";
19
+ export const ENV_MAX_DEPTH = "PI_DADDY_MAX_DEPTH";
20
+ export const ENV_GATED = "PI_DADDY_GATED";
21
+ export const ENV_LEDGER = "PI_DADDY_LEDGER";
22
+ export const ENV_APPROVED = "PI_DADDY_APPROVED";
23
+ export const ENV_FANOUT = "PI_DADDY_FANOUT";
24
+ export const ENV_PARENT_ID = "PI_DADDY_PARENT_ID";
25
+ export const ENV_EXECUTION_ID = "PI_DADDY_EXECUTION_ID";
26
+
27
+ // Operator preferences a child inherits unchanged. Still governance: they decide executor, deadlines, gates.
28
+ export const ENV_HERDR = "PI_DADDY_HERDR";
29
+ export const ENV_HERDR_WORKSPACE = "PI_DADDY_HERDR_WORKSPACE";
30
+ export const ENV_HERDR_KEEP_PANE = "PI_DADDY_HERDR_KEEP_PANE";
31
+ export const ENV_CHILD_TIMEOUT = "PI_DADDY_CHILD_TIMEOUT";
32
+ export const ENV_CHILD_IDLE_TIMEOUT = "PI_DADDY_CHILD_IDLE_TIMEOUT";
33
+ export const ENV_APPROVAL_TIMEOUT = "PI_DADDY_APPROVAL_TIMEOUT";
34
+ export const ENV_ALLOW_UNRESOLVED_MODELS = "PI_DADDY_ALLOW_UNRESOLVED_MODELS";
35
+ export const ENV_WORKSPACE_REGISTRY = "PI_DADDY_WORKSPACE_REGISTRY";
36
+ export const ENV_WORKSPACE_LEASE_DIR = "PI_DADDY_WORKSPACE_LEASE_DIR";
37
+ export const ENV_EXECUTION_ARCHIVE = "PI_DADDY_EXECUTION_ARCHIVE";
38
+ export const ENV_NATIVE_SESSION_ROOT = "PI_DADDY_NATIVE_SESSION_ROOT";
39
+ export const ENV_RETAIN_NATIVE_SESSIONS = "PI_DADDY_RETAIN_NATIVE_SESSIONS";
40
+ export const ENV_GOVERNANCE = "PI_DADDY_GOVERNANCE";
41
+
42
+ /** Every variable that shapes governance. The `childEnv` hook may set none of these. */
43
+ export const GOVERNANCE_ENV_KEYS: readonly string[] = Object.freeze([
44
+ ENV_GRANT,
45
+ ENV_DEPTH,
46
+ ENV_MAX_DEPTH,
47
+ ENV_GATED,
48
+ ENV_LEDGER,
49
+ ENV_APPROVED,
50
+ ENV_FANOUT,
51
+ ENV_PARENT_ID,
52
+ ENV_EXECUTION_ID,
53
+ ENV_HERDR,
54
+ ENV_HERDR_WORKSPACE,
55
+ ENV_HERDR_KEEP_PANE,
56
+ ENV_CHILD_TIMEOUT,
57
+ ENV_CHILD_IDLE_TIMEOUT,
58
+ ENV_APPROVAL_TIMEOUT,
59
+ ENV_ALLOW_UNRESOLVED_MODELS,
60
+ ENV_WORKSPACE_REGISTRY,
61
+ ENV_WORKSPACE_LEASE_DIR,
62
+ ENV_EXECUTION_ARCHIVE,
63
+ ENV_NATIVE_SESSION_ROOT,
64
+ ENV_RETAIN_NATIVE_SESSIONS,
65
+ ENV_GOVERNANCE,
66
+ ]);
67
+
68
+ /**
69
+ * The names retired by ADR-0076 PR 3b, old → new. Read for one minor release, never written. Test-tier
70
+ * switches (`PI_GRANTS_IT_MODEL`, `PI_GRANTS_KEEP_TMP`) are included so an operator's shell keeps working.
71
+ */
72
+ export const LEGACY_ENV_NAMES: Readonly<Record<string, string>> = Object.freeze({
73
+ PI_GRANTS_GRANT: ENV_GRANT,
74
+ PI_GRANTS_DEPTH: ENV_DEPTH,
75
+ PI_GRANTS_MAX_DEPTH: ENV_MAX_DEPTH,
76
+ PI_GRANTS_GATED: ENV_GATED,
77
+ PI_GRANTS_LEDGER: ENV_LEDGER,
78
+ PI_GRANTS_APPROVED: ENV_APPROVED,
79
+ PI_GRANTS_FANOUT: ENV_FANOUT,
80
+ PI_GRANTS_PARENT_ID: ENV_PARENT_ID,
81
+ PI_GRANTS_EXECUTION_ID: ENV_EXECUTION_ID,
82
+ PI_GRANTS_HERDR: ENV_HERDR,
83
+ PI_GRANTS_HERDR_WORKSPACE: ENV_HERDR_WORKSPACE,
84
+ PI_GRANTS_HERDR_KEEP_PANE: ENV_HERDR_KEEP_PANE,
85
+ PI_GRANTS_CHILD_TIMEOUT: ENV_CHILD_TIMEOUT,
86
+ PI_GRANTS_APPROVAL_TIMEOUT: ENV_APPROVAL_TIMEOUT,
87
+ PI_GRANTS_ALLOW_UNRESOLVED_MODELS: ENV_ALLOW_UNRESOLVED_MODELS,
88
+ PI_GRANTS_WORKSPACE_REGISTRY: ENV_WORKSPACE_REGISTRY,
89
+ PI_GRANTS_WORKSPACE_LEASE_DIR: ENV_WORKSPACE_LEASE_DIR,
90
+ PI_GRANTS_EXECUTION_ARCHIVE: ENV_EXECUTION_ARCHIVE,
91
+ PI_GRANTS_NATIVE_SESSION_ROOT: ENV_NATIVE_SESSION_ROOT,
92
+ PI_GRANTS_RETAIN_NATIVE_SESSIONS: ENV_RETAIN_NATIVE_SESSIONS,
93
+ PI_GRANTS_IT_MODEL: "PI_DADDY_IT_MODEL",
94
+ PI_GRANTS_KEEP_TMP: "PI_DADDY_KEEP_TMP",
95
+ });
96
+
97
+ /**
98
+ * Copy each legacy variable to its new name when the new name is absent. Returns the legacy names adopted,
99
+ * so the caller can warn once. Never overwrites a value set under the new name, and never deletes the old
100
+ * one (a sibling process of an older release may still read it).
101
+ */
102
+ export function adoptLegacyEnvironment(env: NodeJS.ProcessEnv): string[] {
103
+ const adopted: string[] = [];
104
+ for (const [legacy, current] of Object.entries(LEGACY_ENV_NAMES)) {
105
+ if (env[legacy] !== undefined && env[current] === undefined) {
106
+ env[current] = env[legacy];
107
+ adopted.push(legacy);
108
+ }
109
+ }
110
+ return adopted;
111
+ }
112
+
113
+ /** The one-line warning shown when legacy names were adopted. */
114
+ export function legacyEnvironmentWarning(adopted: readonly string[]): string {
115
+ return (
116
+ `pi-daddy: ${adopted.join(", ")} ${adopted.length === 1 ? "is" : "are"} deprecated since ADR-0076 PR 3b; ` +
117
+ `rename to ${adopted.map((n) => LEGACY_ENV_NAMES[n]).join(", ")}. Legacy names are read for one minor release only.`
118
+ );
119
+ }
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Bounded synchronous fan-out — ADR-0015's option A′, and the cardinality bound ADR-0008 never had.
3
+ *
4
+ * **The gap this closes.** ADR-0008 bounds what each child may *hold* and says nothing about how many
5
+ * children exist. `resolve()` is a set operation; nowhere in `src/` was there a count. Blocking `delegate`
6
+ * bounded cardinality to one *by accident of being blocking*, so the invariant was never tested. Fan-out
7
+ * removes that accident: with `maxDepth: 2` and five children per call, five delegators each spawning five
8
+ * is thirty concurrent model sessions — **every ledger line individually correct and narrow, the aggregate
9
+ * a machine DoS and an uncapped bill.** The critic's verdict on this was that silence is itself a finding.
10
+ *
11
+ * **Why a budget rather than a per-call limit.** A per-call cap of K with depth D still permits K^D
12
+ * descendants, which is the same exponential wearing a smaller number. A *budget* is subtractive and
13
+ * therefore total: a session holding budget B may create at most B descendants in its whole subtree,
14
+ * because it spends from B to spawn and hands each child a share of what is left. That composes across
15
+ * process boundaries with **no shared state** — the same property that makes depth work — so it needs no
16
+ * registry, no lock and no counter file.
17
+ *
18
+ * It is deliberately NOT a concurrency limit. How many run at once is a resource question for the executor;
19
+ * how many may exist at all is a governance question, and this is the governance answer.
20
+ */
21
+
22
+ import { parseBound } from "./propagation.ts";
23
+
24
+ /** Total descendants a session may create across its entire subtree, when nothing is configured. */
25
+ export const DEFAULT_FANOUT_BUDGET = 8;
26
+
27
+ /**
28
+ * Hard ceiling on children in a single call, independent of budget.
29
+ *
30
+ * A budget alone would let one call spend all of it at once, and a hundred simultaneous `pi` processes is
31
+ * a different failure from a hundred spread over a session. This is the blast-radius bound; the budget is
32
+ * the total bound. Both are needed because they answer different questions.
33
+ */
34
+ export const MAX_CHILDREN_PER_CALL = 8;
35
+
36
+ /**
37
+ * Steps a single `delegate_chain` may contain — ADR-0033.
38
+ *
39
+ * **Derived from `MAX_CHILDREN_PER_CALL` so the two cannot drift.** A chain is not concurrent, so the blast-radius
40
+ * argument for that constant does not apply directly; what does apply is that one tool call should not be able to
41
+ * create an unbounded number of descendants, and eight is already a long pipeline. Sharing the number also means an
42
+ * operator learns one bound rather than two.
43
+ */
44
+ export const MAX_CHAIN_STEPS = MAX_CHILDREN_PER_CALL;
45
+
46
+ /** Read the budget from the environment, failing to the default on absent *or* malformed input. */
47
+ export function budgetFromEnv(raw: string | undefined): number {
48
+ const parsed = parseBound(raw);
49
+ // Malformed and zero both fall back rather than disabling fan-out silently — G7's rule. A budget that a
50
+ // typo can switch off is the A-S4 defect wearing different clothes. To genuinely forbid delegation an
51
+ // operator sets `maxDepth: 0`, which says what it means.
52
+ return parsed === undefined || parsed === null || parsed === 0 ? DEFAULT_FANOUT_BUDGET : parsed;
53
+ }
54
+
55
+ export interface BudgetSplit {
56
+ ok: boolean;
57
+ reason?: string;
58
+ /** Budget each child receives. */
59
+ perChild: number;
60
+ }
61
+
62
+ /**
63
+ * Spend `count` from a budget and divide the remainder among the children.
64
+ *
65
+ * The parent pays one unit per child it creates *before* sharing what is left, so a subtree can never
66
+ * exceed the budget it started with: spawning is itself an expenditure, not a free act that only its
67
+ * descendants pay for. `Math.floor` on the division means rounding always loses budget rather than
68
+ * inventing it — the safe direction, and the reason a deep tree converges to zero instead of oscillating.
69
+ */
70
+ export function splitBudget(budget: number, count: number): BudgetSplit {
71
+ if (count <= 0) return { ok: false, reason: "a fan-out needs at least one child", perChild: 0 };
72
+ if (count > MAX_CHILDREN_PER_CALL) {
73
+ return {
74
+ ok: false,
75
+ reason: `${count} children exceeds the per-call limit of ${MAX_CHILDREN_PER_CALL}`,
76
+ perChild: 0,
77
+ };
78
+ }
79
+ if (budget < count) {
80
+ return {
81
+ ok: false,
82
+ reason:
83
+ `fan-out budget exhausted: ${count} children requested, ${budget} remaining in this subtree ` +
84
+ `(raise PI_DADDY_FANOUT at the root, or delegate fewer at a time)`,
85
+ perChild: 0,
86
+ };
87
+ }
88
+ return { ok: true, perChild: Math.floor((budget - count) / count) };
89
+ }
90
+
91
+ /**
92
+ * A ledger id that distinguishes siblings.
93
+ *
94
+ * **Review finding F8.** Every child was recorded as `delegate@d1`, so four concurrent children produced
95
+ * four lines identical except `ts` — and two landing in the same millisecond were indistinguishable.
96
+ * ADR-0008 names `parent_id`/`child_id` as the correlation keys, but they were depth *labels* wearing id
97
+ * names, which made the ledger unjoinable to the returned result, to the OS process, or to the child's own
98
+ * lines one level down.
99
+ *
100
+ * The id is hierarchical and derived, not random: a child of `d0` is `d0.1`, its own second child `d0.1.2`.
101
+ * That means a line's ancestry is readable from the id alone with no join at all, and it is reproducible —
102
+ * two runs of the same fan-out produce the same ids, which is what makes a ledger diffable.
103
+ */
104
+ export function childSpawnId(parentId: string, index: number): string {
105
+ return `${parentId}.${index + 1}`;
106
+ }
@@ -0,0 +1,174 @@
1
+ /**
2
+ * The reviewable project record (`settings.json` since ADR-0076 PR 3c) — and what `init` refuses to put in it.
3
+ *
4
+ * Split out of `init.ts` when ADR-0029's grant-width rule pushed that file past the 400-line ceiling and
5
+ * `test/file-size.test.ts` refused it. The seam is the natural one: `init.ts` decides *what is true about
6
+ * the installed packages*, this file decides *how that is presented to a human for review*.
7
+ *
8
+ * **ADR-0029.** `init` used to emit the union of every declared ceiling as a live grant. A critic's reading
9
+ * killed it in one sentence: the handoff's safety argument for a third party authoring `allowed-tools` is
10
+ * that *"the operator's `PI_DADDY_GRANT` still bounds it"* — and a generated union makes the bound and the
11
+ * bounded have the same author, who is not the operator. So capabilities that can change a machine are
12
+ * emitted **commented**, with the definitions that need them named. `init` + `source` yields a working
13
+ * read-only setup; the wide ones cost one deliberate uncomment.
14
+ *
15
+ * That is a decision about the **starting grant**, which is a stronger act than choosing a ceiling and is
16
+ * why it needed its own ADR rather than a paragraph in ADR-0028.
17
+ */
18
+
19
+ import { DELEGATE_CAPABILITY } from "./capabilities.ts";
20
+ import { DEFAULT_GATED } from "./propagation.ts";
21
+ import { UNIVERSAL_CAPABILITIES, type Capability } from "./resolve.ts";
22
+ import { PROJECT_FILES } from "./project-paths.ts";
23
+
24
+ /**
25
+ * Capabilities `init` will never put LIVE in a generated grant.
26
+ *
27
+ * **This list is a judgement, and it is written down in one place so it can be argued with** — which is the
28
+ * whole reason ADR-0029 exists. The rule behind it: a capability that can *change the machine* or *execute*
29
+ * does not become live because a package asked for it. Everything else (reading, searching, listing) does.
30
+ *
31
+ * - `DEFAULT_GATED` — whatever a governed session already asks a human about. Today `tool:bash`, and taking
32
+ * it from there rather than restating it means the two cannot drift apart.
33
+ * - `tool:write`, `tool:edit`, `tool:edit-diff` — mutate the working tree, and **are not gated by default**,
34
+ * so a source-and-go operator would hand them to a child with no dialog at all. That gap is exactly what
35
+ * made "the union is mitigated by gating" untrue (R-76).
36
+ * - `UNIVERSAL_CAPABILITIES` — confer the whole catalog by measurement (probe `pi-fabric-eval`).
37
+ * `assertNarrowing` refuses a grant containing one anyway; leaving it out of the file keeps the operator
38
+ * from ever holding it by accident.
39
+ */
40
+ export const WITHHELD_BY_DEFAULT: readonly Capability[] = [
41
+ ...new Set([...DEFAULT_GATED, "tool:write", "tool:edit", "tool:edit-diff", ...UNIVERSAL_CAPABILITIES]),
42
+ ];
43
+
44
+ /** Would `init` put this capability in the live grant? */
45
+ export function isLiveByDefault(capability: Capability): boolean {
46
+ // No `workspace:<id>` is ever live by default (ADR-0035), and this is the same rule the list above states
47
+ // rather than a new one: authority "does not become live because a package asked for it". A registry id is
48
+ // a *choice of where a child runs*, which is the operator's to make and cannot be inferred from a
49
+ // declaration — ADR-0028's whole position. Enumerated ids are unbounded, so this is a namespace test and
50
+ // not a list membership.
51
+ if (capability.startsWith("workspace:")) return false;
52
+ return !WITHHELD_BY_DEFAULT.includes(capability);
53
+ }
54
+
55
+ /**
56
+ * Every character allowed in a generated `PI_DADDY_GRANT` value.
57
+ *
58
+ * **A structural backstop, not the main defence** (R-78). The per-entry whitelist in `skill-packages.ts` is
59
+ * what refuses a hostile capability id; this refuses to write the FILE AT ALL if anything unexpected reached
60
+ * the string regardless. R-77 and R-78 were the same defect found twice, on two channels into one
61
+ * interpolation, so the third channel — whatever it turns out to be — should cost a refusal rather than an
62
+ * injection. A guard that depends on my enumeration being complete is not a guard.
63
+ */
64
+ const GRANT_VALUE = /^[A-Za-z0-9:@,._/-]*$/;
65
+
66
+ export class UnsafeGrantError extends Error {}
67
+
68
+ /** Throw rather than write a grant string that could mean something to a shell. */
69
+ export function assertGrantIsWritable(grant: Capability[]): void {
70
+ const value = grant.join(",");
71
+ if (!GRANT_VALUE.test(value)) {
72
+ throw new UnsafeGrantError(
73
+ `refusing to write the grant: the assembled grant contains characters that are not part of a ` +
74
+ `capability id (${JSON.stringify(value)}). The grant is handed to children through their environment, so it is ` +
75
+ `not written at all rather than written unsafely. Report this — a declared capability reached the ` +
76
+ `grant that should have been refused at discovery.`,
77
+ );
78
+ }
79
+ }
80
+
81
+ /** One definition's declared ceiling, as far as the grant file is concerned. */
82
+ export interface GrantEnvSkill {
83
+ name: string;
84
+ ceiling: Capability[];
85
+ /** Present when the definition cannot be spawned at all; the string is why, for the reader. */
86
+ unspawnable?: string;
87
+ }
88
+
89
+ export interface GrantEnvInput {
90
+ skills: GrantEnvSkill[];
91
+ /** Capabilities emitted live. */
92
+ live: Capability[];
93
+ /** Withheld capability → the definitions that declared it. Emitted commented, for a deliberate uncomment. */
94
+ withheld: Map<Capability, string[]>;
95
+ /** Definitions whose `agent:` id is withheld because they need a withheld capability. */
96
+ withheldDefinitions: string[];
97
+ /** `workspace:<id>` ids this project could route to (ADR-0035). Rendered commented, never granted. */
98
+ routableWorkspaces?: Capability[];
99
+ /** `agent:<name>` ids a ceiling names that `init` did not write here. Reported, never granted. */
100
+ crossReferences: { from: string; capability: Capability }[];
101
+ cautions: string[];
102
+ }
103
+
104
+ /**
105
+ * Render the file.
106
+ *
107
+ * Every capability is annotated with the definition it came from, because the whole claim of this feature is
108
+ * that the capability decision is visible and diffable. A grant nobody can read is a grant nobody reviews.
109
+ */
110
+ /**
111
+ * Render `.pi/pi-daddy/settings.json`, the reviewable, committable record of a project's ceiling (ADR-0076 PR 3c).
112
+ *
113
+ * It replaced `.pi/grants.env`, which was never machine-read: the root grant comes from the user-level grant
114
+ * store (ADR-0037), and the shell file existed so a human could read and diff the capability decision. That
115
+ * purpose is kept as data: every capability is annotated with the definition it came from, withheld
116
+ * capabilities and definitions are listed with their reasons, and nothing here is advice dressed as a value.
117
+ * `/grants` renders it; PR 6 adds the advisor toggles beside it.
118
+ */
119
+ export interface ProjectSettings {
120
+ version: 1;
121
+ writtenBy: "pi-daddy init";
122
+ /** How to read this file, for the human who opens it in a diff. */
123
+ review: string;
124
+ /** The live grant: what `pi-daddy init` found declared and did not withhold. Delete an id to withhold it. */
125
+ grant: Capability[];
126
+ definitions: { name: string; declares: Capability[]; spawnable: boolean; reason?: string }[];
127
+ /** Withheld by default (ADR-0029) → the definitions that declared each. Never granted by init. */
128
+ withheld: { capability: Capability; declaredBy: string[] }[];
129
+ /** Definitions whose `agent:` id is withheld because they need a withheld capability. */
130
+ withheldDefinitions: string[];
131
+ /** `workspace:<id>` ids this project could route to (ADR-0035). Listed, never granted. */
132
+ routableWorkspaces: Capability[];
133
+ /** `agent:<name>` ids a ceiling names that init did not write here. Reported, never granted. */
134
+ crossReferences: { from: string; capability: Capability }[];
135
+ cautions: string[];
136
+ /** The project ledger file name under `.pi/pi-daddy/`; init enables it (ADR-0037). */
137
+ ledger: string;
138
+ /** Gated by default (ADR-0012): closed under subsumption, so gating tool:write also gates tool:bash. */
139
+ gatedByDefault: Capability[];
140
+ }
141
+
142
+ export function buildProjectSettings(input: GrantEnvInput): ProjectSettings {
143
+ return {
144
+ version: 1,
145
+ writtenBy: "pi-daddy init",
146
+ review:
147
+ "Every capability below was read from a SKILL.md's own allowed-tools; pi-daddy chose none of them. " +
148
+ "Review and commit this file. Delete an agent: id from `grant` to withhold that definition, a tool: id to " +
149
+ "withhold that tool from every child. A child never receives more than this grant ∩ its definition.",
150
+ grant: [...input.live],
151
+ definitions: input.skills.map((s) => ({
152
+ name: s.name,
153
+ declares: [...s.ceiling],
154
+ spawnable: !s.unspawnable,
155
+ ...(s.unspawnable ? { reason: s.unspawnable } : {}),
156
+ })),
157
+ withheld: [...input.withheld.entries()]
158
+ .sort(([a], [b]) => a.localeCompare(b))
159
+ .map(([capability, declaredBy]) => ({ capability, declaredBy: [...declaredBy] })),
160
+ withheldDefinitions: [...input.withheldDefinitions],
161
+ routableWorkspaces: [...(input.routableWorkspaces ?? [])],
162
+ crossReferences: input.crossReferences.map((c) => ({ ...c })),
163
+ cautions: [...input.cautions],
164
+ ledger: PROJECT_FILES.ledger,
165
+ gatedByDefault: ["tool:bash"],
166
+ };
167
+ }
168
+
169
+ export function renderProjectSettings(input: GrantEnvInput): string {
170
+ return JSON.stringify(buildProjectSettings(input), null, 2) + "\n";
171
+ }
172
+
173
+ /** The capability that must always be live, or the generated file is inert (S-5). */
174
+ export const ALWAYS_LIVE: Capability = DELEGATE_CAPABILITY;
@@ -0,0 +1,44 @@
1
+ import { refusal, type StructuredRefusal } from "./refusals.ts";
2
+ import { ENV_ALLOW_UNRESOLVED_MODELS } from "./env-names.ts";
3
+ export { ENV_ALLOW_UNRESOLVED_MODELS } from "./env-names.ts";
4
+
5
+ /** Pi's resolved catalogue carries provider support in thinkingLevelMap. Never silently clamp a user's choice. */
6
+ export function supportedModelEfforts(model: {
7
+ reasoning: boolean;
8
+ thinkingLevelMap?: Partial<Record<string, string | null>>;
9
+ }): ("off" | "minimal" | "low" | "medium" | "high" | "xhigh" | "max")[] {
10
+ if (!model.reasoning) return ["off"];
11
+ return (["off", "minimal", "low", "medium", "high", "xhigh", "max"] as const).filter((level) => {
12
+ const mapped = model.thinkingLevelMap?.[level];
13
+ return mapped !== null && ((level !== "xhigh" && level !== "max") || mapped !== undefined);
14
+ });
15
+ }
16
+
17
+ export interface ModelCatalogue {
18
+ find(provider: string, modelId: string): unknown;
19
+ }
20
+
21
+ /** Resolve an explicit provider/id against pi's own session catalogue without probing credentials or network. */
22
+ export function preflightModel(
23
+ model: string | undefined,
24
+ catalogue: ModelCatalogue,
25
+ cache: Map<string, boolean>,
26
+ allowUnresolved: boolean,
27
+ ): StructuredRefusal | undefined {
28
+ if (model === undefined || allowUnresolved) return undefined;
29
+ const slash = model.indexOf("/");
30
+ const provider = slash > 0 ? model.slice(0, slash) : "";
31
+ const id = slash > 0 ? model.slice(slash + 1) : "";
32
+ let resolved = cache.get(model);
33
+ if (resolved === undefined) {
34
+ resolved = provider.length > 0 && id.length > 0 && catalogue.find(provider, id) !== undefined;
35
+ cache.set(model, resolved);
36
+ }
37
+ if (resolved) return undefined;
38
+ return refusal(
39
+ "MODEL_UNRESOLVED",
40
+ `grants: model ${model || "(empty)"} is not in pi's session catalogue; use provider/id from /model, ` +
41
+ `or set ${ENV_ALLOW_UNRESOLVED_MODELS}=1 to let pi attempt custom resolution`,
42
+ { model: model || "(empty)" },
43
+ );
44
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Facts about pi itself: its built-in tool names, and the capability that means "all of them".
3
+ *
4
+ * These lived in `agent-types.ts` until ADR-0016 deleted that module along with the rest of the
5
+ * `@tintinweb/pi-subagents` port. They are not about agent types at all — `PI_BUILTIN_TOOLS` is how the
6
+ * catalog tells a built-in from an extension tool, and `WILDCARD` is a capability id — so they outlive
7
+ * the port and belong somewhere that does not name a package we no longer depend on.
8
+ *
9
+ * **`PI_BUILTIN_TOOLS` is a pinned observation, and it has already drifted once** (R-31): pi 0.84.1
10
+ * exposes a `parallel` tool that the 0.83.0 list did not contain, which made it classify as an
11
+ * *extension* capability. The list is used for classification only — never for enforcement, which is
12
+ * `--tools`' job — so drift misfiles a capability rather than granting one. Keep it current anyway; a
13
+ * misfiled capability is a confusing catalog.
14
+ */
15
+
16
+ import type { Capability } from "./resolve.ts";
17
+
18
+ /** Capability held only by a delegator authorised to hand out everything. */
19
+ export const WILDCARD: Capability = "tool:*";
20
+
21
+ /** pi's built-in tools, observed against 0.84.1. `parallel` was added since 0.83.0 — see R-31. */
22
+ export const PI_BUILTIN_TOOLS = [
23
+ "bash",
24
+ "edit",
25
+ "edit-diff",
26
+ "find",
27
+ "grep",
28
+ "ls",
29
+ "parallel",
30
+ "read",
31
+ "write",
32
+ ] as const;
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Every filesystem location this package owns, in one place (ADR-0076 PR 3c).
3
+ *
4
+ * Project state lives under `<cwd>/.pi/pi-daddy/`; user state under `<agent dir>/pi-daddy/`. Before this
5
+ * module there were eight project locations under `.pi/` and three user directories under the agent dir,
6
+ * each spelled at its call site. `test/project-paths.test.ts` forces the rule: no shipped module outside
7
+ * this one may spell `.pi`.
8
+ *
9
+ * `settings.json` is the one committable file in the project directory: `pi-daddy init` writes it as the
10
+ * reviewable record of what a project's ceiling is and why. Everything else there is private runtime state,
11
+ * and init writes a `.gitignore` beside it that says so.
12
+ *
13
+ * The user-level stores moved here without migration (operator decision, 2026-09-21, following ADR-0020):
14
+ * a session that finds the old location and not the new one reports the old path and asks for `/grants init`
15
+ * or a fresh approval, rather than copying authority from one place to another.
16
+ */
17
+ import { homedir } from "node:os";
18
+ import { basename, join, resolve } from "node:path";
19
+ import { createHash } from "node:crypto";
20
+
21
+ /** pi's own per-project directory. Ours is a subdirectory of it. */
22
+ export const PI_PROJECT_DIR = ".pi";
23
+ export const PROJECT_STATE_DIRNAME = "pi-daddy";
24
+
25
+ export function piProjectDir(cwd: string): string {
26
+ return join(resolve(cwd), PI_PROJECT_DIR);
27
+ }
28
+
29
+ /** `<cwd>/.pi/pi-daddy` — every project-scoped file this package writes. */
30
+ export function projectStateDir(cwd: string): string {
31
+ return join(piProjectDir(cwd), PROJECT_STATE_DIRNAME);
32
+ }
33
+
34
+ export const PROJECT_FILES = Object.freeze({
35
+ settings: "settings.json",
36
+ gitignore: ".gitignore",
37
+ ledger: "grants.jsonl",
38
+ activityTimeline: "activity.jsonl",
39
+ });
40
+
41
+ export const projectSettingsPath = (cwd: string) => join(projectStateDir(cwd), PROJECT_FILES.settings);
42
+ export const projectGitignorePath = (cwd: string) => join(projectStateDir(cwd), PROJECT_FILES.gitignore);
43
+ export const projectLedgerPath = (cwd: string) => join(projectStateDir(cwd), PROJECT_FILES.ledger);
44
+ export const activityTimelinePath = (cwd: string) => join(projectStateDir(cwd), PROJECT_FILES.activityTimeline);
45
+
46
+ /** The `.gitignore` init writes inside the project state directory: settings is committable, nothing else is. */
47
+ export const PROJECT_GITIGNORE_CONTENT = `# Written by pi-daddy init. Only settings.json is meant to be committed; the rest is private runtime state.
48
+ *
49
+ !.gitignore
50
+ !settings.json
51
+ `;
52
+
53
+ /** Is this path inside pi's per-project directory of any project? The private controller journals refuse such paths. */
54
+ export function isUnderPiProjectDir(path: string): boolean {
55
+ return path.split(/[\\/]/).includes(PI_PROJECT_DIR);
56
+ }
57
+
58
+ /** `$PI_CODING_AGENT_DIR`, or pi's default `~/.pi/agent`. */
59
+ export function agentDir(env: NodeJS.ProcessEnv = process.env): string {
60
+ const explicit = env.PI_CODING_AGENT_DIR?.trim();
61
+ return explicit ? explicit : join(homedir(), PI_PROJECT_DIR, "agent");
62
+ }
63
+
64
+ /** `<agent dir>/pi-daddy` — every user-scoped file this package writes. */
65
+ export function userStateDir(env: NodeJS.ProcessEnv = process.env): string {
66
+ return join(agentDir(env), PROJECT_STATE_DIRNAME);
67
+ }
68
+
69
+ export const USER_DIRS = Object.freeze({
70
+ grants: "grants",
71
+ approvals: "approvals",
72
+ workspaceLeases: "workspace-leases",
73
+ });
74
+
75
+ /**
76
+ * `<slug>-<16 hex>.json`: the basename keeps the directory legible, the hash makes it unambiguous, since two
77
+ * checkouts can share a basename. 64 bits, not the 24 this once shipped with (R-41).
78
+ */
79
+ export function projectFileName(cwd: string): string {
80
+ const slug = (basename(cwd) || "root").replace(/[^A-Za-z0-9._-]/g, "_").slice(0, 40);
81
+ const hash = createHash("sha256").update(cwd, "utf8").digest("hex").slice(0, 16);
82
+ return `${slug}-${hash}.json`;
83
+ }
84
+
85
+ export const grantStorePath = (cwd: string, env?: NodeJS.ProcessEnv) =>
86
+ join(userStateDir(env), USER_DIRS.grants, projectFileName(cwd));
87
+ export const approvalsPath = (cwd: string, env?: NodeJS.ProcessEnv) =>
88
+ join(userStateDir(env), USER_DIRS.approvals, projectFileName(cwd));
89
+ export const workspaceLeasesDir = (env?: NodeJS.ProcessEnv) => join(userStateDir(env), USER_DIRS.workspaceLeases);
90
+
91
+ /** Where the same stores lived before ADR-0076 PR 3c. Reported when found, never read (ADR-0020 precedent). */
92
+ export const legacyUserGrantStorePath = (cwd: string, env?: NodeJS.ProcessEnv) =>
93
+ join(agentDir(env), "grants", projectFileName(cwd));
94
+ export const legacyUserApprovalsPath = (cwd: string, env?: NodeJS.ProcessEnv) =>
95
+ join(agentDir(env), "grants-approvals", projectFileName(cwd));
96
+ export const legacyProjectLedgerPath = (cwd: string) => join(piProjectDir(cwd), "grants.jsonl");
97
+ export const legacyGrantEnvPath = (cwd: string) => join(piProjectDir(cwd), "grants.env");