@overdeck/desktop 0.45.22 → 0.45.23

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 (375) hide show
  1. package/package.json +1 -1
  2. package/server/{acceptance-criteria-BH7ac_1G.js → acceptance-criteria-DOA0KgXx.js} +5 -5
  3. package/server/{advancing-selfheal-cSvXNZLZ.js → advancing-selfheal-BBu6DSNm.js} +6 -6
  4. package/server/{agent-gc-Dj2gncak.js → agent-gc-BV1q_2EV.js} +4 -4
  5. package/server/agent-state-Bg0lhqwj.js +3 -0
  6. package/server/{agent-state-service-CsQ07Pxe.js → agent-state-service-CnzFKSAQ.js} +1 -1
  7. package/server/{agent-state-service-DistflNn.js → agent-state-service-HoK8U4jW.js} +5 -5
  8. package/server/{agents-DXdHmRTC.js → agents-B4Bjbkfv.js} +4 -4
  9. package/server/agents-FlIgQ3ql.js +3 -0
  10. package/server/{archive-planning-BvDuWNMo.js → archive-planning-DYrYojxl.js} +30 -6
  11. package/server/{archive-planning-Cp_DC1j-.js → archive-planning-zkJb3BeM.js} +1 -1
  12. package/server/{artifact-index-jobs-CDBFL4OU.js → artifact-index-jobs-C-xy7Z5v.js} +2 -2
  13. package/server/{backlog-auto-trigger-DmA1IbYf.js → backlog-auto-trigger-GtG71X8H.js} +3 -3
  14. package/server/{behavior-CGj16clS.js → behavior-B_-4EKF3.js} +2 -2
  15. package/server/{briefing-freshness-C12WgkaB.js → briefing-freshness-DWdW7vUm.js} +2 -2
  16. package/server/{build-info-NU3KbXYw.js → build-info-BT096lEl.js} +3 -3
  17. package/server/{build-info-BRpqQvNd.js → build-info-DgTqZkL5.js} +1 -1
  18. package/server/{checkpoint-manager-rOgT98WY.js → checkpoint-manager-B7Bt29J0.js} +1 -1
  19. package/server/{checkpoint-manager-CTPjAmtH.js → checkpoint-manager-DDqcGyu8.js} +2 -2
  20. package/server/checkpoint-worker.js +1 -1
  21. package/server/{checkpoints-BJum14fs.js → checkpoints-C-AXLfYT.js} +2 -2
  22. package/server/{checkpoints-B5jFNi2G.js → checkpoints-CpgCjAlN.js} +1 -1
  23. package/server/{claude-hooks-provision-BhwWK-TQ.js → claude-hooks-provision-C8wdRnN1.js} +1 -1
  24. package/server/{claude-hooks-provision-D7p5WcKZ.js → claude-hooks-provision-but-_qGY.js} +2 -2
  25. package/server/{claude-permissions-nSFKH78M.js → claude-permissions-H_5wHQZQ.js} +2 -2
  26. package/server/{claude-settings-overlay-DHBwjS1X.js → claude-settings-overlay-BTENVmYf.js} +1 -1
  27. package/server/{claude-settings-overlay-BI_UIke0.js → claude-settings-overlay-CbSz0Dvb.js} +2 -2
  28. package/server/cli-BsVIHwzC.js +3 -0
  29. package/server/{cli-CbKNkFE5.js → cli-vBeXbPrq.js} +9 -9
  30. package/server/{cliproxy-Brf_5MuG.js → cliproxy-Bgb2XCqi.js} +2 -2
  31. package/server/{cliproxy-bONZDBbC.js → cliproxy-DW0V86F8.js} +1 -1
  32. package/server/{close-issue-CxReRxIc.js → close-issue-Dn_4c4G8.js} +5 -5
  33. package/server/{closed-issue-reaper-DXP2Xyv3.js → closed-issue-reaper-CWpY2uBw.js} +1 -1
  34. package/server/{closed-issue-reaper-CQ3kqha7.js → closed-issue-reaper-hANY_ehE.js} +9 -9
  35. package/server/codex-Dg7Is5yb.js +3 -0
  36. package/server/{codex-CbmztVcc.js → codex-TmSi-yTv.js} +27 -8
  37. package/server/{codex-parser-jl8AeAmB.js → codex-parser-C4gSH-IR.js} +2 -2
  38. package/server/{config-q4Gvd8dq.js → config-CCvjQf27.js} +2 -2
  39. package/server/{config-BJKocXKd.js → config-DUIhMN_T.js} +1 -1
  40. package/server/{config-DeTsoZdR.js → config-DjLOdbgT.js} +2 -2
  41. package/server/{config-yaml-ig8Nwtiw.js → config-yaml-DvyMuOle.js} +55 -186
  42. package/server/{conflict-gate-CHU9K1vU.js → conflict-gate-BSJkNTdp.js} +1 -1
  43. package/server/{conflict-gate-CFqPVxEg.js → conflict-gate-CmrYpa47.js} +3 -3
  44. package/server/{context-layers-DlQKkHH2.js → context-layers-B3Nt58jl.js} +2 -2
  45. package/server/{context-layers-15gDOk20.js → context-layers-ZYFcWiyc.js} +3 -3
  46. package/server/{control-settings-D_odMIaC.js → control-settings-aP1ANIlI.js} +4 -4
  47. package/server/{conversation-compaction-B6YSRLda.js → conversation-compaction-CNbTLB86.js} +8 -8
  48. package/server/{conversation-compaction-CN4-5YYt.js → conversation-compaction-DiG5zWQq.js} +1 -1
  49. package/server/{conversation-service-C3avRVEr.js → conversation-service-Du-MTNpJ.js} +6 -6
  50. package/server/{conversation-service-Dq33SYEj.js → conversation-service-Up7FEzIC.js} +1 -1
  51. package/server/{conversations-H9if0bCQ.js → conversations-6mPANqvL.js} +1 -1
  52. package/server/{conversations-bYpM9-kZ.js → conversations-DbOs1e9Q.js} +4 -4
  53. package/server/{cost-wH46-WsJ.js → cost-CW4WSe72.js} +3 -3
  54. package/server/{cost-Codk1pc2.js → cost-Ca0YTWDw.js} +18 -2
  55. package/server/{cost-sync-D_cre6WM.js → cost-sync-C0VdGme1.js} +3 -3
  56. package/server/{dag-CJpgf9A3.js → dag-CdOjJVDT.js} +9 -9
  57. package/server/{dangerous-git-ops-D6AF-Hg_.js → dangerous-git-ops-CT-IypG3.js} +1 -1
  58. package/server/dashboard-db-worker.js +7 -7
  59. package/server/{deacon-B8HbQdqU.js → deacon-DYSEJb48.js} +3 -3
  60. package/server/{deacon-nudge-log-D6K9K-rE.js → deacon-nudge-log-Bjg8U4Y9.js} +3 -3
  61. package/server/{deacon-CkT_kznS.js → deacon-pRnyD5w9.js} +266 -577
  62. package/server/deacon-swarm-9jRLS5Ke.js +2 -0
  63. package/server/{deacon-swarm-BryRr6AO.js → deacon-swarm-DftYRDo8.js} +17 -17
  64. package/server/deacon.js +8 -8
  65. package/server/{deploy-patrol-1IrZxicY.js → deploy-patrol-Bjsho_ha.js} +136 -19
  66. package/server/{deploy-window-7ZYHh7Zp.js → deploy-window-CM6W1-c6.js} +1 -1
  67. package/server/{deploy-window-wDf4UgHt.js → deploy-window-DeP_OIRk.js} +77 -10
  68. package/server/{dev-supervisor-C7p9kEpc.js → dev-supervisor-BpMoHlkR.js} +2 -2
  69. package/server/{devcontainer-renderer-CNmQy0pL.js → devcontainer-renderer-CtUgrVKW.js} +3 -3
  70. package/server/dist-Bd3vn0Hw.js +3 -0
  71. package/server/{dist-D-Ed5yVw.js → dist-DyRx4cI7.js} +1 -1
  72. package/server/{docker-BCZ89M9X.js → docker-BK7HIcBj.js} +2 -2
  73. package/server/{dod-DbJLYcHv.js → dod-BrSfUHm0.js} +1 -1
  74. package/server/{ensure-devcontainer-Cs6W9Yzj.js → ensure-devcontainer-DRqaAkBR.js} +1 -1
  75. package/server/{ensure-devcontainer-V5JWaAva.js → ensure-devcontainer-DseivYEy.js} +4 -4
  76. package/server/{esm-shims-dTeNdq7X.js → esm-shims-CbI3BVkl.js} +1 -1
  77. package/server/{event-store-CpBGsO6_.js → event-store-Cr5PQwFC.js} +1 -1
  78. package/server/{event-store-TnWdydfB.js → event-store-tdiY5eDZ.js} +3 -3
  79. package/server/{events-DSUdR-04.js → events-CC1dgUpx.js} +3 -3
  80. package/server/{events-Dsuv6qyB.js → events-CvvGK6LT.js} +1 -1
  81. package/server/{factory-BMrK4TrE.js → factory-CynerjXO.js} +50 -13
  82. package/server/{feature-registry-population-B-CI9hgE.js → feature-registry-population-B0pmAz0a.js} +4 -4
  83. package/server/{feature-registry-storage-B972ph_A.js → feature-registry-storage-_wUBRD3J.js} +2 -2
  84. package/server/{features-Bc-Bmiye.js → features-Dhxz-wLc.js} +2 -2
  85. package/server/{feedback-target-DZ-iAnAa.js → feedback-target-CPS15Vte.js} +7 -7
  86. package/server/{feedback-target-DS6NUuSs.js → feedback-target-iygZwmMc.js} +1 -1
  87. package/server/{feedback-writer-BXP6g75N.js → feedback-writer-C9b6ccN1.js} +6 -5
  88. package/server/{feedback-writer-Bx5z11mF.js → feedback-writer-qmiMbqTZ.js} +1 -1
  89. package/server/{flywheel-Ctr5uuvo.js → flywheel-DMCUzDWg.js} +1 -1
  90. package/server/{flywheel-COR0mbRI.js → flywheel-DSSpWmqF.js} +13 -13
  91. package/server/{flywheel-6WHU4O7A.js → flywheel-DcBkQvgE.js} +14 -14
  92. package/server/{flywheel-merge-order-CNKAY489.js → flywheel-merge-order-C-6zRLvM.js} +1 -1
  93. package/server/{flywheel-merge-order-CTgHeg-W.js → flywheel-merge-order-DxbQKE1d.js} +8 -8
  94. package/server/forge-B-ZWyTRm.js +2 -0
  95. package/server/{forge-B1S_KZv4.js → forge-Ch9gCFod.js} +2 -2
  96. package/server/{from-DpwQ-sc3.js → from-CJ_aH5jD.js} +1 -1
  97. package/server/{fts-db-DmAcuCkV.js → fts-db-CKgg0VKg.js} +2 -2
  98. package/server/{fts-operations-7d_RkmWp.js → fts-operations-BrL_VTRr.js} +2 -2
  99. package/server/{git-utils-Cc3FHDKd.js → git-utils-BVa07a4a.js} +2 -2
  100. package/server/{git-utils-CsKGnzFA.js → git-utils-Dry_Ka_D.js} +1 -1
  101. package/server/{github-app-CDPtGF7J.js → github-app-CMBdIFBQ.js} +11 -3
  102. package/server/{github-app-CU14oYzP.js → github-app-CPfoFAdV.js} +1 -1
  103. package/server/{github-client-XjTJbBm7.js → github-client--XVlDpwM.js} +2 -2
  104. package/server/{github-client-CwBZZ3t7.js → github-client-B4QsdE-X.js} +1 -1
  105. package/server/{github-pr-lookup-CFGeVhqv.js → github-pr-lookup-BRbDW-qk.js} +2 -2
  106. package/server/{harness-binary-B2CTcD84.js → harness-binary-CVio2m-u.js} +1 -1
  107. package/server/{harness-resolve-D5FVQTmy.js → harness-resolve-qHJBhy3Z.js} +4 -4
  108. package/server/{health-events-DREeevle.js → health-events-C9B8y1Hm.js} +2 -2
  109. package/server/{health-events-C1whmd58.js → health-events-CpfvuVmm.js} +1 -1
  110. package/server/{hooks-yxRsjk-z.js → hooks-DUXw8A0-.js} +2 -2
  111. package/server/{hooks-B-HItBiS.js → hooks-ltecuFqZ.js} +1 -1
  112. package/server/{hume-Dz_OymXE.js → hume-BEq0bUDg.js} +2 -2
  113. package/server/hume-B_DbflNM.js +3 -0
  114. package/server/{idle-stack-reaper-DrCv0OAG.js → idle-stack-reaper-D7w9t3fE.js} +1 -1
  115. package/server/{idle-stack-reaper-Yf34xXxY.js → idle-stack-reaper-w1ISSlhs.js} +2 -2
  116. package/server/{in-flight-guard-BoWm66Kh.js → in-flight-guard-aQ1IxeI3.js} +2 -2
  117. package/server/{infra-D4iNWMA5.js → infra-CzaSOgul.js} +4 -4
  118. package/server/{injection-D7T75Pye.js → injection-DZ0PfYa4.js} +7 -7
  119. package/server/{injection-BVNa4MQW.js → injection-oNZeoDhL.js} +1 -1
  120. package/server/{inspect-agent-BXCgNeZ4.js → inspect-agent-DJKLWcVT.js} +12 -12
  121. package/server/inspect-agent-ch-F-5Ci.js +2 -0
  122. package/server/{internal-token-CXsfxslp.js → internal-token-Bb4XeV2x.js} +2 -2
  123. package/server/{internal-token-C9DdEOKY.js → internal-token-DXdfprGr.js} +1 -1
  124. package/server/{io-DQR9PMgS.js → io-B3_AHDfr.js} +160 -184
  125. package/server/{issue-closed-DtmJM0D0.js → issue-closed-zhdvQicO.js} +7 -7
  126. package/server/{issue-lifecycle-CeyW_HoD.js → issue-lifecycle-CreaCkjW.js} +22 -22
  127. package/server/{issue-lifecycle-8PSS9Anq.js → issue-lifecycle-Dy4vd0Oa.js} +1 -1
  128. package/server/{issue-service-singleton-D_RVYBuL.js → issue-service-singleton-B5ushCvE.js} +8 -8
  129. package/server/{issue-service-singleton-DBZabEl7.js → issue-service-singleton-DabvBWUp.js} +1 -1
  130. package/server/{issues-pDW9VUNz.js → issues-B6ToV6x1.js} +2 -2
  131. package/server/{jsonl-parser-C3HVNR5d.js → jsonl-parser-Dhflo1SH.js} +3 -3
  132. package/server/{label-cleanup-DPwiZlWo.js → label-cleanup-BKPJm4Hv.js} +3 -3
  133. package/server/{label-reconciler-Df1ZduPH.js → label-reconciler-DdWbHEBu.js} +4 -4
  134. package/server/{launcher-generator-COgR2By1.js → launcher-generator-CHVm7bGT.js} +10 -9
  135. package/server/{layers-Cp1To4L8.js → layers-DzxSTGNA.js} +2 -2
  136. package/server/lifecycle-DfeyBDwA.js +121 -0
  137. package/server/lifecycle-io-Bsnr2K4F.js +3 -0
  138. package/server/{lifecycle-io-taIb0PoH.js → lifecycle-io-D8iNBcux.js} +37 -37
  139. package/server/{lifecycle-CtPDcZ9u.js → lifecycle-sycO16hj.js} +6 -6
  140. package/server/{linear-client-DsFkIxee.js → linear-client-D4zqMnX7.js} +2 -2
  141. package/server/{linear-client-YwZMDIwQ.js → linear-client-DqhDQO9k.js} +1 -1
  142. package/server/memory-fts-worker.js +1 -1
  143. package/server/{merge-C1t-bspg.js → merge-C_ZEhbqI.js} +3 -3
  144. package/server/{merge-BwsyNRJV.js → merge-DK23JEdS.js} +1 -1
  145. package/server/{merge-agent-B-SnXOoc.js → merge-agent-BQM3a8z5.js} +1 -1
  146. package/server/{merge-agent-DDiIjzk-.js → merge-agent-XrB80vfT.js} +28 -28
  147. package/server/{merge-batch-Byt-QnEl.js → merge-batch-Bwoyr8Je.js} +1 -1
  148. package/server/{merge-blockers-BYjeXrVN.js → merge-blockers-BsFjGrQ8.js} +2 -2
  149. package/server/merge-ops-DlB1IM0Y.js +2 -0
  150. package/server/{merge-rebase-Cm6fXaZN.js → merge-rebase-C1KIVr0s.js} +2 -2
  151. package/server/{merge-set-DiISXcC-.js → merge-set-DLz0MkGT.js} +3 -3
  152. package/server/{merge-set-6LEglm6o.js → merge-set-DnSYdBEp.js} +1 -1
  153. package/server/{merge-sync-Do8_q32h.js → merge-sync-DZ9dojJn.js} +2 -2
  154. package/server/{merge-sync-B95_4in_.js → merge-sync-SSv3E-pl.js} +1 -1
  155. package/server/{merge-train-CKana8EH.js → merge-train-DxDfBTjr.js} +3 -3
  156. package/server/{merge-train-deps-BgmqwIfA.js → merge-train-deps-CyYQUksx.js} +4 -4
  157. package/server/{merge-verification-CqnUzGEK.js → merge-verification-CSizH3HY.js} +4 -4
  158. package/server/{multipart-parser-tdOQDJ3o.js → multipart-parser-Dt8YPN5S.js} +2 -2
  159. package/server/{no-resume-mode-BWOSZjWd.js → no-resume-mode-Cx3K0hHi.js} +11 -8
  160. package/server/node_modules/.package-lock.json +1 -1
  161. package/server/{orphan-proposed-reconciler-DSvsJ5M7.js → orphan-proposed-reconciler-BTkDrl4R.js} +1 -1
  162. package/server/{orphan-proposed-reconciler-xklgvNA7.js → orphan-proposed-reconciler-neK8dHQk.js} +15 -13
  163. package/server/package-lock.json +2 -2
  164. package/server/package.json +1 -1
  165. package/server/{pan-dir-DOcf6ug3.js → pan-dir-DeVUgwA7.js} +78 -58
  166. package/server/{paths-DooHpt9p.js → paths-_zEts6wc.js} +2 -2
  167. package/server/{pickup-CaskQ7j6.js → pickup-Dd0Znxxy.js} +1 -1
  168. package/server/{pipeline-membership-1LGRjo-k.js → pipeline-membership-0HaEGDlH.js} +186 -67
  169. package/server/{pipeline-notifier-CZsrU_nj.js → pipeline-notifier-6iCJplFZ.js} +1 -1
  170. package/server/{pipeline-notifier-B6FVsYF9.js → pipeline-notifier-D0ykk59O.js} +2 -2
  171. package/server/{project-pipelines-CtNG_rvs.js → project-pipelines-2sK1apsO.js} +2 -2
  172. package/server/projects-9SkRpES9.js +3 -0
  173. package/server/{prompts-EvhMeeHG.js → prompts-Dp4Tpk39.js} +2 -2
  174. package/server/{providers-DNSQqy2V.js → providers-DKkBXhxU.js} +1 -1
  175. package/server/{providers-BDDPULlp.js → providers-DV7ec8l7.js} +7 -7
  176. package/server/public/assets/{chunk-BO2N2NFS-sym_ufXe.js → chunk-BO2N2NFS-CltymLRg.js} +4 -4
  177. package/server/public/assets/{diagram-OG6HWLK6-CQJPBNBu.js → diagram-OG6HWLK6-D2f6pjgA.js} +1 -1
  178. package/server/public/assets/{dist-Bio7THQU.js → dist-BWR4qFiV.js} +1 -1
  179. package/server/public/assets/{dist-DukGS2YZ.js → dist-DEmlBBNQ.js} +3 -3
  180. package/server/public/assets/{ganttDiagram-6RSMTGT7-D4lWwte3.js → ganttDiagram-6RSMTGT7-DnfiViPK.js} +1 -1
  181. package/server/public/assets/{highlighted-body-OFNGDK62-CaLboCt5.js → highlighted-body-OFNGDK62-B8Wrmj9H.js} +1 -1
  182. package/server/public/assets/index-CUr1xv8w.css +1 -0
  183. package/server/public/assets/{index-Bwejq-5s.js → index-CsSuZQBI.js} +145 -144
  184. package/server/public/assets/{linear-qUWmMZ-c.js → linear-C9zFQpkX.js} +1 -1
  185. package/server/public/assets/mermaid-GHXKKRXX-BUAB8hqt.js +1 -0
  186. package/server/public/assets/{pieDiagram-4H26LBE5-C4zYulEm.js → pieDiagram-4H26LBE5-lR8H7Yjd.js} +1 -1
  187. package/server/public/assets/{prod-C8VtLuWC.js → prod-B1jCQihw.js} +4 -4
  188. package/server/public/assets/{quadrantDiagram-W4KKPZXB-qP04zyZC.js → quadrantDiagram-W4KKPZXB-CVQ2guem.js} +1 -1
  189. package/server/public/assets/{sankeyDiagram-5OEKKPKP-eMPTX_cG.js → sankeyDiagram-5OEKKPKP-eD1RB4gm.js} +1 -1
  190. package/server/public/assets/{xychartDiagram-2RQKCTM6-Dme1PIt6.js → xychartDiagram-2RQKCTM6-ChEC6dQn.js} +1 -1
  191. package/server/public/index.html +2 -2
  192. package/server/{pull-requests-By_BteaL.js → pull-requests--Ib2jTgy.js} +1 -1
  193. package/server/{pull-requests-8z2N1UOV.js → pull-requests-CXIhdCYD.js} +13 -11
  194. package/server/{queries-ZABd5aXP.js → queries-6d7Cdtm7.js} +693 -104
  195. package/server/{rally-i_goYmiA.js → rally-B708-nZn.js} +3 -3
  196. package/server/{rally-api-DqKqIMNR.js → rally-api-nY0ZANw3.js} +2 -2
  197. package/server/{rally-api-xHazRk0d.js → rally-api-yjQ0TfHd.js} +1 -1
  198. package/server/{rally-client-COYz1vYR.js → rally-client-B1EJhfV0.js} +4 -4
  199. package/server/{rally-client-CGWEHaPd.js → rally-client-CULK2XAY.js} +1 -1
  200. package/server/rally-njs_mJrt.js +3 -0
  201. package/server/{reap-terminal-sessions-CaMkFOIH.js → reap-terminal-sessions-MWnqdLCJ.js} +1 -1
  202. package/server/{reap-terminal-sessions-DG9eiMVz.js → reap-terminal-sessions-N3BTkmX_.js} +1 -1
  203. package/server/{rebuild-stack-JUm0jqYP.js → rebuild-stack-Dp4eLkt4.js} +6 -6
  204. package/server/{rebuild-stack-CKjJAI8L.js → rebuild-stack-kA7XngID.js} +1 -1
  205. package/server/{reconstruct-cache-wU79aCee.js → reconstruct-cache-uWbZfjms.js} +6 -6
  206. package/server/record-t6V-3Dcj.js +3 -0
  207. package/server/{record-update-D3N6WMFR.js → record-update-DACtKh6_.js} +1 -1
  208. package/server/record-update-Dq0t2uBG.js +310 -0
  209. package/server/{recovery-trip-DkzJSej9.js → recovery-trip-BJtIQuag.js} +2 -2
  210. package/server/{release-engine-DMINVN8S.js → release-engine-DZpmGGzb.js} +5 -5
  211. package/server/{release-set-DeUSOEHy.js → release-set-hnXd_kga.js} +3 -3
  212. package/server/{remote-Dr5kGYSZ.js → remote-4tiENDaI.js} +3 -3
  213. package/server/{remote-b-c5bOce.js → remote-Br-ZWVIP.js} +3 -3
  214. package/server/{remote-agents-D6O_zETW.js → remote-agents-CRCg1L4H.js} +1 -1
  215. package/server/{remote-agents-Ct_WOyke.js → remote-agents-nmty1mLu.js} +6 -6
  216. package/server/{remote-completion-Dca3hAaa.js → remote-completion-BbWNd10K.js} +12 -12
  217. package/server/resume-CcKqnTvE.js +3 -0
  218. package/server/{review-agent-CCum8sGe.js → review-agent-DJRO8EG8.js} +1 -1
  219. package/server/{review-agent-CThvgK2r.js → review-agent-sKkE1FEL.js} +22 -22
  220. package/server/{review-artifacts-CXywD0F2.js → review-artifacts-BLbSC4ke.js} +5 -5
  221. package/server/{review-context-OYfKUprb.js → review-context-BgX3lcCx.js} +8 -8
  222. package/server/{review-status-DFRjDFef.js → review-status-A7quS5KJ.js} +54 -21
  223. package/server/review-status-C6n6-9f_.js +3 -0
  224. package/server/{review-status-enrichment-crNAtIpL.js → review-status-enrichment-tbOn_A_u.js} +3 -3
  225. package/server/{review-status-sync-DpAMD_WO.js → review-status-sync-BhSQ0d0l.js} +2 -2
  226. package/server/{review-status-sync-D60PJWNL.js → review-status-sync-To3-iS-N.js} +1 -1
  227. package/server/{review-verdict-feedback-JImjut0z.js → review-verdict-feedback-C1Kg8n7t.js} +1 -1
  228. package/server/{review-verdict-feedback-CpUZl5aE.js → review-verdict-feedback-CTRNtzXO.js} +6 -6
  229. package/server/{rollup-CZ02qgxk.js → rollup-B53Y81xK.js} +1 -1
  230. package/server/{rollup-SyuF09e4.js → rollup-WA0VD-Rr.js} +8 -8
  231. package/server/{scanner-Br0Z5S6R.js → scanner-D2743cp8.js} +11 -7
  232. package/server/{sequence-io-fxU0DlwW.js → sequence-io-Cg0zYj_E.js} +4 -4
  233. package/server/{sequencer-agent-B5YC5XVP.js → sequencer-agent-BGY8gjg-.js} +5 -5
  234. package/server/server.js +941 -752
  235. package/server/{service-Bagb90KZ.js → service-DCpB_SGd.js} +53 -53
  236. package/server/{session-fork-BqQxd-V6.js → session-fork-BQ8_6H32.js} +2 -2
  237. package/server/{session-history-XdS0JKp3.js → session-history-CVZDpS3c.js} +4 -4
  238. package/server/{settings-BNbocWOg.js → settings-BZ5m1UCl.js} +3 -3
  239. package/server/settings-D0OSwos5.js +2 -0
  240. package/server/{settings-uLc6DEYI.js → settings-ylxwqwQG.js} +2 -2
  241. package/server/{shadow-engineering-D4X_s3fA.js → shadow-engineering-BlxG6Xye.js} +2 -2
  242. package/server/{shadow-state-CbvsN3qG.js → shadow-state-C2_epgx2.js} +1 -1
  243. package/server/{shadow-state-C_NkP-sa.js → shadow-state-Dh-HzF2J.js} +2 -2
  244. package/server/{shadow-utils-CYMRPeRT.js → shadow-utils-4bvjn9b3.js} +2 -2
  245. package/server/{ship-log-__QtAFXG.js → ship-log-ClSMIzZX.js} +1 -1
  246. package/server/{smart-compaction-jdMkG1vo.js → smart-compaction-CHIxLr_d.js} +1 -1
  247. package/server/{smart-compaction-CLZOWin1.js → smart-compaction-r4pHQBIr.js} +7 -7
  248. package/server/{spawn-planning-session-D5OXo8pT.js → spawn-planning-session-DWAorh2B.js} +22 -21
  249. package/server/{spawn-planning-session-8D6mE033.js → spawn-planning-session-KC_UduxD.js} +1 -1
  250. package/server/{specialist-completion-CqmduO92.js → specialist-completion-BXhav38U.js} +1 -1
  251. package/server/{specialist-context-CJ-QjFR-.js → specialist-context-DtrYvGJ-.js} +5 -5
  252. package/server/{specialist-handoff-logger-Dnjlwt7g.js → specialist-handoff-logger-C45ouoZ6.js} +2 -2
  253. package/server/{specialist-logs-CQnKzuZs.js → specialist-logs-DJ3RzKxW.js} +3 -3
  254. package/server/{specialists-D0gGXMZx.js → specialists-D5fRZXmN.js} +1 -1
  255. package/server/specialists-DVj0hvaL.js +3 -0
  256. package/server/{specialists-CwZHb5cb.js → specialists-DyFeedjn.js} +66 -76
  257. package/server/{specialists-Bg9v4z3F.js → specialists-JVO00bs7.js} +340 -214
  258. package/server/specs-nN45DG2X.js +3 -0
  259. package/server/{src-BMMoA_ba.js → src-CG9mCkP6.js} +6 -6
  260. package/server/{src-Bqdtd6po.js → src-CMTQGyCK.js} +3 -3
  261. package/server/{src-k039WVYY.js → src-U7_kTPEE.js} +2 -1
  262. package/server/{stack-health-Bd06frFn.js → stack-health-Df0YEZKa.js} +1 -1
  263. package/server/{stack-health-C-ifC7b0.js → stack-health-puygdaMd.js} +2 -2
  264. package/server/{stale-task-claims-L7pJkQFL.js → stale-task-claims-BbFwCTb0.js} +4 -4
  265. package/server/{staleness-BID1BKdr.js → staleness-Bpy41ngS.js} +15 -3
  266. package/server/{staleness-_Tr-GwdA.js → staleness-Cbl_w4Bw.js} +1 -1
  267. package/server/{state-home-CONQvZR0.js → state-home-CIGjwNfJ.js} +96 -44
  268. package/server/{state-migrate-BeBW0KXA.js → state-migrate-Dkzaxvny.js} +12 -3
  269. package/server/{stuck-remediation-CKnIryGT.js → stuck-remediation-CzEov_fq.js} +26 -22
  270. package/server/{stuck-remediation-CsGD5Ksb.js → stuck-remediation-sY_MHHgQ.js} +1 -1
  271. package/server/{substrate-bug-weights-service-CpIZILj9.js → substrate-bug-weights-service-BH66lhm7.js} +3 -3
  272. package/server/{summary-fork-agEMsPSo.js → summary-fork-D8bXjCr7.js} +2 -2
  273. package/server/{summary-fork-bX6ax6X7.js → summary-fork-DHhJIsAL.js} +8 -8
  274. package/server/{supervisor-Ctt4eRYz.js → supervisor-BO-Zk_h-.js} +3 -3
  275. package/server/supervisor-BPy-o1A8.js +2 -0
  276. package/server/{swarm-readiness-DdmJVX7y.js → swarm-readiness-CQ_fwUWF.js} +4 -4
  277. package/server/{system-prerequisites-DSXBvffY.js → system-prerequisites-Bza0ffAh.js} +2 -2
  278. package/server/{teardown-workspace-DDCf5n-a.js → teardown-workspace-CEgauF4U.js} +15 -15
  279. package/server/{test-agent-queue-BJZ9Nfcc.js → test-agent-queue-DXDt0Xa-.js} +7 -7
  280. package/server/{test-verdict-Cp5tljlJ.js → test-verdict-CmUBK5cT.js} +1 -1
  281. package/server/{test-verdict-D_-sXIz_.js → test-verdict-DFjjIHR5.js} +1 -1
  282. package/server/{tldr-daemon-BQFmmFp0.js → tldr-daemon-BDtLOIlO.js} +2 -2
  283. package/server/{tldr-daemon-B8_oT5gx.js → tldr-daemon-DL566HbH.js} +1 -1
  284. package/server/tmux-DoThH6aj.js +3 -0
  285. package/server/{tmux-L5LgvGLp.js → tmux-ftABRAmc.js} +76 -44
  286. package/server/{token-BkQLy4yS.js → token-CsOhvw42.js} +2 -2
  287. package/server/{token-util-DI8sGlmF.js → token-util-CTmczIfW.js} +1 -1
  288. package/server/token-util-DrHg8abn.js +3 -0
  289. package/server/{tracker-config-DdT-nUAM.js → tracker-config-B4itFzDo.js} +2 -2
  290. package/server/{tracker-utils-DV3h1FYG.js → tracker-utils-BePq_oj-.js} +1 -1
  291. package/server/{tracker-utils-CawsPSS2.js → tracker-utils-tnxxqROg.js} +2 -2
  292. package/server/{traefik-connect-C6mJckNs.js → traefik-connect-m73vGebA.js} +1 -1
  293. package/server/{tunnel-IdK1iTHx.js → tunnel-B2vxjx_b.js} +3 -3
  294. package/server/{tunnel-BIFl98rc.js → tunnel-Cgj-IGIl.js} +1 -1
  295. package/server/{types-7-GnJn0t.js → types-BBNjPcqU.js} +1 -1
  296. package/server/{uat-train-j0cPeMSj.js → uat-train-CuEn0t9M.js} +28 -28
  297. package/server/{uat-train-0Ujk8GCv.js → uat-train-cKfM-_WW.js} +1 -1
  298. package/server/{validation-CabEISJT.js → validation-B5JxoPUS.js} +259 -9
  299. package/server/{validation-DcAgXTQp.js → validation-CIi6pnI2.js} +1 -1
  300. package/server/{verification-artifact-BuTA1QbL.js → verification-artifact-BcnIbigL.js} +1 -1
  301. package/server/{verification-artifact-Ck1tefmz.js → verification-artifact-C-lIHfUa.js} +1 -1
  302. package/server/{verification-runner-FiuAZ-H2.js → verification-runner-Br0S_Ous.js} +102 -37
  303. package/server/{verification-runner-DlJezzef.js → verification-runner-CDj4lD4t.js} +1 -1
  304. package/server/{vtt-parser-BnRsYzcz.js → vtt-parser-DKpNNW5i.js} +1 -1
  305. package/server/{work-agent-prompt-DLthEPAq.js → work-agent-prompt-Yb2bd3Fq.js} +13 -13
  306. package/server/{workflows-BZNNYkGC.js → workflows-C9WmILql.js} +39 -77
  307. package/server/workflows-D90rMOya.js +2 -0
  308. package/server/{workspace-D9ppycdg.js → workspace-BVl4rihN.js} +3 -3
  309. package/server/{workspace-3IC-UkAi.js → workspace-DuUdndHe.js} +1 -1
  310. package/server/{workspace-config-Bigl_-Lk.js → workspace-config-cEGcO6UT.js} +1 -1
  311. package/server/{workspace-manager-B1WOfKvB.js → workspace-manager-ZTdJAy9M.js} +1 -1
  312. package/server/{workspace-manager-ClkCIWTe.js → workspace-manager-hLUv3ADC.js} +22 -15
  313. package/server/{workspace-metadata-tiSRIWJP.js → workspace-metadata-CskwzzhL.js} +2 -2
  314. package/server/{workspace-metadata-BE0efUv_.js → workspace-metadata-DNpMixRq.js} +1 -1
  315. package/server/{workspaces-CFPcL0vl.js → workspaces-hWvy9eKs.js} +275 -109
  316. package/sync-sources/agents/pan-inspect-agent.md +1 -1
  317. package/sync-sources/agents/pan-merge-agent.md +1 -1
  318. package/sync-sources/agents/pan-planning-agent.md +4 -4
  319. package/sync-sources/agents/pan-work-agent.md +1 -1
  320. package/sync-sources/dev-skills/pan-commit/SKILL.md +1 -1
  321. package/sync-sources/dev-skills/test-specialist-workflow/SKILL.md +1 -1
  322. package/sync-sources/hooks/record-cost-event.js +363 -71
  323. package/sync-sources/hooks/session-start-hook +7 -0
  324. package/sync-sources/hooks/work-agent-stop-hook +1 -1
  325. package/sync-sources/rules/per-bead-durability.md +1 -1
  326. package/sync-sources/rules/prd-authoring.md +1 -1
  327. package/sync-sources/skills/feature-work/SKILL.md +1 -1
  328. package/sync-sources/skills/pan/SKILL.md +2 -2
  329. package/sync-sources/skills/pan-admin-config/SKILL.md +1 -0
  330. package/sync-sources/skills/pan-approve/SKILL.md +1 -1
  331. package/sync-sources/skills/pan-close/SKILL.md +1 -1
  332. package/sync-sources/skills/pan-doctor/SKILL.md +1 -1
  333. package/sync-sources/skills/pan-new-project/SKILL.md +9 -11
  334. package/sync-sources/skills/pan-oversee/SKILL.md +5 -5
  335. package/sync-sources/skills/pan-plan/SKILL.md +6 -6
  336. package/sync-sources/skills/pan-quickstart/SKILL.md +1 -1
  337. package/sync-sources/skills/pan-recap/SKILL.md +2 -2
  338. package/sync-sources/skills/pan-review/SKILL.md +1 -1
  339. package/sync-sources/skills/pan-start/SKILL.md +3 -3
  340. package/sync-sources/skills/pan-swarm/SKILL.md +1 -1
  341. package/sync-sources/skills/pan-sync/SKILL.md +1 -1
  342. package/sync-sources/skills/pan-task/SKILL.md +2 -2
  343. package/sync-sources/skills/pan-wipe/SKILL.md +2 -2
  344. package/sync-sources/skills/pipeline-list/SKILL.md +1 -1
  345. package/sync-sources/skills/pipeline-status/SKILL.md +2 -2
  346. package/sync-sources/skills/plan/SKILL.md +11 -11
  347. package/sync-sources/skills/write-vbrief/SKILL.md +7 -282
  348. package/sync-sources/skills/write-xbrief/SKILL.md +295 -0
  349. package/sync-sources/templates/claude-md/sections/warnings.md +1 -1
  350. package/server/agent-state-Co5Sy2Fw.js +0 -3
  351. package/server/agents-DyHKlq1I.js +0 -3
  352. package/server/cli-BRORS9qY.js +0 -3
  353. package/server/codex-DNyiQDKW.js +0 -3
  354. package/server/deacon-swarm-CV54eNmU.js +0 -2
  355. package/server/dist-j64RzSrQ.js +0 -3
  356. package/server/forge-B0_opi-V.js +0 -2
  357. package/server/hume-BmhvfVbV.js +0 -3
  358. package/server/inspect-agent-Dq0z1k3H.js +0 -2
  359. package/server/lifecycle-io-DmY2qwCn.js +0 -3
  360. package/server/merge-ops-DwWCkSgo.js +0 -2
  361. package/server/projects-BKkwpH6q.js +0 -3
  362. package/server/public/assets/index-Bdc4V9ba.css +0 -1
  363. package/server/public/assets/mermaid-GHXKKRXX-B5v_r7cI.js +0 -1
  364. package/server/rally-OSJXdiHK.js +0 -3
  365. package/server/record-rwK-nKv_.js +0 -3
  366. package/server/record-update-Crz74r-6.js +0 -168
  367. package/server/resume-wZZsWtzz.js +0 -3
  368. package/server/review-status-Bnh-rdkY.js +0 -3
  369. package/server/settings-BlUsVaUc.js +0 -2
  370. package/server/specialists-Dqe6_HE5.js +0 -3
  371. package/server/specs-BhOKBzqk.js +0 -3
  372. package/server/supervisor-COVHrBTg.js +0 -2
  373. package/server/tmux-BAvtac_u.js +0 -3
  374. package/server/token-util-BArZLN6w.js +0 -3
  375. package/server/workflows-C4mR0Reb.js +0 -2
