@shivaedev/work-fleet 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (427) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +6 -4
  3. package/dist/DecisionCode.d.ts +1 -1
  4. package/dist/DecisionCode.d.ts.map +1 -1
  5. package/dist/DecisionCode.js +1 -0
  6. package/dist/DecisionCode.js.map +1 -1
  7. package/dist/admit.d.ts +2 -2
  8. package/dist/board/acknowledgeDecision.d.ts.map +1 -1
  9. package/dist/board/acknowledgeDecision.js +7 -3
  10. package/dist/board/acknowledgeDecision.js.map +1 -1
  11. package/dist/board/briefRevision.d.ts +1 -1
  12. package/dist/board/briefRevision.d.ts.map +1 -1
  13. package/dist/board/briefRevision.js +1 -1
  14. package/dist/board/briefRevision.js.map +1 -1
  15. package/dist/board/closePublishedDecision.d.ts +22 -0
  16. package/dist/board/closePublishedDecision.d.ts.map +1 -0
  17. package/dist/board/closePublishedDecision.js +41 -0
  18. package/dist/board/closePublishedDecision.js.map +1 -0
  19. package/dist/board/decisionAnswer.d.ts +2 -2
  20. package/dist/board/decisionAnswer.d.ts.map +1 -1
  21. package/dist/board/decisionAnswer.js +8 -8
  22. package/dist/board/decisionAnswer.js.map +1 -1
  23. package/dist/board/decisionReading.js +2 -2
  24. package/dist/board/decisionReading.js.map +1 -1
  25. package/dist/board/documents.d.ts +1 -2
  26. package/dist/board/documents.d.ts.map +1 -1
  27. package/dist/board/documents.js +4 -4
  28. package/dist/board/documents.js.map +1 -1
  29. package/dist/board/fleetField.d.ts +1 -1
  30. package/dist/board/fleetField.d.ts.map +1 -1
  31. package/dist/board/markdown.d.ts.map +1 -1
  32. package/dist/board/markdown.js +6 -5
  33. package/dist/board/markdown.js.map +1 -1
  34. package/dist/board/publish.d.ts +1 -1
  35. package/dist/board/publish.d.ts.map +1 -1
  36. package/dist/board/publish.js +10 -8
  37. package/dist/board/publish.js.map +1 -1
  38. package/dist/board/publishReport.js +2 -2
  39. package/dist/board/publishReport.js.map +1 -1
  40. package/dist/board/readDocument.js +1 -1
  41. package/dist/board/readDocument.js.map +1 -1
  42. package/dist/board/readPass.d.ts +1 -1
  43. package/dist/board/readPass.d.ts.map +1 -1
  44. package/dist/board/readPass.js +1 -1
  45. package/dist/board/readPass.js.map +1 -1
  46. package/dist/board/reportIdentity.js +1 -1
  47. package/dist/board/reportIdentity.js.map +1 -1
  48. package/dist/board/reportLinks.js +1 -1
  49. package/dist/board/reportLinks.js.map +1 -1
  50. package/dist/board/schema.d.ts +13 -13
  51. package/dist/board/schema.js +2 -2
  52. package/dist/board/schema.js.map +1 -1
  53. package/dist/board/upgradeDecisionClosure.d.ts +5 -0
  54. package/dist/board/upgradeDecisionClosure.d.ts.map +1 -0
  55. package/dist/board/upgradeDecisionClosure.js +46 -0
  56. package/dist/board/upgradeDecisionClosure.js.map +1 -0
  57. package/dist/board/workRevision.js +2 -2
  58. package/dist/board/workRevision.js.map +1 -1
  59. package/dist/board/writeHealth.d.ts +1 -1
  60. package/dist/board/writeHealth.d.ts.map +1 -1
  61. package/dist/board/writeHealth.js +1 -1
  62. package/dist/board/writeHealth.js.map +1 -1
  63. package/dist/board/writePublished.d.ts +1 -1
  64. package/dist/board/writePublished.d.ts.map +1 -1
  65. package/dist/board/writePublished.js +5 -1
  66. package/dist/board/writePublished.js.map +1 -1
  67. package/dist/cli.js +11 -5
  68. package/dist/cli.js.map +1 -1
  69. package/dist/engine/abandonStalled.d.ts +530 -533
  70. package/dist/engine/abandonStalled.d.ts.map +1 -1
  71. package/dist/engine/admissionOrder.d.ts +4 -4
  72. package/dist/engine/applyResolution.d.ts +4 -4
  73. package/dist/engine/approveBrief.d.ts +6 -6
  74. package/dist/engine/authorizeResolution.d.ts +528 -531
  75. package/dist/engine/authorizeResolution.d.ts.map +1 -1
  76. package/dist/engine/authorizeResolution.js +1 -1
  77. package/dist/engine/authorizeResolution.js.map +1 -1
  78. package/dist/engine/boardBrief.d.ts +7 -6
  79. package/dist/engine/boardBrief.d.ts.map +1 -1
  80. package/dist/engine/boardBrief.js +3 -10
  81. package/dist/engine/boardBrief.js.map +1 -1
  82. package/dist/engine/capacityRetry.d.ts +1715 -1724
  83. package/dist/engine/capacityRetry.d.ts.map +1 -1
  84. package/dist/engine/closeDecisions.d.ts +4 -4
  85. package/dist/engine/completeBoardWork.d.ts +4 -4
  86. package/dist/engine/completeReport.d.ts +277 -280
  87. package/dist/engine/completeReport.d.ts.map +1 -1
  88. package/dist/engine/continueCommand.d.ts +2 -2
  89. package/dist/engine/continueWorker.d.ts +4 -4
  90. package/dist/engine/decisionCopy.d.ts +15 -0
  91. package/dist/engine/decisionCopy.d.ts.map +1 -0
  92. package/dist/engine/decisionCopy.js +44 -0
  93. package/dist/engine/decisionCopy.js.map +1 -0
  94. package/dist/engine/deliverPendingAnswers.d.ts +534 -537
  95. package/dist/engine/deliverPendingAnswers.d.ts.map +1 -1
  96. package/dist/engine/dispatchCommand.d.ts +2 -2
  97. package/dist/engine/dispatchCommand.d.ts.map +1 -1
  98. package/dist/engine/dispatchCommand.js +4 -27
  99. package/dist/engine/dispatchCommand.js.map +1 -1
  100. package/dist/engine/dispatchFailure.d.ts +9391 -0
  101. package/dist/engine/dispatchFailure.d.ts.map +1 -0
  102. package/dist/engine/dispatchFailure.js +24 -0
  103. package/dist/engine/dispatchFailure.js.map +1 -0
  104. package/dist/engine/ensureDecisionOwner.d.ts +4 -4
  105. package/dist/engine/ensurePublication.d.ts +4 -4
  106. package/dist/engine/failureCode.js +1 -1
  107. package/dist/engine/failureCode.js.map +1 -1
  108. package/dist/engine/health.d.ts +1 -1
  109. package/dist/engine/health.d.ts.map +1 -1
  110. package/dist/engine/inspectRenewal.d.ts +4 -4
  111. package/dist/engine/launchInput.d.ts +2 -2
  112. package/dist/engine/launchReceipt.d.ts +2 -2
  113. package/dist/engine/makeAdopt.d.ts +4 -4
  114. package/dist/engine/makeAdvance.d.ts +2 -2
  115. package/dist/engine/makeDeliver.d.ts +4 -4
  116. package/dist/engine/makeDeliver.d.ts.map +1 -1
  117. package/dist/engine/makeDeliver.js +5 -1
  118. package/dist/engine/makeDeliver.js.map +1 -1
  119. package/dist/engine/makeHuman.d.ts +4 -4
  120. package/dist/engine/makeLaunch.d.ts +4 -4
  121. package/dist/engine/makeObserve.d.ts +4 -4
  122. package/dist/engine/makeReview.d.ts +4 -4
  123. package/dist/engine/makeState.d.ts +533 -536
  124. package/dist/engine/makeState.d.ts.map +1 -1
  125. package/dist/engine/makeState.js +9 -2
  126. package/dist/engine/makeState.js.map +1 -1
  127. package/dist/engine/makeValidate.d.ts +4 -4
  128. package/dist/engine/mergeReadiness.d.ts +536 -539
  129. package/dist/engine/mergeReadiness.d.ts.map +1 -1
  130. package/dist/engine/mergeReadiness.js +1 -1
  131. package/dist/engine/mergeReadiness.js.map +1 -1
  132. package/dist/engine/missingBoardWork.d.ts +9936 -0
  133. package/dist/engine/missingBoardWork.d.ts.map +1 -0
  134. package/dist/engine/missingBoardWork.js +17 -0
  135. package/dist/engine/missingBoardWork.js.map +1 -0
  136. package/dist/engine/observeDeliveryFailure.d.ts +530 -533
  137. package/dist/engine/observeDeliveryFailure.d.ts.map +1 -1
  138. package/dist/engine/observeRenewal.d.ts +6 -6
  139. package/dist/engine/obtainReview.d.ts +2 -2
  140. package/dist/engine/operationRecord.d.ts +26 -26
  141. package/dist/engine/persistTerminalReceipts.d.ts +4 -4
  142. package/dist/engine/prepareCommand.d.ts +2 -2
  143. package/dist/engine/queueAnswerCommand.d.ts +2 -2
  144. package/dist/engine/readOrContinueReview.d.ts +2 -2
  145. package/dist/engine/readResolution.d.ts +1 -1
  146. package/dist/engine/readResolution.js +1 -1
  147. package/dist/engine/readResolution.js.map +1 -1
  148. package/dist/engine/readRetry.d.ts +1177 -1183
  149. package/dist/engine/readRetry.d.ts.map +1 -1
  150. package/dist/engine/reassignCommand.d.ts +2 -2
  151. package/dist/engine/reconcileAttempt.d.ts +2 -2
  152. package/dist/engine/reconcileCommand.d.ts +2 -2
  153. package/dist/engine/reconcileCommand.d.ts.map +1 -1
  154. package/dist/engine/reconcileCommand.js +2 -1
  155. package/dist/engine/reconcileCommand.js.map +1 -1
  156. package/dist/engine/recordResponseCommand.d.ts +2 -2
  157. package/dist/engine/recoverStall.d.ts +530 -533
  158. package/dist/engine/recoverStall.d.ts.map +1 -1
  159. package/dist/engine/recoverUnobservable.d.ts +530 -533
  160. package/dist/engine/recoverUnobservable.d.ts.map +1 -1
  161. package/dist/engine/refreshBrief.d.ts +1177 -1183
  162. package/dist/engine/refreshBrief.d.ts.map +1 -1
  163. package/dist/engine/refreshReviewResult.d.ts +4 -4
  164. package/dist/engine/releaseClosedPreparation.d.ts +530 -533
  165. package/dist/engine/releaseClosedPreparation.d.ts.map +1 -1
  166. package/dist/engine/releaseExecution.d.ts +530 -533
  167. package/dist/engine/releaseExecution.d.ts.map +1 -1
  168. package/dist/engine/releaseFinishedWork.d.ts +2 -2
  169. package/dist/engine/repository.d.ts +24 -24
  170. package/dist/engine/repository.js +1 -1
  171. package/dist/engine/repository.js.map +1 -1
  172. package/dist/engine/requestConflictRepair.d.ts +530 -533
  173. package/dist/engine/requestConflictRepair.d.ts.map +1 -1
  174. package/dist/engine/requestRework.d.ts +4 -4
  175. package/dist/engine/resolveCommand.d.ts +2 -2
  176. package/dist/engine/resolveExecution.d.ts +530 -533
  177. package/dist/engine/resolveExecution.d.ts.map +1 -1
  178. package/dist/engine/resumeAttempt.d.ts +530 -533
  179. package/dist/engine/resumeAttempt.d.ts.map +1 -1
  180. package/dist/engine/retireUnacknowledged.d.ts +4 -4
  181. package/dist/engine/retryTerminal.d.ts +528 -531
  182. package/dist/engine/retryTerminal.d.ts.map +1 -1
  183. package/dist/engine/saveLaunch.d.ts +532 -535
  184. package/dist/engine/saveLaunch.d.ts.map +1 -1
  185. package/dist/engine/saveLaunch.js +2 -1
  186. package/dist/engine/saveLaunch.js.map +1 -1
  187. package/dist/engine/scheduler.d.ts +4 -4
  188. package/dist/engine/scheduler.d.ts.map +1 -1
  189. package/dist/engine/scheduler.js +4 -1
  190. package/dist/engine/scheduler.js.map +1 -1
  191. package/dist/engine/sessionCleanup.d.ts +4 -4
  192. package/dist/engine/settleMergedDelivery.d.ts +530 -533
  193. package/dist/engine/settleMergedDelivery.d.ts.map +1 -1
  194. package/dist/engine/situations/choices.d.ts +20 -0
  195. package/dist/engine/situations/choices.d.ts.map +1 -0
  196. package/dist/engine/situations/choices.js +21 -0
  197. package/dist/engine/situations/choices.js.map +1 -0
  198. package/dist/engine/situations/service.d.ts +60 -0
  199. package/dist/engine/situations/service.d.ts.map +1 -0
  200. package/dist/engine/situations/service.js +51 -0
  201. package/dist/engine/situations/service.js.map +1 -0
  202. package/dist/engine/situations/stop.d.ts +25 -0
  203. package/dist/engine/situations/stop.d.ts.map +1 -0
  204. package/dist/engine/situations/stop.js +25 -0
  205. package/dist/engine/situations/stop.js.map +1 -0
  206. package/dist/engine/situations/work.d.ts +114 -0
  207. package/dist/engine/situations/work.d.ts.map +1 -0
  208. package/dist/engine/situations/work.js +91 -0
  209. package/dist/engine/situations/work.js.map +1 -0
  210. package/dist/engine/steerBrief.d.ts +532 -535
  211. package/dist/engine/steerBrief.d.ts.map +1 -1
  212. package/dist/engine/submissionFailure.d.ts +526 -529
  213. package/dist/engine/submissionFailure.d.ts.map +1 -1
  214. package/dist/engine/submitLaunch.d.ts +528 -531
  215. package/dist/engine/submitLaunch.d.ts.map +1 -1
  216. package/dist/engine/threadNames.js +1 -1
  217. package/dist/engine/threadNames.js.map +1 -1
  218. package/dist/engine/workerReport.d.ts +7 -7
  219. package/dist/engine/workerReport.d.ts.map +1 -1
  220. package/dist/exposeFailure.js +1 -1
  221. package/dist/exposeFailure.js.map +1 -1
  222. package/dist/fleet.d.ts +26 -26
  223. package/dist/fleet.js +1 -1
  224. package/dist/fleet.js.map +1 -1
  225. package/dist/host/actionCommands.d.ts +10 -10
  226. package/dist/host/actionCommands.d.ts.map +1 -1
  227. package/dist/host/actionCommands.js +6 -6
  228. package/dist/host/actionCommands.js.map +1 -1
  229. package/dist/host/admission.d.ts +4 -4
  230. package/dist/host/answerWork.d.ts +4 -3
  231. package/dist/host/answerWork.d.ts.map +1 -1
  232. package/dist/host/cliOptions.d.ts +5 -1
  233. package/dist/host/cliOptions.d.ts.map +1 -1
  234. package/dist/host/cliOptions.js +6 -4
  235. package/dist/host/cliOptions.js.map +1 -1
  236. package/dist/host/commands.d.ts +1 -1
  237. package/dist/host/commands.d.ts.map +1 -1
  238. package/dist/host/configSettings.d.ts +5 -5
  239. package/dist/host/daemon.d.ts +133 -132
  240. package/dist/host/daemon.d.ts.map +1 -1
  241. package/dist/host/daemon.js +7 -3
  242. package/dist/host/daemon.js.map +1 -1
  243. package/dist/host/daemonClient.d.ts +28 -28
  244. package/dist/host/daemonClient.js +1 -1
  245. package/dist/host/daemonClient.js.map +1 -1
  246. package/dist/host/daemonContract.d.ts +146 -146
  247. package/dist/host/daemonContract.d.ts.map +1 -1
  248. package/dist/host/daemonContract.js +1 -1
  249. package/dist/host/daemonContract.js.map +1 -1
  250. package/dist/host/daemonDiagnostics.js +1 -1
  251. package/dist/host/daemonDiagnostics.js.map +1 -1
  252. package/dist/host/daemonHandlers.d.ts +1 -1
  253. package/dist/host/daemonHandlers.d.ts.map +1 -1
  254. package/dist/host/daemonPort.d.ts +6 -0
  255. package/dist/host/daemonPort.d.ts.map +1 -0
  256. package/dist/host/daemonPort.js +40 -0
  257. package/dist/host/daemonPort.js.map +1 -0
  258. package/dist/host/daemonSnapshots.d.ts +1 -1
  259. package/dist/host/daemonSnapshots.d.ts.map +1 -1
  260. package/dist/host/daemonSnapshots.js +1 -1
  261. package/dist/host/daemonSnapshots.js.map +1 -1
  262. package/dist/host/fleetStatus.d.ts +5 -5
  263. package/dist/host/follow.d.ts +1 -0
  264. package/dist/host/follow.d.ts.map +1 -1
  265. package/dist/host/follow.js +10 -4
  266. package/dist/host/follow.js.map +1 -1
  267. package/dist/host/followCommands.d.ts +2 -2
  268. package/dist/host/followCommands.d.ts.map +1 -1
  269. package/dist/host/followCommands.js +4 -2
  270. package/dist/host/followCommands.js.map +1 -1
  271. package/dist/host/githubApi.js +1 -1
  272. package/dist/host/githubApi.js.map +1 -1
  273. package/dist/host/githubDelivery.js +3 -1
  274. package/dist/host/githubDelivery.js.map +1 -1
  275. package/dist/host/healthLayer.js +1 -1
  276. package/dist/host/healthLayer.js.map +1 -1
  277. package/dist/host/integrations.js +1 -1
  278. package/dist/host/integrations.js.map +1 -1
  279. package/dist/host/mainSource.js +1 -1
  280. package/dist/host/mainSource.js.map +1 -1
  281. package/dist/host/providerHealth.js +1 -1
  282. package/dist/host/providerHealth.js.map +1 -1
  283. package/dist/host/quota.js +1 -1
  284. package/dist/host/quota.js.map +1 -1
  285. package/dist/host/recordDecisionResponse.d.ts +3 -2
  286. package/dist/host/recordDecisionResponse.d.ts.map +1 -1
  287. package/dist/host/recordDecisionResponse.js +1 -1
  288. package/dist/host/recordDecisionResponse.js.map +1 -1
  289. package/dist/host/releaseWork.d.ts +6 -5
  290. package/dist/host/releaseWork.d.ts.map +1 -1
  291. package/dist/host/releaseWork.js +2 -2
  292. package/dist/host/releaseWork.js.map +1 -1
  293. package/dist/host/renderStatus.d.ts +4 -1
  294. package/dist/host/renderStatus.d.ts.map +1 -1
  295. package/dist/host/renderStatus.js +6 -6
  296. package/dist/host/renderStatus.js.map +1 -1
  297. package/dist/host/reportBoard.js +1 -1
  298. package/dist/host/reportBoard.js.map +1 -1
  299. package/dist/host/runtime.d.ts +2 -2
  300. package/dist/host/runtime.d.ts.map +1 -1
  301. package/dist/host/runtime.js +1 -1
  302. package/dist/host/runtime.js.map +1 -1
  303. package/dist/host/statusLayer.js +2 -2
  304. package/dist/host/statusLayer.js.map +1 -1
  305. package/dist/host/watch.d.ts.map +1 -1
  306. package/dist/host/watch.js +1 -1
  307. package/dist/host/watch.js.map +1 -1
  308. package/dist/model.d.ts +9 -9
  309. package/dist/model.js +1 -1
  310. package/dist/model.js.map +1 -1
  311. package/dist/operations.d.ts +57 -57
  312. package/dist/packageInfo.d.ts +1 -1
  313. package/dist/packageInfo.js +1 -1
  314. package/dist/policy.d.ts +3 -2
  315. package/dist/policy.d.ts.map +1 -1
  316. package/dist/policy.js +2 -1
  317. package/dist/policy.js.map +1 -1
  318. package/dist/prompt/briefEdit.js +1 -1
  319. package/dist/prompt/briefEdit.js.map +1 -1
  320. package/dist/providers/codexCloud.js +1 -1
  321. package/dist/providers/codexCloud.js.map +1 -1
  322. package/dist/providers/codexLocal.js +1 -1
  323. package/dist/providers/codexLocal.js.map +1 -1
  324. package/dist/qualifyDependencies.d.ts +2 -2
  325. package/dist/reportFileDirectory.js +1 -1
  326. package/dist/reportFileDirectory.js.map +1 -1
  327. package/dist/scheduling/admission.d.ts +6 -6
  328. package/dist/scheduling/areas.d.ts +6 -6
  329. package/dist/scheduling/backPressure.d.ts +6 -6
  330. package/dist/session/schema.d.ts +1 -1
  331. package/dist/session/service.js +1 -1
  332. package/dist/session/service.js.map +1 -1
  333. package/dist/storage/fleetMigrations.d.ts.map +1 -1
  334. package/dist/storage/fleetMigrations.js +5 -0
  335. package/dist/storage/fleetMigrations.js.map +1 -1
  336. package/dist/storage/makeFleetTransaction.d.ts +1 -1
  337. package/dist/storage/makeFleetTransaction.d.ts.map +1 -1
  338. package/dist/storage/makeFleetTransaction.js +1 -1
  339. package/dist/storage/makeFleetTransaction.js.map +1 -1
  340. package/dist/storage/makeForeignReservations.d.ts.map +1 -1
  341. package/dist/storage/makeForeignReservations.js +16 -4
  342. package/dist/storage/makeForeignReservations.js.map +1 -1
  343. package/package.json +8 -9
  344. package/src/DecisionCode.ts +1 -0
  345. package/src/board/acknowledgeDecision.ts +7 -3
  346. package/src/board/briefRevision.ts +2 -2
  347. package/src/board/closePublishedDecision.ts +51 -0
  348. package/src/board/decisionAnswer.ts +11 -9
  349. package/src/board/decisionReading.ts +3 -3
  350. package/src/board/documents.ts +5 -6
  351. package/src/board/fleetField.ts +1 -1
  352. package/src/board/markdown.ts +6 -5
  353. package/src/board/publish.ts +10 -8
  354. package/src/board/publishReport.ts +2 -2
  355. package/src/board/readDocument.ts +1 -1
  356. package/src/board/readPass.ts +2 -2
  357. package/src/board/reportIdentity.ts +1 -1
  358. package/src/board/reportLinks.ts +1 -1
  359. package/src/board/schema.ts +2 -2
  360. package/src/board/upgradeDecisionClosure.ts +61 -0
  361. package/src/board/workRevision.ts +2 -2
  362. package/src/board/writeHealth.ts +2 -2
  363. package/src/board/writePublished.ts +13 -4
  364. package/src/cli.ts +13 -5
  365. package/src/engine/authorizeResolution.ts +1 -1
  366. package/src/engine/boardBrief.ts +11 -19
  367. package/src/engine/decisionCopy.ts +63 -0
  368. package/src/engine/dispatchCommand.ts +4 -34
  369. package/src/engine/dispatchFailure.ts +25 -0
  370. package/src/engine/failureCode.ts +1 -1
  371. package/src/engine/health.ts +1 -1
  372. package/src/engine/makeDeliver.ts +5 -1
  373. package/src/engine/makeState.ts +14 -4
  374. package/src/engine/mergeReadiness.ts +0 -2
  375. package/src/engine/missingBoardWork.ts +24 -0
  376. package/src/engine/readResolution.ts +2 -2
  377. package/src/engine/reconcileCommand.ts +7 -1
  378. package/src/engine/repository.ts +1 -1
  379. package/src/engine/saveLaunch.ts +2 -0
  380. package/src/engine/scheduler.ts +4 -1
  381. package/src/engine/situations/choices.ts +36 -0
  382. package/src/engine/situations/service.ts +82 -0
  383. package/src/engine/situations/stop.ts +60 -0
  384. package/src/engine/situations/work.ts +94 -0
  385. package/src/engine/threadNames.ts +1 -1
  386. package/src/exposeFailure.ts +1 -1
  387. package/src/fleet.ts +1 -1
  388. package/src/host/actionCommands.ts +6 -6
  389. package/src/host/cliOptions.ts +10 -5
  390. package/src/host/daemon.ts +7 -3
  391. package/src/host/daemonClient.ts +1 -1
  392. package/src/host/daemonContract.ts +1 -1
  393. package/src/host/daemonDiagnostics.ts +1 -1
  394. package/src/host/daemonPort.ts +50 -0
  395. package/src/host/daemonSnapshots.ts +1 -1
  396. package/src/host/follow.ts +16 -5
  397. package/src/host/followCommands.ts +4 -2
  398. package/src/host/githubApi.ts +1 -1
  399. package/src/host/githubDelivery.ts +3 -1
  400. package/src/host/healthLayer.ts +1 -1
  401. package/src/host/integrations.ts +1 -1
  402. package/src/host/mainSource.ts +1 -1
  403. package/src/host/providerHealth.ts +1 -1
  404. package/src/host/quota.ts +1 -1
  405. package/src/host/recordDecisionResponse.ts +1 -1
  406. package/src/host/releaseWork.ts +2 -2
  407. package/src/host/renderStatus.ts +6 -7
  408. package/src/host/reportBoard.ts +1 -1
  409. package/src/host/runtime.ts +1 -1
  410. package/src/host/statusLayer.ts +3 -3
  411. package/src/host/watch.ts +4 -1
  412. package/src/model.ts +1 -1
  413. package/src/packageInfo.ts +1 -1
  414. package/src/policy.ts +2 -1
  415. package/src/prompt/briefEdit.ts +1 -1
  416. package/src/providers/codexCloud.ts +1 -1
  417. package/src/providers/codexLocal.ts +1 -1
  418. package/src/reportFileDirectory.ts +1 -1
  419. package/src/session/service.ts +1 -1
  420. package/src/storage/fleetMigrations.ts +5 -0
  421. package/src/storage/makeFleetTransaction.ts +2 -2
  422. package/src/storage/makeForeignReservations.ts +15 -4
  423. package/dist/engine/releaseOnly.d.ts +0 -3
  424. package/dist/engine/releaseOnly.d.ts.map +0 -1
  425. package/dist/engine/releaseOnly.js +0 -19
  426. package/dist/engine/releaseOnly.js.map +0 -1
  427. package/src/engine/releaseOnly.ts +0 -24
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.7.0 - 2026-10-18
4
+
5
+ ### Added
6
+
7
+ - Board lookup failures use the `board-item-missing` error code and optional `BoardFailure.workId` to distinguish confirmed absence from unreadable or ambiguous Board sources.
8
+
9
+ ### Changed
10
+
11
+ - Published Fleet decisions now state in plain words what happened, what Fleet needs and recommends, and what each option does. Option labels fit the situation, such as "Continue on the updated task" for an edited brief and "Request changes" next to a note that merging happens on the PR for merge-ready work. Option ids `retry` and `release` and the answer protocol are unchanged.
12
+
13
+ ### Fixed
14
+
15
+ - Release foreign reservations when the existing delivery observation confirms their PR closed without merging, freeing open-PR backlog for waiting work. Repeated idle reconciliation emits no redundant reservation commit notifications. Releasing the closure decision keeps the reservation absent without another GitHub read. Closed delivery decisions use the `pr-closed` code.
16
+ - Prepared work whose Board item was deleted is released and logged instead of blocking its area queue, including after restart. Scheduler dispatch failures refresh saved blocker text and are logged, so status no longer shows an obsolete area holder.
17
+ - Merge-ready PRs and changed Board briefs ask the orchestrator for a decision. Superseded Fleet decision publications close on the Board, including older publications found during upgrade. Explicit maintainer reassignments survive the routing upgrade.
18
+ - Fleet records completion of the one-time decision cleanup in `.fleet-decision-closure-v1.json` in the Board root.
19
+
3
20
  ## 0.6.0 - 2026-10-18
