@unbrained/pm-cli 2026.7.19 → 2026.7.20

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 (600) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/AGENTS.md +2 -0
  3. package/CHANGELOG.md +36 -0
  4. package/dist/cli/commands/append.js +13 -6
  5. package/dist/cli/commands/append.js.map +1 -1
  6. package/dist/cli/commands/calendar.d.ts +1 -1
  7. package/dist/cli/commands/calendar.js +2 -2
  8. package/dist/cli/commands/calendar.js.map +1 -1
  9. package/dist/cli/commands/comments.js +2 -5
  10. package/dist/cli/commands/comments.js.map +1 -1
  11. package/dist/cli/commands/completion.js +11 -3
  12. package/dist/cli/commands/completion.js.map +1 -1
  13. package/dist/cli/commands/context.d.ts +1 -1
  14. package/dist/cli/commands/context.js +2 -2
  15. package/dist/cli/commands/context.js.map +1 -1
  16. package/dist/cli/commands/contracts.js +4 -3
  17. package/dist/cli/commands/contracts.js.map +1 -1
  18. package/dist/cli/commands/copy.js +5 -3
  19. package/dist/cli/commands/copy.js.map +1 -1
  20. package/dist/cli/commands/create.d.ts +3 -1
  21. package/dist/cli/commands/create.js +5 -3
  22. package/dist/cli/commands/create.js.map +1 -1
  23. package/dist/cli/commands/merge.d.ts +8 -0
  24. package/dist/cli/commands/merge.js +12 -0
  25. package/dist/cli/commands/merge.js.map +1 -0
  26. package/dist/cli/commands/plan.d.ts +1 -1
  27. package/dist/cli/commands/plan.js +2 -2
  28. package/dist/cli/commands/plan.js.map +1 -1
  29. package/dist/cli/commands/update-many.d.ts +5 -0
  30. package/dist/cli/commands/update-many.js +81 -6
  31. package/dist/cli/commands/update-many.js.map +1 -1
  32. package/dist/cli/commands/update.d.ts +5 -1
  33. package/dist/cli/commands/update.js +50 -4
  34. package/dist/cli/commands/update.js.map +1 -1
  35. package/dist/cli/register-list-query.js +14 -2
  36. package/dist/cli/register-list-query.js.map +1 -1
  37. package/dist/cli/register-mutation.js +61 -2
  38. package/dist/cli/register-mutation.js.map +1 -1
  39. package/dist/cli/register-operations.js +5 -3
  40. package/dist/cli/register-operations.js.map +1 -1
  41. package/dist/cli/registration-helpers.js +4 -2
  42. package/dist/cli/registration-helpers.js.map +1 -1
  43. package/dist/cli-bundle/bundle-manifest.json +365 -333
  44. package/dist/cli-bundle/chunks/{append-MBXHNWSX.js → append-E6V54WOQ.js} +5 -5
  45. package/dist/cli-bundle/chunks/append-NNJ3EFIT.js +11 -0
  46. package/dist/cli-bundle/chunks/{chunk-M4B4RK4J.js → chunk-2BO4CA46.js} +14 -238
  47. package/dist/cli-bundle/chunks/{chunk-M4B4RK4J.js.map → chunk-2BO4CA46.js.map} +1 -1
  48. package/dist/cli-bundle/chunks/{chunk-MQOSMBWV.js → chunk-3AO5VSDR.js} +25 -6
  49. package/dist/cli-bundle/chunks/chunk-3AO5VSDR.js.map +7 -0
  50. package/dist/cli-bundle/chunks/{chunk-ODEIDKGW.js → chunk-3LPFHE3P.js} +596 -154
  51. package/dist/cli-bundle/chunks/chunk-3LPFHE3P.js.map +1 -0
  52. package/dist/cli-bundle/chunks/{chunk-YGEA4CLH.js → chunk-3MCTMJXI.js} +4 -4
  53. package/dist/cli-bundle/chunks/{chunk-N7FCFJ76.js → chunk-3P7UJQOX.js} +2 -2
  54. package/dist/cli-bundle/chunks/{chunk-7B7IHMLH.js → chunk-3VY6MIEO.js} +3 -3
  55. package/dist/cli-bundle/chunks/{chunk-3EZZTFL2.js → chunk-4F6BWJ4J.js} +51 -43
  56. package/dist/cli-bundle/chunks/chunk-4F6BWJ4J.js.map +7 -0
  57. package/dist/cli-bundle/chunks/{chunk-VA3H7VVC.js → chunk-4L23AGQ7.js} +9 -7
  58. package/dist/cli-bundle/chunks/chunk-4L23AGQ7.js.map +1 -0
  59. package/dist/cli-bundle/chunks/{chunk-5S6IZXK7.js → chunk-4U4Z6AHI.js} +7 -7
  60. package/dist/cli-bundle/chunks/{chunk-UOIFZ66L.js → chunk-4XGJLADW.js} +3 -3
  61. package/dist/cli-bundle/chunks/{chunk-SUNZKVAH.js → chunk-5IZJWSDB.js} +5 -5
  62. package/dist/cli-bundle/chunks/{chunk-QQ77W23U.js → chunk-5NTE36LD.js} +4 -4
  63. package/dist/cli-bundle/chunks/{chunk-EVAN5VJA.js → chunk-5OK4UGFV.js} +5 -8
  64. package/dist/cli-bundle/chunks/{chunk-EVAN5VJA.js.map → chunk-5OK4UGFV.js.map} +2 -2
  65. package/dist/cli-bundle/chunks/{chunk-H3YKUVDR.js → chunk-5UX66S6U.js} +26 -7
  66. package/dist/cli-bundle/chunks/chunk-5UX66S6U.js.map +1 -0
  67. package/dist/cli-bundle/chunks/{chunk-KGPLSHJD.js → chunk-6C2ZZX5Z.js} +2 -2
  68. package/dist/cli-bundle/chunks/{chunk-Q5NHJ6RO.js → chunk-6JUTHVQS.js} +2 -2
  69. package/dist/cli-bundle/chunks/{chunk-NTS2RKHN.js → chunk-6VIJ7UA5.js} +15 -15
  70. package/dist/cli-bundle/chunks/{chunk-BBGR4FKQ.js → chunk-6XMUURSS.js} +6 -6
  71. package/dist/cli-bundle/chunks/chunk-6XMUURSS.js.map +1 -0
  72. package/dist/cli-bundle/chunks/{chunk-XVB6BATY.js → chunk-72LQ4TKV.js} +3 -3
  73. package/dist/cli-bundle/chunks/{chunk-WCBB6VI3.js → chunk-7AVEY74G.js} +8 -5
  74. package/dist/cli-bundle/chunks/chunk-7AVEY74G.js.map +7 -0
  75. package/dist/cli-bundle/chunks/{chunk-YG56M3NE.js → chunk-7DOJC3HS.js} +8 -8
  76. package/dist/cli-bundle/chunks/chunk-7DOJC3HS.js.map +1 -0
  77. package/dist/cli-bundle/chunks/{chunk-KZ5AC6B5.js → chunk-7WCE6Y64.js} +2 -2
  78. package/dist/cli-bundle/chunks/{chunk-VQOG2ETB.js → chunk-AF2CCM5U.js} +4 -4
  79. package/dist/cli-bundle/chunks/{chunk-P24ZU5QV.js → chunk-AOEOYL3S.js} +49 -12
  80. package/dist/cli-bundle/chunks/chunk-AOEOYL3S.js.map +7 -0
  81. package/dist/cli-bundle/chunks/{chunk-BZKE2O5V.js → chunk-BKIAH72N.js} +8 -6
  82. package/dist/cli-bundle/chunks/chunk-BKIAH72N.js.map +1 -0
  83. package/dist/cli-bundle/chunks/{chunk-RWAIRGBC.js → chunk-C3KD7U3T.js} +12 -243
  84. package/dist/cli-bundle/chunks/chunk-C3KD7U3T.js.map +7 -0
  85. package/dist/cli-bundle/chunks/chunk-CFHAODHQ.js +334 -0
  86. package/dist/cli-bundle/chunks/chunk-CFHAODHQ.js.map +1 -0
  87. package/dist/cli-bundle/chunks/{chunk-TELI67UP.js → chunk-CQTQKUUV.js} +6 -9
  88. package/dist/cli-bundle/chunks/{chunk-TELI67UP.js.map → chunk-CQTQKUUV.js.map} +1 -1
  89. package/dist/cli-bundle/chunks/{chunk-ZUCBPXNA.js → chunk-D6NXDNP3.js} +5 -5
  90. package/dist/cli-bundle/chunks/chunk-D6NXDNP3.js.map +7 -0
  91. package/dist/cli-bundle/chunks/{chunk-EAV3P54W.js → chunk-DAQ45GCS.js} +5 -5
  92. package/dist/cli-bundle/chunks/{chunk-6V4T4RD3.js → chunk-DVDBQA3B.js} +79 -22
  93. package/dist/cli-bundle/chunks/chunk-DVDBQA3B.js.map +1 -0
  94. package/dist/cli-bundle/chunks/chunk-E6LEMURX.js +249 -0
  95. package/dist/cli-bundle/chunks/chunk-E6LEMURX.js.map +7 -0
  96. package/dist/cli-bundle/chunks/{chunk-ZF52NVRT.js → chunk-E7ICD63T.js} +131 -179
  97. package/dist/cli-bundle/chunks/chunk-E7ICD63T.js.map +7 -0
  98. package/dist/cli-bundle/chunks/{chunk-RX53WHFI.js → chunk-EJDGV4GR.js} +3 -3
  99. package/dist/cli-bundle/chunks/{chunk-IXG5CMBR.js → chunk-FDHPAVVB.js} +4 -4
  100. package/dist/cli-bundle/chunks/{chunk-KAE727L2.js → chunk-FSRHYUDA.js} +2 -2
  101. package/dist/cli-bundle/chunks/chunk-FSRHYUDA.js.map +7 -0
  102. package/dist/cli-bundle/chunks/{chunk-46Z6FAVP.js → chunk-G3COA6GS.js} +51 -43
  103. package/dist/cli-bundle/chunks/chunk-G3COA6GS.js.map +1 -0
  104. package/dist/cli-bundle/chunks/{chunk-A4FVWFZY.js → chunk-GFQP7HAZ.js} +8 -6
  105. package/dist/cli-bundle/chunks/chunk-GFQP7HAZ.js.map +7 -0
  106. package/dist/cli-bundle/chunks/{chunk-2XPDCXK5.js → chunk-GIQSU6S2.js} +6 -6
  107. package/dist/cli-bundle/chunks/chunk-GIQSU6S2.js.map +1 -0
  108. package/dist/cli-bundle/chunks/{chunk-V4QHAMI5.js → chunk-GROYI4RB.js} +3 -3
  109. package/dist/cli-bundle/chunks/{chunk-77XFQRTD.js → chunk-GSJSM5BJ.js} +3 -3
  110. package/dist/cli-bundle/chunks/{chunk-QYGK2XQ3.js → chunk-GTLCVJOE.js} +3 -3
  111. package/dist/cli-bundle/chunks/{chunk-VSQE43NO.js → chunk-GV2262OF.js} +4 -4
  112. package/dist/cli-bundle/chunks/{chunk-N2TEEOXJ.js → chunk-GVI6FAFG.js} +8 -6
  113. package/dist/cli-bundle/chunks/chunk-GVI6FAFG.js.map +7 -0
  114. package/dist/cli-bundle/chunks/{chunk-A5EQPNV7.js → chunk-GVT754PX.js} +44 -3
  115. package/dist/cli-bundle/chunks/chunk-GVT754PX.js.map +7 -0
  116. package/dist/cli-bundle/chunks/{chunk-Y2VSGFT4.js → chunk-HB3P4M52.js} +22 -7
  117. package/dist/cli-bundle/chunks/chunk-HB3P4M52.js.map +1 -0
  118. package/dist/cli-bundle/chunks/{chunk-STBCBDKF.js → chunk-HCEBZNC3.js} +6 -6
  119. package/dist/cli-bundle/chunks/{chunk-EEECAV5M.js → chunk-HEWM6CEN.js} +80 -25
  120. package/dist/cli-bundle/chunks/chunk-HEWM6CEN.js.map +7 -0
  121. package/dist/cli-bundle/chunks/{chunk-GKCEEXMA.js → chunk-HQ3SB4CN.js} +21 -6
  122. package/dist/cli-bundle/chunks/{chunk-GKCEEXMA.js.map → chunk-HQ3SB4CN.js.map} +2 -2
  123. package/dist/cli-bundle/chunks/{chunk-U6RYD446.js → chunk-HRW7GF6T.js} +7 -7
  124. package/dist/cli-bundle/chunks/{chunk-D35WYXWC.js → chunk-HYW67VJ5.js} +6 -3
  125. package/dist/cli-bundle/chunks/chunk-HYW67VJ5.js.map +1 -0
  126. package/dist/cli-bundle/chunks/{chunk-OKWJUL6F.js → chunk-I577UHC7.js} +16 -9
  127. package/dist/cli-bundle/chunks/{chunk-OKWJUL6F.js.map → chunk-I577UHC7.js.map} +2 -2
  128. package/dist/cli-bundle/chunks/{chunk-XDWXPG2E.js → chunk-IAQE32BI.js} +4 -4
  129. package/dist/cli-bundle/chunks/{chunk-66SRNEBK.js → chunk-IJNK6WW2.js} +3 -3
  130. package/dist/cli-bundle/chunks/chunk-INSTSQNZ.js +623 -0
  131. package/dist/cli-bundle/chunks/chunk-INSTSQNZ.js.map +7 -0
  132. package/dist/cli-bundle/chunks/{chunk-A3GAQLBH.js → chunk-IX677TRO.js} +75 -12
  133. package/dist/cli-bundle/chunks/chunk-IX677TRO.js.map +7 -0
  134. package/dist/cli-bundle/chunks/{chunk-RLLOZAM2.js → chunk-IY6VZ3IW.js} +29 -8
  135. package/dist/cli-bundle/chunks/chunk-IY6VZ3IW.js.map +7 -0
  136. package/dist/cli-bundle/chunks/{chunk-SVAWG7EE.js → chunk-J4FBIFU6.js} +45 -4
  137. package/dist/cli-bundle/chunks/chunk-J4FBIFU6.js.map +1 -0
  138. package/dist/cli-bundle/chunks/{chunk-AGEBQRBG.js → chunk-JAPE62Y5.js} +9 -9
  139. package/dist/cli-bundle/chunks/{chunk-UWAQI3B7.js → chunk-JGUKMMRS.js} +3 -3
  140. package/dist/cli-bundle/chunks/{chunk-UU6EP25G.js → chunk-JH2ZSLO3.js} +2 -2
  141. package/dist/cli-bundle/chunks/{chunk-GRDK25BN.js → chunk-JHJSFOAM.js} +6 -6
  142. package/dist/cli-bundle/chunks/{chunk-FQO5THHM.js → chunk-JM6YAXTR.js} +2 -2
  143. package/dist/cli-bundle/chunks/{chunk-E7KBMWEF.js → chunk-JSLT7WVE.js} +2 -2
  144. package/dist/cli-bundle/chunks/{chunk-FIUTBFC6.js → chunk-K4CI6Y45.js} +2 -2
  145. package/dist/cli-bundle/chunks/{chunk-IEMXESIS.js → chunk-KSPWRNVP.js} +7 -7
  146. package/dist/cli-bundle/chunks/{chunk-3QNUDDY2.js → chunk-KZEANWJS.js} +14 -12
  147. package/dist/cli-bundle/chunks/{chunk-3QNUDDY2.js.map → chunk-KZEANWJS.js.map} +2 -2
  148. package/dist/cli-bundle/chunks/{chunk-BFJP4VYC.js → chunk-L7BH7IWU.js} +4 -4
  149. package/dist/cli-bundle/chunks/{chunk-2UCG5H6B.js → chunk-LPEYZRUR.js} +3 -3
  150. package/dist/cli-bundle/chunks/{chunk-FQF6VVPH.js → chunk-MYSS5H2A.js} +9 -7
  151. package/dist/cli-bundle/chunks/{chunk-FQF6VVPH.js.map → chunk-MYSS5H2A.js.map} +1 -1
  152. package/dist/cli-bundle/chunks/{chunk-IR3GOO6E.js → chunk-NHT3F4WZ.js} +15 -15
  153. package/dist/cli-bundle/chunks/{chunk-6BNV3G6C.js → chunk-NLR32VFS.js} +2 -2
  154. package/dist/cli-bundle/chunks/{chunk-BDC4TW4B.js → chunk-OV7MSW3I.js} +15 -13
  155. package/dist/cli-bundle/chunks/chunk-OV7MSW3I.js.map +1 -0
  156. package/dist/cli-bundle/chunks/{chunk-EI3UIMZM.js → chunk-OWXOPDHD.js} +4 -4
  157. package/dist/cli-bundle/chunks/chunk-P7JTWYLH.js +246 -0
  158. package/dist/cli-bundle/chunks/chunk-P7JTWYLH.js.map +1 -0
  159. package/dist/cli-bundle/chunks/{chunk-AQUNTB7G.js → chunk-PEQGTJ5Q.js} +3 -3
  160. package/dist/cli-bundle/chunks/{chunk-QFG4MB7P.js → chunk-POG76WWZ.js} +28 -7
  161. package/dist/cli-bundle/chunks/chunk-POG76WWZ.js.map +1 -0
  162. package/dist/cli-bundle/chunks/{chunk-MI3346YW.js → chunk-QANSTTC7.js} +129 -170
  163. package/dist/cli-bundle/chunks/chunk-QANSTTC7.js.map +1 -0
  164. package/dist/cli-bundle/chunks/{chunk-T6MOTLOJ.js → chunk-QJKL5PHS.js} +2 -2
  165. package/dist/cli-bundle/chunks/{chunk-SBW7EQC4.js → chunk-QLZ643FM.js} +76 -13
  166. package/dist/cli-bundle/chunks/chunk-QLZ643FM.js.map +1 -0
  167. package/dist/cli-bundle/chunks/{chunk-XKVHL3MB.js → chunk-QWRVBJ4D.js} +2 -2
  168. package/dist/cli-bundle/chunks/chunk-R3EWPG4A.js +106 -0
  169. package/dist/cli-bundle/chunks/chunk-R3EWPG4A.js.map +1 -0
  170. package/dist/cli-bundle/chunks/chunk-R5U2VZ3K.js +344 -0
  171. package/dist/cli-bundle/chunks/chunk-R5U2VZ3K.js.map +7 -0
  172. package/dist/cli-bundle/chunks/{chunk-VFA5EIEN.js → chunk-R7QV7ICM.js} +4 -4
  173. package/dist/cli-bundle/chunks/{chunk-NPEYH6CE.js → chunk-RDV4ZFYS.js} +12 -10
  174. package/dist/cli-bundle/chunks/{chunk-NPEYH6CE.js.map → chunk-RDV4ZFYS.js.map} +1 -1
  175. package/dist/cli-bundle/chunks/{chunk-K2L6FZBX.js → chunk-RJO3YAFM.js} +4 -4
  176. package/dist/cli-bundle/chunks/{chunk-YIC5NGXF.js → chunk-RMF7LMBS.js} +7 -7
  177. package/dist/cli-bundle/chunks/{chunk-YIC5NGXF.js.map → chunk-RMF7LMBS.js.map} +2 -2
  178. package/dist/cli-bundle/chunks/{chunk-MRXAHR4B.js → chunk-RZJLNXFG.js} +50 -13
  179. package/dist/cli-bundle/chunks/chunk-RZJLNXFG.js.map +1 -0
  180. package/dist/cli-bundle/chunks/{chunk-DJAGYYCQ.js → chunk-SC2HMDGB.js} +19 -3
  181. package/dist/cli-bundle/chunks/chunk-SC2HMDGB.js.map +1 -0
  182. package/dist/cli-bundle/chunks/{chunk-SGJB6PXA.js → chunk-SF3DT5HJ.js} +3 -3
  183. package/dist/cli-bundle/chunks/chunk-SG74J6MV.js +604 -0
  184. package/dist/cli-bundle/chunks/chunk-SG74J6MV.js.map +1 -0
  185. package/dist/cli-bundle/chunks/{chunk-Q3K5XPAQ.js → chunk-SR3JOATZ.js} +18 -2
  186. package/dist/cli-bundle/chunks/chunk-SR3JOATZ.js.map +7 -0
  187. package/dist/cli-bundle/chunks/{chunk-DUDLSQFG.js → chunk-SSKOQNMS.js} +14 -12
  188. package/dist/cli-bundle/chunks/{chunk-DUDLSQFG.js.map → chunk-SSKOQNMS.js.map} +1 -1
  189. package/dist/cli-bundle/chunks/{chunk-UNNCT5QY.js → chunk-SZVB53Y3.js} +3 -3
  190. package/dist/cli-bundle/chunks/{chunk-JBW2S2C6.js → chunk-T44FMVRL.js} +613 -157
  191. package/dist/cli-bundle/chunks/chunk-T44FMVRL.js.map +7 -0
  192. package/dist/cli-bundle/chunks/{chunk-GFZB5CLP.js → chunk-T6PPNM7V.js} +4 -4
  193. package/dist/cli-bundle/chunks/{chunk-UE7LK3RE.js → chunk-THAOZG4U.js} +9 -7
  194. package/dist/cli-bundle/chunks/chunk-THAOZG4U.js.map +1 -0
  195. package/dist/cli-bundle/chunks/{chunk-IGBBTPM5.js → chunk-TOBGV45Y.js} +4 -4
  196. package/dist/cli-bundle/chunks/chunk-TOBGV45Y.js.map +1 -0
  197. package/dist/cli-bundle/chunks/{chunk-W6IEJXNC.js → chunk-TVYYO5A7.js} +2 -2
  198. package/dist/cli-bundle/chunks/chunk-TYHJDFYW.js +109 -0
  199. package/dist/cli-bundle/chunks/chunk-TYHJDFYW.js.map +7 -0
  200. package/dist/cli-bundle/chunks/{chunk-DOASIOQR.js → chunk-UQLXSG72.js} +2 -2
  201. package/dist/cli-bundle/chunks/{chunk-IDUTGRDM.js → chunk-URXVHN3L.js} +3 -3
  202. package/dist/cli-bundle/chunks/chunk-URXVHN3L.js.map +1 -0
  203. package/dist/cli-bundle/chunks/{chunk-7CHWLT2J.js → chunk-UVN66B3M.js} +2 -2
  204. package/dist/cli-bundle/chunks/{chunk-Q6JPYR7I.js → chunk-UX6SSO2I.js} +2 -2
  205. package/dist/cli-bundle/chunks/{chunk-JPWUZOMR.js → chunk-UZDQXNUB.js} +75 -20
  206. package/dist/cli-bundle/chunks/chunk-UZDQXNUB.js.map +1 -0
  207. package/dist/cli-bundle/chunks/{chunk-OK7VSX3N.js → chunk-UZLJOEAC.js} +3 -3
  208. package/dist/cli-bundle/chunks/{chunk-4PSJVGRE.js → chunk-VDO2JMD4.js} +7 -7
  209. package/dist/cli-bundle/chunks/{chunk-IRJ6F23W.js → chunk-VQIHNHMJ.js} +2 -2
  210. package/dist/cli-bundle/chunks/{chunk-FQODDTE7.js → chunk-WUVEBQW6.js} +7 -5
  211. package/dist/cli-bundle/chunks/{chunk-FQODDTE7.js.map → chunk-WUVEBQW6.js.map} +1 -1
  212. package/dist/cli-bundle/chunks/{chunk-Q4PSG2GV.js → chunk-WVA4DVNV.js} +5 -5
  213. package/dist/cli-bundle/chunks/{chunk-Q4PSG2GV.js.map → chunk-WVA4DVNV.js.map} +1 -1
  214. package/dist/cli-bundle/chunks/{chunk-4M6RZJXF.js → chunk-WWNL6WMH.js} +3 -3
  215. package/dist/cli-bundle/chunks/chunk-WWNL6WMH.js.map +7 -0
  216. package/dist/cli-bundle/chunks/{chunk-3KPNOZOH.js → chunk-X6K5XTTN.js} +78 -21
  217. package/dist/cli-bundle/chunks/chunk-X6K5XTTN.js.map +7 -0
  218. package/dist/cli-bundle/chunks/{chunk-G33XIMRT.js → chunk-XJF7CDNH.js} +17 -10
  219. package/dist/cli-bundle/chunks/{chunk-G33XIMRT.js.map → chunk-XJF7CDNH.js.map} +1 -1
  220. package/dist/cli-bundle/chunks/{chunk-AR24KW26.js → chunk-YBT7O4KT.js} +17 -112
  221. package/dist/cli-bundle/chunks/chunk-YBT7O4KT.js.map +7 -0
  222. package/dist/cli-bundle/chunks/{chunk-CZA2DXCV.js → chunk-YQQNAKW3.js} +17 -105
  223. package/dist/cli-bundle/chunks/chunk-YQQNAKW3.js.map +1 -0
  224. package/dist/cli-bundle/chunks/{chunk-OKPZDH43.js → chunk-YQWCZ5AC.js} +7 -5
  225. package/dist/cli-bundle/chunks/{chunk-OKPZDH43.js.map → chunk-YQWCZ5AC.js.map} +2 -2
  226. package/dist/cli-bundle/chunks/{chunk-LT5UWU7H.js → chunk-ZOJ3LR7O.js} +2 -2
  227. package/dist/cli-bundle/chunks/{chunk-3HSRP6T2.js → chunk-ZOY5K4D3.js} +2 -2
  228. package/dist/cli-bundle/chunks/{chunk-XXWDEQ6O.js → chunk-ZV2NTVMJ.js} +4 -4
  229. package/dist/cli-bundle/chunks/{chunk-UW6HCMP2.js → chunk-ZYPFOO3L.js} +9 -9
  230. package/dist/cli-bundle/chunks/close-O5QVZ6ET.js +12 -0
  231. package/dist/cli-bundle/chunks/{close-7NWA3GLA.js → close-QEMOYZN3.js} +5 -5
  232. package/dist/cli-bundle/chunks/close-many-SDA426VT.js +24 -0
  233. package/dist/cli-bundle/chunks/{close-many-YALQ7AXS.js → close-many-UTZANOCQ.js} +15 -14
  234. package/dist/cli-bundle/chunks/{comments-SQIQ5WYR.js → comments-LZN6FXXC.js} +7 -7
  235. package/dist/cli-bundle/chunks/comments-VBQ345ND.js +13 -0
  236. package/dist/cli-bundle/chunks/{copy-YDAMENCP.js → copy-DKTSSCK7.js} +4 -4
  237. package/dist/cli-bundle/chunks/copy-M7DDI6LS.js +9 -0
  238. package/dist/cli-bundle/chunks/{create-JSL6CXU3.js → create-GG4RBCGC.js} +11 -11
  239. package/dist/cli-bundle/chunks/create-JBC5KUW6.js +29 -0
  240. package/dist/cli-bundle/chunks/{delete-IGVOZEU2.js → delete-LCS3VPDH.js} +4 -4
  241. package/dist/cli-bundle/chunks/delete-MD7YXQLH.js +10 -0
  242. package/dist/cli-bundle/chunks/{deps-BQAXUQAK.js → deps-DELOO4TL.js} +6 -6
  243. package/dist/cli-bundle/chunks/{deps-CBPPSS6J.js → deps-FI4O6NQS.js} +6 -6
  244. package/dist/cli-bundle/chunks/docs-2UYBP5D6.js +14 -0
  245. package/dist/cli-bundle/chunks/{docs-NS2AZWCN.js → docs-6Z2MP526.js} +6 -6
  246. package/dist/cli-bundle/chunks/{files-XUUBQ76I.js → files-HEUGSJZL.js} +6 -6
  247. package/dist/cli-bundle/chunks/{files-PVWEPT5J.js → files-HKEAN5MA.js} +6 -6
  248. package/dist/cli-bundle/chunks/{focus-DHBHKK3E.js → focus-7SOUT5PZ.js} +5 -5
  249. package/dist/cli-bundle/chunks/focus-DRQ6FQH6.js +10 -0
  250. package/dist/cli-bundle/chunks/history-compact-65YVN5DB.js +17 -0
  251. package/dist/cli-bundle/chunks/{history-compact-3TNPYVFG.js → history-compact-7NDVP3PT.js} +7 -6
  252. package/dist/cli-bundle/chunks/{history-redact-KKFDICCF.js → history-redact-7YBL4XSG.js} +5 -4
  253. package/dist/cli-bundle/chunks/{history-redact-ELRL73XN.js → history-redact-IZGNJBU4.js} +5 -4
  254. package/dist/cli-bundle/chunks/{history-repair-J7WKZFAG.js → history-repair-7M4PYQUH.js} +8 -6
  255. package/dist/cli-bundle/chunks/history-repair-GNGETJLI.js +18 -0
  256. package/dist/cli-bundle/chunks/learnings-3YXDRWFT.js +13 -0
  257. package/dist/cli-bundle/chunks/{learnings-X4D6JCCG.js → learnings-ALC6IMNL.js} +7 -7
  258. package/dist/cli-bundle/chunks/notes-7JMLQ447.js +13 -0
  259. package/dist/cli-bundle/chunks/{notes-UQC6VS6N.js → notes-JFCLTC5C.js} +7 -7
  260. package/dist/cli-bundle/chunks/plan-KOIPWVOZ.js +26 -0
  261. package/dist/cli-bundle/chunks/{plan-5GKRBJJO.js → plan-T3XB3WTK.js} +12 -12
  262. package/dist/cli-bundle/chunks/{profile-5PQAPCLF.js → profile-OILJHKUW.js} +12 -11
  263. package/dist/cli-bundle/chunks/{profile-CW4BD3FO.js → profile-RJXA7PGS.js} +12 -11
  264. package/dist/cli-bundle/chunks/{register-list-query-PHIPDFP2.js → register-list-query-CFVG75P3.js} +30 -21
  265. package/dist/cli-bundle/chunks/{register-list-query-PHIPDFP2.js.map → register-list-query-CFVG75P3.js.map} +1 -1
  266. package/dist/cli-bundle/chunks/{register-list-query-HTDQE6VI.js → register-list-query-E7UVY4TN.js} +29 -20
  267. package/dist/cli-bundle/chunks/{register-list-query-HTDQE6VI.js.map → register-list-query-E7UVY4TN.js.map} +2 -2
  268. package/dist/cli-bundle/chunks/{register-mutation-BLEWM5I6.js → register-mutation-4VJTXBZW.js} +86 -32
  269. package/dist/cli-bundle/chunks/register-mutation-4VJTXBZW.js.map +7 -0
  270. package/dist/cli-bundle/chunks/{register-mutation-OTYHR7J6.js → register-mutation-IQ55E25C.js} +78 -33
  271. package/dist/cli-bundle/chunks/register-mutation-IQ55E25C.js.map +1 -0
  272. package/dist/cli-bundle/chunks/{register-operations-AMCUFYEW.js → register-operations-AR7RMX4W.js} +42 -38
  273. package/dist/cli-bundle/chunks/register-operations-AR7RMX4W.js.map +1 -0
  274. package/dist/cli-bundle/chunks/{register-operations-MRLHOZYR.js → register-operations-NOLZGORC.js} +41 -37
  275. package/dist/cli-bundle/chunks/register-operations-NOLZGORC.js.map +7 -0
  276. package/dist/cli-bundle/chunks/{register-setup-ZVKTDL4G.js → register-setup-BB77VUEE.js} +17 -16
  277. package/dist/cli-bundle/chunks/{register-setup-ZVKTDL4G.js.map → register-setup-BB77VUEE.js.map} +1 -1
  278. package/dist/cli-bundle/chunks/{register-setup-N2FOSWAG.js → register-setup-EYZ7VTPZ.js} +15 -14
  279. package/dist/cli-bundle/chunks/{register-setup-N2FOSWAG.js.map → register-setup-EYZ7VTPZ.js.map} +1 -1
  280. package/dist/cli-bundle/chunks/restore-L6IAGOD7.js +15 -0
  281. package/dist/cli-bundle/chunks/{restore-HEQAG6EK.js → restore-ZH65GZFB.js} +7 -6
  282. package/dist/cli-bundle/chunks/{schema-Q5DAWJ2S.js → schema-4ERWM5QJ.js} +7 -6
  283. package/dist/cli-bundle/chunks/{schema-MAXAIHEC.js → schema-55DL3Q52.js} +7 -6
  284. package/dist/cli-bundle/chunks/{update-DWFXXJKP.js → update-FW6FKDOP.js} +15 -15
  285. package/dist/cli-bundle/chunks/update-TJHSPRPT.js +23 -0
  286. package/dist/cli-bundle/chunks/update-many-NNALYQCN.js +35 -0
  287. package/dist/cli-bundle/chunks/update-many-PWXX5WHO.js +39 -0
  288. package/dist/cli-bundle/main.js +62 -59
  289. package/dist/cli-bundle/main.js.map +1 -1
  290. package/dist/cli-bundle/sdk-runtime.js +62 -59
  291. package/dist/cli-bundle/sdk-testing.js +8 -8
  292. package/dist/cli-bundle/sdk.js +327 -57
  293. package/dist/cli-bundle/sdk.js.map +4 -4
  294. package/dist/core/config/nested-settings.d.ts +2 -0
  295. package/dist/core/config/nested-settings.js +18 -2
  296. package/dist/core/config/nested-settings.js.map +1 -1
  297. package/dist/core/diagnostics/remediation.js +38 -2
  298. package/dist/core/diagnostics/remediation.js.map +1 -1
  299. package/dist/core/extensions/extension-types.d.ts +1 -1
  300. package/dist/core/extensions/extension-types.js +2 -2
  301. package/dist/core/extensions/extension-types.js.map +1 -1
  302. package/dist/core/item/id.d.ts +19 -2
  303. package/dist/core/item/id.js +27 -6
  304. package/dist/core/item/id.js.map +1 -1
  305. package/dist/core/item/parse.d.ts +7 -0
  306. package/dist/core/item/parse.js +48 -2
  307. package/dist/core/item/parse.js.map +1 -1
  308. package/dist/core/schema/item-types-file.d.ts +2 -2
  309. package/dist/core/schema/item-types-file.js +2 -2
  310. package/dist/core/schema/item-types-file.js.map +1 -1
  311. package/dist/core/schema/runtime-schema.d.ts +3 -3
  312. package/dist/core/schema/runtime-schema.js +2 -2
  313. package/dist/core/schema/runtime-schema.js.map +1 -1
  314. package/dist/core/schema/type-workflows.d.ts +2 -2
  315. package/dist/core/schema/type-workflows.js +2 -2
  316. package/dist/core/schema/type-workflows.js.map +1 -1
  317. package/dist/core/shared/constants.js +5 -2
  318. package/dist/core/shared/constants.js.map +1 -1
  319. package/dist/core/store/settings-validator.d.ts +4 -0
  320. package/dist/core/store/settings-validator.js +8 -2
  321. package/dist/core/store/settings-validator.js.map +1 -1
  322. package/dist/core/store/settings.js +8 -2
  323. package/dist/core/store/settings.js.map +1 -1
  324. package/dist/sdk/annotations.js +24 -2
  325. package/dist/sdk/annotations.js.map +1 -1
  326. package/dist/sdk/cli-bootstrap.d.ts +1 -1
  327. package/dist/sdk/cli-bootstrap.js +3 -3
  328. package/dist/sdk/cli-bootstrap.js.map +1 -1
  329. package/dist/sdk/cli-contracts/commander-mutation-options.js +22 -2
  330. package/dist/sdk/cli-contracts/commander-mutation-options.js.map +1 -1
  331. package/dist/sdk/cli-contracts/enum-contracts.d.ts +1 -1
  332. package/dist/sdk/cli-contracts/enum-contracts.js +3 -2
  333. package/dist/sdk/cli-contracts/enum-contracts.js.map +1 -1
  334. package/dist/sdk/cli-contracts/flag-contracts.d.ts +2 -0
  335. package/dist/sdk/cli-contracts/flag-contracts.js +17 -2
  336. package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
  337. package/dist/sdk/cli-contracts/tool-option-contracts.d.ts +512 -0
  338. package/dist/sdk/cli-contracts/tool-option-contracts.js +21 -11
  339. package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
  340. package/dist/sdk/cli-contracts/tool-parameter-tables.js +13 -3
  341. package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
  342. package/dist/sdk/cli-contracts/tool-schema.d.ts +2 -0
  343. package/dist/sdk/cli-contracts/tool-schema.js +14 -10
  344. package/dist/sdk/cli-contracts/tool-schema.js.map +1 -1
  345. package/dist/sdk/cli-contracts/typed-action-inputs.d.ts +69 -0
  346. package/dist/sdk/cli-contracts/typed-action-inputs.js +5 -0
  347. package/dist/sdk/cli-contracts/typed-action-inputs.js.map +1 -0
  348. package/dist/sdk/cli-contracts.d.ts +4 -3
  349. package/dist/sdk/cli-contracts.js +5 -5
  350. package/dist/sdk/cli-contracts.js.map +1 -1
  351. package/dist/sdk/extension/describe.d.ts +1 -1
  352. package/dist/sdk/extension/describe.js +2 -2
  353. package/dist/sdk/extension/describe.js.map +1 -1
  354. package/dist/sdk/extension/install-runtime.js +5 -3
  355. package/dist/sdk/extension/install-runtime.js.map +1 -1
  356. package/dist/sdk/extension.d.ts +2 -2
  357. package/dist/sdk/extension.js +2 -2
  358. package/dist/sdk/extension.js.map +1 -1
  359. package/dist/sdk/governance/gc.d.ts +14 -1
  360. package/dist/sdk/governance/gc.js +38 -2
  361. package/dist/sdk/governance/gc.js.map +1 -1
  362. package/dist/sdk/governance/storage-integrity.d.ts +84 -0
  363. package/dist/sdk/governance/storage-integrity.js +240 -0
  364. package/dist/sdk/governance/storage-integrity.js.map +1 -0
  365. package/dist/sdk/governance/validate.d.ts +3 -1
  366. package/dist/sdk/governance/validate.js +56 -2
  367. package/dist/sdk/governance/validate.js.map +1 -1
  368. package/dist/sdk/history-read.d.ts +1 -1
  369. package/dist/sdk/history-read.js +2 -2
  370. package/dist/sdk/history-read.js.map +1 -1
  371. package/dist/sdk/history-repair.d.ts +36 -0
  372. package/dist/sdk/history-repair.js +69 -4
  373. package/dist/sdk/history-repair.js.map +1 -1
  374. package/dist/sdk/index.d.ts +5 -2
  375. package/dist/sdk/index.js +5 -2
  376. package/dist/sdk/index.js.map +1 -1
  377. package/dist/sdk/init.js +3 -3
  378. package/dist/sdk/init.js.map +1 -1
  379. package/dist/sdk/item-transaction.d.ts +131 -0
  380. package/dist/sdk/item-transaction.js +280 -0
  381. package/dist/sdk/item-transaction.js.map +1 -0
  382. package/dist/sdk/merge/driver.d.ts +75 -0
  383. package/dist/sdk/merge/driver.js +166 -0
  384. package/dist/sdk/merge/driver.js.map +1 -0
  385. package/dist/sdk/merge/index.d.ts +11 -0
  386. package/dist/sdk/merge/index.js +15 -0
  387. package/dist/sdk/merge/index.js.map +1 -0
  388. package/dist/sdk/merge/install.d.ts +90 -0
  389. package/dist/sdk/merge/install.js +318 -0
  390. package/dist/sdk/merge/install.js.map +1 -0
  391. package/dist/sdk/merge/three-way.d.ts +126 -0
  392. package/dist/sdk/merge/three-way.js +545 -0
  393. package/dist/sdk/merge/three-way.js.map +1 -0
  394. package/dist/sdk/query/list.d.ts +19 -2
  395. package/dist/sdk/query/list.js +5 -2
  396. package/dist/sdk/query/list.js.map +1 -1
  397. package/dist/sdk/runtime.d.ts +17 -14
  398. package/dist/sdk/runtime.js +5 -5
  399. package/dist/sdk/runtime.js.map +1 -1
  400. package/dist/sdk/schema.d.ts +2 -2
  401. package/dist/sdk/schema.js +29 -2
  402. package/dist/sdk/schema.js.map +1 -1
  403. package/dist/sdk/stats.d.ts +1 -1
  404. package/dist/sdk/stats.js +2 -2
  405. package/dist/sdk/stats.js.map +1 -1
  406. package/dist/sdk/workspace-transaction-gc.d.ts +46 -0
  407. package/dist/sdk/workspace-transaction-gc.js +155 -0
  408. package/dist/sdk/workspace-transaction-gc.js.map +1 -0
  409. package/dist/sdk/workspace.d.ts +28 -4
  410. package/dist/sdk/workspace.js +61 -15
  411. package/dist/sdk/workspace.js.map +1 -1
  412. package/dist/types.d.ts +11 -7
  413. package/dist/types.js +2 -2
  414. package/dist/types.js.map +1 -1
  415. package/docs/AGENT_GUIDE.md +58 -47
  416. package/docs/COMMANDS.md +7 -0
  417. package/docs/CONFIGURATION.md +2 -0
  418. package/docs/MERGE_SAFETY.md +99 -0
  419. package/docs/README.md +1 -0
  420. package/docs/SDK.md +56 -0
  421. package/marketplace.json +2 -2
  422. package/package.json +3 -2
  423. package/packages/pm-beads/package.json +1 -1
  424. package/packages/pm-calendar/package.json +1 -1
  425. package/packages/pm-command-kit/package.json +1 -1
  426. package/packages/pm-governance-audit/package.json +1 -1
  427. package/packages/pm-guide-shell/package.json +1 -1
  428. package/packages/pm-kanban/package.json +1 -1
  429. package/packages/pm-lifecycle-hooks/package.json +1 -1
  430. package/packages/pm-linked-test-adapters/package.json +1 -1
  431. package/packages/pm-search-advanced/package.json +1 -1
  432. package/packages/pm-templates/package.json +1 -1
  433. package/packages/pm-todos/package.json +1 -1
  434. package/packages/pm-vcs/package.json +1 -1
  435. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  436. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  437. package/dist/cli-bundle/chunks/append-XUYF7NON.js +0 -11
  438. package/dist/cli-bundle/chunks/chunk-2XPDCXK5.js.map +0 -1
  439. package/dist/cli-bundle/chunks/chunk-3EZZTFL2.js.map +0 -7
  440. package/dist/cli-bundle/chunks/chunk-3KPNOZOH.js.map +0 -7
  441. package/dist/cli-bundle/chunks/chunk-46Z6FAVP.js.map +0 -1
  442. package/dist/cli-bundle/chunks/chunk-4M6RZJXF.js.map +0 -7
  443. package/dist/cli-bundle/chunks/chunk-6V4T4RD3.js.map +0 -1
  444. package/dist/cli-bundle/chunks/chunk-A3GAQLBH.js.map +0 -7
  445. package/dist/cli-bundle/chunks/chunk-A4FVWFZY.js.map +0 -7
  446. package/dist/cli-bundle/chunks/chunk-A5EQPNV7.js.map +0 -7
  447. package/dist/cli-bundle/chunks/chunk-AR24KW26.js.map +0 -7
  448. package/dist/cli-bundle/chunks/chunk-BBGR4FKQ.js.map +0 -1
  449. package/dist/cli-bundle/chunks/chunk-BDC4TW4B.js.map +0 -1
  450. package/dist/cli-bundle/chunks/chunk-BZKE2O5V.js.map +0 -1
  451. package/dist/cli-bundle/chunks/chunk-CZA2DXCV.js.map +0 -1
  452. package/dist/cli-bundle/chunks/chunk-D35WYXWC.js.map +0 -1
  453. package/dist/cli-bundle/chunks/chunk-DJAGYYCQ.js.map +0 -1
  454. package/dist/cli-bundle/chunks/chunk-EEECAV5M.js.map +0 -7
  455. package/dist/cli-bundle/chunks/chunk-H3YKUVDR.js.map +0 -1
  456. package/dist/cli-bundle/chunks/chunk-IDUTGRDM.js.map +0 -1
  457. package/dist/cli-bundle/chunks/chunk-IGBBTPM5.js.map +0 -1
  458. package/dist/cli-bundle/chunks/chunk-JBW2S2C6.js.map +0 -7
  459. package/dist/cli-bundle/chunks/chunk-JPWUZOMR.js.map +0 -1
  460. package/dist/cli-bundle/chunks/chunk-KAE727L2.js.map +0 -7
  461. package/dist/cli-bundle/chunks/chunk-MI3346YW.js.map +0 -1
  462. package/dist/cli-bundle/chunks/chunk-MQOSMBWV.js.map +0 -7
  463. package/dist/cli-bundle/chunks/chunk-MRXAHR4B.js.map +0 -1
  464. package/dist/cli-bundle/chunks/chunk-N2TEEOXJ.js.map +0 -7
  465. package/dist/cli-bundle/chunks/chunk-ODEIDKGW.js.map +0 -1
  466. package/dist/cli-bundle/chunks/chunk-P24ZU5QV.js.map +0 -7
  467. package/dist/cli-bundle/chunks/chunk-Q3K5XPAQ.js.map +0 -7
  468. package/dist/cli-bundle/chunks/chunk-QFG4MB7P.js.map +0 -1
  469. package/dist/cli-bundle/chunks/chunk-RLLOZAM2.js.map +0 -7
  470. package/dist/cli-bundle/chunks/chunk-RWAIRGBC.js.map +0 -7
  471. package/dist/cli-bundle/chunks/chunk-SBW7EQC4.js.map +0 -1
  472. package/dist/cli-bundle/chunks/chunk-SVAWG7EE.js.map +0 -1
  473. package/dist/cli-bundle/chunks/chunk-UE7LK3RE.js.map +0 -1
  474. package/dist/cli-bundle/chunks/chunk-VA3H7VVC.js.map +0 -1
  475. package/dist/cli-bundle/chunks/chunk-WCBB6VI3.js.map +0 -7
  476. package/dist/cli-bundle/chunks/chunk-Y2VSGFT4.js.map +0 -1
  477. package/dist/cli-bundle/chunks/chunk-YG56M3NE.js.map +0 -1
  478. package/dist/cli-bundle/chunks/chunk-ZF52NVRT.js.map +0 -7
  479. package/dist/cli-bundle/chunks/chunk-ZUCBPXNA.js.map +0 -7
  480. package/dist/cli-bundle/chunks/close-ZZCDDWJT.js +0 -12
  481. package/dist/cli-bundle/chunks/close-many-QCZHFCON.js +0 -23
  482. package/dist/cli-bundle/chunks/comments-FMQNYPSZ.js +0 -13
  483. package/dist/cli-bundle/chunks/copy-GI3RCVZP.js +0 -9
  484. package/dist/cli-bundle/chunks/create-LXMLYJNM.js +0 -29
  485. package/dist/cli-bundle/chunks/delete-5DFAXJNI.js +0 -10
  486. package/dist/cli-bundle/chunks/docs-KCWPLQOV.js +0 -14
  487. package/dist/cli-bundle/chunks/focus-3EJVFI3D.js +0 -10
  488. package/dist/cli-bundle/chunks/history-compact-JHYVDYLW.js +0 -16
  489. package/dist/cli-bundle/chunks/history-repair-REMI7DDI.js +0 -16
  490. package/dist/cli-bundle/chunks/learnings-O6V5WDCV.js +0 -13
  491. package/dist/cli-bundle/chunks/notes-ZSZREWZA.js +0 -13
  492. package/dist/cli-bundle/chunks/plan-EZW2YDDY.js +0 -26
  493. package/dist/cli-bundle/chunks/register-mutation-BLEWM5I6.js.map +0 -7
  494. package/dist/cli-bundle/chunks/register-mutation-OTYHR7J6.js.map +0 -1
  495. package/dist/cli-bundle/chunks/register-operations-AMCUFYEW.js.map +0 -1
  496. package/dist/cli-bundle/chunks/register-operations-MRLHOZYR.js.map +0 -7
  497. package/dist/cli-bundle/chunks/restore-A55MLFAI.js +0 -14
  498. package/dist/cli-bundle/chunks/update-5DTSCWVF.js +0 -23
  499. package/dist/cli-bundle/chunks/update-many-6T4ZLZS7.js +0 -34
  500. package/dist/cli-bundle/chunks/update-many-MYRK6VBJ.js +0 -38
  501. /package/dist/cli-bundle/chunks/{append-MBXHNWSX.js.map → append-E6V54WOQ.js.map} +0 -0
  502. /package/dist/cli-bundle/chunks/{append-XUYF7NON.js.map → append-NNJ3EFIT.js.map} +0 -0
  503. /package/dist/cli-bundle/chunks/{chunk-YGEA4CLH.js.map → chunk-3MCTMJXI.js.map} +0 -0
  504. /package/dist/cli-bundle/chunks/{chunk-N7FCFJ76.js.map → chunk-3P7UJQOX.js.map} +0 -0
  505. /package/dist/cli-bundle/chunks/{chunk-7B7IHMLH.js.map → chunk-3VY6MIEO.js.map} +0 -0
  506. /package/dist/cli-bundle/chunks/{chunk-5S6IZXK7.js.map → chunk-4U4Z6AHI.js.map} +0 -0
  507. /package/dist/cli-bundle/chunks/{chunk-UOIFZ66L.js.map → chunk-4XGJLADW.js.map} +0 -0
  508. /package/dist/cli-bundle/chunks/{chunk-SUNZKVAH.js.map → chunk-5IZJWSDB.js.map} +0 -0
  509. /package/dist/cli-bundle/chunks/{chunk-QQ77W23U.js.map → chunk-5NTE36LD.js.map} +0 -0
  510. /package/dist/cli-bundle/chunks/{chunk-KGPLSHJD.js.map → chunk-6C2ZZX5Z.js.map} +0 -0
  511. /package/dist/cli-bundle/chunks/{chunk-Q5NHJ6RO.js.map → chunk-6JUTHVQS.js.map} +0 -0
  512. /package/dist/cli-bundle/chunks/{chunk-NTS2RKHN.js.map → chunk-6VIJ7UA5.js.map} +0 -0
  513. /package/dist/cli-bundle/chunks/{chunk-XVB6BATY.js.map → chunk-72LQ4TKV.js.map} +0 -0
  514. /package/dist/cli-bundle/chunks/{chunk-KZ5AC6B5.js.map → chunk-7WCE6Y64.js.map} +0 -0
  515. /package/dist/cli-bundle/chunks/{chunk-VQOG2ETB.js.map → chunk-AF2CCM5U.js.map} +0 -0
  516. /package/dist/cli-bundle/chunks/{chunk-EAV3P54W.js.map → chunk-DAQ45GCS.js.map} +0 -0
  517. /package/dist/cli-bundle/chunks/{chunk-RX53WHFI.js.map → chunk-EJDGV4GR.js.map} +0 -0
  518. /package/dist/cli-bundle/chunks/{chunk-IXG5CMBR.js.map → chunk-FDHPAVVB.js.map} +0 -0
  519. /package/dist/cli-bundle/chunks/{chunk-V4QHAMI5.js.map → chunk-GROYI4RB.js.map} +0 -0
  520. /package/dist/cli-bundle/chunks/{chunk-77XFQRTD.js.map → chunk-GSJSM5BJ.js.map} +0 -0
  521. /package/dist/cli-bundle/chunks/{chunk-QYGK2XQ3.js.map → chunk-GTLCVJOE.js.map} +0 -0
  522. /package/dist/cli-bundle/chunks/{chunk-VSQE43NO.js.map → chunk-GV2262OF.js.map} +0 -0
  523. /package/dist/cli-bundle/chunks/{chunk-STBCBDKF.js.map → chunk-HCEBZNC3.js.map} +0 -0
  524. /package/dist/cli-bundle/chunks/{chunk-U6RYD446.js.map → chunk-HRW7GF6T.js.map} +0 -0
  525. /package/dist/cli-bundle/chunks/{chunk-XDWXPG2E.js.map → chunk-IAQE32BI.js.map} +0 -0
  526. /package/dist/cli-bundle/chunks/{chunk-66SRNEBK.js.map → chunk-IJNK6WW2.js.map} +0 -0
  527. /package/dist/cli-bundle/chunks/{chunk-AGEBQRBG.js.map → chunk-JAPE62Y5.js.map} +0 -0
  528. /package/dist/cli-bundle/chunks/{chunk-UWAQI3B7.js.map → chunk-JGUKMMRS.js.map} +0 -0
  529. /package/dist/cli-bundle/chunks/{chunk-UU6EP25G.js.map → chunk-JH2ZSLO3.js.map} +0 -0
  530. /package/dist/cli-bundle/chunks/{chunk-GRDK25BN.js.map → chunk-JHJSFOAM.js.map} +0 -0
  531. /package/dist/cli-bundle/chunks/{chunk-FQO5THHM.js.map → chunk-JM6YAXTR.js.map} +0 -0
  532. /package/dist/cli-bundle/chunks/{chunk-E7KBMWEF.js.map → chunk-JSLT7WVE.js.map} +0 -0
  533. /package/dist/cli-bundle/chunks/{chunk-FIUTBFC6.js.map → chunk-K4CI6Y45.js.map} +0 -0
  534. /package/dist/cli-bundle/chunks/{chunk-IEMXESIS.js.map → chunk-KSPWRNVP.js.map} +0 -0
  535. /package/dist/cli-bundle/chunks/{chunk-BFJP4VYC.js.map → chunk-L7BH7IWU.js.map} +0 -0
  536. /package/dist/cli-bundle/chunks/{chunk-2UCG5H6B.js.map → chunk-LPEYZRUR.js.map} +0 -0
  537. /package/dist/cli-bundle/chunks/{chunk-IR3GOO6E.js.map → chunk-NHT3F4WZ.js.map} +0 -0
  538. /package/dist/cli-bundle/chunks/{chunk-6BNV3G6C.js.map → chunk-NLR32VFS.js.map} +0 -0
  539. /package/dist/cli-bundle/chunks/{chunk-EI3UIMZM.js.map → chunk-OWXOPDHD.js.map} +0 -0
  540. /package/dist/cli-bundle/chunks/{chunk-AQUNTB7G.js.map → chunk-PEQGTJ5Q.js.map} +0 -0
  541. /package/dist/cli-bundle/chunks/{chunk-T6MOTLOJ.js.map → chunk-QJKL5PHS.js.map} +0 -0
  542. /package/dist/cli-bundle/chunks/{chunk-XKVHL3MB.js.map → chunk-QWRVBJ4D.js.map} +0 -0
  543. /package/dist/cli-bundle/chunks/{chunk-VFA5EIEN.js.map → chunk-R7QV7ICM.js.map} +0 -0
  544. /package/dist/cli-bundle/chunks/{chunk-K2L6FZBX.js.map → chunk-RJO3YAFM.js.map} +0 -0
  545. /package/dist/cli-bundle/chunks/{chunk-SGJB6PXA.js.map → chunk-SF3DT5HJ.js.map} +0 -0
  546. /package/dist/cli-bundle/chunks/{chunk-UNNCT5QY.js.map → chunk-SZVB53Y3.js.map} +0 -0
  547. /package/dist/cli-bundle/chunks/{chunk-GFZB5CLP.js.map → chunk-T6PPNM7V.js.map} +0 -0
  548. /package/dist/cli-bundle/chunks/{chunk-W6IEJXNC.js.map → chunk-TVYYO5A7.js.map} +0 -0
  549. /package/dist/cli-bundle/chunks/{chunk-DOASIOQR.js.map → chunk-UQLXSG72.js.map} +0 -0
  550. /package/dist/cli-bundle/chunks/{chunk-7CHWLT2J.js.map → chunk-UVN66B3M.js.map} +0 -0
  551. /package/dist/cli-bundle/chunks/{chunk-Q6JPYR7I.js.map → chunk-UX6SSO2I.js.map} +0 -0
  552. /package/dist/cli-bundle/chunks/{chunk-OK7VSX3N.js.map → chunk-UZLJOEAC.js.map} +0 -0
  553. /package/dist/cli-bundle/chunks/{chunk-4PSJVGRE.js.map → chunk-VDO2JMD4.js.map} +0 -0
  554. /package/dist/cli-bundle/chunks/{chunk-IRJ6F23W.js.map → chunk-VQIHNHMJ.js.map} +0 -0
  555. /package/dist/cli-bundle/chunks/{chunk-LT5UWU7H.js.map → chunk-ZOJ3LR7O.js.map} +0 -0
  556. /package/dist/cli-bundle/chunks/{chunk-3HSRP6T2.js.map → chunk-ZOY5K4D3.js.map} +0 -0
  557. /package/dist/cli-bundle/chunks/{chunk-XXWDEQ6O.js.map → chunk-ZV2NTVMJ.js.map} +0 -0
  558. /package/dist/cli-bundle/chunks/{chunk-UW6HCMP2.js.map → chunk-ZYPFOO3L.js.map} +0 -0
  559. /package/dist/cli-bundle/chunks/{close-ZZCDDWJT.js.map → close-O5QVZ6ET.js.map} +0 -0
  560. /package/dist/cli-bundle/chunks/{close-7NWA3GLA.js.map → close-QEMOYZN3.js.map} +0 -0
  561. /package/dist/cli-bundle/chunks/{close-many-QCZHFCON.js.map → close-many-SDA426VT.js.map} +0 -0
  562. /package/dist/cli-bundle/chunks/{close-many-YALQ7AXS.js.map → close-many-UTZANOCQ.js.map} +0 -0
  563. /package/dist/cli-bundle/chunks/{comments-SQIQ5WYR.js.map → comments-LZN6FXXC.js.map} +0 -0
  564. /package/dist/cli-bundle/chunks/{comments-FMQNYPSZ.js.map → comments-VBQ345ND.js.map} +0 -0
  565. /package/dist/cli-bundle/chunks/{copy-YDAMENCP.js.map → copy-DKTSSCK7.js.map} +0 -0
  566. /package/dist/cli-bundle/chunks/{copy-GI3RCVZP.js.map → copy-M7DDI6LS.js.map} +0 -0
  567. /package/dist/cli-bundle/chunks/{create-JSL6CXU3.js.map → create-GG4RBCGC.js.map} +0 -0
  568. /package/dist/cli-bundle/chunks/{create-LXMLYJNM.js.map → create-JBC5KUW6.js.map} +0 -0
  569. /package/dist/cli-bundle/chunks/{delete-IGVOZEU2.js.map → delete-LCS3VPDH.js.map} +0 -0
  570. /package/dist/cli-bundle/chunks/{delete-5DFAXJNI.js.map → delete-MD7YXQLH.js.map} +0 -0
  571. /package/dist/cli-bundle/chunks/{deps-BQAXUQAK.js.map → deps-DELOO4TL.js.map} +0 -0
  572. /package/dist/cli-bundle/chunks/{deps-CBPPSS6J.js.map → deps-FI4O6NQS.js.map} +0 -0
  573. /package/dist/cli-bundle/chunks/{docs-KCWPLQOV.js.map → docs-2UYBP5D6.js.map} +0 -0
  574. /package/dist/cli-bundle/chunks/{docs-NS2AZWCN.js.map → docs-6Z2MP526.js.map} +0 -0
  575. /package/dist/cli-bundle/chunks/{files-XUUBQ76I.js.map → files-HEUGSJZL.js.map} +0 -0
  576. /package/dist/cli-bundle/chunks/{files-PVWEPT5J.js.map → files-HKEAN5MA.js.map} +0 -0
  577. /package/dist/cli-bundle/chunks/{focus-DHBHKK3E.js.map → focus-7SOUT5PZ.js.map} +0 -0
  578. /package/dist/cli-bundle/chunks/{focus-3EJVFI3D.js.map → focus-DRQ6FQH6.js.map} +0 -0
  579. /package/dist/cli-bundle/chunks/{history-compact-JHYVDYLW.js.map → history-compact-65YVN5DB.js.map} +0 -0
  580. /package/dist/cli-bundle/chunks/{history-compact-3TNPYVFG.js.map → history-compact-7NDVP3PT.js.map} +0 -0
  581. /package/dist/cli-bundle/chunks/{history-redact-KKFDICCF.js.map → history-redact-7YBL4XSG.js.map} +0 -0
  582. /package/dist/cli-bundle/chunks/{history-redact-ELRL73XN.js.map → history-redact-IZGNJBU4.js.map} +0 -0
  583. /package/dist/cli-bundle/chunks/{history-repair-J7WKZFAG.js.map → history-repair-7M4PYQUH.js.map} +0 -0
  584. /package/dist/cli-bundle/chunks/{history-repair-REMI7DDI.js.map → history-repair-GNGETJLI.js.map} +0 -0
  585. /package/dist/cli-bundle/chunks/{learnings-O6V5WDCV.js.map → learnings-3YXDRWFT.js.map} +0 -0
  586. /package/dist/cli-bundle/chunks/{learnings-X4D6JCCG.js.map → learnings-ALC6IMNL.js.map} +0 -0
  587. /package/dist/cli-bundle/chunks/{notes-ZSZREWZA.js.map → notes-7JMLQ447.js.map} +0 -0
  588. /package/dist/cli-bundle/chunks/{notes-UQC6VS6N.js.map → notes-JFCLTC5C.js.map} +0 -0
  589. /package/dist/cli-bundle/chunks/{plan-EZW2YDDY.js.map → plan-KOIPWVOZ.js.map} +0 -0
  590. /package/dist/cli-bundle/chunks/{plan-5GKRBJJO.js.map → plan-T3XB3WTK.js.map} +0 -0
  591. /package/dist/cli-bundle/chunks/{profile-5PQAPCLF.js.map → profile-OILJHKUW.js.map} +0 -0
  592. /package/dist/cli-bundle/chunks/{profile-CW4BD3FO.js.map → profile-RJXA7PGS.js.map} +0 -0
  593. /package/dist/cli-bundle/chunks/{restore-A55MLFAI.js.map → restore-L6IAGOD7.js.map} +0 -0
  594. /package/dist/cli-bundle/chunks/{restore-HEQAG6EK.js.map → restore-ZH65GZFB.js.map} +0 -0
  595. /package/dist/cli-bundle/chunks/{schema-Q5DAWJ2S.js.map → schema-4ERWM5QJ.js.map} +0 -0
  596. /package/dist/cli-bundle/chunks/{schema-MAXAIHEC.js.map → schema-55DL3Q52.js.map} +0 -0
  597. /package/dist/cli-bundle/chunks/{update-DWFXXJKP.js.map → update-FW6FKDOP.js.map} +0 -0
  598. /package/dist/cli-bundle/chunks/{update-5DTSCWVF.js.map → update-TJHSPRPT.js.map} +0 -0
  599. /package/dist/cli-bundle/chunks/{update-many-6T4ZLZS7.js.map → update-many-NNALYQCN.js.map} +0 -0
  600. /package/dist/cli-bundle/chunks/{update-many-MYRK6VBJ.js.map → update-many-PWXX5WHO.js.map} +0 -0
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["types.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module types\n *\n * Defines the shared project-management data model used by CLI, SDK, MCP, and packages.\n */\n/** Supported values accepted by the builtin item type contract. */\nexport const BUILTIN_ITEM_TYPE_VALUES = [\n \"Epic\",\n \"Feature\",\n \"Task\",\n \"Chore\",\n \"Issue\",\n \"Decision\",\n \"Event\",\n \"Reminder\",\n \"Milestone\",\n \"Meeting\",\n \"Plan\",\n] as const;\n/** Supported values accepted by the item type contract. */\nexport const ITEM_TYPE_VALUES = BUILTIN_ITEM_TYPE_VALUES;\n/** Restricts builtin item type values accepted by command, SDK, and storage contracts. */\nexport type BuiltinItemType = (typeof BUILTIN_ITEM_TYPE_VALUES)[number];\n/** Restricts item type values accepted by command, SDK, and storage contracts. */\nexport type ItemType = string;\n\n/** Supported values accepted by the status contract. */\nexport const STATUS_VALUES = [\n \"draft\",\n \"open\",\n \"in_progress\",\n \"blocked\",\n \"closed\",\n \"canceled\",\n] as const;\n/** Restricts item status values accepted by command, SDK, and storage contracts. */\nexport type ItemStatus = string;\n\n/** Supported values accepted by the runtime status role contract. */\nexport const RUNTIME_STATUS_ROLE_VALUES = [\n \"draft\",\n \"active\",\n \"blocked\",\n \"terminal\",\n \"terminal_done\",\n \"terminal_canceled\",\n \"default_open\",\n \"default_close\",\n \"default_cancel\",\n] as const;\n/** Restricts runtime status role values accepted by command, SDK, and storage contracts. */\nexport type RuntimeStatusRole = (typeof RUNTIME_STATUS_ROLE_VALUES)[number];\n\n/** Supported values accepted by the runtime field type contract. */\nexport const RUNTIME_FIELD_TYPE_VALUES = [\n \"string\",\n \"number\",\n \"boolean\",\n \"string_array\",\n] as const;\n/** Restricts runtime field type values accepted by command, SDK, and storage contracts. */\nexport type RuntimeFieldType = (typeof RUNTIME_FIELD_TYPE_VALUES)[number];\n\n/** Supported values accepted by the runtime field command contract. */\nexport const RUNTIME_FIELD_COMMAND_VALUES = [\n \"create\",\n \"update\",\n \"update_many\",\n \"list\",\n \"search\",\n \"calendar\",\n \"context\",\n] as const;\n/** Restricts runtime field command values accepted by command, SDK, and storage contracts. */\nexport type RuntimeFieldCommand = (typeof RUNTIME_FIELD_COMMAND_VALUES)[number];\n\n/** Supported values accepted by the runtime unknown field policy contract. */\nexport const RUNTIME_UNKNOWN_FIELD_POLICY_VALUES = [\n \"allow\",\n \"warn\",\n \"reject\",\n] as const;\n/** Restricts runtime unknown field policy values accepted by command, SDK, and storage contracts. */\nexport type RuntimeUnknownFieldPolicy =\n (typeof RUNTIME_UNKNOWN_FIELD_POLICY_VALUES)[number];\n\n/** Supported values accepted by the dependency kind contract. */\nexport const DEPENDENCY_KIND_VALUES = [\n \"blocks\",\n \"parent\",\n \"child\",\n \"parent_child\",\n \"child_of\",\n \"related\",\n \"related_to\",\n \"discovered_from\",\n \"blocked_by\",\n \"incident_from\",\n \"epic\",\n \"supersedes\",\n \"task\",\n] as const;\n/** Restricts dependency kind values accepted by command, SDK, and storage contracts. */\nexport type DependencyKind = (typeof DEPENDENCY_KIND_VALUES)[number];\n\n/** Supported values accepted by the scope contract. */\nexport const SCOPE_VALUES = [\"project\", \"global\"] as const;\n/** Restricts link scope values accepted by command, SDK, and storage contracts. */\nexport type LinkScope = (typeof SCOPE_VALUES)[number];\n\n/** Supported values accepted by the risk contract. */\nexport const RISK_VALUES = [\"low\", \"medium\", \"high\", \"critical\"] as const;\n/** Restricts risk level values accepted by command, SDK, and storage contracts. */\nexport type RiskLevel = (typeof RISK_VALUES)[number];\n\n/** Supported values accepted by the issue severity contract. */\nexport const ISSUE_SEVERITY_VALUES = [\n \"low\",\n \"medium\",\n \"high\",\n \"critical\",\n] as const;\n/** Restricts issue severity values accepted by command, SDK, and storage contracts. */\nexport type IssueSeverity = (typeof ISSUE_SEVERITY_VALUES)[number];\n\n/** Supported values accepted by the confidence text contract. */\nexport const CONFIDENCE_TEXT_VALUES = [\"low\", \"medium\", \"high\"] as const;\n/** Restricts confidence text level values accepted by command, SDK, and storage contracts. */\nexport type ConfidenceTextLevel = (typeof CONFIDENCE_TEXT_VALUES)[number];\n/** Restricts confidence value values accepted by command, SDK, and storage contracts. */\nexport type ConfidenceValue = number | ConfidenceTextLevel;\n\n/** Supported values accepted by the item format contract. */\nexport const ITEM_FORMAT_VALUES = [\"toon\", \"json_markdown\"] as const;\n/** Restricts item format values accepted by command, SDK, and storage contracts. */\nexport type ItemFormat = (typeof ITEM_FORMAT_VALUES)[number];\n\n/** Supported values accepted by the sprint release format policy contract. */\nexport const SPRINT_RELEASE_FORMAT_POLICY_VALUES = [\n \"warn\",\n \"strict_error\",\n] as const;\n/** Restricts sprint release format policy values accepted by command, SDK, and storage contracts. */\nexport type SprintReleaseFormatPolicy =\n (typeof SPRINT_RELEASE_FORMAT_POLICY_VALUES)[number];\n/** Supported values accepted by the parent reference policy contract. */\nexport const PARENT_REFERENCE_POLICY_VALUES = [\"warn\", \"strict_error\"] as const;\n/** Restricts parent reference policy values accepted by command, SDK, and storage contracts. */\nexport type ParentReferencePolicy =\n (typeof PARENT_REFERENCE_POLICY_VALUES)[number];\n/** Supported values accepted by the validate metadata profile contract. */\nexport const VALIDATE_METADATA_PROFILE_VALUES = [\n \"core\",\n \"strict\",\n \"custom\",\n] as const;\n/** Restricts validate metadata profile values accepted by command, SDK, and storage contracts. */\nexport type ValidateMetadataProfile =\n (typeof VALIDATE_METADATA_PROFILE_VALUES)[number];\n/** Supported values accepted by the governance preset contract. */\nexport const GOVERNANCE_PRESET_VALUES = [\n \"minimal\",\n \"default\",\n \"strict\",\n \"custom\",\n] as const;\n/** Restricts governance preset values accepted by command, SDK, and storage contracts. */\nexport type GovernancePreset = (typeof GOVERNANCE_PRESET_VALUES)[number];\n/** Supported values accepted by the governance ownership enforcement contract. */\nexport const GOVERNANCE_OWNERSHIP_ENFORCEMENT_VALUES = [\n \"none\",\n \"warn\",\n \"strict\",\n] as const;\n/** Restricts governance ownership enforcement values accepted by command, SDK, and storage contracts. */\nexport type GovernanceOwnershipEnforcement =\n (typeof GOVERNANCE_OWNERSHIP_ENFORCEMENT_VALUES)[number];\n/** Supported values accepted by the governance create mode default contract. */\nexport const GOVERNANCE_CREATE_MODE_DEFAULT_VALUES = [\n \"progressive\",\n \"strict\",\n] as const;\n/** Restricts governance create mode default values accepted by command, SDK, and storage contracts. */\nexport type GovernanceCreateModeDefault =\n (typeof GOVERNANCE_CREATE_MODE_DEFAULT_VALUES)[number];\n/** Supported values accepted by the governance close validation default contract. */\nexport const GOVERNANCE_CLOSE_VALIDATION_DEFAULT_VALUES = [\n \"off\",\n \"warn\",\n \"strict\",\n] as const;\n/** Restricts governance close validation default values accepted by command, SDK, and storage contracts. */\nexport type GovernanceCloseValidationDefault =\n (typeof GOVERNANCE_CLOSE_VALIDATION_DEFAULT_VALUES)[number];\n/** Supported values accepted by the governance workflow enforcement contract. */\nexport const GOVERNANCE_WORKFLOW_ENFORCEMENT_VALUES = [\n \"off\",\n \"warn\",\n \"strict\",\n] as const;\n/** Restricts governance workflow enforcement values accepted by command, SDK, and storage contracts. */\nexport type GovernanceWorkflowEnforcement =\n (typeof GOVERNANCE_WORKFLOW_ENFORCEMENT_VALUES)[number];\n/** Supported values accepted by the validate metadata required field contract. */\nexport const VALIDATE_METADATA_REQUIRED_FIELD_VALUES = [\n \"author\",\n \"acceptance_criteria\",\n \"estimated_minutes\",\n \"close_reason\",\n \"reviewer\",\n \"risk\",\n \"confidence\",\n \"sprint\",\n \"release\",\n] as const;\n/** Restricts validate metadata required field values accepted by command, SDK, and storage contracts. */\nexport type ValidateMetadataRequiredField =\n (typeof VALIDATE_METADATA_REQUIRED_FIELD_VALUES)[number];\n\n/** Supported values accepted by the recurrence frequency contract. */\nexport const RECURRENCE_FREQUENCY_VALUES = [\n \"daily\",\n \"weekly\",\n \"monthly\",\n \"yearly\",\n] as const;\n/** Restricts recurrence frequency values accepted by command, SDK, and storage contracts. */\nexport type RecurrenceFrequency = (typeof RECURRENCE_FREQUENCY_VALUES)[number];\n\n/** Supported values accepted by the recurrence weekday contract. */\nexport const RECURRENCE_WEEKDAY_VALUES = [\n \"mon\",\n \"tue\",\n \"wed\",\n \"thu\",\n \"fri\",\n \"sat\",\n \"sun\",\n] as const;\n/** Restricts recurrence weekday values accepted by command, SDK, and storage contracts. */\nexport type RecurrenceWeekday = (typeof RECURRENCE_WEEKDAY_VALUES)[number];\n\n/** Canonical week-order index for a recurrence weekday (mon=0 .. sun=6). Shared by item serialization, create/update parsing, and calendar expansion so weekday ordering cannot drift between those modules. */\nexport function weekdayOrderIndex(value: RecurrenceWeekday): number {\n return RECURRENCE_WEEKDAY_VALUES.indexOf(value);\n}\n\n/** Documents the dependency payload exchanged by command, SDK, and package integrations. */\nexport interface Dependency {\n /** Stable identifier used to reference this record across commands and storage. */\n id: string;\n /** Value that configures or reports kind for this contract. */\n kind: DependencyKind;\n /** ISO 8601 timestamp recording when created occurred. */\n created_at: string;\n /** Value that configures or reports author for this contract. */\n author?: string;\n /** Value that configures or reports source kind for this contract. */\n source_kind?: string;\n}\n\n/** Documents the comment payload exchanged by command, SDK, and package integrations. */\nexport interface Comment {\n /** ISO 8601 timestamp recording when created occurred. */\n created_at: string;\n /** Value that configures or reports author for this contract. */\n author: string;\n /** Value that configures or reports text for this contract. */\n text: string;\n}\n\n/** Documents the log note payload exchanged by command, SDK, and package integrations. */\nexport interface LogNote {\n /** ISO 8601 timestamp recording when created occurred. */\n created_at: string;\n /** Value that configures or reports author for this contract. */\n author: string;\n /** Value that configures or reports text for this contract. */\n text: string;\n}\n\n/** Documents the linked file payload exchanged by command, SDK, and package integrations. */\nexport interface LinkedFile {\n /** Filesystem path used for path resolution. */\n path: string;\n /** Value that configures or reports scope for this contract. */\n scope: LinkScope;\n /** Value that configures or reports note for this contract. */\n note?: string;\n}\n\n/** Documents the linked test payload exchanged by command, SDK, and package integrations. */\nexport interface LinkedTest {\n /** Value that configures or reports command for this contract. */\n command?: string;\n /** Filesystem path used for path resolution. */\n path?: string;\n /** Value that configures or reports scope for this contract. */\n scope: LinkScope;\n /** Value that configures or reports timeout seconds for this contract. */\n timeout_seconds?: number;\n /** Strategy used to control pm context behavior. */\n pm_context_mode?: \"schema\" | \"tracker\" | \"auto\";\n /** Value that configures or reports env set for this contract. */\n env_set?: Record<string, string>;\n /** Value that configures or reports env clear for this contract. */\n env_clear?: string[];\n /** Value that configures or reports shared host safe for this contract. */\n shared_host_safe?: boolean;\n /** Value that configures or reports assert stdout contains for this contract. */\n assert_stdout_contains?: string[];\n /** Value that configures or reports assert stdout regex for this contract. */\n assert_stdout_regex?: string[];\n /** Value that configures or reports assert stderr contains for this contract. */\n assert_stderr_contains?: string[];\n /** Value that configures or reports assert stderr regex for this contract. */\n assert_stderr_regex?: string[];\n /** Value that configures or reports assert stdout min lines for this contract. */\n assert_stdout_min_lines?: number;\n /** Value that configures or reports assert json field equals for this contract. */\n assert_json_field_equals?: Record<string, string>;\n /** Value that configures or reports assert json field gte for this contract. */\n assert_json_field_gte?: Record<string, number>;\n /** Value that configures or reports note for this contract. */\n note?: string;\n}\n\n/** Documents the linked doc payload exchanged by command, SDK, and package integrations. */\nexport interface LinkedDoc {\n /** Filesystem path used for path resolution. */\n path: string;\n /** Value that configures or reports scope for this contract. */\n scope: LinkScope;\n /** Value that configures or reports note for this contract. */\n note?: string;\n}\n\n/** Documents the reminder payload exchanged by command, SDK, and package integrations. */\nexport interface Reminder {\n /** Value that configures or reports at for this contract. */\n at: string;\n /** Value that configures or reports text for this contract. */\n text: string;\n}\n\n/** Documents the recurrence rule payload exchanged by command, SDK, and package integrations. */\nexport interface RecurrenceRule {\n /** Value that configures or reports freq for this contract. */\n freq: RecurrenceFrequency;\n /** Value that configures or reports interval for this contract. */\n interval?: number;\n /** Value that configures or reports count for this contract. */\n count?: number;\n /** Value that configures or reports until for this contract. */\n until?: string;\n /** Value that configures or reports by weekday for this contract. */\n by_weekday?: RecurrenceWeekday[];\n /** Value that configures or reports by month day for this contract. */\n by_month_day?: number[];\n /** Value that configures or reports exdates for this contract. */\n exdates?: string[];\n}\n\n/** Documents the calendar event payload exchanged by command, SDK, and package integrations. */\nexport interface CalendarEvent {\n /** ISO 8601 timestamp recording when start occurred. */\n start_at: string;\n /** ISO 8601 timestamp recording when end occurred. */\n end_at?: string;\n /** Value that configures or reports title for this contract. */\n title?: string;\n /** Value that configures or reports description for this contract. */\n description?: string;\n /** Value that configures or reports location for this contract. */\n location?: string;\n /** Value that configures or reports all day for this contract. */\n all_day?: boolean;\n /** Value that configures or reports timezone for this contract. */\n timezone?: string;\n /** Value that configures or reports recurrence for this contract. */\n recurrence?: RecurrenceRule;\n}\n\n/** Supported values accepted by the plan mode contract. */\nexport const PLAN_MODE_VALUES = [\n \"draft\",\n \"research\",\n \"review\",\n \"approved\",\n \"executing\",\n \"paused\",\n \"completed\",\n \"superseded\",\n] as const;\n/** Restricts plan mode values accepted by command, SDK, and storage contracts. */\nexport type PlanMode = (typeof PLAN_MODE_VALUES)[number];\n\n/** Supported values accepted by the plan step status contract. */\nexport const PLAN_STEP_STATUS_VALUES = [\n \"pending\",\n \"in_progress\",\n \"completed\",\n \"blocked\",\n \"skipped\",\n \"superseded\",\n] as const;\n/** Restricts plan step status values accepted by command, SDK, and storage contracts. */\nexport type PlanStepStatus = (typeof PLAN_STEP_STATUS_VALUES)[number];\n\n/** Supported values accepted by the plan harness contract. */\nexport const PLAN_HARNESS_VALUES = [\n \"codex\",\n \"claude-code\",\n \"cursor\",\n \"generic\",\n] as const;\n/** Restricts plan harness values accepted by command, SDK, and storage contracts. */\nexport type PlanHarness = (typeof PLAN_HARNESS_VALUES)[number];\n\n/** Supported values accepted by the plan step link kind contract. */\nexport const PLAN_STEP_LINK_KIND_VALUES = [\n \"related\",\n \"blocks\",\n \"blocked_by\",\n \"depends_on\",\n \"discovered_from\",\n \"implements\",\n \"verifies\",\n \"supersedes\",\n] as const;\n/** Restricts plan step link kind values accepted by command, SDK, and storage contracts. */\nexport type PlanStepLinkKind = (typeof PLAN_STEP_LINK_KIND_VALUES)[number];\n\n/** Documents the plan step link payload exchanged by command, SDK, and package integrations. */\nexport interface PlanStepLink {\n /** Stable identifier used to reference this record across commands and storage. */\n id: string;\n /** Value that configures or reports kind for this contract. */\n kind: PlanStepLinkKind;\n /** Value that configures or reports note for this contract. */\n note?: string;\n /** Value that configures or reports required before step for this contract. */\n required_before_step?: boolean;\n}\n\n/** Documents the plan step file payload exchanged by command, SDK, and package integrations. */\nexport interface PlanStepFile {\n /** Filesystem path used for path resolution. */\n path: string;\n /** Value that configures or reports scope for this contract. */\n scope?: LinkScope;\n /** Value that configures or reports note for this contract. */\n note?: string;\n}\n\n/** Documents the plan step test payload exchanged by command, SDK, and package integrations. */\nexport interface PlanStepTest {\n /** Value that configures or reports command for this contract. */\n command?: string;\n /** Filesystem path used for path resolution. */\n path?: string;\n /** Value that configures or reports note for this contract. */\n note?: string;\n}\n\n/** Documents the plan step doc payload exchanged by command, SDK, and package integrations. */\nexport interface PlanStepDoc {\n /** Filesystem path used for path resolution. */\n path: string;\n /** Value that configures or reports scope for this contract. */\n scope?: LinkScope;\n /** Value that configures or reports note for this contract. */\n note?: string;\n}\n\n/** Documents the plan step payload exchanged by command, SDK, and package integrations. */\nexport interface PlanStep {\n /** Stable identifier used to reference this record across commands and storage. */\n id: string;\n /** Value that configures or reports order for this contract. */\n order: number;\n /** Value that configures or reports title for this contract. */\n title: string;\n /** Value that configures or reports body for this contract. */\n body?: string;\n /** Lifecycle state reported for status. */\n status: PlanStepStatus;\n /** Value that configures or reports owner for this contract. */\n owner?: string;\n /** Value that configures or reports evidence for this contract. */\n evidence?: string;\n /** Value that configures or reports blocked reason for this contract. */\n blocked_reason?: string;\n /** Value that configures or reports superseded by for this contract. */\n superseded_by?: string;\n /** Value that configures or reports linked items for this contract. */\n linked_items?: PlanStepLink[];\n /** Value that configures or reports files for this contract. */\n files?: PlanStepFile[];\n /** Value that configures or reports tests for this contract. */\n tests?: PlanStepTest[];\n /** Value that configures or reports docs for this contract. */\n docs?: PlanStepDoc[];\n /** ISO 8601 timestamp recording when created occurred. */\n created_at: string;\n /** ISO 8601 timestamp recording when updated occurred. */\n updated_at: string;\n /** ISO 8601 timestamp recording when completed occurred. */\n completed_at?: string;\n}\n\n/** Documents the plan decision payload exchanged by command, SDK, and package integrations. */\nexport interface PlanDecision {\n /** Value that configures or reports ts for this contract. */\n ts: string;\n /** Value that configures or reports author for this contract. */\n author: string;\n /** Value that configures or reports decision for this contract. */\n decision: string;\n /** Value that configures or reports rationale for this contract. */\n rationale?: string;\n /** Value that configures or reports evidence for this contract. */\n evidence?: string;\n /** Value that configures or reports step id for this contract. */\n step_id?: string;\n}\n\n/** Documents the plan discovery payload exchanged by command, SDK, and package integrations. */\nexport interface PlanDiscovery {\n /** Value that configures or reports ts for this contract. */\n ts: string;\n /** Value that configures or reports author for this contract. */\n author: string;\n /** Value that configures or reports text for this contract. */\n text: string;\n /** Value that configures or reports step id for this contract. */\n step_id?: string;\n}\n\n/** Documents the plan validation check payload exchanged by command, SDK, and package integrations. */\nexport interface PlanValidationCheck {\n /** Value that configures or reports text for this contract. */\n text: string;\n /** Value that configures or reports command for this contract. */\n command?: string;\n /** Value that configures or reports expected for this contract. */\n expected?: string;\n}\n\n/** Documents the item type option definition payload exchanged by command, SDK, and package integrations. */\nexport interface ItemTypeOptionDefinition {\n /** Value that configures or reports key for this contract. */\n key: string;\n /** Value that configures or reports values for this contract. */\n values: string[];\n /** Value that configures or reports required for this contract. */\n required?: boolean;\n /** Value that configures or reports aliases for this contract. */\n aliases?: string[];\n /** Value that configures or reports description for this contract. */\n description?: string;\n}\n\n/** Documents the item type command option policy payload exchanged by command, SDK, and package integrations. */\nexport interface ItemTypeCommandOptionPolicy {\n /** Value that configures or reports command for this contract. */\n command: \"create\" | \"update\";\n /** Value that configures or reports option for this contract. */\n option: string;\n /** Value that configures or reports required for this contract. */\n required?: boolean;\n /** Value that configures or reports visible for this contract. */\n visible?: boolean;\n /** Whether enabled applies to this operation. */\n enabled?: boolean;\n}\n\n/** Documents the item type definition payload exchanged by command, SDK, and package integrations. */\nexport interface ItemTypeDefinition {\n /** Value that configures or reports name for this contract. */\n name: string;\n /** Value that configures or reports description for this contract. */\n description?: string;\n /** Status assigned to newly created items of this type when `--status` is not provided. Falls back to the workflow's open status when unset or invalid. */\n default_status?: string;\n /** Value that configures or reports folder for this contract. */\n folder?: string;\n /** Value that configures or reports aliases for this contract. */\n aliases?: string[];\n /** Value that configures or reports required create fields for this contract. */\n required_create_fields?: string[];\n /** Value that configures or reports required create repeatables for this contract. */\n required_create_repeatables?: string[];\n /** Value that configures or reports options for this contract. */\n options?: ItemTypeOptionDefinition[];\n /** Value that configures or reports command option policies for this contract. */\n command_option_policies?: ItemTypeCommandOptionPolicy[];\n}\n\n/** Documents the runtime status definition payload exchanged by command, SDK, and package integrations. */\nexport interface RuntimeStatusDefinition {\n /** Stable identifier used to reference this record across commands and storage. */\n id: string;\n /** Value that configures or reports aliases for this contract. */\n aliases?: string[];\n /** Value that configures or reports roles for this contract. */\n roles?: RuntimeStatusRole[];\n /** Value that configures or reports description for this contract. */\n description?: string;\n /** Value that configures or reports order for this contract. */\n order?: number;\n}\n\n/** Documents the runtime field definition payload exchanged by command, SDK, and package integrations. */\nexport interface RuntimeFieldDefinition {\n /** Value that configures or reports key for this contract. */\n key: string;\n /** Value that configures or reports metadata key for this contract. */\n metadata_key?: string;\n /**\n * @deprecated Use metadata_key.\n */\n front_matter_key?: string;\n /** Value that configures or reports cli flag for this contract. */\n cli_flag?: string;\n /** Value that configures or reports cli aliases for this contract. */\n cli_aliases?: string[];\n /** Value that configures or reports description for this contract. */\n description?: string;\n /** Schema type that determines the shape and validation rules for this value. */\n type?: RuntimeFieldType;\n /** Value that configures or reports commands for this contract. */\n commands?: RuntimeFieldCommand[];\n /** Value that configures or reports repeatable for this contract. */\n repeatable?: boolean;\n /** Value that configures or reports required for this contract. */\n required?: boolean;\n /** Value that configures or reports required on create for this contract. */\n required_on_create?: boolean;\n /** Value that configures or reports required types for this contract. */\n required_types?: string[];\n /** Value that configures or reports allow unset for this contract. */\n allow_unset?: boolean;\n}\n\n/** Documents the runtime workflow definition payload exchanged by command, SDK, and package integrations. */\nexport interface RuntimeWorkflowDefinition {\n /** Lifecycle state reported for draftthe record. */\n draft_status?: string;\n /** Lifecycle state reported for openthe record. */\n open_status?: string;\n /** Lifecycle state reported for in progressthe record. */\n in_progress_status?: string;\n /** Lifecycle state reported for blockedthe record. */\n blocked_status?: string;\n /** Lifecycle state reported for closethe record. */\n close_status?: string;\n /** Lifecycle state reported for canceledthe record. */\n canceled_status?: string;\n}\n\n/** Documents the runtime schema file config payload exchanged by command, SDK, and package integrations. */\nexport interface RuntimeSchemaFileConfig {\n /** Value that configures or reports types for this contract. */\n types?: string;\n /** Value that configures or reports statuses for this contract. */\n statuses?: string;\n /** Value that configures or reports fields for this contract. */\n fields?: string;\n /** Value that configures or reports workflows for this contract. */\n workflows?: string;\n}\n\n/** Per-type allowed-transition rule. A type with no matching entry is unrestricted; a type with an entry allows only the listed [from, to] status pairs (status tokens are resolved case-insensitively through the status registry alias map; a same-status no-op is always allowed). */\nexport interface TypeWorkflowDefinition {\n /** Schema type that determines the shape and validation rules for this value. */\n type: string;\n /** Value that configures or reports allowed transitions for this contract. */\n allowed_transitions: [string, string][];\n}\n\n/** Documents the runtime schema settings payload exchanged by command, SDK, and package integrations. */\nexport interface RuntimeSchemaSettings {\n /** Value that configures or reports version for this contract. */\n version: number;\n /** Value that configures or reports files for this contract. */\n files: RuntimeSchemaFileConfig;\n /** Value that configures or reports statuses for this contract. */\n statuses: RuntimeStatusDefinition[];\n /** Value that configures or reports fields for this contract. */\n fields: RuntimeFieldDefinition[];\n /** Value that configures or reports workflow for this contract. */\n workflow: RuntimeWorkflowDefinition;\n /** Value that configures or reports type workflows for this contract. */\n type_workflows?: TypeWorkflowDefinition[];\n /** Value that configures or reports unknown field policy for this contract. */\n unknown_field_policy: RuntimeUnknownFieldPolicy;\n}\n\n/** Documents the item test run summary payload exchanged by command, SDK, and package integrations. */\nexport interface ItemTestRunSummary {\n /** Executes the id operation through the package runtime. */\n run_id: string;\n /** Value that configures or reports kind for this contract. */\n kind: \"test\" | \"test-all\";\n /** Lifecycle state reported for status. */\n status: \"passed\" | \"failed\" | \"stopped\" | \"canceled\";\n /** ISO 8601 timestamp recording when started occurred. */\n started_at: string;\n /** ISO 8601 timestamp recording when finished occurred. */\n finished_at: string;\n /** ISO 8601 timestamp recording when recorded occurred. */\n recorded_at: string;\n /** Value that configures or reports attempt for this contract. */\n attempt?: number;\n /** Value that configures or reports resumed from for this contract. */\n resumed_from?: string;\n /** Value that configures or reports passed for this contract. */\n passed: number;\n /** Value that configures or reports failed for this contract. */\n failed: number;\n /** Value that configures or reports skipped for this contract. */\n skipped: number;\n /** Value that configures or reports items for this contract. */\n items?: number;\n /** Value that configures or reports linked tests for this contract. */\n linked_tests?: number;\n /** Value that configures or reports fail on skipped triggered for this contract. */\n fail_on_skipped_triggered?: boolean;\n}\n\n/** Documents the item metadata payload exchanged by command, SDK, and package integrations. */\nexport interface ItemMetadata {\n /** Stable identifier used to reference this record across commands and storage. */\n id: string;\n /** Value that configures or reports title for this contract. */\n title: string;\n /** Value that configures or reports description for this contract. */\n description: string;\n /** Schema type that determines the shape and validation rules for this value. */\n type: ItemType;\n /** On-disk item-metadata format version. Absent means the implicit baseline (version 1) and is never serialized; populated only once an item advances past the baseline via a future storage migration. See core/item/item-format-version. */\n pm_format_version?: number;\n /** Schema type that determines the shape and validation rules for this value. */\n source_type?: string;\n /** Inputs that customize the type operation. */\n type_options?: Record<string, string>;\n /** Lifecycle state reported for status. */\n status: ItemStatus;\n /** Value that configures or reports priority for this contract. */\n priority: 0 | 1 | 2 | 3 | 4;\n /** Value that configures or reports tags for this contract. */\n tags: string[];\n /** ISO 8601 timestamp recording when created occurred. */\n created_at: string;\n /** ISO 8601 timestamp recording when updated occurred. */\n updated_at: string;\n /** Value that configures or reports deadline for this contract. */\n deadline?: string;\n /** Value that configures or reports reminders for this contract. */\n reminders?: Reminder[];\n /** Value that configures or reports events for this contract. */\n events?: CalendarEvent[];\n /** ISO 8601 timestamp recording when closed occurred. */\n closed_at?: string;\n /** Value that configures or reports assignee for this contract. */\n assignee?: string;\n /** Value that configures or reports source owner for this contract. */\n source_owner?: string;\n /** Value that configures or reports author for this contract. */\n author?: string;\n /** Value that configures or reports estimated minutes for this contract. */\n estimated_minutes?: number;\n /** Value that configures or reports acceptance criteria for this contract. */\n acceptance_criteria?: string;\n /** Value that configures or reports design for this contract. */\n design?: string;\n /** Value that configures or reports external ref for this contract. */\n external_ref?: string;\n /** Value that configures or reports definition of ready for this contract. */\n definition_of_ready?: string;\n /** Value that configures or reports order for this contract. */\n order?: number;\n /** Value that configures or reports goal for this contract. */\n goal?: string;\n /** Value that configures or reports objective for this contract. */\n objective?: string;\n /** Value that configures or reports value for this contract. */\n value?: string;\n /** Value that configures or reports impact for this contract. */\n impact?: string;\n /** Value that configures or reports outcome for this contract. */\n outcome?: string;\n /** Value that configures or reports why now for this contract. */\n why_now?: string;\n /** Value that configures or reports parent for this contract. */\n parent?: string;\n /** Value that configures or reports reviewer for this contract. */\n reviewer?: string;\n /** Value that configures or reports risk for this contract. */\n risk?: RiskLevel;\n /** Value that configures or reports confidence for this contract. */\n confidence?: ConfidenceValue;\n /** Value that configures or reports sprint for this contract. */\n sprint?: string;\n /** Value that configures or reports release for this contract. */\n release?: string;\n /** Value that configures or reports blocked by for this contract. */\n blocked_by?: string;\n /** Value that configures or reports blocked reason for this contract. */\n blocked_reason?: string;\n /** Value that configures or reports unblock note for this contract. */\n unblock_note?: string;\n /** Value that configures or reports reporter for this contract. */\n reporter?: string;\n /** Value that configures or reports severity for this contract. */\n severity?: IssueSeverity;\n /** Value that configures or reports environment for this contract. */\n environment?: string;\n /** Value that configures or reports repro steps for this contract. */\n repro_steps?: string;\n /** Value that configures or reports resolution for this contract. */\n resolution?: string;\n /** Structured result returned by the expected operation. */\n expected_result?: string;\n /** Structured result returned by the actual operation. */\n actual_result?: string;\n /** Value that configures or reports affected version for this contract. */\n affected_version?: string;\n /** Value that configures or reports fixed version for this contract. */\n fixed_version?: string;\n /** Value that configures or reports component for this contract. */\n component?: string;\n /** Value that configures or reports regression for this contract. */\n regression?: boolean;\n /** Value that configures or reports customer impact for this contract. */\n customer_impact?: string;\n /** Value that configures or reports dependencies for this contract. */\n dependencies?: Dependency[];\n /** Value that configures or reports comments for this contract. */\n comments?: Comment[];\n /** Value that configures or reports notes for this contract. */\n notes?: LogNote[];\n /** Value that configures or reports learnings for this contract. */\n learnings?: LogNote[];\n /** Value that configures or reports files for this contract. */\n files?: LinkedFile[];\n /** Value that configures or reports tests for this contract. */\n tests?: LinkedTest[];\n /** Value that configures or reports test runs for this contract. */\n test_runs?: ItemTestRunSummary[];\n /** Value that configures or reports docs for this contract. */\n docs?: LinkedDoc[];\n /** Value that configures or reports close reason for this contract. */\n close_reason?: string;\n /** Value that configures or reports duplicate of for this contract. */\n duplicate_of?: string;\n /** Strategy used to control plan behavior. */\n plan_mode?: PlanMode;\n /** Value that configures or reports plan scope for this contract. */\n plan_scope?: string;\n /** Value that configures or reports plan harness for this contract. */\n plan_harness?: PlanHarness;\n /** Value that configures or reports plan steps for this contract. */\n plan_steps?: PlanStep[];\n /** Value that configures or reports plan decisions for this contract. */\n plan_decisions?: PlanDecision[];\n /** Value that configures or reports plan discoveries for this contract. */\n plan_discoveries?: PlanDiscovery[];\n /** Value that configures or reports plan validation for this contract. */\n plan_validation?: PlanValidationCheck[];\n /** Value that configures or reports plan resume context for this contract. */\n plan_resume_context?: string;\n [key: string]: unknown;\n}\n\n/** Documents the item document payload exchanged by command, SDK, and package integrations. */\nexport interface ItemDocument {\n /** Value that configures or reports metadata for this contract. */\n metadata: ItemMetadata;\n /** Value that configures or reports body for this contract. */\n body: string;\n}\n\n/** Documents the history patch op payload exchanged by command, SDK, and package integrations. */\nexport interface HistoryPatchOp {\n /** Value that configures or reports op for this contract. */\n op: \"add\" | \"remove\" | \"replace\" | \"move\" | \"copy\" | \"test\";\n /** Filesystem path used for path resolution. */\n path: string;\n /** Value that configures or reports from for this contract. */\n from?: string;\n /** Value that configures or reports value for this contract. */\n value?: unknown;\n}\n\n/** Documents the history entry payload exchanged by command, SDK, and package integrations. */\nexport interface HistoryEntry {\n /** Value that configures or reports ts for this contract. */\n ts: string;\n /** Value that configures or reports author for this contract. */\n author: string;\n /** Value that configures or reports op for this contract. */\n op: string;\n /** Value that configures or reports patch for this contract. */\n patch: HistoryPatchOp[];\n /** Value that configures or reports before hash for this contract. */\n before_hash: string;\n /** Value that configures or reports after hash for this contract. */\n after_hash: string;\n /** Human-readable explanation suitable for logs and agent-facing output. */\n message?: string;\n}\n\n/** Supported values accepted by the context depth contract. */\nexport const CONTEXT_DEPTH_VALUES = [\n \"brief\",\n \"standard\",\n \"deep\",\n \"full\",\n] as const;\n/** Restricts context depth values accepted by command, SDK, and storage contracts. */\nexport type ContextDepth = (typeof CONTEXT_DEPTH_VALUES)[number];\n\n/** Supported values accepted by the context section contract. */\nexport const CONTEXT_SECTION_VALUES = [\n \"hierarchy\",\n \"activity\",\n \"progress\",\n \"recently_created\",\n \"unparented\",\n \"blockers\",\n \"files\",\n \"workload\",\n \"staleness\",\n \"tests\",\n] as const;\n/** Restricts context section name values accepted by command, SDK, and storage contracts. */\nexport type ContextSectionName = (typeof CONTEXT_SECTION_VALUES)[number];\n\n/** Documents the context section settings payload exchanged by command, SDK, and package integrations. */\nexport interface ContextSectionSettings {\n /** Value that configures or reports hierarchy for this contract. */\n hierarchy: boolean;\n /** Value that configures or reports activity for this contract. */\n activity: boolean;\n /** Value that configures or reports progress for this contract. */\n progress: boolean;\n /** Value that configures or reports recently created for this contract. */\n recently_created: boolean;\n /** Value that configures or reports unparented for this contract. */\n unparented: boolean;\n /** Value that configures or reports blockers for this contract. */\n blockers: boolean;\n /** Value that configures or reports files for this contract. */\n files: boolean;\n /** Value that configures or reports workload for this contract. */\n workload: boolean;\n /** Value that configures or reports staleness for this contract. */\n staleness: boolean;\n /** Value that configures or reports tests for this contract. */\n tests: boolean;\n}\n\n/** Documents the context settings payload exchanged by command, SDK, and package integrations. */\nexport interface ContextSettings {\n /** Fallback depth used when callers do not provide an override. */\n default_depth: ContextDepth;\n /** Value that configures or reports activity limit for this contract. */\n activity_limit: number;\n /** Value that configures or reports stale threshold days for this contract. */\n stale_threshold_days: number;\n /** Value that configures or reports sections for this contract. */\n sections: ContextSectionSettings;\n}\n\n/** Documents the governance settings payload exchanged by command, SDK, and package integrations. */\nexport interface GovernanceSettings {\n /** Value that configures or reports preset for this contract. */\n preset: GovernancePreset;\n /** Value that configures or reports ownership enforcement for this contract. */\n ownership_enforcement: GovernanceOwnershipEnforcement;\n /** Creates mode default using the validated operation inputs. */\n create_mode_default: GovernanceCreateModeDefault;\n /** Value that configures or reports close validation default for this contract. */\n close_validation_default: GovernanceCloseValidationDefault;\n /** Value that configures or reports require close reason for this contract. */\n require_close_reason: boolean;\n /** Value that configures or reports parent reference for this contract. */\n parent_reference: ParentReferencePolicy;\n /** Value that configures or reports metadata profile for this contract. */\n metadata_profile: ValidateMetadataProfile;\n /** Value that configures or reports force required for stale lock for this contract. */\n force_required_for_stale_lock: boolean;\n /** Schema type that determines the shape and validation rules for this value. */\n create_default_type?: string;\n /** Per-type allowed-transition enforcement mode for `pm update --status`. Read raw from settings (not preset-derived) so existing projects are unaffected when unset; defaults to \"off\". */\n workflow_enforcement?: GovernanceWorkflowEnforcement;\n}\n\n/** Restricts extension policy mode values accepted by command, SDK, and storage contracts. */\nexport type ExtensionPolicyMode = \"off\" | \"warn\" | \"enforce\";\n/** Restricts extension trust mode values accepted by command, SDK, and storage contracts. */\nexport type ExtensionTrustMode = \"off\" | \"warn\" | \"enforce\";\n/** Restricts extension sandbox profile values accepted by command, SDK, and storage contracts. */\nexport type ExtensionSandboxProfile = \"none\" | \"restricted\" | \"strict\";\n\n/** Documents the extension policy override settings payload exchanged by command, SDK, and package integrations. */\nexport interface ExtensionPolicyOverrideSettings {\n /** Value that configures or reports name for this contract. */\n name: string;\n /** Whether disabled applies to this operation. */\n disabled?: boolean;\n /** Value that configures or reports require trusted for this contract. */\n require_trusted?: boolean;\n /** Value that configures or reports require provenance for this contract. */\n require_provenance?: boolean;\n /** Value that configures or reports sandbox profile for this contract. */\n sandbox_profile?: ExtensionSandboxProfile;\n /** Value that configures or reports allowed capabilities for this contract. */\n allowed_capabilities?: string[];\n /** Value that configures or reports blocked capabilities for this contract. */\n blocked_capabilities?: string[];\n /** Value that configures or reports allowed surfaces for this contract. */\n allowed_surfaces?: string[];\n /** Value that configures or reports blocked surfaces for this contract. */\n blocked_surfaces?: string[];\n /** Value that configures or reports allowed commands for this contract. */\n allowed_commands?: string[];\n /** Value that configures or reports blocked commands for this contract. */\n blocked_commands?: string[];\n /** Value that configures or reports allowed actions for this contract. */\n allowed_actions?: string[];\n /** Value that configures or reports blocked actions for this contract. */\n blocked_actions?: string[];\n /** Value that configures or reports allowed services for this contract. */\n allowed_services?: string[];\n /** Value that configures or reports blocked services for this contract. */\n blocked_services?: string[];\n}\n\n/** Documents the extension policy settings payload exchanged by command, SDK, and package integrations. */\nexport interface ExtensionPolicySettings {\n /** Value that configures or reports mode for this contract. */\n mode: ExtensionPolicyMode;\n /** Strategy used to control trust behavior. */\n trust_mode: ExtensionTrustMode;\n /** Value that configures or reports require provenance for this contract. */\n require_provenance: boolean;\n /** Value that configures or reports trusted extensions for this contract. */\n trusted_extensions: string[];\n /** Fallback sandbox profile used when callers do not provide an override. */\n default_sandbox_profile: ExtensionSandboxProfile;\n /** Value that configures or reports allowed extensions for this contract. */\n allowed_extensions: string[];\n /** Value that configures or reports blocked extensions for this contract. */\n blocked_extensions: string[];\n /** Value that configures or reports allowed capabilities for this contract. */\n allowed_capabilities: string[];\n /** Value that configures or reports blocked capabilities for this contract. */\n blocked_capabilities: string[];\n /** Value that configures or reports allowed surfaces for this contract. */\n allowed_surfaces: string[];\n /** Value that configures or reports blocked surfaces for this contract. */\n blocked_surfaces: string[];\n /** Value that configures or reports allowed commands for this contract. */\n allowed_commands: string[];\n /** Value that configures or reports blocked commands for this contract. */\n blocked_commands: string[];\n /** Value that configures or reports allowed actions for this contract. */\n allowed_actions: string[];\n /** Value that configures or reports blocked actions for this contract. */\n blocked_actions: string[];\n /** Value that configures or reports allowed services for this contract. */\n allowed_services: string[];\n /** Value that configures or reports blocked services for this contract. */\n blocked_services: string[];\n /** Value that configures or reports extension overrides for this contract. */\n extension_overrides: ExtensionPolicyOverrideSettings[];\n}\n\n/** Documents the agent guidance settings payload exchanged by command, SDK, and package integrations. */\nexport interface AgentGuidanceSettings {\n /** Value that configures or reports prompt completed for this contract. */\n prompt_completed: boolean;\n /** Value that configures or reports declined for this contract. */\n declined: boolean;\n /** ISO 8601 timestamp recording when declined occurred. */\n declined_at: string;\n /** Value that configures or reports template version for this contract. */\n template_version: number;\n /** Value that configures or reports last checked files for this contract. */\n last_checked_files: string[];\n}\n\n/** Restricts search mutation refresh policy values accepted by command, SDK, and storage contracts. */\nexport type SearchMutationRefreshPolicy =\n | \"cache_only\"\n | \"semantic_configured\"\n | \"semantic_auto\";\n\n/** Documents the search query expansion settings payload exchanged by command, SDK, and package integrations. */\nexport interface SearchQueryExpansionSettings {\n /** Whether enabled applies to this operation. */\n enabled: boolean;\n /** Value that configures or reports provider for this contract. */\n provider: string;\n}\n\n/** Documents the search rerank settings payload exchanged by command, SDK, and package integrations. */\nexport interface SearchRerankSettings {\n /** Whether enabled applies to this operation. */\n enabled: boolean;\n /** Value that configures or reports model for this contract. */\n model: string;\n /** Value that configures or reports top k for this contract. */\n top_k: number;\n}\n\n/**\n * Config-driven policy for automatic history-stream compaction triage.\n *\n * When `enabled`, `pm health` surfaces an advisory warning for any history\n * stream whose non-empty entry count exceeds `max_entries`, and `pm\n * history-compact` bulk mode uses `max_entries` as its default `--all-over`\n * threshold so the configured policy drives corpus-wide sweeps. `trigger`\n * records operator intent — both values raise the health advisory; `auto`\n * additionally signals that scheduled/automatic sweeps are expected.\n */\nexport interface HistoryCompactPolicy {\n /** Whether enabled applies to this operation. */\n enabled: boolean;\n /** Value that configures or reports max entries for this contract. */\n max_entries: number;\n /** Value that configures or reports trigger for this contract. */\n trigger: \"health_warn\" | \"auto\";\n}\n\n/** Documents the pm settings payload exchanged by command, SDK, and package integrations. */\nexport interface PmSettings {\n /** Value that configures or reports version for this contract. */\n version: number;\n /** Value that configures or reports id prefix for this contract. */\n id_prefix: string;\n /** Value that configures or reports author default for this contract. */\n author_default: string;\n /** Value that configures or reports item format for this contract. */\n item_format: ItemFormat;\n /** Value that configures or reports locks for this contract. */\n locks: {\n ttl_seconds: number;\n /** Bounded wait budget (milliseconds) for acquiring a contended item lock before surfacing lock_conflict. 0 disables waiting (fail-fast). Overridable per invocation via PM_LOCK_WAIT_MS. */\n wait_ms: number;\n };\n /** Retention policy for bulk-mutation rollback checkpoints written by `update-many`/`close-many`. `pm gc --scope checkpoints` prunes checkpoint files older than `retention_days`; checkpoints with an unparseable `created_at` are retained (safety-first, mirroring the stale-lock sweep). */\n checkpoints: {\n retention_days: number;\n };\n /** Value that configures or reports output for this contract. */\n output: {\n default_format: \"toon\" | \"json\";\n };\n /** Value that configures or reports history for this contract. */\n history: {\n missing_stream: \"auto_create\" | \"strict_error\";\n compact_policy: HistoryCompactPolicy;\n };\n /** Value that configures or reports validation for this contract. */\n validation: {\n sprint_release_format: SprintReleaseFormatPolicy;\n parent_reference: ParentReferencePolicy;\n metadata_profile: ValidateMetadataProfile;\n metadata_required_fields: ValidateMetadataRequiredField[];\n lifecycle_stale_blocker_reason_patterns: string[];\n lifecycle_closure_like_blocked_reason_patterns: string[];\n lifecycle_closure_like_resolution_patterns: string[];\n lifecycle_closure_like_actual_result_patterns: string[];\n /** Per-type default estimates (minutes) used by `pm validate --auto-fix --fix-scope estimates` to backfill missing `estimated_minutes` (GH-212). Keys are item type names (case-insensitive); values are positive minutes that override the built-in defaults. Empty by default. */\n estimate_defaults_by_type: Record<string, number>;\n };\n /** Value that configures or reports governance for this contract. */\n governance: GovernanceSettings;\n /** Value that configures or reports workflow for this contract. */\n workflow: {\n definition_of_done: string[];\n };\n /** Value that configures or reports testing for this contract. */\n testing: {\n record_results_to_items: boolean;\n };\n /** Value that configures or reports telemetry for this contract. */\n telemetry: {\n enabled: boolean;\n first_run_prompt_completed: boolean;\n capture_level: \"minimal\" | \"redacted\" | \"max\";\n endpoint: string;\n installation_id: string;\n retention_days: number;\n };\n /** Value that configures or reports agent guidance for this contract. */\n agent_guidance: AgentGuidanceSettings;\n /** Value that configures or reports item types for this contract. */\n item_types: {\n definitions: ItemTypeDefinition[];\n };\n /** Value that configures or reports schema for this contract. */\n schema: RuntimeSchemaSettings;\n /** Value that configures or reports extensions for this contract. */\n extensions: {\n enabled: string[];\n disabled: string[];\n policy: ExtensionPolicySettings;\n };\n /** Value that configures or reports search for this contract. */\n search: {\n score_threshold: number;\n hybrid_semantic_weight: number;\n max_results: number;\n embedding_model: string;\n embedding_corpus_max_characters?: number;\n embedding_batch_size: number;\n embedding_timeout_ms: number;\n scanner_max_batch_retries: number;\n provider?: string;\n /** Optional allow-list of corpus field names embedded for semantic search (see DEFAULT_SEARCH_CORPUS_FIELDS in core/search/corpus.ts). When unset or empty, the full default field set is used (backward compatible). When set, only the named fields are embedded — letting teams opt structured signals (priority, assignee, risk, acceptance_criteria, etc.) in/out for token efficiency. Changing this re-flags items stale on the next refresh. */\n corpus_fields?: string[];\n mutation_refresh_policy: SearchMutationRefreshPolicy;\n query_expansion: SearchQueryExpansionSettings;\n rerank: SearchRerankSettings;\n /** Offline BM25 lexical-ranking parameters (pm-75k9), applied when `search.provider` is `bm25` (or auto-selected as the offline fallback) for semantic/hybrid queries. `k1` controls term-frequency saturation, `b` controls document-length normalization. Unset → Lucene defaults (1.2/0.75). */\n bm25?: {\n k1?: number;\n b?: number;\n };\n tuning?: {\n title_exact_bonus?: number;\n title_weight?: number;\n description_weight?: number;\n tags_weight?: number;\n status_weight?: number;\n body_weight?: number;\n comments_weight?: number;\n notes_weight?: number;\n learnings_weight?: number;\n dependencies_weight?: number;\n linked_content_weight?: number;\n };\n };\n /** Value that configures or reports providers for this contract. */\n providers: {\n openai: {\n base_url: string;\n api_key: string;\n model: string;\n };\n ollama: {\n base_url: string;\n model: string;\n };\n };\n /** Value that configures or reports context for this contract. */\n context: ContextSettings;\n /** Value that configures or reports vector store for this contract. */\n vector_store: {\n adapter?: string;\n collection_name: string;\n qdrant: {\n url: string;\n api_key: string;\n };\n lancedb: {\n path: string;\n };\n };\n}\n"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,mEAAmE;;;AACnE,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,MAAM;IACN,SAAS;IACT,MAAM;IACN,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,UAAU;IACV,WAAW;IACX,SAAS;IACT,MAAM;CACE,CAAC;AACX,2DAA2D;AAC3D,MAAM,CAAC,MAAM,gBAAgB,GAAG,wBAAwB,CAAC;AAMzD,wDAAwD;AACxD,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO;IACP,MAAM;IACN,aAAa;IACb,SAAS;IACT,QAAQ;IACR,UAAU;CACF,CAAC;AAIX,qEAAqE;AACrE,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,OAAO;IACP,QAAQ;IACR,SAAS;IACT,UAAU;IACV,eAAe;IACf,mBAAmB;IACnB,cAAc;IACd,eAAe;IACf,gBAAgB;CACR,CAAC;AAIX,oEAAoE;AACpE,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,cAAc;CACN,CAAC;AAIX,uEAAuE;AACvE,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,QAAQ;IACR,QAAQ;IACR,aAAa;IACb,MAAM;IACN,QAAQ;IACR,UAAU;IACV,SAAS;CACD,CAAC;AAIX,8EAA8E;AAC9E,MAAM,CAAC,MAAM,mCAAmC,GAAG;IACjD,OAAO;IACP,MAAM;IACN,QAAQ;CACA,CAAC;AAKX,iEAAiE;AACjE,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,cAAc;IACd,UAAU;IACV,SAAS;IACT,YAAY;IACZ,iBAAiB;IACjB,YAAY;IACZ,eAAe;IACf,MAAM;IACN,YAAY;IACZ,MAAM;CACE,CAAC;AAIX,uDAAuD;AACvD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAU,CAAC;AAI3D,sDAAsD;AACtD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAU,CAAC;AAI1E,gEAAgE;AAChE,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,KAAK;IACL,QAAQ;IACR,MAAM;IACN,UAAU;CACF,CAAC;AAIX,iEAAiE;AACjE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAMzE,6DAA6D;AAC7D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,eAAe,CAAU,CAAC;AAIrE,8EAA8E;AAC9E,MAAM,CAAC,MAAM,mCAAmC,GAAG;IACjD,MAAM;IACN,cAAc;CACN,CAAC;AAIX,yEAAyE;AACzE,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,MAAM,EAAE,cAAc,CAAU,CAAC;AAIhF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,MAAM;IACN,QAAQ;IACR,QAAQ;CACA,CAAC;AAIX,mEAAmE;AACnE,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,SAAS;IACT,SAAS;IACT,QAAQ;IACR,QAAQ;CACA,CAAC;AAGX,kFAAkF;AAClF,MAAM,CAAC,MAAM,uCAAuC,GAAG;IACrD,MAAM;IACN,MAAM;IACN,QAAQ;CACA,CAAC;AAIX,gFAAgF;AAChF,MAAM,CAAC,MAAM,qCAAqC,GAAG;IACnD,aAAa;IACb,QAAQ;CACA,CAAC;AAIX,qFAAqF;AACrF,MAAM,CAAC,MAAM,0CAA0C,GAAG;IACxD,KAAK;IACL,MAAM;IACN,QAAQ;CACA,CAAC;AAIX,iFAAiF;AACjF,MAAM,CAAC,MAAM,sCAAsC,GAAG;IACpD,KAAK;IACL,MAAM;IACN,QAAQ;CACA,CAAC;AAIX,kFAAkF;AAClF,MAAM,CAAC,MAAM,uCAAuC,GAAG;IACrD,QAAQ;IACR,qBAAqB;IACrB,mBAAmB;IACnB,cAAc;IACd,UAAU;IACV,MAAM;IACN,YAAY;IACZ,QAAQ;IACR,SAAS;CACD,CAAC;AAKX,sEAAsE;AACtE,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,OAAO;IACP,QAAQ;IACR,SAAS;IACT,QAAQ;CACA,CAAC;AAIX,oEAAoE;AACpE,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;CACG,CAAC;AAIX,gNAAgN;AAChN,MAAM,UAAU,iBAAiB,CAAC,KAAwB;IACxD,OAAO,yBAAyB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC;AA0ID,2DAA2D;AAC3D,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,OAAO;IACP,UAAU;IACV,QAAQ;IACR,UAAU;IACV,WAAW;IACX,QAAQ;IACR,WAAW;IACX,YAAY;CACJ,CAAC;AAIX,kEAAkE;AAClE,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,SAAS;IACT,aAAa;IACb,WAAW;IACX,SAAS;IACT,SAAS;IACT,YAAY;CACJ,CAAC;AAIX,8DAA8D;AAC9D,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO;IACP,aAAa;IACb,QAAQ;IACR,SAAS;CACD,CAAC;AAIX,qEAAqE;AACrE,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,SAAS;IACT,QAAQ;IACR,YAAY;IACZ,YAAY;IACZ,iBAAiB;IACjB,YAAY;IACZ,UAAU;IACV,YAAY;CACJ,CAAC;AAqeX,+DAA+D;AAC/D,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,OAAO;IACP,UAAU;IACV,MAAM;IACN,MAAM;CACE,CAAC;AAIX,iEAAiE;AACjE,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,WAAW;IACX,UAAU;IACV,UAAU;IACV,kBAAkB;IAClB,YAAY;IACZ,UAAU;IACV,OAAO;IACP,UAAU;IACV,WAAW;IACX,OAAO;CACC,CAAC","debugId":"24e69ccc-1d29-57b3-95a8-73e2501548f0"}
1
+ {"version":3,"file":"types.js","sources":["types.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module types\n *\n * Defines the shared project-management data model used by CLI, SDK, MCP, and packages.\n */\n/** Supported values accepted by the builtin item type contract. */\nexport const BUILTIN_ITEM_TYPE_VALUES = [\n \"Epic\",\n \"Feature\",\n \"Task\",\n \"Chore\",\n \"Issue\",\n \"Decision\",\n \"Event\",\n \"Reminder\",\n \"Milestone\",\n \"Meeting\",\n \"Plan\",\n] as const;\n/** Supported values accepted by the item type contract. */\nexport const ITEM_TYPE_VALUES = BUILTIN_ITEM_TYPE_VALUES;\n/** Restricts builtin item type values accepted by command, SDK, and storage contracts. */\nexport type BuiltinItemType = (typeof BUILTIN_ITEM_TYPE_VALUES)[number];\n/** Restricts item type values accepted by command, SDK, and storage contracts. */\nexport type ItemType = string;\n\n/** Supported values accepted by the status contract. */\nexport const STATUS_VALUES = [\n \"draft\",\n \"open\",\n \"in_progress\",\n \"blocked\",\n \"closed\",\n \"canceled\",\n] as const;\n/** Restricts item status values accepted by command, SDK, and storage contracts. */\nexport type ItemStatus = string;\n\n/** Supported values accepted by the runtime status role contract. */\nexport const RUNTIME_STATUS_ROLE_VALUES = [\n \"draft\",\n \"active\",\n \"blocked\",\n \"terminal\",\n \"terminal_done\",\n \"terminal_canceled\",\n \"default_open\",\n \"default_close\",\n \"default_cancel\",\n] as const;\n/** Restricts runtime status role values accepted by command, SDK, and storage contracts. */\nexport type RuntimeStatusRole = (typeof RUNTIME_STATUS_ROLE_VALUES)[number];\n\n/** Supported values accepted by the runtime field type contract. */\nexport const RUNTIME_FIELD_TYPE_VALUES = [\n \"string\",\n \"number\",\n \"boolean\",\n \"string_array\",\n] as const;\n/** Restricts runtime field type values accepted by command, SDK, and storage contracts. */\nexport type RuntimeFieldType = (typeof RUNTIME_FIELD_TYPE_VALUES)[number];\n\n/** Supported values accepted by the runtime field command contract. */\nexport const RUNTIME_FIELD_COMMAND_VALUES = [\n \"create\",\n \"update\",\n \"update_many\",\n \"list\",\n \"search\",\n \"calendar\",\n \"context\",\n] as const;\n/** Restricts runtime field command values accepted by command, SDK, and storage contracts. */\nexport type RuntimeFieldCommand = (typeof RUNTIME_FIELD_COMMAND_VALUES)[number];\n\n/** Supported values accepted by the runtime unknown field policy contract. */\nexport const RUNTIME_UNKNOWN_FIELD_POLICY_VALUES = [\n \"allow\",\n \"warn\",\n \"reject\",\n] as const;\n/** Restricts runtime unknown field policy values accepted by command, SDK, and storage contracts. */\nexport type RuntimeUnknownFieldPolicy =\n (typeof RUNTIME_UNKNOWN_FIELD_POLICY_VALUES)[number];\n\n/** Supported values accepted by the dependency kind contract. */\nexport const DEPENDENCY_KIND_VALUES = [\n \"blocks\",\n \"parent\",\n \"child\",\n \"parent_child\",\n \"child_of\",\n \"related\",\n \"related_to\",\n \"discovered_from\",\n \"blocked_by\",\n \"incident_from\",\n \"epic\",\n \"supersedes\",\n \"task\",\n] as const;\n/** Restricts dependency kind values accepted by command, SDK, and storage contracts. */\nexport type DependencyKind = (typeof DEPENDENCY_KIND_VALUES)[number];\n\n/** Supported values accepted by the scope contract. */\nexport const SCOPE_VALUES = [\"project\", \"global\"] as const;\n/** Restricts link scope values accepted by command, SDK, and storage contracts. */\nexport type LinkScope = (typeof SCOPE_VALUES)[number];\n\n/** Supported values accepted by the risk contract. */\nexport const RISK_VALUES = [\"low\", \"medium\", \"high\", \"critical\"] as const;\n/** Restricts risk level values accepted by command, SDK, and storage contracts. */\nexport type RiskLevel = (typeof RISK_VALUES)[number];\n\n/** Supported values accepted by the issue severity contract. */\nexport const ISSUE_SEVERITY_VALUES = [\n \"low\",\n \"medium\",\n \"high\",\n \"critical\",\n] as const;\n/** Restricts issue severity values accepted by command, SDK, and storage contracts. */\nexport type IssueSeverity = (typeof ISSUE_SEVERITY_VALUES)[number];\n\n/** Supported values accepted by the confidence text contract. */\nexport const CONFIDENCE_TEXT_VALUES = [\"low\", \"medium\", \"high\"] as const;\n/** Restricts confidence text level values accepted by command, SDK, and storage contracts. */\nexport type ConfidenceTextLevel = (typeof CONFIDENCE_TEXT_VALUES)[number];\n/** Restricts confidence value values accepted by command, SDK, and storage contracts. */\nexport type ConfidenceValue = number | ConfidenceTextLevel;\n\n/** Supported values accepted by the item format contract. */\nexport const ITEM_FORMAT_VALUES = [\"toon\", \"json_markdown\"] as const;\n/** Restricts item format values accepted by command, SDK, and storage contracts. */\nexport type ItemFormat = (typeof ITEM_FORMAT_VALUES)[number];\n\n/** Supported values accepted by the sprint release format policy contract. */\nexport const SPRINT_RELEASE_FORMAT_POLICY_VALUES = [\n \"warn\",\n \"strict_error\",\n] as const;\n/** Restricts sprint release format policy values accepted by command, SDK, and storage contracts. */\nexport type SprintReleaseFormatPolicy =\n (typeof SPRINT_RELEASE_FORMAT_POLICY_VALUES)[number];\n/** Supported values accepted by the parent reference policy contract. */\nexport const PARENT_REFERENCE_POLICY_VALUES = [\"warn\", \"strict_error\"] as const;\n/** Restricts parent reference policy values accepted by command, SDK, and storage contracts. */\nexport type ParentReferencePolicy =\n (typeof PARENT_REFERENCE_POLICY_VALUES)[number];\n/** Supported values accepted by the validate metadata profile contract. */\nexport const VALIDATE_METADATA_PROFILE_VALUES = [\n \"core\",\n \"strict\",\n \"custom\",\n] as const;\n/** Restricts validate metadata profile values accepted by command, SDK, and storage contracts. */\nexport type ValidateMetadataProfile =\n (typeof VALIDATE_METADATA_PROFILE_VALUES)[number];\n/** Supported values accepted by the governance preset contract. */\nexport const GOVERNANCE_PRESET_VALUES = [\n \"minimal\",\n \"default\",\n \"strict\",\n \"custom\",\n] as const;\n/** Restricts governance preset values accepted by command, SDK, and storage contracts. */\nexport type GovernancePreset = (typeof GOVERNANCE_PRESET_VALUES)[number];\n/** Supported values accepted by the governance ownership enforcement contract. */\nexport const GOVERNANCE_OWNERSHIP_ENFORCEMENT_VALUES = [\n \"none\",\n \"warn\",\n \"strict\",\n] as const;\n/** Restricts governance ownership enforcement values accepted by command, SDK, and storage contracts. */\nexport type GovernanceOwnershipEnforcement =\n (typeof GOVERNANCE_OWNERSHIP_ENFORCEMENT_VALUES)[number];\n/** Supported values accepted by the governance create mode default contract. */\nexport const GOVERNANCE_CREATE_MODE_DEFAULT_VALUES = [\n \"progressive\",\n \"strict\",\n] as const;\n/** Restricts governance create mode default values accepted by command, SDK, and storage contracts. */\nexport type GovernanceCreateModeDefault =\n (typeof GOVERNANCE_CREATE_MODE_DEFAULT_VALUES)[number];\n/** Supported values accepted by the governance close validation default contract. */\nexport const GOVERNANCE_CLOSE_VALIDATION_DEFAULT_VALUES = [\n \"off\",\n \"warn\",\n \"strict\",\n] as const;\n/** Restricts governance close validation default values accepted by command, SDK, and storage contracts. */\nexport type GovernanceCloseValidationDefault =\n (typeof GOVERNANCE_CLOSE_VALIDATION_DEFAULT_VALUES)[number];\n/** Supported values accepted by the governance workflow enforcement contract. */\nexport const GOVERNANCE_WORKFLOW_ENFORCEMENT_VALUES = [\n \"off\",\n \"warn\",\n \"strict\",\n] as const;\n/** Restricts governance workflow enforcement values accepted by command, SDK, and storage contracts. */\nexport type GovernanceWorkflowEnforcement =\n (typeof GOVERNANCE_WORKFLOW_ENFORCEMENT_VALUES)[number];\n/** Supported values accepted by the validate metadata required field contract. */\nexport const VALIDATE_METADATA_REQUIRED_FIELD_VALUES = [\n \"author\",\n \"acceptance_criteria\",\n \"estimated_minutes\",\n \"close_reason\",\n \"reviewer\",\n \"risk\",\n \"confidence\",\n \"sprint\",\n \"release\",\n] as const;\n/** Restricts validate metadata required field values accepted by command, SDK, and storage contracts. */\nexport type ValidateMetadataRequiredField =\n (typeof VALIDATE_METADATA_REQUIRED_FIELD_VALUES)[number];\n\n/** Supported values accepted by the recurrence frequency contract. */\nexport const RECURRENCE_FREQUENCY_VALUES = [\n \"daily\",\n \"weekly\",\n \"monthly\",\n \"yearly\",\n] as const;\n/** Restricts recurrence frequency values accepted by command, SDK, and storage contracts. */\nexport type RecurrenceFrequency = (typeof RECURRENCE_FREQUENCY_VALUES)[number];\n\n/** Supported values accepted by the recurrence weekday contract. */\nexport const RECURRENCE_WEEKDAY_VALUES = [\n \"mon\",\n \"tue\",\n \"wed\",\n \"thu\",\n \"fri\",\n \"sat\",\n \"sun\",\n] as const;\n/** Restricts recurrence weekday values accepted by command, SDK, and storage contracts. */\nexport type RecurrenceWeekday = (typeof RECURRENCE_WEEKDAY_VALUES)[number];\n\n/** Canonical week-order index for a recurrence weekday (mon=0 .. sun=6). Shared by item serialization, create/update parsing, and calendar expansion so weekday ordering cannot drift between those modules. */\nexport function weekdayOrderIndex(value: RecurrenceWeekday): number {\n return RECURRENCE_WEEKDAY_VALUES.indexOf(value);\n}\n\n/** Documents the dependency payload exchanged by command, SDK, and package integrations. */\nexport interface Dependency {\n /** Stable identifier used to reference this record across commands and storage. */\n id: string;\n /** Value that configures or reports kind for this contract. */\n kind: DependencyKind;\n /** ISO 8601 timestamp recording when created occurred. */\n created_at: string;\n /** Value that configures or reports author for this contract. */\n author?: string;\n /** Value that configures or reports source kind for this contract. */\n source_kind?: string;\n}\n\n/** Documents the comment payload exchanged by command, SDK, and package integrations. */\nexport interface Comment {\n /** ISO 8601 timestamp recording when created occurred. */\n created_at: string;\n /** Value that configures or reports author for this contract. */\n author: string;\n /** Value that configures or reports text for this contract. */\n text: string;\n}\n\n/** Documents the log note payload exchanged by command, SDK, and package integrations. */\nexport interface LogNote {\n /** ISO 8601 timestamp recording when created occurred. */\n created_at: string;\n /** Value that configures or reports author for this contract. */\n author: string;\n /** Value that configures or reports text for this contract. */\n text: string;\n}\n\n/** Documents the linked file payload exchanged by command, SDK, and package integrations. */\nexport interface LinkedFile {\n /** Filesystem path used for path resolution. */\n path: string;\n /** Value that configures or reports scope for this contract. */\n scope: LinkScope;\n /** Value that configures or reports note for this contract. */\n note?: string;\n}\n\n/** Documents the linked test payload exchanged by command, SDK, and package integrations. */\nexport interface LinkedTest {\n /** Value that configures or reports command for this contract. */\n command?: string;\n /** Filesystem path used for path resolution. */\n path?: string;\n /** Value that configures or reports scope for this contract. */\n scope: LinkScope;\n /** Value that configures or reports timeout seconds for this contract. */\n timeout_seconds?: number;\n /** Strategy used to control pm context behavior. */\n pm_context_mode?: \"schema\" | \"tracker\" | \"auto\";\n /** Value that configures or reports env set for this contract. */\n env_set?: Record<string, string>;\n /** Value that configures or reports env clear for this contract. */\n env_clear?: string[];\n /** Value that configures or reports shared host safe for this contract. */\n shared_host_safe?: boolean;\n /** Value that configures or reports assert stdout contains for this contract. */\n assert_stdout_contains?: string[];\n /** Value that configures or reports assert stdout regex for this contract. */\n assert_stdout_regex?: string[];\n /** Value that configures or reports assert stderr contains for this contract. */\n assert_stderr_contains?: string[];\n /** Value that configures or reports assert stderr regex for this contract. */\n assert_stderr_regex?: string[];\n /** Value that configures or reports assert stdout min lines for this contract. */\n assert_stdout_min_lines?: number;\n /** Value that configures or reports assert json field equals for this contract. */\n assert_json_field_equals?: Record<string, string>;\n /** Value that configures or reports assert json field gte for this contract. */\n assert_json_field_gte?: Record<string, number>;\n /** Value that configures or reports note for this contract. */\n note?: string;\n}\n\n/** Documents the linked doc payload exchanged by command, SDK, and package integrations. */\nexport interface LinkedDoc {\n /** Filesystem path used for path resolution. */\n path: string;\n /** Value that configures or reports scope for this contract. */\n scope: LinkScope;\n /** Value that configures or reports note for this contract. */\n note?: string;\n}\n\n/** Documents the reminder payload exchanged by command, SDK, and package integrations. */\nexport interface Reminder {\n /** Value that configures or reports at for this contract. */\n at: string;\n /** Value that configures or reports text for this contract. */\n text: string;\n}\n\n/** Documents the recurrence rule payload exchanged by command, SDK, and package integrations. */\nexport interface RecurrenceRule {\n /** Value that configures or reports freq for this contract. */\n freq: RecurrenceFrequency;\n /** Value that configures or reports interval for this contract. */\n interval?: number;\n /** Value that configures or reports count for this contract. */\n count?: number;\n /** Value that configures or reports until for this contract. */\n until?: string;\n /** Value that configures or reports by weekday for this contract. */\n by_weekday?: RecurrenceWeekday[];\n /** Value that configures or reports by month day for this contract. */\n by_month_day?: number[];\n /** Value that configures or reports exdates for this contract. */\n exdates?: string[];\n}\n\n/** Documents the calendar event payload exchanged by command, SDK, and package integrations. */\nexport interface CalendarEvent {\n /** ISO 8601 timestamp recording when start occurred. */\n start_at: string;\n /** ISO 8601 timestamp recording when end occurred. */\n end_at?: string;\n /** Value that configures or reports title for this contract. */\n title?: string;\n /** Value that configures or reports description for this contract. */\n description?: string;\n /** Value that configures or reports location for this contract. */\n location?: string;\n /** Value that configures or reports all day for this contract. */\n all_day?: boolean;\n /** Value that configures or reports timezone for this contract. */\n timezone?: string;\n /** Value that configures or reports recurrence for this contract. */\n recurrence?: RecurrenceRule;\n}\n\n/** Supported values accepted by the plan mode contract. */\nexport const PLAN_MODE_VALUES = [\n \"draft\",\n \"research\",\n \"review\",\n \"approved\",\n \"executing\",\n \"paused\",\n \"completed\",\n \"superseded\",\n] as const;\n/** Restricts plan mode values accepted by command, SDK, and storage contracts. */\nexport type PlanMode = (typeof PLAN_MODE_VALUES)[number];\n\n/** Supported values accepted by the plan step status contract. */\nexport const PLAN_STEP_STATUS_VALUES = [\n \"pending\",\n \"in_progress\",\n \"completed\",\n \"blocked\",\n \"skipped\",\n \"superseded\",\n] as const;\n/** Restricts plan step status values accepted by command, SDK, and storage contracts. */\nexport type PlanStepStatus = (typeof PLAN_STEP_STATUS_VALUES)[number];\n\n/** Supported values accepted by the plan harness contract. */\nexport const PLAN_HARNESS_VALUES = [\n \"codex\",\n \"claude-code\",\n \"cursor\",\n \"generic\",\n] as const;\n/** Restricts plan harness values accepted by command, SDK, and storage contracts. */\nexport type PlanHarness = (typeof PLAN_HARNESS_VALUES)[number];\n\n/** Supported values accepted by the plan step link kind contract. */\nexport const PLAN_STEP_LINK_KIND_VALUES = [\n \"related\",\n \"blocks\",\n \"blocked_by\",\n \"depends_on\",\n \"discovered_from\",\n \"implements\",\n \"verifies\",\n \"supersedes\",\n] as const;\n/** Restricts plan step link kind values accepted by command, SDK, and storage contracts. */\nexport type PlanStepLinkKind = (typeof PLAN_STEP_LINK_KIND_VALUES)[number];\n\n/** Documents the plan step link payload exchanged by command, SDK, and package integrations. */\nexport interface PlanStepLink {\n /** Stable identifier used to reference this record across commands and storage. */\n id: string;\n /** Value that configures or reports kind for this contract. */\n kind: PlanStepLinkKind;\n /** Value that configures or reports note for this contract. */\n note?: string;\n /** Value that configures or reports required before step for this contract. */\n required_before_step?: boolean;\n}\n\n/** Documents the plan step file payload exchanged by command, SDK, and package integrations. */\nexport interface PlanStepFile {\n /** Filesystem path used for path resolution. */\n path: string;\n /** Value that configures or reports scope for this contract. */\n scope?: LinkScope;\n /** Value that configures or reports note for this contract. */\n note?: string;\n}\n\n/** Documents the plan step test payload exchanged by command, SDK, and package integrations. */\nexport interface PlanStepTest {\n /** Value that configures or reports command for this contract. */\n command?: string;\n /** Filesystem path used for path resolution. */\n path?: string;\n /** Value that configures or reports note for this contract. */\n note?: string;\n}\n\n/** Documents the plan step doc payload exchanged by command, SDK, and package integrations. */\nexport interface PlanStepDoc {\n /** Filesystem path used for path resolution. */\n path: string;\n /** Value that configures or reports scope for this contract. */\n scope?: LinkScope;\n /** Value that configures or reports note for this contract. */\n note?: string;\n}\n\n/** Documents the plan step payload exchanged by command, SDK, and package integrations. */\nexport interface PlanStep {\n /** Stable identifier used to reference this record across commands and storage. */\n id: string;\n /** Value that configures or reports order for this contract. */\n order: number;\n /** Value that configures or reports title for this contract. */\n title: string;\n /** Value that configures or reports body for this contract. */\n body?: string;\n /** Lifecycle state reported for status. */\n status: PlanStepStatus;\n /** Value that configures or reports owner for this contract. */\n owner?: string;\n /** Value that configures or reports evidence for this contract. */\n evidence?: string;\n /** Value that configures or reports blocked reason for this contract. */\n blocked_reason?: string;\n /** Value that configures or reports superseded by for this contract. */\n superseded_by?: string;\n /** Value that configures or reports linked items for this contract. */\n linked_items?: PlanStepLink[];\n /** Value that configures or reports files for this contract. */\n files?: PlanStepFile[];\n /** Value that configures or reports tests for this contract. */\n tests?: PlanStepTest[];\n /** Value that configures or reports docs for this contract. */\n docs?: PlanStepDoc[];\n /** ISO 8601 timestamp recording when created occurred. */\n created_at: string;\n /** ISO 8601 timestamp recording when updated occurred. */\n updated_at: string;\n /** ISO 8601 timestamp recording when completed occurred. */\n completed_at?: string;\n}\n\n/** Documents the plan decision payload exchanged by command, SDK, and package integrations. */\nexport interface PlanDecision {\n /** Value that configures or reports ts for this contract. */\n ts: string;\n /** Value that configures or reports author for this contract. */\n author: string;\n /** Value that configures or reports decision for this contract. */\n decision: string;\n /** Value that configures or reports rationale for this contract. */\n rationale?: string;\n /** Value that configures or reports evidence for this contract. */\n evidence?: string;\n /** Value that configures or reports step id for this contract. */\n step_id?: string;\n}\n\n/** Documents the plan discovery payload exchanged by command, SDK, and package integrations. */\nexport interface PlanDiscovery {\n /** Value that configures or reports ts for this contract. */\n ts: string;\n /** Value that configures or reports author for this contract. */\n author: string;\n /** Value that configures or reports text for this contract. */\n text: string;\n /** Value that configures or reports step id for this contract. */\n step_id?: string;\n}\n\n/** Documents the plan validation check payload exchanged by command, SDK, and package integrations. */\nexport interface PlanValidationCheck {\n /** Value that configures or reports text for this contract. */\n text: string;\n /** Value that configures or reports command for this contract. */\n command?: string;\n /** Value that configures or reports expected for this contract. */\n expected?: string;\n}\n\n/** Documents the item type option definition payload exchanged by command, SDK, and package integrations. */\nexport interface ItemTypeOptionDefinition {\n /** Value that configures or reports key for this contract. */\n key: string;\n /** Value that configures or reports values for this contract. */\n values: string[];\n /** Value that configures or reports required for this contract. */\n required?: boolean;\n /** Value that configures or reports aliases for this contract. */\n aliases?: string[];\n /** Value that configures or reports description for this contract. */\n description?: string;\n}\n\n/** Documents the item type command option policy payload exchanged by command, SDK, and package integrations. */\nexport interface ItemTypeCommandOptionPolicy {\n /** Value that configures or reports command for this contract. */\n command: \"create\" | \"update\";\n /** Value that configures or reports option for this contract. */\n option: string;\n /** Value that configures or reports required for this contract. */\n required?: boolean;\n /** Value that configures or reports visible for this contract. */\n visible?: boolean;\n /** Whether enabled applies to this operation. */\n enabled?: boolean;\n}\n\n/** Documents the item type definition payload exchanged by command, SDK, and package integrations. */\nexport interface ItemTypeDefinition {\n /** Value that configures or reports name for this contract. */\n name: string;\n /** Value that configures or reports description for this contract. */\n description?: string;\n /** Status assigned to newly created items of this type when `--status` is not provided. Falls back to the workflow's open status when unset or invalid. */\n default_status?: string;\n /** Value that configures or reports folder for this contract. */\n folder?: string;\n /** Value that configures or reports aliases for this contract. */\n aliases?: string[];\n /** Value that configures or reports required create fields for this contract. */\n required_create_fields?: string[];\n /** Value that configures or reports required create repeatables for this contract. */\n required_create_repeatables?: string[];\n /** Value that configures or reports options for this contract. */\n options?: ItemTypeOptionDefinition[];\n /** Value that configures or reports command option policies for this contract. */\n command_option_policies?: ItemTypeCommandOptionPolicy[];\n}\n\n/** Documents the runtime status definition payload exchanged by command, SDK, and package integrations. */\nexport interface RuntimeStatusDefinition {\n /** Stable identifier used to reference this record across commands and storage. */\n id: string;\n /** Value that configures or reports aliases for this contract. */\n aliases?: string[];\n /** Value that configures or reports roles for this contract. */\n roles?: RuntimeStatusRole[];\n /** Value that configures or reports description for this contract. */\n description?: string;\n /** Value that configures or reports order for this contract. */\n order?: number;\n}\n\n/** Documents the runtime field definition payload exchanged by command, SDK, and package integrations. */\nexport interface RuntimeFieldDefinition {\n /** Value that configures or reports key for this contract. */\n key: string;\n /** Value that configures or reports metadata key for this contract. */\n metadata_key?: string;\n /**\n * @deprecated Use metadata_key.\n */\n front_matter_key?: string;\n /** Value that configures or reports cli flag for this contract. */\n cli_flag?: string;\n /** Value that configures or reports cli aliases for this contract. */\n cli_aliases?: string[];\n /** Value that configures or reports description for this contract. */\n description?: string;\n /** Schema type that determines the shape and validation rules for this value. */\n type?: RuntimeFieldType;\n /** Value that configures or reports commands for this contract. */\n commands?: RuntimeFieldCommand[];\n /** Value that configures or reports repeatable for this contract. */\n repeatable?: boolean;\n /** Value that configures or reports required for this contract. */\n required?: boolean;\n /** Value that configures or reports required on create for this contract. */\n required_on_create?: boolean;\n /** Value that configures or reports required types for this contract. */\n required_types?: string[];\n /** Value that configures or reports allow unset for this contract. */\n allow_unset?: boolean;\n}\n\n/** Documents the runtime workflow definition payload exchanged by command, SDK, and package integrations. */\nexport interface RuntimeWorkflowDefinition {\n /** Configured status id representing the draft lifecycle state. */\n draft_status?: string;\n /** Configured status id representing the open lifecycle state. */\n open_status?: string;\n /** Configured status id representing the in-progress lifecycle state. */\n in_progress_status?: string;\n /** Configured status id representing the blocked lifecycle state. */\n blocked_status?: string;\n /** Configured status id representing the closed lifecycle state. */\n close_status?: string;\n /** Configured status id representing the canceled lifecycle state. */\n canceled_status?: string;\n}\n\n/** Documents the runtime schema file config payload exchanged by command, SDK, and package integrations. */\nexport interface RuntimeSchemaFileConfig {\n /** Value that configures or reports types for this contract. */\n types?: string;\n /** Value that configures or reports statuses for this contract. */\n statuses?: string;\n /** Value that configures or reports fields for this contract. */\n fields?: string;\n /** Value that configures or reports workflows for this contract. */\n workflows?: string;\n}\n\n/** Per-type allowed-transition rule. A type with no matching entry is unrestricted; a type with an entry allows only the listed [from, to] status pairs (status tokens are resolved case-insensitively through the status registry alias map; a same-status no-op is always allowed). */\nexport interface TypeWorkflowDefinition {\n /** Schema type that determines the shape and validation rules for this value. */\n type: string;\n /** Value that configures or reports allowed transitions for this contract. */\n allowed_transitions: [string, string][];\n}\n\n/** Documents the runtime schema settings payload exchanged by command, SDK, and package integrations. */\nexport interface RuntimeSchemaSettings {\n /** Value that configures or reports version for this contract. */\n version: number;\n /** Value that configures or reports files for this contract. */\n files: RuntimeSchemaFileConfig;\n /** Value that configures or reports statuses for this contract. */\n statuses: RuntimeStatusDefinition[];\n /** Value that configures or reports fields for this contract. */\n fields: RuntimeFieldDefinition[];\n /** Value that configures or reports workflow for this contract. */\n workflow: RuntimeWorkflowDefinition;\n /** Value that configures or reports type workflows for this contract. */\n type_workflows?: TypeWorkflowDefinition[];\n /** Value that configures or reports unknown field policy for this contract. */\n unknown_field_policy: RuntimeUnknownFieldPolicy;\n}\n\n/** Documents the item test run summary payload exchanged by command, SDK, and package integrations. */\nexport interface ItemTestRunSummary {\n /** Executes the id operation through the package runtime. */\n run_id: string;\n /** Value that configures or reports kind for this contract. */\n kind: \"test\" | \"test-all\";\n /** Lifecycle state reported for status. */\n status: \"passed\" | \"failed\" | \"stopped\" | \"canceled\";\n /** ISO 8601 timestamp recording when started occurred. */\n started_at: string;\n /** ISO 8601 timestamp recording when finished occurred. */\n finished_at: string;\n /** ISO 8601 timestamp recording when recorded occurred. */\n recorded_at: string;\n /** Value that configures or reports attempt for this contract. */\n attempt?: number;\n /** Value that configures or reports resumed from for this contract. */\n resumed_from?: string;\n /** Value that configures or reports passed for this contract. */\n passed: number;\n /** Value that configures or reports failed for this contract. */\n failed: number;\n /** Value that configures or reports skipped for this contract. */\n skipped: number;\n /** Value that configures or reports items for this contract. */\n items?: number;\n /** Value that configures or reports linked tests for this contract. */\n linked_tests?: number;\n /** Value that configures or reports fail on skipped triggered for this contract. */\n fail_on_skipped_triggered?: boolean;\n}\n\n/** Documents the item metadata payload exchanged by command, SDK, and package integrations. */\nexport interface ItemMetadata {\n /** Stable identifier used to reference this record across commands and storage. */\n id: string;\n /** Value that configures or reports title for this contract. */\n title: string;\n /** Value that configures or reports description for this contract. */\n description: string;\n /** Schema type that determines the shape and validation rules for this value. */\n type: ItemType;\n /** On-disk item-metadata format version. Absent means the implicit baseline (version 1) and is never serialized; populated only once an item advances past the baseline via a future storage migration. See core/item/item-format-version. */\n pm_format_version?: number;\n /** Schema type that determines the shape and validation rules for this value. */\n source_type?: string;\n /** Inputs that customize the type operation. */\n type_options?: Record<string, string>;\n /** Lifecycle state reported for status. */\n status: ItemStatus;\n /** Value that configures or reports priority for this contract. */\n priority: 0 | 1 | 2 | 3 | 4;\n /** Value that configures or reports tags for this contract. */\n tags: string[];\n /** ISO 8601 timestamp recording when created occurred. */\n created_at: string;\n /** ISO 8601 timestamp recording when updated occurred. */\n updated_at: string;\n /** Value that configures or reports deadline for this contract. */\n deadline?: string;\n /** Value that configures or reports reminders for this contract. */\n reminders?: Reminder[];\n /** Value that configures or reports events for this contract. */\n events?: CalendarEvent[];\n /** ISO 8601 timestamp recording when closed occurred. */\n closed_at?: string;\n /** Value that configures or reports assignee for this contract. */\n assignee?: string;\n /** Value that configures or reports source owner for this contract. */\n source_owner?: string;\n /** Value that configures or reports author for this contract. */\n author?: string;\n /** Value that configures or reports estimated minutes for this contract. */\n estimated_minutes?: number;\n /** Value that configures or reports acceptance criteria for this contract. */\n acceptance_criteria?: string;\n /** Value that configures or reports design for this contract. */\n design?: string;\n /** Value that configures or reports external ref for this contract. */\n external_ref?: string;\n /** Value that configures or reports definition of ready for this contract. */\n definition_of_ready?: string;\n /** Value that configures or reports order for this contract. */\n order?: number;\n /** Value that configures or reports goal for this contract. */\n goal?: string;\n /** Value that configures or reports objective for this contract. */\n objective?: string;\n /** Value that configures or reports value for this contract. */\n value?: string;\n /** Value that configures or reports impact for this contract. */\n impact?: string;\n /** Value that configures or reports outcome for this contract. */\n outcome?: string;\n /** Value that configures or reports why now for this contract. */\n why_now?: string;\n /** Value that configures or reports parent for this contract. */\n parent?: string;\n /** Value that configures or reports reviewer for this contract. */\n reviewer?: string;\n /** Value that configures or reports risk for this contract. */\n risk?: RiskLevel;\n /** Value that configures or reports confidence for this contract. */\n confidence?: ConfidenceValue;\n /** Value that configures or reports sprint for this contract. */\n sprint?: string;\n /** Value that configures or reports release for this contract. */\n release?: string;\n /** Value that configures or reports blocked by for this contract. */\n blocked_by?: string;\n /** Value that configures or reports blocked reason for this contract. */\n blocked_reason?: string;\n /** Value that configures or reports unblock note for this contract. */\n unblock_note?: string;\n /** Value that configures or reports reporter for this contract. */\n reporter?: string;\n /** Value that configures or reports severity for this contract. */\n severity?: IssueSeverity;\n /** Value that configures or reports environment for this contract. */\n environment?: string;\n /** Value that configures or reports repro steps for this contract. */\n repro_steps?: string;\n /** Value that configures or reports resolution for this contract. */\n resolution?: string;\n /** Structured result returned by the expected operation. */\n expected_result?: string;\n /** Structured result returned by the actual operation. */\n actual_result?: string;\n /** Value that configures or reports affected version for this contract. */\n affected_version?: string;\n /** Value that configures or reports fixed version for this contract. */\n fixed_version?: string;\n /** Value that configures or reports component for this contract. */\n component?: string;\n /** Value that configures or reports regression for this contract. */\n regression?: boolean;\n /** Value that configures or reports customer impact for this contract. */\n customer_impact?: string;\n /** Value that configures or reports dependencies for this contract. */\n dependencies?: Dependency[];\n /** Value that configures or reports comments for this contract. */\n comments?: Comment[];\n /** Value that configures or reports notes for this contract. */\n notes?: LogNote[];\n /** Value that configures or reports learnings for this contract. */\n learnings?: LogNote[];\n /** Value that configures or reports files for this contract. */\n files?: LinkedFile[];\n /** Value that configures or reports tests for this contract. */\n tests?: LinkedTest[];\n /** Value that configures or reports test runs for this contract. */\n test_runs?: ItemTestRunSummary[];\n /** Value that configures or reports docs for this contract. */\n docs?: LinkedDoc[];\n /** Value that configures or reports close reason for this contract. */\n close_reason?: string;\n /** Value that configures or reports duplicate of for this contract. */\n duplicate_of?: string;\n /** Strategy used to control plan behavior. */\n plan_mode?: PlanMode;\n /** Value that configures or reports plan scope for this contract. */\n plan_scope?: string;\n /** Value that configures or reports plan harness for this contract. */\n plan_harness?: PlanHarness;\n /** Value that configures or reports plan steps for this contract. */\n plan_steps?: PlanStep[];\n /** Value that configures or reports plan decisions for this contract. */\n plan_decisions?: PlanDecision[];\n /** Value that configures or reports plan discoveries for this contract. */\n plan_discoveries?: PlanDiscovery[];\n /** Value that configures or reports plan validation for this contract. */\n plan_validation?: PlanValidationCheck[];\n /** Value that configures or reports plan resume context for this contract. */\n plan_resume_context?: string;\n [key: string]: unknown;\n}\n\n/** Documents the item document payload exchanged by command, SDK, and package integrations. */\nexport interface ItemDocument {\n /** Value that configures or reports metadata for this contract. */\n metadata: ItemMetadata;\n /** Value that configures or reports body for this contract. */\n body: string;\n}\n\n/** Documents the history patch op payload exchanged by command, SDK, and package integrations. */\nexport interface HistoryPatchOp {\n /** Value that configures or reports op for this contract. */\n op: \"add\" | \"remove\" | \"replace\" | \"move\" | \"copy\" | \"test\";\n /** Filesystem path used for path resolution. */\n path: string;\n /** Value that configures or reports from for this contract. */\n from?: string;\n /** Value that configures or reports value for this contract. */\n value?: unknown;\n}\n\n/** Documents the history entry payload exchanged by command, SDK, and package integrations. */\nexport interface HistoryEntry {\n /** Value that configures or reports ts for this contract. */\n ts: string;\n /** Value that configures or reports author for this contract. */\n author: string;\n /** Value that configures or reports op for this contract. */\n op: string;\n /** Value that configures or reports patch for this contract. */\n patch: HistoryPatchOp[];\n /** Value that configures or reports before hash for this contract. */\n before_hash: string;\n /** Value that configures or reports after hash for this contract. */\n after_hash: string;\n /** Human-readable explanation suitable for logs and agent-facing output. */\n message?: string;\n}\n\n/** Supported values accepted by the context depth contract. */\nexport const CONTEXT_DEPTH_VALUES = [\n \"brief\",\n \"standard\",\n \"deep\",\n \"full\",\n] as const;\n/** Restricts context depth values accepted by command, SDK, and storage contracts. */\nexport type ContextDepth = (typeof CONTEXT_DEPTH_VALUES)[number];\n\n/** Supported values accepted by the context section contract. */\nexport const CONTEXT_SECTION_VALUES = [\n \"hierarchy\",\n \"activity\",\n \"progress\",\n \"recently_created\",\n \"unparented\",\n \"blockers\",\n \"files\",\n \"workload\",\n \"staleness\",\n \"tests\",\n] as const;\n/** Restricts context section name values accepted by command, SDK, and storage contracts. */\nexport type ContextSectionName = (typeof CONTEXT_SECTION_VALUES)[number];\n\n/** Documents the context section settings payload exchanged by command, SDK, and package integrations. */\nexport interface ContextSectionSettings {\n /** Value that configures or reports hierarchy for this contract. */\n hierarchy: boolean;\n /** Value that configures or reports activity for this contract. */\n activity: boolean;\n /** Value that configures or reports progress for this contract. */\n progress: boolean;\n /** Value that configures or reports recently created for this contract. */\n recently_created: boolean;\n /** Value that configures or reports unparented for this contract. */\n unparented: boolean;\n /** Value that configures or reports blockers for this contract. */\n blockers: boolean;\n /** Value that configures or reports files for this contract. */\n files: boolean;\n /** Value that configures or reports workload for this contract. */\n workload: boolean;\n /** Value that configures or reports staleness for this contract. */\n staleness: boolean;\n /** Value that configures or reports tests for this contract. */\n tests: boolean;\n}\n\n/** Documents the context settings payload exchanged by command, SDK, and package integrations. */\nexport interface ContextSettings {\n /** Fallback depth used when callers do not provide an override. */\n default_depth: ContextDepth;\n /** Value that configures or reports activity limit for this contract. */\n activity_limit: number;\n /** Value that configures or reports stale threshold days for this contract. */\n stale_threshold_days: number;\n /** Value that configures or reports sections for this contract. */\n sections: ContextSectionSettings;\n}\n\n/** Documents the governance settings payload exchanged by command, SDK, and package integrations. */\nexport interface GovernanceSettings {\n /** Value that configures or reports preset for this contract. */\n preset: GovernancePreset;\n /** Value that configures or reports ownership enforcement for this contract. */\n ownership_enforcement: GovernanceOwnershipEnforcement;\n /** Creates mode default using the validated operation inputs. */\n create_mode_default: GovernanceCreateModeDefault;\n /** Value that configures or reports close validation default for this contract. */\n close_validation_default: GovernanceCloseValidationDefault;\n /** Value that configures or reports require close reason for this contract. */\n require_close_reason: boolean;\n /** Value that configures or reports parent reference for this contract. */\n parent_reference: ParentReferencePolicy;\n /** Value that configures or reports metadata profile for this contract. */\n metadata_profile: ValidateMetadataProfile;\n /** Value that configures or reports force required for stale lock for this contract. */\n force_required_for_stale_lock: boolean;\n /** Schema type that determines the shape and validation rules for this value. */\n create_default_type?: string;\n /** Per-type allowed-transition enforcement mode for `pm update --status`. Read raw from settings (not preset-derived) so existing projects are unaffected when unset; defaults to \"off\". */\n workflow_enforcement?: GovernanceWorkflowEnforcement;\n}\n\n/** Restricts extension policy mode values accepted by command, SDK, and storage contracts. */\nexport type ExtensionPolicyMode = \"off\" | \"warn\" | \"enforce\";\n/** Restricts extension trust mode values accepted by command, SDK, and storage contracts. */\nexport type ExtensionTrustMode = \"off\" | \"warn\" | \"enforce\";\n/** Restricts extension sandbox profile values accepted by command, SDK, and storage contracts. */\nexport type ExtensionSandboxProfile = \"none\" | \"restricted\" | \"strict\";\n\n/** Documents the extension policy override settings payload exchanged by command, SDK, and package integrations. */\nexport interface ExtensionPolicyOverrideSettings {\n /** Value that configures or reports name for this contract. */\n name: string;\n /** Whether disabled applies to this operation. */\n disabled?: boolean;\n /** Value that configures or reports require trusted for this contract. */\n require_trusted?: boolean;\n /** Value that configures or reports require provenance for this contract. */\n require_provenance?: boolean;\n /** Value that configures or reports sandbox profile for this contract. */\n sandbox_profile?: ExtensionSandboxProfile;\n /** Value that configures or reports allowed capabilities for this contract. */\n allowed_capabilities?: string[];\n /** Value that configures or reports blocked capabilities for this contract. */\n blocked_capabilities?: string[];\n /** Value that configures or reports allowed surfaces for this contract. */\n allowed_surfaces?: string[];\n /** Value that configures or reports blocked surfaces for this contract. */\n blocked_surfaces?: string[];\n /** Value that configures or reports allowed commands for this contract. */\n allowed_commands?: string[];\n /** Value that configures or reports blocked commands for this contract. */\n blocked_commands?: string[];\n /** Value that configures or reports allowed actions for this contract. */\n allowed_actions?: string[];\n /** Value that configures or reports blocked actions for this contract. */\n blocked_actions?: string[];\n /** Value that configures or reports allowed services for this contract. */\n allowed_services?: string[];\n /** Value that configures or reports blocked services for this contract. */\n blocked_services?: string[];\n}\n\n/** Documents the extension policy settings payload exchanged by command, SDK, and package integrations. */\nexport interface ExtensionPolicySettings {\n /** Value that configures or reports mode for this contract. */\n mode: ExtensionPolicyMode;\n /** Strategy used to control trust behavior. */\n trust_mode: ExtensionTrustMode;\n /** Value that configures or reports require provenance for this contract. */\n require_provenance: boolean;\n /** Value that configures or reports trusted extensions for this contract. */\n trusted_extensions: string[];\n /** Fallback sandbox profile used when callers do not provide an override. */\n default_sandbox_profile: ExtensionSandboxProfile;\n /** Value that configures or reports allowed extensions for this contract. */\n allowed_extensions: string[];\n /** Value that configures or reports blocked extensions for this contract. */\n blocked_extensions: string[];\n /** Value that configures or reports allowed capabilities for this contract. */\n allowed_capabilities: string[];\n /** Value that configures or reports blocked capabilities for this contract. */\n blocked_capabilities: string[];\n /** Value that configures or reports allowed surfaces for this contract. */\n allowed_surfaces: string[];\n /** Value that configures or reports blocked surfaces for this contract. */\n blocked_surfaces: string[];\n /** Value that configures or reports allowed commands for this contract. */\n allowed_commands: string[];\n /** Value that configures or reports blocked commands for this contract. */\n blocked_commands: string[];\n /** Value that configures or reports allowed actions for this contract. */\n allowed_actions: string[];\n /** Value that configures or reports blocked actions for this contract. */\n blocked_actions: string[];\n /** Value that configures or reports allowed services for this contract. */\n allowed_services: string[];\n /** Value that configures or reports blocked services for this contract. */\n blocked_services: string[];\n /** Value that configures or reports extension overrides for this contract. */\n extension_overrides: ExtensionPolicyOverrideSettings[];\n}\n\n/** Documents the agent guidance settings payload exchanged by command, SDK, and package integrations. */\nexport interface AgentGuidanceSettings {\n /** Value that configures or reports prompt completed for this contract. */\n prompt_completed: boolean;\n /** Value that configures or reports declined for this contract. */\n declined: boolean;\n /** ISO 8601 timestamp recording when declined occurred. */\n declined_at: string;\n /** Value that configures or reports template version for this contract. */\n template_version: number;\n /** Value that configures or reports last checked files for this contract. */\n last_checked_files: string[];\n}\n\n/** Restricts search mutation refresh policy values accepted by command, SDK, and storage contracts. */\nexport type SearchMutationRefreshPolicy =\n | \"cache_only\"\n | \"semantic_configured\"\n | \"semantic_auto\";\n\n/** Documents the search query expansion settings payload exchanged by command, SDK, and package integrations. */\nexport interface SearchQueryExpansionSettings {\n /** Whether enabled applies to this operation. */\n enabled: boolean;\n /** Value that configures or reports provider for this contract. */\n provider: string;\n}\n\n/** Documents the search rerank settings payload exchanged by command, SDK, and package integrations. */\nexport interface SearchRerankSettings {\n /** Whether enabled applies to this operation. */\n enabled: boolean;\n /** Value that configures or reports model for this contract. */\n model: string;\n /** Value that configures or reports top k for this contract. */\n top_k: number;\n}\n\n/**\n * Config-driven policy for automatic history-stream compaction triage.\n *\n * When `enabled`, `pm health` surfaces an advisory warning for any history\n * stream whose non-empty entry count exceeds `max_entries`, and `pm\n * history-compact` bulk mode uses `max_entries` as its default `--all-over`\n * threshold so the configured policy drives corpus-wide sweeps. `trigger`\n * records operator intent — both values raise the health advisory; `auto`\n * additionally signals that scheduled/automatic sweeps are expected.\n */\nexport interface HistoryCompactPolicy {\n /** Whether enabled applies to this operation. */\n enabled: boolean;\n /** Value that configures or reports max entries for this contract. */\n max_entries: number;\n /** Value that configures or reports trigger for this contract. */\n trigger: \"health_warn\" | \"auto\";\n}\n\n/** Documents the pm settings payload exchanged by command, SDK, and package integrations. */\nexport interface PmSettings {\n /** Value that configures or reports version for this contract. */\n version: number;\n /** Value that configures or reports id prefix for this contract. */\n id_prefix: string;\n /** Item id allocation policy: `token_length` is the number of random base36 characters appended to `id_prefix` when minting ids (4–12). Longer tokens shrink cross-branch collision odds for concurrent multi-agent workflows: 4 chars ≈ 1.68M ids (~1% birthday-collision at ~184 items), 6 chars ≈ 2.18B (~1% at ~6.6k items), 8 chars ≈ 2.8T (~1% at ~238k items). */\n ids: {\n token_length: number;\n };\n /** Value that configures or reports author default for this contract. */\n author_default: string;\n /** Value that configures or reports item format for this contract. */\n item_format: ItemFormat;\n /** Value that configures or reports locks for this contract. */\n locks: {\n ttl_seconds: number;\n /** Bounded wait budget (milliseconds) for acquiring a contended item lock before surfacing lock_conflict. 0 disables waiting (fail-fast). Overridable per invocation via PM_LOCK_WAIT_MS. */\n wait_ms: number;\n };\n /** Retention policy for local crash-recovery receipts: bulk-mutation rollback checkpoints written by `update-many`/`close-many` AND terminal SDK workspace-transaction journals under `transactions/sdk/`. `pm gc --scope checkpoints` prunes checkpoint files older than `retention_days`; `pm gc --scope transactions` prunes committed/compensated journals older than the same window. Unparseable receipts and in-flight journals are always retained (safety-first, mirroring the stale-lock sweep). */\n checkpoints: {\n retention_days: number;\n };\n /** Value that configures or reports output for this contract. */\n output: {\n default_format: \"toon\" | \"json\";\n };\n /** Value that configures or reports history for this contract. */\n history: {\n missing_stream: \"auto_create\" | \"strict_error\";\n compact_policy: HistoryCompactPolicy;\n };\n /** Value that configures or reports validation for this contract. */\n validation: {\n sprint_release_format: SprintReleaseFormatPolicy;\n parent_reference: ParentReferencePolicy;\n metadata_profile: ValidateMetadataProfile;\n metadata_required_fields: ValidateMetadataRequiredField[];\n lifecycle_stale_blocker_reason_patterns: string[];\n lifecycle_closure_like_blocked_reason_patterns: string[];\n lifecycle_closure_like_resolution_patterns: string[];\n lifecycle_closure_like_actual_result_patterns: string[];\n /** Per-type default estimates (minutes) used by `pm validate --auto-fix --fix-scope estimates` to backfill missing `estimated_minutes` (GH-212). Keys are item type names (case-insensitive); values are positive minutes that override the built-in defaults. Empty by default. */\n estimate_defaults_by_type: Record<string, number>;\n };\n /** Value that configures or reports governance for this contract. */\n governance: GovernanceSettings;\n /** Value that configures or reports workflow for this contract. */\n workflow: {\n definition_of_done: string[];\n };\n /** Value that configures or reports testing for this contract. */\n testing: {\n record_results_to_items: boolean;\n };\n /** Value that configures or reports telemetry for this contract. */\n telemetry: {\n enabled: boolean;\n first_run_prompt_completed: boolean;\n capture_level: \"minimal\" | \"redacted\" | \"max\";\n endpoint: string;\n installation_id: string;\n retention_days: number;\n };\n /** Value that configures or reports agent guidance for this contract. */\n agent_guidance: AgentGuidanceSettings;\n /** Value that configures or reports item types for this contract. */\n item_types: {\n definitions: ItemTypeDefinition[];\n };\n /** Value that configures or reports schema for this contract. */\n schema: RuntimeSchemaSettings;\n /** Value that configures or reports extensions for this contract. */\n extensions: {\n enabled: string[];\n disabled: string[];\n policy: ExtensionPolicySettings;\n };\n /** Value that configures or reports search for this contract. */\n search: {\n score_threshold: number;\n hybrid_semantic_weight: number;\n max_results: number;\n embedding_model: string;\n embedding_corpus_max_characters?: number;\n embedding_batch_size: number;\n embedding_timeout_ms: number;\n scanner_max_batch_retries: number;\n provider?: string;\n /** Optional allow-list of corpus field names embedded for semantic search (see DEFAULT_SEARCH_CORPUS_FIELDS in core/search/corpus.ts). When unset or empty, the full default field set is used (backward compatible). When set, only the named fields are embedded — letting teams opt structured signals (priority, assignee, risk, acceptance_criteria, etc.) in/out for token efficiency. Changing this re-flags items stale on the next refresh. */\n corpus_fields?: string[];\n mutation_refresh_policy: SearchMutationRefreshPolicy;\n query_expansion: SearchQueryExpansionSettings;\n rerank: SearchRerankSettings;\n /** Offline BM25 lexical-ranking parameters (pm-75k9), applied when `search.provider` is `bm25` (or auto-selected as the offline fallback) for semantic/hybrid queries. `k1` controls term-frequency saturation, `b` controls document-length normalization. Unset → Lucene defaults (1.2/0.75). */\n bm25?: {\n k1?: number;\n b?: number;\n };\n tuning?: {\n title_exact_bonus?: number;\n title_weight?: number;\n description_weight?: number;\n tags_weight?: number;\n status_weight?: number;\n body_weight?: number;\n comments_weight?: number;\n notes_weight?: number;\n learnings_weight?: number;\n dependencies_weight?: number;\n linked_content_weight?: number;\n };\n };\n /** Value that configures or reports providers for this contract. */\n providers: {\n openai: {\n base_url: string;\n api_key: string;\n model: string;\n };\n ollama: {\n base_url: string;\n model: string;\n };\n };\n /** Value that configures or reports context for this contract. */\n context: ContextSettings;\n /** Value that configures or reports vector store for this contract. */\n vector_store: {\n adapter?: string;\n collection_name: string;\n qdrant: {\n url: string;\n api_key: string;\n };\n lancedb: {\n path: string;\n };\n };\n}\n"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,mEAAmE;;;AACnE,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,MAAM;IACN,SAAS;IACT,MAAM;IACN,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,UAAU;IACV,WAAW;IACX,SAAS;IACT,MAAM;CACE,CAAC;AACX,2DAA2D;AAC3D,MAAM,CAAC,MAAM,gBAAgB,GAAG,wBAAwB,CAAC;AAMzD,wDAAwD;AACxD,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO;IACP,MAAM;IACN,aAAa;IACb,SAAS;IACT,QAAQ;IACR,UAAU;CACF,CAAC;AAIX,qEAAqE;AACrE,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,OAAO;IACP,QAAQ;IACR,SAAS;IACT,UAAU;IACV,eAAe;IACf,mBAAmB;IACnB,cAAc;IACd,eAAe;IACf,gBAAgB;CACR,CAAC;AAIX,oEAAoE;AACpE,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,cAAc;CACN,CAAC;AAIX,uEAAuE;AACvE,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,QAAQ;IACR,QAAQ;IACR,aAAa;IACb,MAAM;IACN,QAAQ;IACR,UAAU;IACV,SAAS;CACD,CAAC;AAIX,8EAA8E;AAC9E,MAAM,CAAC,MAAM,mCAAmC,GAAG;IACjD,OAAO;IACP,MAAM;IACN,QAAQ;CACA,CAAC;AAKX,iEAAiE;AACjE,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,cAAc;IACd,UAAU;IACV,SAAS;IACT,YAAY;IACZ,iBAAiB;IACjB,YAAY;IACZ,eAAe;IACf,MAAM;IACN,YAAY;IACZ,MAAM;CACE,CAAC;AAIX,uDAAuD;AACvD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAU,CAAC;AAI3D,sDAAsD;AACtD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAU,CAAC;AAI1E,gEAAgE;AAChE,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,KAAK;IACL,QAAQ;IACR,MAAM;IACN,UAAU;CACF,CAAC;AAIX,iEAAiE;AACjE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAMzE,6DAA6D;AAC7D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,eAAe,CAAU,CAAC;AAIrE,8EAA8E;AAC9E,MAAM,CAAC,MAAM,mCAAmC,GAAG;IACjD,MAAM;IACN,cAAc;CACN,CAAC;AAIX,yEAAyE;AACzE,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,MAAM,EAAE,cAAc,CAAU,CAAC;AAIhF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,MAAM;IACN,QAAQ;IACR,QAAQ;CACA,CAAC;AAIX,mEAAmE;AACnE,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,SAAS;IACT,SAAS;IACT,QAAQ;IACR,QAAQ;CACA,CAAC;AAGX,kFAAkF;AAClF,MAAM,CAAC,MAAM,uCAAuC,GAAG;IACrD,MAAM;IACN,MAAM;IACN,QAAQ;CACA,CAAC;AAIX,gFAAgF;AAChF,MAAM,CAAC,MAAM,qCAAqC,GAAG;IACnD,aAAa;IACb,QAAQ;CACA,CAAC;AAIX,qFAAqF;AACrF,MAAM,CAAC,MAAM,0CAA0C,GAAG;IACxD,KAAK;IACL,MAAM;IACN,QAAQ;CACA,CAAC;AAIX,iFAAiF;AACjF,MAAM,CAAC,MAAM,sCAAsC,GAAG;IACpD,KAAK;IACL,MAAM;IACN,QAAQ;CACA,CAAC;AAIX,kFAAkF;AAClF,MAAM,CAAC,MAAM,uCAAuC,GAAG;IACrD,QAAQ;IACR,qBAAqB;IACrB,mBAAmB;IACnB,cAAc;IACd,UAAU;IACV,MAAM;IACN,YAAY;IACZ,QAAQ;IACR,SAAS;CACD,CAAC;AAKX,sEAAsE;AACtE,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,OAAO;IACP,QAAQ;IACR,SAAS;IACT,QAAQ;CACA,CAAC;AAIX,oEAAoE;AACpE,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;CACG,CAAC;AAIX,gNAAgN;AAChN,MAAM,UAAU,iBAAiB,CAAC,KAAwB;IACxD,OAAO,yBAAyB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC;AA0ID,2DAA2D;AAC3D,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,OAAO;IACP,UAAU;IACV,QAAQ;IACR,UAAU;IACV,WAAW;IACX,QAAQ;IACR,WAAW;IACX,YAAY;CACJ,CAAC;AAIX,kEAAkE;AAClE,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,SAAS;IACT,aAAa;IACb,WAAW;IACX,SAAS;IACT,SAAS;IACT,YAAY;CACJ,CAAC;AAIX,8DAA8D;AAC9D,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO;IACP,aAAa;IACb,QAAQ;IACR,SAAS;CACD,CAAC;AAIX,qEAAqE;AACrE,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,SAAS;IACT,QAAQ;IACR,YAAY;IACZ,YAAY;IACZ,iBAAiB;IACjB,YAAY;IACZ,UAAU;IACV,YAAY;CACJ,CAAC;AAqeX,+DAA+D;AAC/D,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,OAAO;IACP,UAAU;IACV,MAAM;IACN,MAAM;CACE,CAAC;AAIX,iEAAiE;AACjE,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,WAAW;IACX,UAAU;IACV,UAAU;IACV,kBAAkB;IAClB,YAAY;IACZ,UAAU;IACV,OAAO;IACP,UAAU;IACV,WAAW;IACX,OAAO;CACC,CAAC","debugId":"0ac15454-83a5-5908-b602-2f84dcec66c0"}
@@ -50,6 +50,8 @@ Repeated singular/plural list flags accumulate, so `--tag a --tag b` is equivale
50
50
 
51
51
  `--tags` REPLACES the whole tag list. To edit tags without restating the full set, prefer `--add-tags <value>` (adds without replacing) and `--remove-tags <value>` (prunes) on `create`/`update`/`update-many` (both repeatable; CSV or JSON-array). `--remove-tags` is `update`/`update-many` only. Also note `--expected`/`--actual` are short aliases for `--expected-result`/`--actual-result` on these commands, matching `pm close`.
52
52
 
53
+ `--acceptance-criteria`/`--ac` likewise REPLACES the whole criteria value. Prefer `--add-ac <text>` (appends one criterion; deduped on exact text) and `--remove-ac <text>` (removes one criterion by exact text; unmatched selectors surface a `remove_ac_unmatched` warning) on `update`/`update-many` so concurrent branch edits with disjoint additions merge instead of clobbering. Acceptance criteria use semicolons as storage boundaries, so one criterion cannot itself contain a semicolon.
54
+
53
55
  ```bash
54
56
  pm update <item-id> --add-tags urgent,backend # keep existing tags, add two
55
57
  pm update <item-id> --remove-tags stale # drop one, keep the rest
@@ -100,53 +102,53 @@ pm release <item-id>
100
102
 
101
103
  ## Token-Minimal Retrieval
102
104
 
103
- | Need | Command |
104
- |------|---------|
105
- | The single next action + why | `pm next` (concrete ready leaves first; completed-container closeout rows surface only when no leaf work is ready; `--ready-only` for the tightest output) |
106
- | Next ready work in one epic | `pm next --parent <id>` |
107
- | Next work and agenda | `pm context --limit 10` |
108
- | Comprehensive whole-tracker snapshot | `pm context --depth full` (every section, no per-section row cap) |
109
- | Status of one epic/subtree | `pm context --parent <id> --depth deep` |
110
- | Relevant items | `pm search "<keywords>" --limit 10` (keyword hits are score-ranked; keyword mode defaults to 50 results, `result.total` reports the full pre-limit count) |
111
- | Require every query token | `pm search "<keywords>" --match-mode and` (hard-filter; `exact` = contiguous phrase; default `or` adds an all-terms ranking bonus) |
112
- | Just the match count | `pm search "<keywords>" --count` (no hit rows; `count`/`total` carry the matched total) |
113
- | Per-query score threshold | `pm search "<keywords>" --min-score 5` (overrides settings `search.score_threshold` for this query) |
114
- | Every matched row (no cap) | `pm list-all --no-truncate --brief` (alias `--all`; `result.total` reports the full count when a `--limit`/`--offset` truncates) |
115
- | Item bodies in bulk (one call) | `pm list-open --json --include-body` (avoids one `pm get` per item) |
116
- | Open work only | `pm search "<keywords>" --status open` (drops closed-history noise; did-you-mean on typos) |
117
- | Scope search like list | `pm search "<keywords>" --type Task --assignee <name> --parent <id>` (full `pm list` filter parity) |
118
- | Items changed since last window | `pm list-all --updated-after <prev-run-ISO> --brief` (relative `-2h`/`-7d` also work) |
119
- | Open items changed today | `pm list-open --today --brief` (local-midnight shorthand; mutually exclusive with `--updated-after`) |
120
- | Items changed recently | `pm list-all --recent --brief` (last seven days; mutually exclusive with `--updated-after`) |
121
- | Single item | `pm get <id>` |
122
- | Full machine payload | `pm get <id> --full --json` |
123
- | Command flags | `pm <command> --help --json` |
124
- | Command intent map | `pm contracts --summary --json` (one command plus terse intent per row; use before command-scoped contracts) |
125
- | Low-noise machine contracts | `pm contracts --command <command> --flags-only --json` |
126
- | Semantic index refresh | `pm reindex --mode semantic --progress` (stale-first by default; add `--full` to force full rebuild; requires the `search-advanced` package) |
127
- | Timeline | `pm activity --id <id> --limit 20` |
128
- | Audited history redaction | `pm history-redact <id> --literal "<secret>" --replacement "[redacted]" --dry-run` |
129
- | Audited history re-anchor | `pm history-repair <id> --dry-run` (clears drift flagged by `pm health`/`pm validate`) |
130
- | Register custom item type | `pm schema add-type <Name> --description "<text>" --default-status open` (then `pm create <Name> "..."`) |
131
- | Remove custom item type | `pm schema remove-type <Name>` (warns if items still use it; built-ins refused) |
132
- | Register custom status | `pm schema add-status <id> --role <active\|terminal\|...> --alias <name> --order <n>` |
133
- | Remove custom status | `pm schema remove-status <id>` (warns if items use it; built-in statuses refused) |
134
- | Agent plan create | `pm plan create --title "<scope>" --harness claude-code --scope "<short>" --claim` |
135
- | Agent plan create with steps | `pm plan create --title "<scope>" --step "<step 1>" --step "<step 2>" --step "<step 3>"` (repeated `--step` seeds ordered steps) |
136
- | Agent plan step update | `pm plan update-step <plan-id> plan-step-001 --step-status in_progress --step-evidence "<short>"` |
137
- | Agent plan read | `pm plan show <plan-id> --depth brief` (or `--fields id,title,steps_summary`) |
138
- | Materialize plan steps | `pm plan materialize <plan-id> --steps plan-step-002 --materialize-type Task` |
139
- | Dependencies | `pm deps <id> --format tree` |
140
- | Graph queries | `pm graph successors <id> --limit 20` (also `ancestors`, `paths`, `impact`, `analyze`, `audit`, `communities`, `redundancy`, `dominators`, `plan`) |
141
- | Bulk update by id allowlist | `pm update-many --ids pm-a,pm-b --priority 1 --dry-run` (preview, then drop `--dry-run`) |
142
- | Audited bulk close (sprint closeout) | `pm close-many --filter-sprint <s> --reason "<text>" --dry-run` (full `pm close` semantics per item; `--rollback <id>` to undo) |
143
- | Local docs routing | `pm install guide-shell --project`, then `pm guide <topic>` |
144
- | Compact mutation echo | `pm --no-changed-fields create "..."` (drops the redundant `changed_fields` array, keeps `changed_field_count`) |
145
- | Minimal mutation echo | `pm --id-only create "..."` (prints only id and status for single-item mutations) |
146
- | Duplicate close | `pm close <duplicate> --duplicate-of <canonical>` (or `-d <canonical>`) |
147
- | Long body from a file | `pm create <Type> "<title>" --body-file ./spec.md` (also on `pm update`; mutually exclusive with `--body`) |
148
- | Close with short flags | `pm close <id> -r "<reason>"` / `-m "<history msg>"` / `-d <canonical>` |
149
- | Close via resolution only | `pm close <id> --resolution "<summary>"` (used as the close reason when one is required) |
105
+ | Need | Command |
106
+ | ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
107
+ | The single next action + why | `pm next` (concrete ready leaves first; completed-container closeout rows surface only when no leaf work is ready; `--ready-only` for the tightest output) |
108
+ | Next ready work in one epic | `pm next --parent <id>` |
109
+ | Next work and agenda | `pm context --limit 10` |
110
+ | Comprehensive whole-tracker snapshot | `pm context --depth full` (every section, no per-section row cap) |
111
+ | Status of one epic/subtree | `pm context --parent <id> --depth deep` |
112
+ | Relevant items | `pm search "<keywords>" --limit 10` (keyword hits are score-ranked; keyword mode defaults to 50 results, `result.total` reports the full pre-limit count) |
113
+ | Require every query token | `pm search "<keywords>" --match-mode and` (hard-filter; `exact` = contiguous phrase; default `or` adds an all-terms ranking bonus) |
114
+ | Just the match count | `pm search "<keywords>" --count` (no hit rows; `count`/`total` carry the matched total) |
115
+ | Per-query score threshold | `pm search "<keywords>" --min-score 5` (overrides settings `search.score_threshold` for this query) |
116
+ | Every matched row (no cap) | `pm list-all --no-truncate --brief` (alias `--all`; `result.total` reports the full count when a `--limit`/`--offset` truncates) |
117
+ | Item bodies in bulk (one call) | `pm list-open --json --include-body` (avoids one `pm get` per item) |
118
+ | Open work only | `pm search "<keywords>" --status open` (drops closed-history noise; did-you-mean on typos) |
119
+ | Scope search like list | `pm search "<keywords>" --type Task --assignee <name> --parent <id>` (full `pm list` filter parity) |
120
+ | Items changed since last window | `pm list-all --updated-after <prev-run-ISO> --brief` (relative `-2h`/`-7d` also work) |
121
+ | Open items changed today | `pm list-open --today --brief` (local-midnight shorthand; mutually exclusive with `--updated-after`) |
122
+ | Items changed recently | `pm list-all --recent --brief` (last seven days; mutually exclusive with `--updated-after`) |
123
+ | Single item | `pm get <id>` |
124
+ | Full machine payload | `pm get <id> --full --json` |
125
+ | Command flags | `pm <command> --help --json` |
126
+ | Command intent map | `pm contracts --summary --json` (one command plus terse intent per row; use before command-scoped contracts) |
127
+ | Low-noise machine contracts | `pm contracts --command <command> --flags-only --json` |
128
+ | Semantic index refresh | `pm reindex --mode semantic --progress` (stale-first by default; add `--full` to force full rebuild; requires the `search-advanced` package) |
129
+ | Timeline | `pm activity --id <id> --limit 20` |
130
+ | Audited history redaction | `pm history-redact <id> --literal "<secret>" --replacement "[redacted]" --dry-run` |
131
+ | Audited history re-anchor | `pm history-repair <id> --dry-run` (clears drift flagged by `pm health`/`pm validate`) |
132
+ | Register custom item type | `pm schema add-type <Name> --description "<text>" --default-status open` (then `pm create <Name> "..."`) |
133
+ | Remove custom item type | `pm schema remove-type <Name>` (warns if items still use it; built-ins refused) |
134
+ | Register custom status | `pm schema add-status <id> --role <active\|terminal\|...> --alias <name> --order <n>` |
135
+ | Remove custom status | `pm schema remove-status <id>` (warns if items use it; built-in statuses refused) |
136
+ | Agent plan create | `pm plan create --title "<scope>" --harness claude-code --scope "<short>" --claim` |
137
+ | Agent plan create with steps | `pm plan create --title "<scope>" --step "<step 1>" --step "<step 2>" --step "<step 3>"` (repeated `--step` seeds ordered steps) |
138
+ | Agent plan step update | `pm plan update-step <plan-id> plan-step-001 --step-status in_progress --step-evidence "<short>"` |
139
+ | Agent plan read | `pm plan show <plan-id> --depth brief` (or `--fields id,title,steps_summary`) |
140
+ | Materialize plan steps | `pm plan materialize <plan-id> --steps plan-step-002 --materialize-type Task` |
141
+ | Dependencies | `pm deps <id> --format tree` |
142
+ | Graph queries | `pm graph successors <id> --limit 20` (also `ancestors`, `paths`, `impact`, `analyze`, `audit`, `communities`, `redundancy`, `dominators`, `plan`) |
143
+ | Bulk update by id allowlist | `pm update-many --ids pm-a,pm-b --priority 1 --dry-run` (preview, then drop `--dry-run`) |
144
+ | Audited bulk close (sprint closeout) | `pm close-many --filter-sprint <s> --reason "<text>" --dry-run` (full `pm close` semantics per item; `--rollback <id>` to undo) |
145
+ | Local docs routing | `pm install guide-shell --project`, then `pm guide <topic>` |
146
+ | Compact mutation echo | `pm --no-changed-fields create "..."` (drops the redundant `changed_fields` array, keeps `changed_field_count`) |
147
+ | Minimal mutation echo | `pm --id-only create "..."` (prints only id and status for single-item mutations) |
148
+ | Duplicate close | `pm close <duplicate> --duplicate-of <canonical>` (or `-d <canonical>`) |
149
+ | Long body from a file | `pm create <Type> "<title>" --body-file ./spec.md` (also on `pm update`; mutually exclusive with `--body`) |
150
+ | Close with short flags | `pm close <id> -r "<reason>"` / `-m "<history msg>"` / `-d <canonical>` |
151
+ | Close via resolution only | `pm close <id> --resolution "<summary>"` (used as the close reason when one is required) |
150
152
 
151
153
  Default TOON output is preferred for model-readable loops. Use `--json` only when strict parsing is needed.
152
154
 
@@ -196,6 +198,15 @@ Use these defaults unless the task requires otherwise:
196
198
  - `pm health --check-only` when inspecting repository health without refresh side effects.
197
199
  - Mistyped command names get a `Did you mean: <command>?` hint, including typos of the executable shortcut aliases — `pm shwo <id>` suggests `get` (the canonical of `show`/`view`), and `pm comemnt` suggests `comments`.
198
200
 
201
+ ## Multi-Branch and Worktree Workflows
202
+
203
+ Concurrent agents work on ordinary Git branches/worktrees; tracker artifacts need the semantic merge contract from [Merge Safety](MERGE_SAFETY.md). The short loop:
204
+
205
+ - After a fresh clone or new worktree, run `pm merge install` once so the field-aware merge drivers back the committed `.gitattributes` fence.
206
+ - After every merge that touches `.agents/pm`, run `pm validate --check-storage-integrity` and `pm history --verify --strict-exit`; follow the remediation output (`pm history-repair` wiring included).
207
+ - Repositories fanning out many branches between merges should raise id entropy: `pm config project set ids_token_length 6`.
208
+ - Use `--add-ac`/`--remove-ac` (not `--ac`) so concurrent acceptance-criteria edits merge instead of clobbering.
209
+
199
210
  ## Self-Repair Remediation
200
211
 
201
212
  When gating on `pm health` / `pm validate`, read the executable fix command from the output instead of hardcoding a warning-code-to-command mapping:
package/docs/COMMANDS.md CHANGED
@@ -389,6 +389,13 @@ pm update pm-abc1 --remove-tags stale # drops "stale", keeps the rest
389
389
  pm create "New backend task" --add-tags backend,p1
390
390
  ```
391
391
 
392
+ Acceptance criteria get the same additive treatment on `update`/`update-many`: `--acceptance-criteria`/`--ac` REPLACES the whole value, while `--add-ac <text>` appends one criterion (repeatable; deduped on exact text) and `--remove-ac <text>` removes one criterion by exact text match (repeatable; a non-matching selector adds a `remove_ac_unmatched:<text>` warning instead of silently no-oping). Criteria are stored joined by `` ; ``, so one criterion cannot contain a semicolon. Disjoint `--add-ac` edits from concurrent agents/branches merge cleanly instead of clobbering each other.
393
+
394
+ ```bash
395
+ pm update pm-abc1 --add-ac "error path covered by a regression test"
396
+ pm update pm-abc1 --remove-ac "superseded manual QA step"
397
+ ```
398
+
392
399
  Update existing work:
393
400
 
394
401
  ```bash
@@ -57,6 +57,7 @@ When `settings.json` cannot be loaded, `pm` falls back to built-in defaults and
57
57
  | Setting | Purpose |
58
58
  |---------|---------|
59
59
  | `id_prefix` | generated item ID prefix, default `pm-` |
60
+ | `ids.token_length` | random base36 token length for newly minted item ids (4-12, default `4`); raise it to shrink cross-branch id collision odds in concurrent multi-agent workflows (see [Merge Safety](MERGE_SAFETY.md)) |
60
61
  | `author_default` | fallback mutation author |
61
62
  | `item_format` | item storage format (`toon` writes; legacy markdown is read/migrate only) |
62
63
  | `output.default_format` | default renderer, usually `toon` |
@@ -81,6 +82,7 @@ Each scalar setting above is settable via `pm config set <key> <value>` (no hand
81
82
 
82
83
  ```bash
83
84
  pm config project set id_prefix task # (id_prefix) IDs become task-xxxx
85
+ pm config project set ids_token_length 6 # (ids.token_length) integer 4..12; longer ids for multi-agent collision safety
84
86
  pm config project set author_default release-bot # (author_default) default mutation author
85
87
  pm config project set output_default_format json # (output.default_format) toon | json
86
88
  pm config project set locks_ttl_seconds 60 # (locks.ttl_seconds) integer >= 1
@@ -0,0 +1,99 @@
1
+ # Multi-Branch Tracker Merge Safety
2
+
3
+ Tracked by [pm-wc1r](../.agents/pm/features/pm-wc1r.toon), with the integrity and concurrency fixes [pm-9q2t](../.agents/pm/issues/pm-9q2t.toon), [pm-cxyv](../.agents/pm/issues/pm-cxyv.toon), [pm-gpo7](../.agents/pm/issues/pm-gpo7.toon), [pm-m3nl](../.agents/pm/issues/pm-m3nl.toon), [pm-wwfd](../.agents/pm/issues/pm-wwfd.toon), and [pm-xdn6](../.agents/pm/issues/pm-xdn6.toon). Fence-coverage completeness and drift detection are tracked by [pm-i4fx](../.agents/pm/issues/pm-i4fx.toon); cross-branch id collision safety by [pm-pibw](../.agents/pm/issues/pm-pibw.toon); this repository's own adoption by [pm-iwsj](../.agents/pm/chores/pm-iwsj.toon).
4
+
5
+ pm stores project context as reviewable repository files. Concurrent agents can therefore use ordinary branches and worktrees, but tracker artifacts need semantic merge behavior: raw line merging cannot preserve TOON collection counts, JSON object structure, or append-only history hash chains.
6
+
7
+ ## Install the repository merge contract
8
+
9
+ Run this once per clone after `pm init`:
10
+
11
+ ```bash
12
+ pm merge install
13
+ git add .gitattributes
14
+ git commit -m "chore(pm): install tracker merge drivers"
15
+ ```
16
+
17
+ `pm merge install` writes an idempotent, fenced `.gitattributes` block and repository-local `git config` entries. The attributes are committed; the driver commands are clone-local, so every collaborator and fresh CI clone that performs merges must run the install command.
18
+
19
+ ### Fence coverage contract
20
+
21
+ The fenced block is generated by one shared coverage contract (`buildMergeAttributePatterns`) covering every mergeable artifact class: per-type item folders (`*.toon`/`*.md`), all tracker `**/*.jsonl` paths under the relationship-event driver with the more-specific `history/*.jsonl` rule overriding history streams, `settings.json`, and `schema/*.json`. The broad JSONL rule is required because `RelationshipEventStore` supports package-owned custom relative paths anywhere below the tracker root. Two mechanisms keep the committed fence from drifting out of that contract:
22
+
23
+ - `pm schema add-type` / `pm schema remove-type` refresh the fence automatically when it is installed (warning `merge_fence_refreshed`); repos inside git that never installed it get the actionable `merge_fence_not_installed` hint instead.
24
+ - `pm validate` (the `storage_integrity` check) audits the committed fence against the active schema's type folders and reports `validate_merge_fence_drift` with the exact missing/stale attribute lines when they diverge — for example after editing type folders out-of-band. Rerun `pm merge install` and commit `.gitattributes` to clear it.
25
+
26
+ Preview without mutation:
27
+
28
+ ```bash
29
+ pm merge install --dry-run --json
30
+ ```
31
+
32
+ ## Artifact semantics
33
+
34
+ | Artifact | Driver | Merge behavior |
35
+ | -------------------------------- | ----------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
36
+ | Item `.toon` / `.md` | `pm-item-toon` / `pm-item-markdown` | Three-way field merge; format-specific drivers avoid passing the repository path through Git's shell command, append-like collections use set union, `updated_at` uses latest timestamp, and canonical serialization recomputes TOON counts. |
37
+ | `history/*.jsonl` | `pm-history` | Preserves the common prefix and both divergent suffixes, orders deterministically, then re-anchors the resulting hash chain. |
38
+ | tracker `**/*.jsonl` except the later `history/*.jsonl` override | `pm-relationship` | Covers default and package-owned custom relationship event paths, unions divergent suffixes by `eventId` (timestamp-ordered, ours-first on ties), and renumbers `sequence` consecutively so the strict-sequence store loader accepts the merged stream. |
39
+ | `settings.json`, `schema/*.json` | `pm-json` | Recursively merges objects per key; disjoint settings changes compose without a whole-file conflict. |
40
+
41
+ When both sides change the same scalar or JSON leaf differently, the driver writes a parseable preferred-side result but exits nonzero. Git keeps the path conflicted so a human or coordinating agent must review the losing value and explicitly `git add` the resolution. Use `--prefer theirs` only when that is the intended resolution policy.
42
+
43
+ The underlying public SDK exports are `mergeItemDocuments`, `mergeHistoryStreams`, `mergeRelationshipEventStreams`, `mergeJsonDocuments`, `runMergeDriver`, `runMergeInstall`, `refreshMergeAttributeFenceIfInstalled`, `buildMergeAttributePatterns`, and `auditMergeAttributeFence` from `@unbrained/pm-cli/sdk`. Hosts can embed the same semantics without shelling out.
44
+
45
+ ## Cross-branch id collision safety
46
+
47
+ Item ids are `<prefix>` plus random base36 characters, and uniqueness is only probed against the local working tree — two agents branching from the same commit can mint the same id for different items (GH-600 / pm-pibw). Two controls bound that risk:
48
+
49
+ - **Entropy budget** — `ids.token_length` in `settings.json` (default 4, accepted range 4–12) sets the random token length for newly minted ids. Approximate 1%-birthday-collision workloads per length: 4 chars ≈ 1.68M ids (~184 concurrent unsynced creations), 6 chars ≈ 2.18B (~6.6k), 8 chars ≈ 2.8T (~238k). Multi-agent repositories that fan out many branches between merges should raise it, e.g. `pm config project set ids_token_length 6`.
50
+ - **Post-merge detection** — the `storage_integrity` validate check reports `validate_storage_duplicate_item_ids` whenever one id is claimed by multiple item documents (across type folders or format variants), which is how a same-id/different-item merge materializes. Remediation: keep one document, recreate the other item under a fresh id (`pm copy` then delete the colliding file), and re-point any dependencies.
51
+
52
+ ## Required post-merge gate
53
+
54
+ After every branch merge that touches `.agents/pm`, run:
55
+
56
+ ```bash
57
+ pm validate --check-history-drift --strict-exit
58
+ pm history <item-id> --verify --strict-exit
59
+ ```
60
+
61
+ The default validation surface includes `storage_integrity`. It fails on unreadable item documents, history conflict markers, malformed history tails, live items whose latest history operation is `delete` (a delete/modify resurrection candidate), and unparseable settings/schema files. This prevents the ordinary tolerant read path from turning corruption into a green gate.
62
+
63
+ A history union can be structurally valid while replayed history and the chosen item document describe different effective state. In that case inspect both authors' events before reconciliation, then run the audited repair:
64
+
65
+ ```bash
66
+ pm history <item-id> --verify --strict-exit
67
+ pm history-repair <item-id> --dry-run
68
+ pm history-repair <item-id>
69
+ pm validate --check-history-drift --strict-exit
70
+ ```
71
+
72
+ `history-repair` records the reconciliation patch and surfaces discarded event authors/operations when the on-disk document would otherwise revert effective merged history. Re-apply any intended losing mutation as a normal `pm update` so it remains explicit and auditable.
73
+
74
+ ## Delete versus modify policy
75
+
76
+ A delete on one branch and an edit on another is not safely resolvable by a generic file driver. The merged workspace must not silently resurrect the item. `storage_integrity` reports the live document plus delete-terminated history as a hard finding. The coordinator chooses one policy explicitly:
77
+
78
+ - Honor deletion: remove the live item document, keep its append-only history, and commit the resolution.
79
+ - Honor modification: restore/recreate through pm so the history contains an explicit post-delete operation and rationale.
80
+
81
+ Never remove conflict markers manually while leaving the authoritative item and history semantically inconsistent.
82
+
83
+ ## Runtime receipts and retention
84
+
85
+ `transactions/` and `checkpoints/` are per-branch crash-recovery state, not shared project context. `pm init` places both below the resolved tracker root in the managed `.gitignore` block, including custom `--pm-path` roots.
86
+
87
+ Terminal SDK transaction journals use the same `checkpoints.retention_days` policy as rollback checkpoints. The default GC sweep includes both receipt classes:
88
+
89
+ ```bash
90
+ pm gc --dry-run
91
+ pm gc --scope transactions --dry-run
92
+ pm gc --scope transactions
93
+ ```
94
+
95
+ Only aged `committed` or `compensated` journals are removed. `applying`, `compensating`, unreadable, and unparseable journals are always retained so cleanup cannot destroy live recovery state.
96
+
97
+ ## Temporary-clone acceptance test
98
+
99
+ Before releasing merge-contract changes, validate the packed package in a temporary Git repository: initialize pm, install the merge contract, create one base item, branch twice, append disjoint metadata/history on both branches, merge, and run the strict validation commands above. Include a same-key conflict case and prove Git leaves it unresolved while the output remains parseable.
package/docs/README.md CHANGED
@@ -43,6 +43,7 @@ pm guide release --json
43
43
  - [Packages and Extensions](EXTENSIONS.md) - package install workflows, runtime extension lifecycle, and API reference.
44
44
  - [Extension Author Contracts](EXTENSION_AUTHOR_CONTRACTS.md) - the stability guarantees and contract surface package authors build against.
45
45
  - [SDK](SDK.md) - public import surfaces and typed authoring examples.
46
+ - [Multi-Branch Merge Safety](MERGE_SAFETY.md) - semantic tracker merge drivers, post-merge integrity gates, delete/modify policy, and recovery-receipt retention.
46
47
  - [Codex Plugin](CODEX_PLUGIN.md) - native MCP plugin install, tools, skills, and safety notes.
47
48
  - [Native ChatGPT and Codex Plugin Implementation Plan](CHATGPT_CODEX_PLUGIN_IMPLEMENTATION.md) - official-source
48
49
  research, current-state audit, target architectures, security, testing, and phased remediation plan.