@@ -9,7 +9,7 @@ When implementing a new feature:
9
9
 
10
10
  ## 1. Understand Requirements
11
11
  - Read the Linear/GitHub issue thoroughly
12
- - Check for an associated PRD draft at `<projectRoot>/.pan/drafts/<ISSUE-ID>.md` and the workspace vBRIEF at `.pan/spec.vbrief.json`
12
+ - Check for an associated PRD draft at `<projectRoot>/.pan/drafts/<ISSUE-ID>.md` and the workspace xBRIEF at `.pan/spec.vbrief.json`
13
13
  - Identify acceptance criteria
14
14
  - Clarify ambiguities BEFORE coding
15
15
 
@@ -38,7 +38,8 @@ LIFECYCLE VERBS (top-level)
38
38
  pan wipe <id> Destructive reset-to-Todo for an issue
39
39
  pan close <id> Close-out ceremony for completed issues
40
40
  pan plan <id> Create execution plan
41
- pan plan finalize <id> Materialize plan to vBRIEF tasks
41
+ pan plan finalize <id> Finalize the xBRIEF plan
42
+ pan task <subcommand> Read and update xBRIEF item state
42
43
  pan issues List and triage work across trackers
43
44
 
44
45
  OBSERVATION
@@ -70,7 +71,6 @@ ADMIN (PLUMBING)
70
71
  pan admin specialists <cmd> Review/test/merge agents