4
21
 
5
22
  ### Added
package/README.md CHANGED
@@ -53,7 +53,7 @@ For this repository, configure the `worker` section in `.work/fleet.config.json`
53
53
  "worker": {
54
54
  "branchPrefix": "<branch-prefix>",
55
55
  "sharedEnvironment": "<environment-script-path>",
56
- "reviewerGuidance": "To check that PostgreSQL tests are not skipped without job logs, read .github/workflows/ci.yml at the reviewed head and follow its test job database setup and environment configuration. In this repository, pnpm db:setup provisions PostgreSQL and pnpm test supplies PLATFORM_EFFECT_*_TEST_DATABASE_URL through script/test.ts and script/lib/postgres-test-environment.ts. Inspect those files at the same head; the checkout may differ."
56
+ "reviewerGuidance": "To check that PostgreSQL tests are not skipped without job logs, read .github/workflows/ci.yml at the reviewed head and follow its test job database setup and environment configuration. In this repository, pnpm db:setup provisions PostgreSQL and pnpm test supplies PLATFORM_EFFECT_*_TEST_DATABASE_URL through script/test.ts and script/lib/postgresTestEnvironment.ts. Inspect those files at the same head; the checkout may differ."
57
57
  }
58
58
  }
59
59
  ```
@@ -183,7 +183,7 @@ fleet-priority: high
183
183
  | `work-fleet answer <work-id> [text] [--release] [--port <port>]` | Answers the waiting worker question or Fleet decision; reads text from stdin when omitted, except with `--release`. |
184
184
  | `work-fleet name-threads [--port <port>]` | Names existing Cloud threads from Fleet records and reports each rename or failure. |
185
185
 
186
- Automatic reconciliation refreshes eligible edited briefs in place. Explicit dispatch can re-approve work waiting on a context decision; renewal still requires safe execution and result ownership. Keep `serve` active to reconcile worker progress. All commands except `serve` connect to its loopback port (3457 by default) over RPC and open no PostgreSQL connection. Their retained `--board` and `--config` flags do not select a host; the running daemon owns its Board and configuration. Without a daemon, they exit 1 with the address and a command to start it. The host loop and approval behavior are exercised against PostgreSQL in `src/host/commands.test.ts` and `src/host/cloudRestart.spec.ts`; `src/host/statusProcess.spec.ts` exercises status output and flags.
186
+ Automatic reconciliation refreshes eligible edited briefs in place. Explicit dispatch can re-approve work waiting on a context decision; renewal still requires safe execution and result ownership. Keep `serve` active to reconcile worker progress. All commands except `serve` connect to its loopback port over RPC and open no PostgreSQL connection. `serve` writes its bound port to `<board-dir>/.fleet-port`. Clients read that file from `--board <board-dir>` (default `.work`); an explicit `--port` overrides discovery. On shutdown, the daemon removes the port file if it still holds that daemon's port. The running daemon owns its configuration; client `--config` does not change it. Without a daemon, clients other than `watch --follow` exit 1 with the address and a command to start it. `src/host/daemonDiscovery.spec.ts` proves discovery on an automatically assigned port, explicit overrides of a dead port file, and shutdown cleanup through real HTTP and PostgreSQL. The host loop and approval behavior are exercised against PostgreSQL in `src/host/commands.test.ts` and `src/host/cloudRestart.spec.ts`; `src/host/statusProcess.spec.ts` exercises status output and flags.
187
187
 
188
188
  `answer` records an orchestrator response on Board and resolves what the item waits on. Worker questions require nonempty text and continue on the same thread. Fleet decisions receive retry with the text as the overall response; for a reviewed, ready PR, nonempty text requests changes on the same branch and PR. Use `--release` to release terminal ownership instead. The command refreshes the managed decision and registers its current question before answering, including after a changed template was republished. If reconciliation replaces a decision with another of the same kind during the command, the answer applies to the current decision. A different kind or a move out of needs-human returns `Decision changed` with the current reason. Nonempty text sent during execution or repair is stored for the next worker turn, survives daemon restart and prints `queued for the next turn`; release requests still require terminal waiting work. Items waiting on nothing return a typed error naming their stage. `status` prints each waiting question or reason, with `work-fleet answer <work-id>` in the maintainer and orchestrator lanes. Automation waits have no answer command. `src/host/daemonCommands.spec.ts`, `src/host/answerWorker.spec.ts`, `src/host/answerPublication.spec.ts`, `src/host/answerReplacement.spec.ts`, `src/host/answerQueue.spec.ts` and `src/host/approvedRework.spec.ts` prove these paths through daemon HTTP against PostgreSQL and synthetic Board directories. The daemon still records and applies an answer or release after its client stops waiting, and all answers and releases share one watched Board response index, so a request rereads only changed Board files; `src/host/answerDisconnect.spec.ts` proves both through daemon HTTP while another connection holds the admission lock.
189
189
 
@@ -205,7 +205,7 @@ Automatic reconciliation refreshes eligible edited briefs in place. Explicit dis
205
205
 
206
206
  `watch --follow` accepts unfamiliar decision codes, stages and extra fields from a newer daemon. It prints unfamiliar codes and stages as text; an entry whose display fields cannot decode prints its raw data without stopping other entries or later snapshots. Fatal watch errors exit 1 and print one cause line on stderr. `src/host/watchSkew.spec.ts` proves these behaviors through a synthetic HTTP stream and real CLI subprocesses.
207
207
 
208
- `wait` and `watch` each use one scoped RPC subscription. The daemon is the only store writer. Record and foreign-occupancy writes run through effect-sql `transact` and record table hints inside that transaction. The daemon shares one summary stream across followers. It subscribes to committed record hints before reading compact fields through its existing pool, then reads again only when a record commit arrives; it does not poll PostgreSQL. New followers receive the last good snapshot; after the last follower leaves, the next subscription starts with a fresh read. PostgreSQL read failures retain the last good snapshot and retry every half second; 20 consecutive failed attempts end all current followers with a clear message and exit 1. A reconnect receives a snapshot of the original selected set, or all items for `watch --follow` without IDs; printed outcomes remain deduplicated. Connection loss retries up to 20 consecutive attempts before exit 1. `--timeout <seconds>` exits 4 and writes a timeout message to stderr. `src/host/watch.test.ts`, `src/host/daemonClients.spec.ts`, `src/host/snapshotStream.test.ts` and `src/host/daemonFollow.spec.ts` cover output, HTTP restart resync, initial selection, PostgreSQL read recovery and failure bounds, the commit-subscription lifecycle and rollback silence. `src/host/daemonCommit.spec.ts` proves a daemon command reaches a CLI follower without periodic reads and a rolled-back store write sends neither a snapshot nor a refresh query. Client subprocess fixtures reject direct PostgreSQL connections, so the command tests fail if a client opens the store itself.
208
+ `wait` and `watch` each use one scoped RPC subscription. The daemon is the only store writer. Record and foreign-occupancy writes run through effect-sql `transact` and record table hints inside that transaction. The daemon shares one summary stream across followers. It subscribes to committed record hints before reading compact fields through its existing pool, then reads again only when a record commit arrives; it does not poll PostgreSQL. New followers receive the last good snapshot; after the last follower leaves, the next subscription starts with a fresh read. PostgreSQL read failures retain the last good snapshot and retry every half second; 20 consecutive failed attempts end all current followers with a clear message and exit 1. A reconnect receives a snapshot of the original selected set, or all items for `watch --follow` without IDs; printed outcomes remain deduplicated. `watch --follow` writes an `ERROR` line to stderr on each failed connection attempt, including before its first snapshot, then retries at `--interval` without an attempt limit. Each retry rereads the port file, so a restarted daemon can change ports. `src/host/daemonDiscovery.spec.ts` proves repeated errors and recovery on a new port. Other wait and watch subscriptions retry connection loss up to 20 consecutive attempts before exit 1. `--timeout <seconds>` exits 4 and writes a timeout message to stderr. `src/host/watch.test.ts`, `src/host/daemonClients.spec.ts`, `src/host/snapshotStream.test.ts` and `src/host/daemonFollow.spec.ts` cover output, HTTP restart resync, initial selection, PostgreSQL read recovery and failure bounds, the commit-subscription lifecycle and rollback silence. `src/host/daemonCommit.spec.ts` proves a daemon command reaches a CLI follower without periodic reads and a rolled-back store write sends neither a snapshot nor a refresh query. Client subprocess fixtures reject direct PostgreSQL connections, so the command tests fail if a client opens the store itself.
209
209
 
210
210
  ### Read the generated heading board
211
211
 
@@ -241,7 +241,9 @@ A composed runtime enables health publication with `statusLayer(boardRoot, { con
241
241
 
242
242
  Every new Fleet decision records a stable `code` beside its human `reason`. Import the Schema literal union `DecisionCode` from `@shivaedev/work-fleet/DecisionCode.ts`; Platform integration errors carry a code through `withFailureContext(error, { code })` from `@shivaedev/work-fleet/engine/failureContext.ts`; uncoded errors receive a code from their Platform error tag. Session and Board failures retain their optional code fields. Release-only actions, report-correction retries, conflict repair and merge-ready reconciliation use codes. Conflict decisions use `pr-conflicting`; the recovery matrix rewords their text and proves retry still repairs the same PR. Decision fields remain optional for existing stored records; Fleet assigns codes when it publishes decisions. PostgreSQL migration backfills saved current and archived decisions. `src/engine/reasonCodes.spec.ts` proves that rewording a release-only reason preserves its answer options and rejects retry after restart. `src/engine/recoveryMatrix.spec.ts` requires recovery coverage for every Schema code.
243
243
 
244
- The guided actions offer retry when Fleet can launch a new turn, review or delivery observation. Incompatible preparation, changed result identity, invalid adopted GitHub identity, oversized immutable reports, unconfigured stock-host no-change validation and report workers that published to GitHub offer only release, with a sentence explaining what must happen outside retry. Closing a published PR and deleting its branch retain publication evidence. Worker questions accept a recorded answer to continue the same thread, or a guided release answer to free terminal ownership.
244
+ The guided actions offer retry when Fleet can launch a new turn, review or delivery observation. Incompatible preparation, changed result identity, invalid adopted GitHub identity, oversized immutable reports, unconfigured stock-host no-change validation and report workers that published to GitHub offer only release, and the recommendation explains why trying again cannot help. Closing a published PR and deleting its branch retain publication evidence. Worker questions accept a recorded answer to continue the same thread, or a guided release answer to free terminal ownership.
245
+
246
+ The published decision speaks to the maintainer in plain words. The tables in `src/engine/situations/` hold, for every decision code, what happened, what Fleet needs and recommends, and a label and outcome for each guided option; the option ids stay `retry` and `release`. Codes whose stored reason carries a failure message add it after the plain text as details. The stored `reason` and `recommendation` stay in CLI status for the orchestrator and do not appear on the card. `src/board/markdown.test.ts` proves the details and the absent CLI recommendation, and `src/engine/reasonCodes.spec.ts` proves that reworded reasons keep their options.
245
247
 
246
248
  `src/engine/recoveryMatrix.spec.ts` inventories production decision creation sites and requires a recovery row for every code in `DecisionCode`. The human-decision rows run in case groups, one `src/engine/<group>RecoveryMatrix.spec.ts` per group, and the inventory requires a spec file for every group. Human-decision rows check retry progress and release after restart against real PostgreSQL with synthetic providers and GitHub readers, production host checks, Board report publication, attachment and payload boundaries, and the PostgreSQL session journal. Automatic-capacity rows reword queue-full and quota failures, preserve their waits across restart, and resume without a human decision. Separate rows record an answer while the HTTP daemon is closed, then restart it against the same records. New decision sites or Schema codes without a matrix row fail the suite. Mutation regressions add a decision site and remove a code’s recovery rows to prove this guard.
247
249
 
@@ -1,4 +1,4 @@
1
1
  import { Schema } from "effect";
2
- export declare const DecisionCode: Schema.Literals<readonly ["approval-required", "board-failure", "checks-repair-exhausted", "checks-result-invalid", "delivery-head-mismatch", "delivery-pr-required", "duplicate-turns", "empty-report", "fleet-denied", "fleet-integration", "fleet-invalid", "fleet-missing", "fleet-stale", "foreign-pr", "incomplete-context", "incomplete-observation", "integration-failure", "no-change-checks-unconfigured", "not-ancestor", "pr-conflicting", "pr-head-moved", "provider-quota-unavailable", "relevant-change", "report-published", "report-too-large", "result-identity-changed", "reviewed-pr-ready", "reviewer-terminal", "session-active-turn", "session-active-turn-exhausted", "session-ambiguous", "session-persistence", "session-protocol", "session-queue-full", "session-rejected", "session-stalled", "session-turn-missing", "session-unavailable", "worker-question", "worker-receipt-missing", "worker-report-head-invalid", "worker-report-head-moved", "worker-report-merged-head-mismatch", "worker-report-pr-invalid", "worker-terminal"]>;
2
+ export declare const DecisionCode: Schema.Literals<readonly ["approval-required", "board-failure", "checks-repair-exhausted", "checks-result-invalid", "delivery-head-mismatch", "delivery-pr-required", "duplicate-turns", "empty-report", "fleet-denied", "fleet-integration", "fleet-invalid", "fleet-missing", "fleet-stale", "foreign-pr", "incomplete-context", "incomplete-observation", "integration-failure", "no-change-checks-unconfigured", "not-ancestor", "pr-closed", "pr-conflicting", "pr-head-moved", "provider-quota-unavailable", "relevant-change", "report-published", "report-too-large", "result-identity-changed", "reviewed-pr-ready", "reviewer-terminal", "session-active-turn", "session-active-turn-exhausted", "session-ambiguous", "session-persistence", "session-protocol", "session-queue-full", "session-rejected", "session-stalled", "session-turn-missing", "session-unavailable", "worker-question", "worker-receipt-missing", "worker-report-head-invalid", "worker-report-head-moved", "worker-report-merged-head-mismatch", "worker-report-pr-invalid", "worker-terminal"]>;
3
3
  export type DecisionCode = typeof DecisionCode.Type;
4
4
  //# sourceMappingURL=DecisionCode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DecisionCode.d.ts","sourceRoot":"","sources":["../src/DecisionCode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,eAAO,MAAM,YAAY,wgCA8CvB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC"}
1
+ {"version":3,"file":"DecisionCode.d.ts","sourceRoot":"","sources":["../src/DecisionCode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,eAAO,MAAM,YAAY,qhCA+CvB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC"}
@@ -19,6 +19,7 @@ export const DecisionCode = Schema.Literals([
19
19
  "integration-failure",
20
20
  "no-change-checks-unconfigured",
21
21
  "not-ancestor",
22
+ "pr-closed",
22
23
  "pr-conflicting",
23
24
  "pr-head-moved",
24
25
  "provider-quota-unavailable",
@@ -1 +1 @@
1
- {"version":3,"file":"DecisionCode.js","sourceRoot":"","sources":["../src/DecisionCode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC3C,mBAAmB;IACnB,eAAe;IACf,yBAAyB;IACzB,uBAAuB;IACvB,wBAAwB;IACxB,sBAAsB;IACtB,iBAAiB;IACjB,cAAc;IACd,cAAc;IACd,mBAAmB;IACnB,eAAe;IACf,eAAe;IACf,aAAa;IACb,YAAY;IACZ,oBAAoB;IACpB,wBAAwB;IACxB,qBAAqB;IACrB,+BAA+B;IAC/B,cAAc;IACd,gBAAgB;IAChB,eAAe;IACf,4BAA4B;IAC5B,iBAAiB;IACjB,kBAAkB;IAClB,kBAAkB;IAClB,yBAAyB;IACzB,mBAAmB;IACnB,mBAAmB;IACnB,qBAAqB;IACrB,+BAA+B;IAC/B,mBAAmB;IACnB,qBAAqB;IACrB,kBAAkB;IAClB,oBAAoB;IACpB,kBAAkB;IAClB,iBAAiB;IACjB,sBAAsB;IACtB,qBAAqB;IACrB,iBAAiB;IACjB,wBAAwB;IACxB,4BAA4B;IAC5B,0BAA0B;IAC1B,oCAAoC;IACpC,0BAA0B;IAC1B,iBAAiB;CACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"DecisionCode.js","sourceRoot":"","sources":["../src/DecisionCode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC3C,mBAAmB;IACnB,eAAe;IACf,yBAAyB;IACzB,uBAAuB;IACvB,wBAAwB;IACxB,sBAAsB;IACtB,iBAAiB;IACjB,cAAc;IACd,cAAc;IACd,mBAAmB;IACnB,eAAe;IACf,eAAe;IACf,aAAa;IACb,YAAY;IACZ,oBAAoB;IACpB,wBAAwB;IACxB,qBAAqB;IACrB,+BAA+B;IAC/B,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,eAAe;IACf,4BAA4B;IAC5B,iBAAiB;IACjB,kBAAkB;IAClB,kBAAkB;IAClB,yBAAyB;IACzB,mBAAmB;IACnB,mBAAmB;IACnB,qBAAqB;IACrB,+BAA+B;IAC/B,mBAAmB;IACnB,qBAAqB;IACrB,kBAAkB;IAClB,oBAAoB;IACpB,kBAAkB;IAClB,iBAAiB;IACjB,sBAAsB;IACtB,qBAAqB;IACrB,iBAAiB;IACjB,wBAAwB;IACxB,4BAA4B;IAC5B,0BAA0B;IAC1B,oCAAoC;IACpC,0BAA0B;IAC1B,iBAAiB;CACjB,CAAC,CAAC"}
package/dist/admit.d.ts CHANGED
@@ -109,7 +109,7 @@ export declare const admit: (work: {
109
109
  readonly decision?: {
110
110
  readonly attentionOwner?: "automation" | "maintainer" | "orchestrator" | undefined;
111
111
  readonly boardAcknowledgementDisposition?: "superseded" | undefined;
112
- readonly code?: "approval-required" | "board-failure" | "checks-repair-exhausted" | "checks-result-invalid" | "delivery-head-mismatch" | "delivery-pr-required" | "duplicate-turns" | "empty-report" | "fleet-denied" | "fleet-integration" | "fleet-invalid" | "fleet-missing" | "fleet-stale" | "foreign-pr" | "incomplete-context" | "incomplete-observation" | "integration-failure" | "no-change-checks-unconfigured" | "not-ancestor" | "pr-conflicting" | "pr-head-moved" | "provider-quota-unavailable" | "relevant-change" | "report-published" | "report-too-large" | "result-identity-changed" | "reviewed-pr-ready" | "reviewer-terminal" | "session-active-turn" | "session-active-turn-exhausted" | "session-ambiguous" | "session-persistence" | "session-protocol" | "session-queue-full" | "session-rejected" | "session-stalled" | "session-turn-missing" | "session-unavailable" | "worker-question" | "worker-receipt-missing" | "worker-report-head-invalid" | "worker-report-head-moved" | "worker-report-merged-head-mismatch" | "worker-report-pr-invalid" | "worker-terminal" | undefined;
112
+ readonly code?: "approval-required" | "board-failure" | "checks-repair-exhausted" | "checks-result-invalid" | "delivery-head-mismatch" | "delivery-pr-required" | "duplicate-turns" | "empty-report" | "fleet-denied" | "fleet-integration" | "fleet-invalid" | "fleet-missing" | "fleet-stale" | "foreign-pr" | "incomplete-context" | "incomplete-observation" | "integration-failure" | "no-change-checks-unconfigured" | "not-ancestor" | "pr-closed" | "pr-conflicting" | "pr-head-moved" | "provider-quota-unavailable" | "relevant-change" | "report-published" | "report-too-large" | "result-identity-changed" | "reviewed-pr-ready" | "reviewer-terminal" | "session-active-turn" | "session-active-turn-exhausted" | "session-ambiguous" | "session-persistence" | "session-protocol" | "session-queue-full" | "session-rejected" | "session-stalled" | "session-turn-missing" | "session-unavailable" | "worker-question" | "worker-receipt-missing" | "worker-report-head-invalid" | "worker-report-head-moved" | "worker-report-merged-head-mismatch" | "worker-report-pr-invalid" | "worker-terminal" | undefined;
113
113
  readonly id: string;
114
114
  readonly links: readonly string[];
115
115
  readonly publicationWork?: {
@@ -378,7 +378,7 @@ export declare const admit: (work: {
378
378
  readonly decision?: {
379
379
  readonly attentionOwner?: "automation" | "maintainer" | "orchestrator" | undefined;
380
380
  readonly boardAcknowledgementDisposition?: "superseded" | undefined;
381
- readonly code?: "approval-required" | "board-failure" | "checks-repair-exhausted" | "checks-result-invalid" | "delivery-head-mismatch" | "delivery-pr-required" | "duplicate-turns" | "empty-report" | "fleet-denied" | "fleet-integration" | "fleet-invalid" | "fleet-missing" | "fleet-stale" | "foreign-pr" | "incomplete-context" | "incomplete-observation" | "integration-failure" | "no-change-checks-unconfigured" | "not-ancestor" | "pr-conflicting" | "pr-head-moved" | "provider-quota-unavailable" | "relevant-change" | "report-published" | "report-too-large" | "result-identity-changed" | "reviewed-pr-ready" | "reviewer-terminal" | "session-active-turn" | "session-active-turn-exhausted" | "session-ambiguous" | "session-persistence" | "session-protocol" | "session-queue-full" | "session-rejected" | "session-stalled" | "session-turn-missing" | "session-unavailable" | "worker-question" | "worker-receipt-missing" | "worker-report-head-invalid" | "worker-report-head-moved" | "worker-report-merged-head-mismatch" | "worker-report-pr-invalid" | "worker-terminal" | undefined;
381
+ readonly code?: "approval-required" | "board-failure" | "checks-repair-exhausted" | "checks-result-invalid" | "delivery-head-mismatch" | "delivery-pr-required" | "duplicate-turns" | "empty-report" | "fleet-denied" | "fleet-integration" | "fleet-invalid" | "fleet-missing" | "fleet-stale" | "foreign-pr" | "incomplete-context" | "incomplete-observation" | "integration-failure" | "no-change-checks-unconfigured" | "not-ancestor" | "pr-closed" | "pr-conflicting" | "pr-head-moved" | "provider-quota-unavailable" | "relevant-change" | "report-published" | "report-too-large" | "result-identity-changed" | "reviewed-pr-ready" | "reviewer-terminal" | "session-active-turn" | "session-active-turn-exhausted" | "session-ambiguous" | "session-persistence" | "session-protocol" | "session-queue-full" | "session-rejected" | "session-stalled" | "session-turn-missing" | "session-unavailable" | "worker-question" | "worker-receipt-missing" | "worker-report-head-invalid" | "worker-report-head-moved" | "worker-report-merged-head-mismatch" | "worker-report-pr-invalid" | "worker-terminal" | undefined;
382
382
  readonly id: string;
383
383
  readonly links: readonly string[];
384
384
  readonly publicationWork?: {
@@ -1 +1 @@
1
- {"version":3,"file":"acknowledgeDecision.d.ts","sourceRoot":"","sources":["../../src/board/acknowledgeDecision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,OAAO,EAAE,KAAK,aAAa,EAAqB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAqC,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM1C,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC;;;;;;;;;;;;;;gFAwCvH"}
1
+ {"version":3,"file":"acknowledgeDecision.d.ts","sourceRoot":"","sources":["../../src/board/acknowledgeDecision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,OAAO,EAAE,KAAK,aAAa,EAAqB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAqC,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM1C,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC;;;;;;;;;;;;;;gFA2CvH"}
@@ -1,7 +1,8 @@
1
1
  import { Effect } from "effect";
2
- import { attention } from "@shivaedev/work-board/integration/attention.ts";
3
- import { board as boardApi } from "@shivaedev/work-board/integration/board.ts";
4
- import { responses } from "@shivaedev/work-board/integration/responses.ts";
2
+ import { attention } from "@shivaedev/work-board/server/integration/attention.ts";
3
+ import { board as boardApi } from "@shivaedev/work-board/server/integration/board.ts";
4
+ import { responses } from "@shivaedev/work-board/server/integration/responses.ts";
5
+ import { closePublishedDecision } from "#board/closePublishedDecision.ts";
5
6
  import { recordBoardSource } from "#board/readPass.ts";
6
7
  import { BoardAcknowledgementStale } from "#board/schema.ts";
7
8
  import { BoardFailure } from "#policy.ts";
@@ -41,6 +42,9 @@ export function acknowledgeDecision(root, realRoot, snapshot) {
41
42
  }
42
43
  yield* publish(root, realRoot, id, content).pipe(Effect.mapError(() => new BoardFailure({ message: "The managed request acknowledgement could not be recorded on Board." })));
43
44
  yield* recordBoardSource(realRoot, file, content, receiptDocument.parsed);
45
+ if (input.disposition === "superseded") {
46
+ yield* closePublishedDecision(root, realRoot, source);
47
+ }
44
48
  });
45
49
  }
46
50
  //# sourceMappingURL=acknowledgeDecision.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"acknowledgeDecision.js","sourceRoot":"","sources":["../../src/board/acknowledgeDecision.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acknowledgeDecision.js","sourceRoot":"","sources":["../../src/board/acknowledgeDecision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,uDAAuD,CAAC;AAClF,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,mDAAmD,CAAC;AACtF,OAAO,EAAE,SAAS,EAAE,MAAM,uDAAuD,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAsB,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAqC,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,EAAE,qBAAqB,EAAE,GAAG,SAAS,CAAC;AAC5C,MAAM,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC;AACnC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;AAE1C,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,QAAgB,EAAE,QAAoD;IACvH,OAAO,MAAM,CAAC,EAAE,CAAC,gCAAgC,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAmC;QAChG,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC;QAChC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,wBAAwB,CAAC,CAAC;QACtH,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACzF,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7E,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC/G,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACxB,IAAI,yBAAyB,CAAC,EAAE,OAAO,EAAE,2EAA2E,EAAE,CAAC,CACvH,CAAC;QACH,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvG,MAAM,cAAc,GAAG;YACtB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,QAAQ,EAAE,QAAQ,CAAC,UAAU;YAC7B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,gBAAgB,EAAE,QAAQ,CAAC,QAAQ;YACnC,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;SACzE,CAAC;QACF,MAAM,EAAE,GAAG,mBAAmB,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;QAC3E,MAAM,OAAO,GAAG,QAAQ,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAC,+JAA+J,CAAC;QACjQ,MAAM,IAAI,GAAG,aAAa,EAAE,KAAK,CAAC;QAClC,MAAM,eAAe,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1E,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAChE,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,KAAK,QAAQ,CAAC,UAAU,CAAC,CAAC;QACxH,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,GAAG,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,IAAI,YAAY,IAAI,qBAAqB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;YAC7F,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACxB,IAAI,yBAAyB,CAAC,EAAE,OAAO,EAAE,6FAA6F,EAAE,CAAC,CACzI,CAAC;QACH,CAAC;QACD,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,CAC/C,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,qEAAqE,EAAE,CAAC,CAAC,CAC3H,CAAC;QACF,KAAK,CAAC,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;QAC1E,IAAI,KAAK,CAAC,WAAW,KAAK,YAAY,EAAE,CAAC;YACxC,KAAK,CAAC,CAAC,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { ParsedMetadata } from "@shivaedev/work-board/integration/board.ts";
1
+ import type { ParsedMetadata } from "@shivaedev/work-board/server/integration/board.ts";
2
2
  export declare function briefRevision(parsed: ParsedMetadata): string;
3
3
  //# sourceMappingURL=briefRevision.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"briefRevision.d.ts","sourceRoot":"","sources":["../../src/board/briefRevision.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAMjF,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAU5D"}
1
+ {"version":3,"file":"briefRevision.d.ts","sourceRoot":"","sources":["../../src/board/briefRevision.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AAMxF,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAU5D"}
@@ -1,4 +1,4 @@
1
- import { responses } from "@shivaedev/work-board/integration/responses.ts";
1
+ import { responses } from "@shivaedev/work-board/server/integration/responses.ts";
2
2
  import { fleetDeliverable } from "#board/fleetField.ts";
3
3
  const { revisionOf } = responses;
4
4
  export function briefRevision(parsed) {
@@ -1 +1 @@
1
- {"version":3,"file":"briefRevision.js","sourceRoot":"","sources":["../../src/board/briefRevision.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;AAEjC,MAAM,UAAU,aAAa,CAAC,MAAsB;IACnD,OAAO,UAAU,CAChB,IAAI,CAAC,SAAS,CAAC;QACd,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9E,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,IAAI,QAAQ;QACjD,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;QACxB,aAAa,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;KAChG,CAAC,CACF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"briefRevision.js","sourceRoot":"","sources":["../../src/board/briefRevision.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uDAAuD,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;AAEjC,MAAM,UAAU,aAAa,CAAC,MAAsB;IACnD,OAAO,UAAU,CAChB,IAAI,CAAC,SAAS,CAAC;QACd,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9E,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,IAAI,QAAQ;QACjD,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;QACxB,aAAa,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;KAChG,CAAC,CACF,CAAC;AACH,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { Effect } from "effect";
2
+ import type { BoardDocument } from "#board/documents.ts";
3
+ import { BoardFailure } from "#policy.ts";
4
+ export declare function publishedDecision(document: BoardDocument): {
5
+ request: {
6
+ readonly id: string;
7
+ readonly kind: "blocker" | "decision" | "review";
8
+ readonly managed?: boolean | undefined;
9
+ readonly reason: string;
10
+ readonly responseFrom: readonly string[];
11
+ readonly state: "closed" | "open";
12
+ readonly unblocks: readonly string[];
13
+ };
14
+ sequence: number;
15
+ workId: string;
16
+ } | undefined;
17
+ export declare const closePublishedDecision: (root: string, realRoot: string, document: BoardDocument) => Effect.Effect<{
18
+ file: string;
19
+ parsed: import("@shivaedev/work-board/integration/metadata.ts").ParsedMetadata;
20
+ source: string;
21
+ } | undefined, BoardFailure, never>;
22
+ //# sourceMappingURL=closePublishedDecision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"closePublishedDecision.d.ts","sourceRoot":"","sources":["../../src/board/closePublishedDecision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,aAAa;;;;;;;;;;;;cAkBxD;AAED,eAAO,MAAM,sBAAsB;;;;mCAsBjC,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { Effect } from "effect";
2
+ import { parseDocument } from "yaml";
3
+ import { board } from "@shivaedev/work-board/server/integration/board.ts";
4
+ import { recordBoardSource } from "#board/readPass.ts";
5
+ import { writeCompletion } from "#board/writeCompletion.ts";
6
+ import { BoardFailure } from "#policy.ts";
7
+ export function publishedDecision(document) {
8
+ const { fields, body, diagnostics } = document.parsed;
9
+ const workId = fields.relationships?.find((relation) => relation.kind === "relates_to")?.target;
10
+ const request = fields.attention?.[0];
11
+ if (diagnostics.length > 0
12
+ || fields.kind !== "decision"
13
+ || !fields.id?.startsWith("decision.")
14
+ || workId === undefined
15
+ || !body.startsWith(`# Fleet decision for ${workId}\n`)
16
+ || fields.attention?.length !== 1
17
+ || request?.managed !== true
18
+ || !request.id.startsWith(`${workId}.`)) {
19
+ return;
20
+ }
21
+ const sequence = Number(request.id.slice(workId.length + 1));
22
+ return Number.isSafeInteger(sequence) ? { request, sequence, workId } : undefined;
23
+ }
24
+ export const closePublishedDecision = Effect.fn("FleetBoard.closePublishedDecision")(function* (root, realRoot, document) {
25
+ const decision = publishedDecision(document);
26
+ if (decision === undefined || decision.request.state !== "open") {
27
+ return;
28
+ }
29
+ const header = document.parsed.raw;
30
+ if (header === undefined) {
31
+ return;
32
+ }
33
+ const metadata = parseDocument(header.replace(/^---\r?\n/u, "").replace(/---\r?\n?$/u, ""));
34
+ metadata.setIn(["attention", 0, "state"], "closed");
35
+ const content = `---\n${metadata.toString()}---\n${document.parsed.body}`;
36
+ yield* writeCompletion(root, realRoot, document.file, document.source, content).pipe(Effect.mapError((error) => new BoardFailure({ message: error.message })));
37
+ const parsed = board.metadataParse(content);
38
+ yield* recordBoardSource(realRoot, document.file, content, parsed);
39
+ return { file: document.file, parsed, source: content };
40
+ });
41
+ //# sourceMappingURL=closePublishedDecision.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"closePublishedDecision.js","sourceRoot":"","sources":["../../src/board/closePublishedDecision.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import type { Decision } from "#policy.ts";
2
- export declare function decisionAnswer(input: Decision): string;
1
+ import type { DecisionCopy } from "#engine/decisionCopy.ts";
2
+ export declare function decisionAnswer({ question }: DecisionCopy): string | undefined;
3
3
  //# sourceMappingURL=decisionAnswer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decisionAnswer.d.ts","sourceRoot":"","sources":["../../src/board/decisionAnswer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,UAQ7C"}
1
+ {"version":3,"file":"decisionAnswer.d.ts","sourceRoot":"","sources":["../../src/board/decisionAnswer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG5D,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,YAAY,sBAMxD"}
@@ -1,11 +1,11 @@
1
- import { releaseOnly } from "#engine/releaseOnly.ts";
2
- export function decisionAnswer(input) {
3
- if (input.worker !== undefined) {
4
- return "Record your answer on this item’s answer card to continue the worker in its existing thread. Use a guided release answer or the release command to free terminal ownership instead.";
1
+ export function decisionAnswer({ question }) {
2
+ if (question === undefined) {
3
+ return undefined;
5
4
  }
6
- const explanation = releaseOnly(input.code);
7
- const retryText = "### Request changes\nFleet keeps the branch and PR and works on your answer";
8
- const retry = explanation === undefined ? `:::option{id="retry"}\n${retryText}\n:::\n\n` : "";
9
- return `${explanation === undefined ? "" : `${explanation}\n\n`}::::question{id="fleet-action" select="one"}\n### How should Fleet proceed?\n\n${retry}:::option{id="release"}\n### Release\nFleet stops and hands the work back\n:::\n::::`;
5
+ const retry = question.retry === undefined ? "" : `${option("retry", question.retry)}\n`;
6
+ return `::::question{id="fleet-action" select="one"}\n### ${question.title}\n\n${retry}${option("release", question.release)}::::`;
7
+ }
8
+ function option(id, choice) {
9
+ return `:::option{id="${id}"}\n### ${choice.label}\n${choice.outcome}\n:::\n`;
10
10
  }
11
11
  //# sourceMappingURL=decisionAnswer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decisionAnswer.js","sourceRoot":"","sources":["../../src/board/decisionAnswer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGrD,MAAM,UAAU,cAAc,CAAC,KAAe;IAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,qLAAqL,CAAC;IAC9L,CAAC;IACD,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,6EAA6E,CAAC;IAChG,MAAM,KAAK,GAAG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,0BAA0B,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,OAAO,GAAG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,WAAW,MAAM,kFAAkF,KAAK,sFAAsF,CAAC;AAC9O,CAAC"}
1
+ {"version":3,"file":"decisionAnswer.js","sourceRoot":"","sources":["../../src/board/decisionAnswer.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,cAAc,CAAC,EAAE,QAAQ,EAAgB;IACxD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;IACzF,OAAO,qDAAqD,QAAQ,CAAC,KAAK,OAAO,KAAK,GAAG,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;AACpI,CAAC;AAED,SAAS,MAAM,CAAC,EAAU,EAAE,MAAc;IACzC,OAAO,iBAAiB,EAAE,WAAW,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,OAAO,SAAS,CAAC;AAC/E,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { Effect } from "effect";
2
- import { board } from "@shivaedev/work-board/integration/board.ts";
3
- import { responses } from "@shivaedev/work-board/integration/responses.ts";
2
+ import { board } from "@shivaedev/work-board/server/integration/board.ts";
3
+ import { responses } from "@shivaedev/work-board/server/integration/responses.ts";
4
4
  import { BoardFailure } from "#policy.ts";
5
5
  const { metadataModel } = board;
6
6
  const { currentResponses, questionId, readResponses, revisionOf } = responses;
@@ -1 +1 @@
1
- {"version":3,"file":"decisionReading.js","sourceRoot":"","sources":["../../src/board/decisionReading.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decisionReading.js","sourceRoot":"","sources":["../../src/board/decisionReading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,mDAAmD,CAAC;AAE1E,OAAO,EAAE,SAAS,EAAE,MAAM,uDAAuD,CAAC;AAGlF,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;AAChC,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;AAE9E,SAAS,eAAe,CAAC,OAAgB;IACxC,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC5B,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;IACnF,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,SAAgE;IAC/F,OAAO,MAAM,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,EAAE,OAAsB;QAC5E,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC;QAC7B,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,OAAO,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1G,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,UAAU,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC3G,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,yDAAyD,EAAE,CAAC;QAC7F,CAAC;QACD,IACC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU;eACvC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC;eAC9H,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,UAAU,EAC1G,CAAC;YACF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,iDAAiD,EAAE,CAAC;QACrF,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAkB,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3I,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CACtE,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,6DAA6D,EAAE,CAAC,CAAC,CACnH,CAAC;QACF,IACC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM;eAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO;eACrD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,OAAO,CAAC,UAAU;eACvD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,KAAK,OAAO,CAAC,QAAQ;eAC/D,OAAO,CAAC,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,MAAM,EAC9C,CAAC;YACF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,uEAAuE,EAAE,CAAC;QAC3G,CAAC;QACD,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { Effect, FileSystem, Path } from "effect";
2
- import type { MetadataDocument } from "@shivaedev/work-board/integration/board.ts";
2
+ import type { MetadataDocument } from "@shivaedev/work-board/server/integration/board.ts";
3
3
  import { BoardSnapshot } from "#board/readPass.ts";
4
4
  import { BoardFailure } from "#policy.ts";
5
5
  export type BoardDocument = MetadataDocument & {
@@ -10,5 +10,4 @@ export declare const refreshSnapshotDocument: (root: string, realRoot: string, s
10
10
  export declare function boardSnapshot(root: string, realRoot: string): Effect.Effect<BoardSnapshot, BoardFailure, FileSystem.FileSystem | Path.Path>;
11
11
  export declare function boardDocuments(root: string, realRoot: string): Effect.Effect<BoardDocument[], BoardFailure, FileSystem.FileSystem | Path.Path>;
12
12
  export declare function boundSnapshot(root: string, realRoot: string, fs: FileSystem.FileSystem, path: Path.Path): Effect.Effect<BoardSnapshot, BoardFailure, never>;
13
- export declare function boundDocuments(root: string, realRoot: string, fs: FileSystem.FileSystem, path: Path.Path): Effect.Effect<BoardDocument[], BoardFailure, never>;
14
13
  //# sourceMappingURL=documents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../src/board/documents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAGnF,OAAO,EAAE,aAAa,EAAgB,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI1C,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3E,eAAO,MAAM,gBAAgB,gGAa3B,CAAC;AAgCH,eAAO,MAAM,uBAAuB,4JAgBlC,CAAC;AAEH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,iFAE3D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,mFAE5D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,qDAEvG;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,uDAExG"}
1
+ {"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../src/board/documents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mDAAmD,CAAC;AAG1F,OAAO,EAAE,aAAa,EAAgB,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI1C,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3E,eAAO,MAAM,gBAAgB,gGAgB3B,CAAC;AAgCH,eAAO,MAAM,uBAAuB,4JAgBlC,CAAC;AAEH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,iFAE3D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,mFAE5D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,qDAEvG"}
@@ -1,5 +1,5 @@
1
1
  import { Effect, FileSystem, Path } from "effect";
2
- import { board as boardApi } from "@shivaedev/work-board/integration/board.ts";
2
+ import { board as boardApi } from "@shivaedev/work-board/server/integration/board.ts";
3
3
  import { readDocument } from "#board/readDocument.ts";
4
4
  import { BoardSnapshot, readSnapshot } from "#board/readPass.ts";
5
5
  import { BoardFailure } from "#policy.ts";
@@ -8,6 +8,9 @@ export const snapshotDocument = Effect.fn("FleetBoard.snapshotDocument")(functio
8
8
  const matches = snapshot.model.ids.get(workId);
9
9
  const found = matches?.length === 1 ? snapshot.files.get(matches[0]?.file ?? "") : undefined;
10
10
  if (found === undefined) {
11
+ if (matches === undefined && snapshot.problems.size === 0) {
12
+ return yield* Effect.fail(new BoardFailure({ code: "board-item-missing", message: `Board item no longer exists: ${workId}`, workId }));
13
+ }
11
14
  const message = [
12
15
  `Board identity is missing or ambiguous: ${workId}`,
13
16
  ...Array.from(snapshot.problems.values(), (failure) => failure.message),
@@ -56,7 +59,4 @@ export function boardDocuments(root, realRoot) {
56
59
  export function boundSnapshot(root, realRoot, fs, path) {
57
60
  return boardSnapshot(root, realRoot).pipe(Effect.provideService(FileSystem.FileSystem, fs), Effect.provideService(Path.Path, path));
58
61
  }
59
- export function boundDocuments(root, realRoot, fs, path) {
60
- return boardDocuments(root, realRoot).pipe(Effect.provideService(FileSystem.FileSystem, fs), Effect.provideService(Path.Path, path));
61
- }
62
62
  //# sourceMappingURL=documents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"documents.js","sourceRoot":"","sources":["../../src/board/documents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"documents.js","sourceRoot":"","sources":["../../src/board/documents.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ParsedMetadata } from "@shivaedev/work-board/integration/board.ts";
1
+ import type { ParsedMetadata } from "@shivaedev/work-board/server/integration/board.ts";
2
2
  export declare function fleetApproved(parsed: ParsedMetadata): boolean;
3
3
  export declare function fleetLaunch(parsed: ParsedMetadata): unknown;
4
4
  export declare function fleetDeliverable(parsed: ParsedMetadata): unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"fleetField.d.ts","sourceRoot":"","sources":["../../src/board/fleetField.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAwBjF,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAE7D;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAE3D;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAEhE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAE7D"}
1
+ {"version":3,"file":"fleetField.d.ts","sourceRoot":"","sources":["../../src/board/fleetField.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AAwBxF,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAE7D;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAE3D;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAEhE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAE7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/board/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,UAAU,EAAE,KAAK,EAAE,IAAI,EAAU,MAAM,QAAQ,CAAC;AAc1E,OAAO,EAAgB,YAAY,EAAY,MAAM,YAAY,CAAC;AA2FlE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,8GAEzC"}
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/board/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,UAAU,EAAE,KAAK,EAAE,IAAI,EAAU,MAAM,QAAQ,CAAC;AAe1E,OAAO,EAAgB,YAAY,EAAY,MAAM,YAAY,CAAC;AA2FlE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,8GAEzC"}
@@ -1,15 +1,16 @@
1
1
  import { Context, Effect, FileSystem, Layer, Path, Schema } from "effect";
2
- import { defineService } from "@shivaedev/effect-service/define-service.ts";
3
- import { board as boardApi } from "@shivaedev/work-board/integration/board.ts";
2
+ import { defineService } from "@shivaedev/effect-service/defineService.ts";
3
+ import { board as boardApi } from "@shivaedev/work-board/server/integration/board.ts";
4
4
  import { acknowledgeDecision } from "#board/acknowledgeDecision.ts";
5
5
  import { briefRevision } from "#board/briefRevision.ts";
6
6
  import { completionMarkdown } from "#board/completionMarkdown.ts";
7
7
  import { decisionReading } from "#board/decisionReading.ts";
8
- import { boundDocuments, boundSnapshot, refreshSnapshotDocument, snapshotDocument } from "#board/documents.ts";
8
+ import { boundSnapshot, refreshSnapshotDocument, snapshotDocument } from "#board/documents.ts";
9
9
  import { fleetApproved, fleetDeliverable, fleetPriority } from "#board/fleetField.ts";
10
10
  import { publishBoard } from "#board/publish.ts";
11
11
  import { publishReport } from "#board/publishReport.ts";
12
12
  import { workMetadata } from "#board/readPass.ts";
13
+ import { upgradeDecisionClosure } from "#board/upgradeDecisionClosure.ts";
13
14
  import { workRevision } from "#board/workRevision.ts";
14
15
  import { writeCompletion } from "#board/writeCompletion.ts";
15
16
  import { BoardFailure, BoardGateway, Priority } from "#policy.ts";
@@ -23,8 +24,8 @@ const MarkdownBoard = defineService({
23
24
  const fs = yield* FileSystem.FileSystem;
24
25
  const path = yield* Path.Path;
25
26
  const realRoot = yield* fs.realPath(root);
26
- const documents = boundDocuments(root, realRoot, fs, path);
27
- const snapshot = boundSnapshot(root, realRoot, fs, path);
27
+ const snapshot = boundSnapshot(root, realRoot, fs, path).pipe(Effect.tap((current) => upgradeDecisionClosure(root, realRoot, current, fs)));
28
+ const documents = snapshot.pipe(Effect.map((current) => current.documents.filter((document) => !current.problems.has(document.file))));
28
29
  const get = Effect.fn("FleetBoard.get")(function* (workId, options) {
29
30
  const current = yield* snapshot;
30
31
  const found = yield* options?.fresh
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/board/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAC5E,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC/G,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,SAAU,SAAQ,OAAO,CAAC,OAAO,EAAqB,CAAC,iBAAiB,CAAC;CAAG;AAElF,MAAM,aAAa,GAAG,aAAa,CAAC;IACnC,EAAE,EAAE,qBAAqB;IACzB,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC;QAC9B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;QACxC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAc,EAAE,OAAsC;YACxG,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC;YAChC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,KAAK;gBAClC,CAAC,CAAC,uBAAuB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAC7D,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC,EAChD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CACtC;gBACF,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACrC,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACnD,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAC3D,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,4EAA4E,EAAE,CAAC,CAAC,CAAC;YACxI,CAAC;YACD,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9D,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,wEAAwE,EAAE,CAAC,CAAC,CAAC;YACpI,CAAC;YACD,OAAO;gBACN,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;gBACrC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK;gBAChC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM;gBAClC,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,QAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,OAAO,EAAE,KAAK,CAAC,MAAM;gBACrB,SAAS,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC5I,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;gBAC/C,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;gBACrC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC;gBAC3C,MAAM;aACN,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACxD,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACpE,CAAC,CAAC;IACF,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CACxE,YAAY,CAAC,EAAE,CAAC;QACf,mBAAmB,EAAE,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC;QAClE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;YACnF,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAChC,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;gBACpC,OAAO;YACR,CAAC;YACD,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC7D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC3B,OAAO;YACR,CAAC;YACD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,MAAM,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC7G,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,yEAAyE,EAAE,CAAC,CAAC,CAAC;YACrI,CAAC;YACD,KAAK,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CACtG,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CACxE,CAAC;QACH,CAAC,CAAC;QACF,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe;YACnF,MAAM,IAAI,GAAG,eAAe,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAChE,IACC,IAAI,CAAC,MAAM,KAAK,MAAM;mBACnB,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,aAAa,CAAC,MAAM,CAAC;mBACnE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,MAAM;mBAC3B,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;mBAC7B,cAAc,KAAK,GAAG;mBACtB,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,EAC5C,CAAC;gBACF,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACxB,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,kGAAkG,EAAE,CAAC,CACjI,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC,CAAC;QACF,GAAG;QACH,YAAY,EAAE,eAAe,CAAC,SAAS,CAAC;QACxC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC;KAChD,CAAC;IACH,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;CACvD,CAAC,CAAC;AAEH,MAAM,UAAU,aAAa,CAAC,IAAY;IACzC,OAAO,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/I,CAAC"}
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/board/markdown.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ export declare function publishBoard(root: string, realRoot: string, documents:
15
15
  }, input: {
16
16
  readonly attentionOwner?: "automation" | "maintainer" | "orchestrator" | undefined;
17
17
  readonly boardAcknowledgementDisposition?: "superseded" | undefined;
18
- readonly code?: "approval-required" | "board-failure" | "checks-repair-exhausted" | "checks-result-invalid" | "delivery-head-mismatch" | "delivery-pr-required" | "duplicate-turns" | "empty-report" | "fleet-denied" | "fleet-integration" | "fleet-invalid" | "fleet-missing" | "fleet-stale" | "foreign-pr" | "incomplete-context" | "incomplete-observation" | "integration-failure" | "no-change-checks-unconfigured" | "not-ancestor" | "pr-conflicting" | "pr-head-moved" | "provider-quota-unavailable" | "relevant-change" | "report-published" | "report-too-large" | "result-identity-changed" | "reviewed-pr-ready" | "reviewer-terminal" | "session-active-turn" | "session-active-turn-exhausted" | "session-ambiguous" | "session-persistence" | "session-protocol" | "session-queue-full" | "session-rejected" | "session-stalled" | "session-turn-missing" | "session-unavailable" | "worker-question" | "worker-receipt-missing" | "worker-report-head-invalid" | "worker-report-head-moved" | "worker-report-merged-head-mismatch" | "worker-report-pr-invalid" | "worker-terminal" | undefined;
18
+ readonly code?: "approval-required" | "board-failure" | "checks-repair-exhausted" | "checks-result-invalid" | "delivery-head-mismatch" | "delivery-pr-required" | "duplicate-turns" | "empty-report" | "fleet-denied" | "fleet-integration" | "fleet-invalid" | "fleet-missing" | "fleet-stale" | "foreign-pr" | "incomplete-context" | "incomplete-observation" | "integration-failure" | "no-change-checks-unconfigured" | "not-ancestor" | "pr-closed" | "pr-conflicting" | "pr-head-moved" | "provider-quota-unavailable" | "relevant-change" | "report-published" | "report-too-large" | "result-identity-changed" | "reviewed-pr-ready" | "reviewer-terminal" | "session-active-turn" | "session-active-turn-exhausted" | "session-ambiguous" | "session-persistence" | "session-protocol" | "session-queue-full" | "session-rejected" | "session-stalled" | "session-turn-missing" | "session-unavailable" | "worker-question" | "worker-receipt-missing" | "worker-report-head-invalid" | "worker-report-head-moved" | "worker-report-merged-head-mismatch" | "worker-report-pr-invalid" | "worker-terminal" | undefined;
19
19
  readonly id: string;
20
20
  readonly links: readonly string[];
21
21
  readonly publicationWork?: {
@@ -1 +1 @@
1
- {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/board/publish.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAiC,MAAM,YAAY,CAAC;AAsCzE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,aAAa,EAAE,EAAE,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAoD5H"}
1
+ {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/board/publish.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIzD,OAAO,EAAE,YAAY,EAAiC,MAAM,YAAY,CAAC;AAsCzE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,aAAa,EAAE,EAAE,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAqD5H"}