71
72
  pan admin remote <cmd> Fly.io infra
72
73
  pan admin db <cmd> Database seeding
73
- pan admin vBRIEF tasks <cmd> vBRIEF tasks CLI management
74
74
  pan admin config <cmd> Configuration management
75
75
  pan admin hooks install Install Claude Code heartbeat hooks
76
76
  pan admin tldr <cmd> TLDR daemon management
@@ -45,5 +45,6 @@ Settings page or edit `~/.overdeck/config.yaml` directly.
45
45
  ## See Also
46
46
 
47
47
  - `pan admin migrate-config` — migrate legacy settings.json → config.yaml
48
+ - `pan admin state migrate-xbrief <project> [--dry-run]` — migrate state files to xBRIEF envelopes and extensions
48
49
  - `pan admin tracker <cmd>` — tracker-specific operations
49
50
  - `pan doctor` — verify configuration is valid
@@ -17,7 +17,7 @@ allowed-tools:
17
17
 
18
18
  `pan approve` was a legacy CLI command that bypassed critical infrastructure:
19
19
  - **Merge queue** — no serialization, could collide with concurrent merges
20
- - **Post-merge lifecycle** — no Docker cleanup, label cleanup, stash cleanup, vBRIEF tasks compaction
20
+ - **Post-merge lifecycle** — no Docker cleanup, label cleanup, stash cleanup, xBRIEF task-state compaction
21
21
  - **Idempotency guards** — no protection against the infinite loop (PAN-328)
22
22
  - **Verification gate** — no post-rebase quality checks
23
23
 
@@ -57,7 +57,7 @@ pan close PAN-1234 --force --accept-deploy
57
57
  Runs the close-out ceremony after mechanically checking review, tests, branch verification,
58
58
  forge merge, post-merge lifecycle, main verification, deployment, and teardown. Merge
59
59
  moves the issue to canonical state `verifying_on_main`; close-out is the deliberate final
60
- step that completes the vBRIEF, archives planning artifacts, applies final cleanup, closes
60
+ step that completes the xBRIEF, archives planning artifacts, applies final cleanup, closes
61
61
  the tracker issue, and clears review status.
62
62
 
63
63
  Close-out is lighter than `pan wipe`: it preserves history and follows the configured
@@ -47,7 +47,7 @@ pan doctor
47
47
  # ✓ Skills directory exists
48
48
  # ✓ tmux available
49
49
  # ✓ Docker available
50
- # ⚠ orphan-proposed-specs: proposed vBRIEF specs without work agents, grouped by project with remediation hints
50
+ # ⚠ orphan-proposed-specs: proposed xBRIEF specs without work agents, grouped by project with remediation hints
51
51
  ```
52
52
 
53
53
  ### 2. Check Configuration
@@ -3,7 +3,7 @@ name: pan-new-project
3
3
  description: >
4
4
  Complete setup for registering a new project with Overdeck. Handles
5
5
  project registration, issue prefix, workspace config, trust setup,
6
- vBRIEF tasks init, tracker config, and validates against working projects.
6
+ xBRIEF task support init, tracker config, and validates against working projects.
7
7
  triggers:
8
8
  - new project
9
9
  - add new project
@@ -31,7 +31,7 @@ license: "MIT"
31
31
  Sets up a new project for Overdeck management. This is the ONLY correct
32
32
  way to add a new project. Do NOT just run `pan project add` alone — it
33
33
  creates a skeleton entry that breaks planning agents, workspace creation,
34
- issue routing, and vBRIEF tasks.
34
+ issue routing, and xBRIEF task support.
35
35
 
36
36
  ---
37
37
 
@@ -185,16 +185,14 @@ extra config needed beyond `issue_prefix` in projects.yaml.
185
185
 
186
186
  For **GitLab** projects, TBD — not yet supported in dashboard polling.
187
187
 
188
- ### Step 5: Initialize vBRIEF tasks
188
+ ### Step 5: Verify xBRIEF Task Support
189
+
190
+ No per-project task database initialization is required. xBRIEF plan items become the executable checklist after planning, and `pan task` reads and updates their state through the canonical state door.
189
191
 
190
192
  ```bash
191
- cd <project-path>
192
- git config vBRIEF tasks.role agent
193
+ pan task --help >/dev/null && echo "PASS: pan task available"
193
194
  ```
194
195
 
195
- New worktrees inherit this automatically since Overdeck now sets it during
196
- workspace creation (`workspace-manager.ts` and `worktree.ts`).
197
-
198
196
  ### Step 6: Create workspaces/ Directory
199
197
 
200
198
  ```bash
@@ -250,8 +248,8 @@ console.log(d.projects?.['<path>']?.hasTrustDialogAccepted
250
248
  grep 'GITHUB_REPOS' ~/.overdeck.env | grep -q '<PREFIX>' && \
251
249
  echo "PASS: in GITHUB_REPOS" || echo "FAIL: not in GITHUB_REPOS"
252
250
 
253
- # 5. vBRIEF tasks configured
254
- cd <path> && git config vBRIEF tasks.role && echo "PASS" || echo "FAIL: vBRIEF tasks.role not set"
251
+ # 5. xBRIEF task command available
252
+ pan task --help >/dev/null && echo "PASS" || echo "FAIL: pan task unavailable"
255
253
 
256
254
  # 6. workspaces/ exists
257
255
  test -d <path>/workspaces && echo "PASS" || echo "FAIL: no workspaces/"
@@ -278,7 +276,7 @@ Tracker: GitHub (<owner/repo>)
278
276
  Workspace type: <type>
279
277
  Tests: <command>
280
278
  Trusted: Yes
281
- vBRIEF tasks: Configured
279
+ xBRIEF task support: Available through pan task
282
280
  Dashboard: Issues visible
283
281
 
284
282
  Validation: 8/8 checks passed
@@ -27,7 +27,7 @@ Supervise an agent working on an issue through the **entire lifecycle**:
27
27
  `spawn/resume → work → completion → review → feedback loop → test → merge-ready`
28
28
 
29
29
  This is NOT passive monitoring. You are actively:
30
- - **Watching for bugs at every stage** — dashboard rendering, agent spawning, workspace creation, vBRIEF tasks lifecycle, specialist handoffs, status transitions, terminal output, API responses
30
+ - **Watching for bugs at every stage** — dashboard rendering, agent spawning, workspace creation, xBRIEF tasks lifecycle, specialist handoffs, status transitions, terminal output, API responses
31
31
  - **Documenting everything** — no bug is too small. If something flickers, logs a warning, shows stale data, or doesn't match expected state, that's a finding
32
32
  - **Fixing infrastructure bugs** when they block progress, then continuing the test
33
33
  - **Filing or updating GitHub issues** (PAN-XXX) for every bug found
@@ -92,12 +92,12 @@ echo "Completed: ${COMPLETED:-NO}"
92
92
  REVIEW_STATUS=$(curl -s http://localhost:3011/api/review/$ISSUE_ID/status 2>/dev/null)
93
93
  echo "Review status: $REVIEW_STATUS"
94
94
 
95
- # 6b. Branch-portable vBRIEF pipeline mirror (corroborating, not authoritative)
95
+ # 6b. Branch-portable xBRIEF pipeline mirror (corroborating, not authoritative)
96
96
  PIPELINE_MIRROR=""
97
97
  if [ -n "$WS_PATH" ] && [ -f "$WS_PATH/.pan/spec.vbrief.json" ]; then
98
98
  PIPELINE_MIRROR=$(jq -c '.plan.metadata.pipeline // empty' "$WS_PATH/.pan/spec.vbrief.json" 2>/dev/null)
99
99
  fi
100
- echo "vBRIEF pipeline mirror: ${PIPELINE_MIRROR:-NONE}"
100
+ echo "xBRIEF pipeline mirror: ${PIPELINE_MIRROR:-NONE}"
101
101
 
102
102
  # 7. Specialist activity?
103
103
  SPECIALISTS=$(curl -s http://localhost:3011/api/specialists 2>/dev/null)
@@ -106,7 +106,7 @@ echo "Specialists: $SPECIALISTS"
106
106
 
107
107
  ### Phase Decision Matrix
108
108
 
109
- Based on the checks above, determine the current phase. Treat `REVIEW_STATUS` and other live SQLite-backed API status as authoritative; use the branch-portable vBRIEF `plan.metadata.pipeline` mirror as a corroborating signal when API status is missing, stale, or ambiguous. If the mirror disagrees with the API, log a bug and prefer the API.
109
+ Based on the checks above, determine the current phase. Treat `REVIEW_STATUS` and other live SQLite-backed API status as authoritative; use the branch-portable xBRIEF `plan.metadata.pipeline` mirror as a corroborating signal when API status is missing, stale, or ambiguous. If the mirror disagrees with the API, log a bug and prefer the API.
110
110
 
111
111
  | Condition | Current Phase | Jump To |
112
112
  |-----------|--------------|---------|
@@ -344,7 +344,7 @@ When you find a bug in the Overdeck infrastructure:
344
344
  Be thorough. All of these are findings worth logging:
345
345
  - Dashboard shows wrong status, stale data, or flickers
346
346
  - Agent state file says one thing, dashboard shows another
347
- - vBRIEF tasks not created, duplicated, or disappearing
347
+ - xBRIEF tasks not created, duplicated, or disappearing
348
348
  - Specialist doesn't wake up or takes too long
349
349
  - Terminal output garbled or missing
350
350
  - API returns unexpected response
@@ -18,7 +18,7 @@ allowed-tools:
18
18
 
19
19
  # Overdeck Planning Lifecycle
20
20
 
21
- `pan plan <id>` is the plan-ONLY verb: it starts a planning session for an issue and produces a PRD and vBRIEF, but it does not start the work agent. Use `pan start <id>` when you want planning and work in one command.
21
+ `pan plan <id>` is the plan-ONLY verb: it starts a planning session for an issue and produces a PRD and xBRIEF, but it does not start the work agent. Use `pan start <id>` when you want planning and work in one command.
22
22
 
23
23
  Use `--auto` when the user wants the planning agent to run non-interactively and infer defensible defaults. Use `--probe` when the plan needs an adversarial pre-finalize self-pass; `--effort high` enables the same probe instructions automatically.
24
24
 
@@ -85,13 +85,13 @@ What it does:
85
85
  2. Validates the tasks already stored in `plan.items[]`, including their declared dependencies.
86
86
  3. Flips the spec's `plan.status` from `draft` to `proposed`.
87
87
  4. Calls the dashboard's complete-planning endpoint to promote the canonical spec into `<projectRoot>/.pan/specs/`, commit it on main, push, transition the tracker state to Planned, and terminate the planning session — same flow as `pan plan done` and the dashboard Done button.
88
- 5. Returns a summary of finalized vBRIEF tasks and promotion status, or JSON with `--json`.
88
+ 5. Returns a summary of finalized xBRIEF tasks and promotion status, or JSON with `--json`.
89
89
 
90
- Use `-w <path>` to point at another workspace. Use `--no-promote` to leave the spec at `status=proposed` without promoting (rare; for humans who want to review the plan in the dashboard before clicking Done). Finalize runs vBRIEF quality lint by default; use `--no-quality-lint` only as a loud one-run emergency bypass when the plan must be promoted despite known quality issues.
90
+ Use `-w <path>` to point at another workspace. Use `--no-promote` to leave the spec at `status=proposed` without promoting (rare; for humans who want to review the plan in the dashboard before clicking Done). Finalize runs xBRIEF quality lint by default; use `--no-quality-lint` only as a loud one-run emergency bypass when the plan must be promoted despite known quality issues.
91
91
 
92
92
  ### PRD-first gate
93
93
 
94
- Finalize and complete-planning refuse to promote a plan unless a **PRD draft** of at least 20 lines exists for the issue. `roles/plan.md` has always required the PRD as the first artifact; this gate makes it mechanical. The gate searches, in order, for `<ISSUE-ID>.md` (uppercase then lowercase) under `<projectRoot>/.pan/drafts/` then `<workspace>/.pan/drafts/`; the first existing file with ≥20 lines satisfies it. A found-but-thinner draft fails with its line count; a fully missing draft fails naming the canonical path to write. `pan start <id> --auto` is structurally exempt (it synthesizes a minimal vBRIEF and never POSTs complete-planning, so the gate cannot block it). Use `--no-prd` (on `finalize` or `done`) only for a genuinely trivial issue that went through interactive planning anyway — it prints a yellow `⚠ PRD gate SKIPPED` warning and tells the endpoint to skip the check too.
94
+ Finalize and complete-planning refuse to promote a plan unless a **PRD draft** of at least 20 lines exists for the issue. `roles/plan.md` has always required the PRD as the first artifact; this gate makes it mechanical. The gate searches, in order, for `<ISSUE-ID>.md` (uppercase then lowercase) under `<projectRoot>/.pan/drafts/` then `<workspace>/.pan/drafts/`; the first existing file with ≥20 lines satisfies it. A found-but-thinner draft fails with its line count; a fully missing draft fails naming the canonical path to write. `pan start <id> --auto` is structurally exempt (it synthesizes a minimal xBRIEF and never POSTs complete-planning, so the gate cannot block it). Use `--no-prd` (on `finalize` or `done`) only for a genuinely trivial issue that went through interactive planning anyway — it prints a yellow `⚠ PRD gate SKIPPED` warning and tells the endpoint to skip the check too.
95
95
 
96
96
  ## Completing planning (`pan plan done`)
97
97
 
@@ -101,7 +101,7 @@ Finalize and complete-planning refuse to promote a plan unless a **PRD draft** o
101
101
  pan plan done PAN-1071
102
102
  ```
103
103
 
104
- This promotes the workspace vBRIEF to `<projectRoot>/.pan/specs/`, syncs vBRIEF tasks, and transitions the tracker state to Planned. It is subject to the same PRD-first gate as `finalize`; pass `--no-prd` only for a genuinely trivial issue.
104
+ This promotes the workspace xBRIEF to `<projectRoot>/.pan/specs/`, syncs xBRIEF tasks, and transitions the tracker state to Planned. It is subject to the same PRD-first gate as `finalize`; pass `--no-prd` only for a genuinely trivial issue.
105
105
 
106
106
  ## Related commands
107
107
 
@@ -112,5 +112,5 @@ This promotes the workspace vBRIEF to `<projectRoot>/.pan/specs/`, syncs vBRIEF
112
112
  ## See also
113
113
 
114
114
  - `roles/plan.md` — planning role prompt.
115
- - `docs/VBRIEF.md` — vBRIEF schema, artifact locations, lifecycle states.
115
+ - `docs/XBRIEF.md` — xBRIEF schema, artifact locations, lifecycle states.
116
116
  - `docs/SKILLS-CONVENTION.md` — skill/CLI naming convention.
@@ -374,7 +374,7 @@ After completing this quick start, you have:
374
374
 
375
375
  ### Productivity Tips
376
376
  - Use dashboard to monitor multiple agents
377
- - Set up vBRIEF tasks for task tracking
377
+ - Use xBRIEF plan items through `pan task` for task tracking
378
378
  - Configure git hooks for automated workflows
379
379
  - Create custom skills for your team's processes
380
380
 
@@ -130,14 +130,14 @@ gh issue list --state closed --search "closed:>=$SINCE_DATE" --limit 50 \
130
130
  ```
131
131
 
132
132
  Also scan real commits on `main` (drop the bookkeeping noise — `chore(records)`,
133
- `chore(state)`, `chore(vBRIEF tasks)` are per-issue state syncs, not work):
133
+ `chore(state)` and `chore(records)` are per-issue state syncs, not work):
134
134
 
135
135
  ```bash
136
136
  echo "=== substantive commits on origin/main ==="
137
137
  git fetch -q origin main 2>/dev/null
138
138
  git log origin/main --since="$HOURS hours ago" --no-merges \
139
139
  --pretty='%h %ad %s' --date=format:'%m-%d %H:%M' \
140
- | grep -vE 'chore\((records|state|vBRIEF tasks)\)' | head -40
140
+ | grep -vE 'chore\((records|state)\)' | head -40
141
141
  ```
142
142
 
143
143
  ### 2. What's in flight — active agents and in-review work
@@ -90,7 +90,7 @@ all reviewers + the test specialist sign off; humans only click the button.
90
90
 
91
91
  ## See also
92
92
 
93
- - `pan show <id>` — inspect work agent state, vBRIEF status, recent activity
93
+ - `pan show <id>` — inspect work agent state, xBRIEF status, recent activity
94
94
  - `pan done <id>` — signal initial work completion (from the worker side)
95
95
  - `pan code-review` skill — orchestrated parallel code review with synthesis
96
96
  - `roles/review.md` — the review role's frontmatter and prompt
@@ -40,10 +40,10 @@ pan start PAN-123 --remote --tier ephemeral # Remote Fly.io workspace that wind
40
40
  `pan start <id>` is the single paved-road entry point: it takes an issue from whatever
41
41
  state it is in to running work.
42
42
 
43
- - **No plan exists** — `pan start` auto-plans (non-interactive), materializes vBRIEF tasks, and
43
+ - **No plan exists** — `pan start` auto-plans (non-interactive), materializes xBRIEF tasks, and
44
44
  starts the work agent when planning finalizes.
45
45
  - **Plan exists** — `pan start` creates the workspace if needed and spawns the work agent
46
- from the existing vBRIEF and vBRIEF tasks.
46
+ from the existing xBRIEF and xBRIEF tasks.
47
47
  - **Already running** — `pan start` exits 0 with a no-op message naming `pan tell <id>` for
48
48
  messaging and the tmux attach command.
49
49
 
@@ -52,7 +52,7 @@ Planning depth is controlled by `--plan`:
52
52
  ```bash
53
53
  pan start PAN-1071 --plan interactive # Q&A planning first, then work
54
54
  pan start PAN-1071 --plan auto # non-interactive planning, then work (default)
55
- pan start PAN-1071 --plan skip # synthesize a minimal vBRIEF and vBRIEF tasks, then work
55
+ pan start PAN-1071 --plan skip # synthesize a minimal xBRIEF and xBRIEF tasks, then work
56
56
  ```
57
57
 
58
58
  The default planning mode comes from `planning.default_mode` in `~/.overdeck/config.yaml`;
@@ -5,7 +5,7 @@ description: Start and recover Overdeck swarm slots for planned issues with `pan
5
5
 
6
6
  # Pan Swarm
7
7
 
8
- Use `pan swarm` when an issue has a finalized vBRIEF plan and the operator wants Deacon-managed parallel slot execution.
8
+ Use `pan swarm` when an issue has a finalized xBRIEF plan and the operator wants Deacon-managed parallel slot execution.
9
9
 
10
10
  ## Start a Swarm
11
11
 
@@ -286,7 +286,7 @@ These names are reserved by Overdeck. Don't use them for custom skills:
286
286
 
287
287
  **Pan operations:** `pan-down`, `pan-help`, `pan-install`, `pan-issue`, `pan-plan`, `pan-quickstart`, `pan-setup`, `pan-status`, `pan-up`, `pan-config`, `pan-tracker`, `pan-projects`, `pan-sync`, `pan-docker`, `pan-network`, `pan-approve`, `pan-tell`, `pan-kill`, `pan-doctor`, `pan-diagnose`, `pan-logs`, `pan-rescue`
288
288
 
289
- **Workflow skills:** `vBRIEF tasks`, `bug-fix`, `code-review`, `code-review-performance`, `code-review-security`, `dependency-update`, `feature-work`, `incident-response`, `onboard-codebase`, `refactor`, `release`, `session-health`, `skill-creator`, `web-design-guidelines`, `work-complete`
289
+ **Workflow skills:** `pan-task`, `bug-fix`, `code-review`, `code-review-performance`, `code-review-security`, `dependency-update`, `feature-work`, `incident-response`, `onboard-codebase`, `refactor`, `release`, `session-health`, `skill-creator`, `web-design-guidelines`, `work-complete`
290
290
 
291
291
  ## Related Skills
292
292
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: pan-task
3
- description: "pan task <verb> <issue> — claim and complete vBRIEF checklist items"
3
+ description: "pan task <verb> <issue> — claim and complete xBRIEF checklist items"
4
4
  triggers:
5
5
  - pan task
6
6
  - claim task
@@ -11,7 +11,7 @@ allowed-tools:
11
11
 
12
12
  # pan task
13
13
 
14
- Run the requested task command now. Task state belongs to one issue's vBRIEF checklist.
14
+ Run the requested task command now. Task state belongs to one issue's xBRIEF checklist.
15
15
 
16
16
  ```bash
17
17
  pan task next PAN-123
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: pan-wipe
3
- description: "pan wipe <id> — destructive reset to Todo: remove workspace, processes, branches, review state, vBRIEF tasks, and tracker status"
3
+ description: "pan wipe <id> — destructive reset to Todo: remove workspace, processes, branches, review state, xBRIEF task state, and tracker status"
4
4
  triggers:
5
5
  - pan wipe
6
6
  - wipe issue
@@ -27,7 +27,7 @@ Performs the canonical destructive reset-to-Todo for an issue:
27
27
  - Removes the workspace directory (`workspaces/feature-<id>/`)
28
28
  - Removes agent state (`~/.overdeck/agents/<id>/`)
29
29
  - Deletes local and remote feature branches
30
- - Clears review status and issue vBRIEF tasks
30
+ - Clears review status and issue xBRIEF task state
31
31
  - Resets issue status in the tracker to Todo
32
32
 
33
33
  ## When to Use
@@ -140,7 +140,7 @@ PY
140
140
  - **Resource view** is backed by the resource-discovery service
141
141
  (`src/dashboard/server/services/resource-discovery.ts`), which includes an
142
142
  issue when it has ≥1 `resourceSource` (workspace, branch, tmux, docker, pr,
143
- vbrief, vBRIEF tasks, or active tracker state) and computes `readyForMerge` +
143
+ xBRIEF plan, task state, or active tracker state) and computes `readyForMerge` +
144
144
  `stateLabel`. Same data the Command Deck `fetchProjects()` consumes.
145
145
  - **Lifecycle view** ports `getPipelineIssuePhase`
146
146
  (`src/dashboard/frontend/src/lib/pipeline-state.ts`). It can't see
@@ -43,7 +43,7 @@ PAN-1028 in_flight TTS: first speech utterance gets clipped kimi-k
43
43
  PAN-945 post_merge_limbo Planning artifact path mismatch gpt-5.4 · · · · ✓* ·
44
44
  PAN-1024 zombie_pr Lazy-load per-turn diff summaries gpt-5.4 · · · · · ·
45
45
 
46
- PLANNING (Opus drafting vBRIEFs)
46
+ PLANNING (Opus drafting xBRIEFs)
47
47
  PAN-1015 Remove claudish routing in favor of CLIProxy claude-sonnet-4-6 ◐ planning
48
48
 
49
49
  ✓ done/passing ◐ in-progress ✗ failed/blocked · pending/n-a
@@ -170,7 +170,7 @@ for i in panissues:
170
170
  f"{'✓' if ready else '·'}")
171
171
 
172
172
  print()
173
- print("PLANNING SESSIONS (Opus drafting vBRIEFs)")
173
+ print("PLANNING SESSIONS (Opus drafting xBRIEFs)")
174
174
  print('─' * 130)
175
175
  sessions = subprocess.check_output(['tmux','-L','overdeck','list-sessions','-F','#{session_name}']).decode().split('\n')
176
176
  for ps in sorted(s for s in sessions if s.startswith('planning-pan-')):
@@ -2,7 +2,7 @@
2
2
  name: plan
3
3
  description: >
4
4
  Opus-driven planning for issues before Sonnet implementation. Creates workspace,
5
- .pan/continue.json, .pan/spec.vbrief.json with vBRIEF tasks, and updates issue tracker.
5
+ .pan/continue.json, .pan/spec.vbrief.json with xBRIEF tasks, and updates issue tracker.
6
6
  Ensures strategic decisions are made by Opus, not cheaper models.
7
7
  triggers:
8
8
  - plan
@@ -31,7 +31,7 @@ license: "MIT"
31
31
 
32
32
  **Opus plans EVERYTHING. Sonnet executes.**
33
33
 
34
- Do NOT leave any decisions for the implementation agent. Every architectural choice, every file path, every function name, every edge case - all decided here. The implementation agent should be able to work through vBRIEF tasks mechanically without making any design decisions.
34
+ Do NOT leave any decisions for the implementation agent. Every architectural choice, every file path, every function name, every edge case - all decided here. The implementation agent should be able to work through xBRIEF tasks mechanically without making any design decisions.
35
35
 
36
36
  ---
37
37
 
@@ -103,7 +103,7 @@ Create `.pan/continue.json` with COMPLETE planning context:
103
103
  { "id": "H1", "summary": "<risk/edge case>", "mitigation": "<how to handle it>" }
104
104
  ],
105
105
  "resumePoint": null,
106
- "vBRIEF tasksMapping": {},
106
+ "tasksMapping": {},
107
107
  "agentModel": "plan",
108
108
  "sessionHistory": [
109
109
  { "timestamp": "<ISO timestamp>", "reason": "planning", "note": "Initial planning session", "agentModel": "plan" }
@@ -116,8 +116,8 @@ Create `.pan/continue.json` with COMPLETE planning context:
116
116
 
117
117
  ```json
118
118
  {
119
- "vBRIEFInfo": {
120
- "version": "0.5",
119
+ "xBRIEFInfo": {
120
+ "version": "0.8",
121
121
  "created": "<ISO timestamp>"
122
122
  },
123
123
  "plan": {
@@ -167,9 +167,9 @@ Create `.pan/continue.json` with COMPLETE planning context:
167
167
  }
168
168
  ```
169
169
 
170
- **CRITICAL vBRIEF Structure Rules:**
170
+ **CRITICAL xBRIEF Structure Rules:**
171
171
 
172
- 1. **Acceptance criteria MUST be subItems, NEVER top-level items.** Each AC is nested under its parent task/requirement as a `subItems` entry. Top-level items with `kind: "acceptance_criterion"` will fail vBRIEF Studio validation.
172
+ 1. **Acceptance criteria MUST be subItems, NEVER top-level items.** Each AC is nested under its parent task/requirement as a `subItems` entry. Top-level items with `kind: "acceptance_criterion"` will fail xBRIEF Studio validation.
173
173
 
174
174
  2. **Hierarchical IDs required.** SubItem IDs must use dot-notation from the parent: `parent-id.ac-name`. Example: `work-prompt-ac.injects-ac-per-task`. The parent prefix is mandatory.
175
175
 
@@ -183,17 +183,17 @@ Create `.pan/continue.json` with COMPLETE planning context:
183
183
  - Set `edges` to capture blocking relationships between items
184
184
  - `difficulty`: trivial (typo/config), simple (1 file), medium (2-3 files), complex (multi-system)
185
185
  - 10-40 items for a typical feature; more for large refactors
186
- - SubItems (acceptance criteria) are NOT converted to vBRIEF tasks — they're verification checklists
186
+ - SubItems (acceptance criteria) are NOT converted to xBRIEF tasks — they're verification checklists
187
187
 
188
188
  **After writing the JSON file:**
189
189
  ```bash
190
- # Materialize vBRIEF tasks and mark the workspace spec proposed
190
+ # Materialize xBRIEF tasks and mark the workspace spec proposed
191
191
  pan plan finalize
192
192
  ```
193
193
 
194
194
  **Cloister hand-off:** When `pan plan finalize` runs, it automatically:
195
195
  1. Reads `.pan/spec.vbrief.json` from the workspace
196
- 2. Validates the vBRIEF tasks already stored in `plan.items[]`
196
+ 2. Validates the xBRIEF tasks already stored in `plan.items[]`
197
197
  3. Preserves dependency relationships from `edges` (blocking order)
198
198
  4. Includes acceptance criteria in task descriptions
199
199
  5. Marks `plan.status` as `proposed` so the dashboard shows Done
@@ -230,7 +230,7 @@ gh issue comment <number> --body "## Planning Complete
230
230
  **Planned by:** Claude Opus 4.6
231
231
  **Workspace:** workspaces/feature-<issue-id>/
232
232
 
233
- ### vBRIEF tasks: <N> items in .pan/spec.vbrief.json
233
+ ### xBRIEF tasks: <N> items in .pan/spec.vbrief.json
234
234
  ### Next: /work-issue <ISSUE-ID>"
235
235
  ```
236
236