@unbrained/pm-cli 2026.8.4 → 2026.8.5

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 (214) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +39 -13
  3. package/dist/cli/error-guidance.js +4 -4
  4. package/dist/cli/register-structured-mutation.d.ts +2 -0
  5. package/dist/cli/register-structured-mutation.js +124 -12
  6. package/dist/cli-bundle/bundle-manifest.json +407 -407
  7. package/dist/cli-bundle/chunks/append-VXXGOXSG.js +2 -0
  8. package/dist/cli-bundle/chunks/{chunk-QVO3VTA4.js → chunk-2WFXWAYX.js} +2 -2
  9. package/dist/cli-bundle/chunks/{chunk-NM5G7RLU.js → chunk-3FTILRJ2.js} +2 -2
  10. package/dist/cli-bundle/chunks/{chunk-VH2EAGUG.js → chunk-42E7YPLG.js} +2 -2
  11. package/dist/cli-bundle/chunks/{chunk-RB65T4RX.js → chunk-43HQQI6S.js} +2 -2
  12. package/dist/cli-bundle/chunks/{chunk-J4EPW4GT.js → chunk-45G53IU4.js} +2 -2
  13. package/dist/cli-bundle/chunks/{chunk-PQXEB7W4.js → chunk-4VN6GS4U.js} +2 -2
  14. package/dist/cli-bundle/chunks/chunk-4YUBDMQM.js +2 -0
  15. package/dist/cli-bundle/chunks/{chunk-D2MBVMVE.js → chunk-54FNT7U2.js} +2 -2
  16. package/dist/cli-bundle/chunks/{chunk-NRDKVOUE.js → chunk-5ZBOIPGP.js} +2 -2
  17. package/dist/cli-bundle/chunks/{chunk-3XZYTRPC.js → chunk-6MSQJOTG.js} +2 -2
  18. package/dist/cli-bundle/chunks/{chunk-GOICHIX4.js → chunk-7A5OT5J2.js} +2 -2
  19. package/dist/cli-bundle/chunks/{chunk-HTYC76A4.js → chunk-7C4PTJG6.js} +2 -2
  20. package/dist/cli-bundle/chunks/{chunk-BKMZTZYL.js → chunk-A62CYISG.js} +2 -2
  21. package/dist/cli-bundle/chunks/{chunk-5H47J5FG.js → chunk-BPELKUQD.js} +2 -2
  22. package/dist/cli-bundle/chunks/{chunk-HE3DZFN4.js → chunk-BXQLRKWF.js} +2 -2
  23. package/dist/cli-bundle/chunks/{chunk-BLINBTMX.js → chunk-CSI3WS5I.js} +2 -2
  24. package/dist/cli-bundle/chunks/{chunk-KH4GVBMC.js → chunk-DXDREUXT.js} +2 -2
  25. package/dist/cli-bundle/chunks/{chunk-KIKLF2W4.js → chunk-E2RKBKWB.js} +2 -2
  26. package/dist/cli-bundle/chunks/{chunk-377OOXUF.js → chunk-EGJ4JTUG.js} +2 -2
  27. package/dist/cli-bundle/chunks/{chunk-SULWTPQO.js → chunk-FPBQHMFT.js} +2 -2
  28. package/dist/cli-bundle/chunks/{chunk-V5K52PYW.js → chunk-GE4KCSZP.js} +35 -35
  29. package/dist/cli-bundle/chunks/{chunk-NPUJ7OLK.js → chunk-HNFD72UK.js} +2 -2
  30. package/dist/cli-bundle/chunks/{chunk-QMWUL66F.js → chunk-HWRRMBJO.js} +5 -5
  31. package/dist/cli-bundle/chunks/chunk-L3AZOELJ.js +2 -0
  32. package/dist/cli-bundle/chunks/{chunk-CGY5I2GO.js → chunk-LKDGK44W.js} +2 -2
  33. package/dist/cli-bundle/chunks/chunk-LN2WFEU4.js +2 -0
  34. package/dist/cli-bundle/chunks/{chunk-ZSH4GNBH.js → chunk-M72BKL5Q.js} +2 -2
  35. package/dist/cli-bundle/chunks/{chunk-HQ2WU7OY.js → chunk-MHK6LIWE.js} +2 -2
  36. package/dist/cli-bundle/chunks/{chunk-H6FITE7D.js → chunk-NE5VRDAI.js} +2 -2
  37. package/dist/cli-bundle/chunks/chunk-NY4T3JWN.js +2 -0
  38. package/dist/cli-bundle/chunks/{chunk-DCJ6CM6F.js → chunk-OMXVBQ2N.js} +2 -2
  39. package/dist/cli-bundle/chunks/chunk-OPVH7SKD.js +8 -0
  40. package/dist/cli-bundle/chunks/{chunk-CU5ENFNP.js → chunk-OTHLDSFP.js} +2 -2
  41. package/dist/cli-bundle/chunks/{chunk-NH35JNK5.js → chunk-PMXJEU3F.js} +2 -2
  42. package/dist/cli-bundle/chunks/{chunk-SVDH5CHC.js → chunk-Q35VBGOQ.js} +4 -4
  43. package/dist/cli-bundle/chunks/{chunk-5PZGZMPG.js → chunk-R546TPDE.js} +2 -2
  44. package/dist/cli-bundle/chunks/{chunk-Q5F6OI7C.js → chunk-RKAVWO3O.js} +2 -2
  45. package/dist/cli-bundle/chunks/{chunk-JMKVCQSE.js → chunk-SSF4PIUR.js} +2 -2
  46. package/dist/cli-bundle/chunks/{chunk-PA5XRN2A.js → chunk-UN66FZRO.js} +3 -3
  47. package/dist/cli-bundle/chunks/{chunk-FQ4EFFDU.js → chunk-UP7DTVMD.js} +2 -2
  48. package/dist/cli-bundle/chunks/{chunk-NFF3JAQR.js → chunk-UZBWIUYD.js} +2 -2
  49. package/dist/cli-bundle/chunks/{chunk-2POYGY53.js → chunk-V3774P7D.js} +2 -2
  50. package/dist/cli-bundle/chunks/{chunk-B5ZLCD5Z.js → chunk-V3EUXXOF.js} +2 -2
  51. package/dist/cli-bundle/chunks/{chunk-6S7I3UKV.js → chunk-VCKLFEUN.js} +19 -19
  52. package/dist/cli-bundle/chunks/{chunk-PYYPQLHC.js → chunk-VN5VITU3.js} +2 -2
  53. package/dist/cli-bundle/chunks/chunk-WRL4KNDL.js +20 -0
  54. package/dist/cli-bundle/chunks/{chunk-UJHUR3LZ.js → chunk-XCEZYMNI.js} +2 -2
  55. package/dist/cli-bundle/chunks/{chunk-JDPKBV5P.js → chunk-YEWNL576.js} +2 -2
  56. package/dist/cli-bundle/chunks/{chunk-OB7TRZ2G.js → chunk-YSO3YFZ4.js} +2 -2
  57. package/dist/cli-bundle/chunks/{chunk-UVZREFZU.js → chunk-ZYHOB3SN.js} +2 -2
  58. package/dist/cli-bundle/chunks/close-VZ3OQPN5.js +2 -0
  59. package/dist/cli-bundle/chunks/close-many-SB4TI27P.js +2 -0
  60. package/dist/cli-bundle/chunks/comments-BIF3Q4KY.js +2 -0
  61. package/dist/cli-bundle/chunks/copy-6AI5Z57X.js +2 -0
  62. package/dist/cli-bundle/chunks/{create-RLLCBCXM.js → create-XLKTXTUF.js} +2 -2
  63. package/dist/cli-bundle/chunks/delete-ZY2VHQTP.js +2 -0
  64. package/dist/cli-bundle/chunks/{deps-J4ONTF4X.js → deps-ITTY3GIC.js} +2 -2
  65. package/dist/cli-bundle/chunks/{docs-YL2DJ4WD.js → docs-W4OSRTYR.js} +2 -2
  66. package/dist/cli-bundle/chunks/{files-NGNAIYKK.js → files-EOK4AZI4.js} +2 -2
  67. package/dist/cli-bundle/chunks/focus-DLBNWL7L.js +2 -0
  68. package/dist/cli-bundle/chunks/{history-compact-HW62K5XP.js → history-compact-7UGTMLL3.js} +2 -2
  69. package/dist/cli-bundle/chunks/{history-redact-HVBKUJOW.js → history-redact-4DZRMD6Z.js} +2 -2
  70. package/dist/cli-bundle/chunks/{history-repair-OPNBH5JJ.js → history-repair-UPOSZW5R.js} +2 -2
  71. package/dist/cli-bundle/chunks/{learnings-F36PZXT6.js → learnings-GMRNCBS3.js} +2 -2
  72. package/dist/cli-bundle/chunks/{profile-N3XMWBM7.js → profile-2MUUMHRE.js} +2 -2
  73. package/dist/cli-bundle/chunks/{register-list-query-BKGHBI7Y.js → register-list-query-LR3SQ5ZF.js} +2 -2
  74. package/dist/cli-bundle/chunks/register-mutation-SUOHFVWM.js +20 -0
  75. package/dist/cli-bundle/chunks/register-operations-ARRRKOVN.js +2 -0
  76. package/dist/cli-bundle/chunks/{register-setup-KWV6UD77.js → register-setup-O6AYP6NP.js} +2 -2
  77. package/dist/cli-bundle/chunks/restore-ZVCVHTB5.js +2 -0
  78. package/dist/cli-bundle/chunks/{schema-4PJQMGUY.js → schema-FJ4EA3XF.js} +2 -2
  79. package/dist/cli-bundle/chunks/update-YHV52CSS.js +2 -0
  80. package/dist/cli-bundle/chunks/update-many-M6YHVNXM.js +2 -0
  81. package/dist/cli-bundle/focused-chunks/chunk-7J5TUBUJ.js +153 -0
  82. package/dist/cli-bundle/focused-chunks/{chunk-ONIX2KKW.js → chunk-A7BJ5SS6.js} +2 -2
  83. package/dist/cli-bundle/focused-chunks/chunk-B7LJWAZE.js +2 -0
  84. package/dist/cli-bundle/focused-chunks/{chunk-QM2BIVK7.js → chunk-BIMTMOS7.js} +3 -3
  85. package/dist/cli-bundle/focused-chunks/{chunk-BOGRY7M6.js → chunk-FGKY4MBE.js} +10 -10
  86. package/dist/cli-bundle/focused-chunks/chunk-G6ETT4QK.js +2 -0
  87. package/dist/cli-bundle/focused-chunks/{chunk-C2QSL62X.js → chunk-GJ2TG2CW.js} +2 -2
  88. package/dist/cli-bundle/focused-chunks/{chunk-RO5BQFG3.js → chunk-IPWSFADF.js} +2 -2
  89. package/dist/cli-bundle/focused-chunks/{chunk-UFCPSWIL.js → chunk-MJ7HWSFK.js} +2 -2
  90. package/dist/cli-bundle/focused-chunks/{chunk-2VIIXOAD.js → chunk-N5XU5UVK.js} +2 -2
  91. package/dist/cli-bundle/focused-chunks/chunk-PG2RIZBX.js +2 -0
  92. package/dist/cli-bundle/focused-chunks/{chunk-OYTK4VNH.js → chunk-PIMMYG7Q.js} +2 -2
  93. package/dist/cli-bundle/focused-chunks/{chunk-K37BB4JL.js → chunk-QVHKCI4T.js} +2 -2
  94. package/dist/cli-bundle/focused-chunks/{chunk-SQXVGHMH.js → chunk-RUR5I3TK.js} +2 -2
  95. package/dist/cli-bundle/focused-chunks/chunk-SV3O7TSH.js +8 -0
  96. package/dist/cli-bundle/focused-chunks/{chunk-L6A4NVQC.js → chunk-UIL2M2NA.js} +2 -2
  97. package/dist/cli-bundle/focused-chunks/{chunk-WVGJAD7L.js → chunk-VLYOEYML.js} +2 -2
  98. package/dist/cli-bundle/focused-chunks/chunk-W7BJEWHX.js +2 -0
  99. package/dist/cli-bundle/focused-chunks/{chunk-DQ4PLKEE.js → chunk-WEM2E2PE.js} +2 -2
  100. package/dist/cli-bundle/focused-chunks/chunk-WVIVUWVL.js +5 -0
  101. package/dist/cli-bundle/focused-chunks/chunk-Y4LDYLLT.js +2 -0
  102. package/dist/cli-bundle/main.js +4 -4
  103. package/dist/cli-bundle/sdk-authoring.js +1 -1
  104. package/dist/cli-bundle/sdk-contracts.js +1 -1
  105. package/dist/cli-bundle/sdk-core.js +28 -28
  106. package/dist/cli-bundle/sdk-governance.js +1 -1
  107. package/dist/cli-bundle/sdk-graph.js +1 -1
  108. package/dist/cli-bundle/sdk-merge.js +1 -1
  109. package/dist/cli-bundle/sdk-query.js +1 -1
  110. package/dist/cli-bundle/sdk-runtime.js +1 -1
  111. package/dist/cli-bundle/sdk-testing.js +1 -1
  112. package/dist/cli-bundle/sdk.js +1 -1
  113. package/dist/core/extensions/loader.js +5 -2
  114. package/dist/core/item/item-format.js +14 -20
  115. package/dist/core/shared/constants.js +3 -2
  116. package/dist/core/store/item-store.js +2 -2
  117. package/dist/core/store/settings.js +2 -2
  118. package/dist/mcp/server.js +12 -6
  119. package/dist/mcp/tool-definitions.js +14 -7
  120. package/dist/sdk/cli-contracts/agent-output-contracts.d.ts +18 -18
  121. package/dist/sdk/cli-contracts/agent-output-contracts.js +51 -23
  122. package/dist/sdk/cli-contracts/commander-mutation-options.js +26 -2
  123. package/dist/sdk/cli-contracts/flag-contracts.d.ts +2 -0
  124. package/dist/sdk/cli-contracts/flag-contracts.js +28 -2
  125. package/dist/sdk/cli-contracts/registration-helpers.js +4 -2
  126. package/dist/sdk/cli-contracts/runtime-contracts.d.ts +10 -2
  127. package/dist/sdk/cli-contracts/runtime-contracts.js +20 -5
  128. package/dist/sdk/cli-contracts/tool-schema.js +4 -2
  129. package/dist/sdk/cli-contracts.d.ts +2 -2
  130. package/dist/sdk/cli-contracts.js +4 -4
  131. package/dist/sdk/cli-program.js +3 -3
  132. package/dist/sdk/contracts.d.ts +1 -0
  133. package/dist/sdk/contracts.js +3 -2
  134. package/dist/sdk/dependency-provenance.d.ts +2 -0
  135. package/dist/sdk/dependency-provenance.js +7 -3
  136. package/dist/sdk/error-code-catalog.d.ts +23 -0
  137. package/dist/sdk/error-code-catalog.js +25 -5
  138. package/dist/sdk/generated-error-code-catalog.js +499 -3
  139. package/dist/sdk/graph/governance.js +3 -3
  140. package/dist/sdk/graph/remediation.js +3 -3
  141. package/dist/sdk/graph/run.js +4 -8
  142. package/dist/sdk/index.d.ts +2 -1
  143. package/dist/sdk/index.js +4 -3
  144. package/dist/sdk/item-transaction.d.ts +51 -6
  145. package/dist/sdk/item-transaction.js +132 -22
  146. package/dist/sdk/lifecycle/create.d.ts +4 -0
  147. package/dist/sdk/lifecycle/create.js +26 -10
  148. package/dist/sdk/lifecycle-policy.d.ts +9 -0
  149. package/dist/sdk/lifecycle-policy.js +22 -9
  150. package/dist/sdk/merge/driver.js +6 -3
  151. package/dist/sdk/output-contracts.d.ts +67 -0
  152. package/dist/sdk/output-contracts.js +173 -0
  153. package/dist/sdk/package-import-adapters.js +2 -2
  154. package/dist/sdk/structured-mutations.d.ts +23 -0
  155. package/dist/sdk/structured-mutations.js +219 -10
  156. package/dist/sdk/workspace-snapshot.js +58 -12
  157. package/dist/sdk/workspace.js +30 -4
  158. package/docs/COMMANDS.md +40 -10
  159. package/docs/EXTENSIONS.md +1 -1
  160. package/docs/MERGE_SAFETY.md +2 -0
  161. package/docs/PR_REVIEW_LOOP.md +10 -4
  162. package/docs/README.md +22 -22
  163. package/docs/RELEASING.md +3 -3
  164. package/docs/SCRIPTING.md +32 -9
  165. package/docs/SDK.md +91 -11
  166. package/docs/SELF_DESCRIBING_CONTEXT_CONTRACTS.md +13 -0
  167. package/docs/TESTING.md +25 -0
  168. package/docs/examples/sdk-contract-consumer/README.md +11 -1
  169. package/docs/examples/sdk-contract-consumer/package.json +2 -1
  170. package/docs/examples/sdk-contract-consumer/parse-receipt.mjs +22 -0
  171. package/marketplace.json +2 -2
  172. package/package.json +3 -2
  173. package/packages/pm-beads/package.json +1 -1
  174. package/packages/pm-calendar/package.json +1 -1
  175. package/packages/pm-command-kit/package.json +1 -1
  176. package/packages/pm-digital-twin/package.json +1 -1
  177. package/packages/pm-governance-audit/package.json +1 -1
  178. package/packages/pm-guide-shell/package.json +1 -1
  179. package/packages/pm-kanban/package.json +1 -1
  180. package/packages/pm-lifecycle-hooks/package.json +1 -1
  181. package/packages/pm-linked-test-adapters/package.json +1 -1
  182. package/packages/pm-search-advanced/package.json +1 -1
  183. package/packages/pm-templates/package.json +1 -1
  184. package/packages/pm-todos/package.json +1 -1
  185. package/packages/pm-vcs/package.json +1 -1
  186. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  187. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  188. package/sdk/public-surface.json +292 -14
  189. package/dist/cli-bundle/chunks/append-DHBRLHHS.js +0 -2
  190. package/dist/cli-bundle/chunks/chunk-2INN52SU.js +0 -8
  191. package/dist/cli-bundle/chunks/chunk-6RSK4IFN.js +0 -20
  192. package/dist/cli-bundle/chunks/chunk-ASJJKA57.js +0 -2
  193. package/dist/cli-bundle/chunks/chunk-IYAVULRN.js +0 -2
  194. package/dist/cli-bundle/chunks/chunk-RRQBHQOV.js +0 -2
  195. package/dist/cli-bundle/chunks/chunk-XBLOD5TZ.js +0 -2
  196. package/dist/cli-bundle/chunks/close-VLHNN6YB.js +0 -2
  197. package/dist/cli-bundle/chunks/close-many-LSJNZKU6.js +0 -2
  198. package/dist/cli-bundle/chunks/comments-AAIA6A6X.js +0 -2
  199. package/dist/cli-bundle/chunks/copy-Z7YMLEHN.js +0 -2
  200. package/dist/cli-bundle/chunks/delete-KNOHHQJM.js +0 -2
  201. package/dist/cli-bundle/chunks/focus-LFRCGALV.js +0 -2
  202. package/dist/cli-bundle/chunks/register-mutation-GU3DCECN.js +0 -20
  203. package/dist/cli-bundle/chunks/register-operations-PTWH727R.js +0 -2
  204. package/dist/cli-bundle/chunks/restore-4HZSLILR.js +0 -2
  205. package/dist/cli-bundle/chunks/update-E6LPS5IV.js +0 -2
  206. package/dist/cli-bundle/chunks/update-many-OSIC6KRO.js +0 -2
  207. package/dist/cli-bundle/focused-chunks/chunk-5MTKO7TV.js +0 -153
  208. package/dist/cli-bundle/focused-chunks/chunk-6GIZK7VQ.js +0 -2
  209. package/dist/cli-bundle/focused-chunks/chunk-AOP2WIZZ.js +0 -2
  210. package/dist/cli-bundle/focused-chunks/chunk-CL75YW32.js +0 -2
  211. package/dist/cli-bundle/focused-chunks/chunk-E7OFMWGT.js +0 -8
  212. package/dist/cli-bundle/focused-chunks/chunk-I5F5UK3Q.js +0 -2
  213. package/dist/cli-bundle/focused-chunks/chunk-T5TSY36R.js +0 -5
  214. package/dist/cli-bundle/focused-chunks/chunk-VT6BF2IX.js +0 -2
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "aggregate_completeness": {
3
- "covered_symbols": 1417,
3
+ "covered_symbols": 1432,
4
4
  "excluded": [
5
5
  {
6
6
  "name": "_testOnlyCliContracts",
@@ -8,7 +8,7 @@
8
8
  }
9
9
  ],
10
10
  "missing": [],
11
- "required_symbols": 1418
11
+ "required_symbols": 1433
12
12
  },
13
13
  "breaking_acknowledgements": [
14
14
  {
@@ -758,6 +758,38 @@
758
758
  ],
759
759
  "package_version": "2026.8.3",
760
760
  "reason": "Aggregate filter metadata now discloses multi-status OR selections through optional status_values while preserving status compatibility"
761
+ },
762
+ {
763
+ "changes": [
764
+ "signature ./sdk:ContractsResult",
765
+ "signature ./sdk:PM_COMMAND_OUTPUT_BUDGET_CONTRACTS",
766
+ "signature ./sdk:PmCommandOutputBudgetContract",
767
+ "signature ./sdk:PmErrorCodeContract",
768
+ "signature ./sdk:resolvePmCommandOutputBudget",
769
+ "signature ./sdk/contracts:PM_COMMAND_OUTPUT_BUDGET_CONTRACTS",
770
+ "signature ./sdk/contracts:PmCommandOutputBudgetContract",
771
+ "signature ./sdk/contracts:PmErrorCodeContract",
772
+ "signature ./sdk/contracts:resolvePmCommandOutputBudget",
773
+ "signature ./sdk/runtime:ContractsResult",
774
+ "signature ./sdk/runtime:PmErrorCodeContract"
775
+ ],
776
+ "package_version": "2026.8.4",
777
+ "reason": "Output contracts now expose format-aware budgets, envelope families, and classified error metadata; existing call forms and runtime fields remain compatible."
778
+ },
779
+ {
780
+ "changes": [
781
+ "signature ./sdk:parseMutationReceipt",
782
+ "signature ./sdk/contracts:parseMutationReceipt"
783
+ ],
784
+ "package_version": "2026.8.4",
785
+ "reason": "PR 895 pre-merge correction: expose explicit string JSON and decoded unknown mutation-receipt overloads before the new API is released."
786
+ },
787
+ {
788
+ "changes": [
789
+ "signature ./sdk:BulkItemMutation"
790
+ ],
791
+ "package_version": "2026.8.4",
792
+ "reason": "Add the release mutation variant required for atomic evidence-close-release completion; exhaustive BulkItemMutation consumers must handle release"
761
793
  }
762
794
  ],
763
795
  "entrypoints": {
@@ -1718,6 +1750,12 @@
1718
1750
  "name": "buildItemChildrenRollup",
1719
1751
  "signature": "(parentId: string, corpus: Iterable<ItemMetadata>, statusRegistry: RuntimeStatusRegistry, sampleLimit?: number) => ChildRollupContext | calls: (parentId: string, corpus: Iterable<ItemMetadata>, statusRegistry: RuntimeStatusRegistry, sampleLimit?: number) => ChildRollupContext"
1720
1752
  },
1753
+ {
1754
+ "classification": "advanced_export",
1755
+ "kind": "function",
1756
+ "name": "buildItemCompletionMutations",
1757
+ "signature": "(options: Pick<CommitItemCompletionOptions, \"closeOptions\" | \"evidence\" | \"id\" | \"reason\" | \"releaseOptions\">) => BulkItemMutation[] | calls: (options: Pick<CommitItemCompletionOptions, \"id\" | \"reason\" | \"evidence\" | \"closeOptions\" | \"releaseOptions\">) => BulkItemMutation[]"
1758
+ },
1721
1759
  {
1722
1760
  "classification": "supported",
1723
1761
  "kind": "function",
@@ -1842,7 +1880,7 @@
1842
1880
  "classification": "advanced_export",
1843
1881
  "kind": "type",
1844
1882
  "name": "BulkItemMutation",
1845
- "signature": "export type BulkItemMutation = BulkItemCreateMutation | BulkItemUpdateMutation | BulkItemCloseMutation;"
1883
+ "signature": "export type BulkItemMutation = BulkItemCreateMutation | BulkItemUpdateMutation | BulkItemCloseMutation | BulkItemReleaseMutation;"
1846
1884
  },
1847
1885
  {
1848
1886
  "classification": "advanced_export",
@@ -1850,6 +1888,12 @@
1850
1888
  "name": "BulkItemMutationOutcome",
1851
1889
  "signature": "export interface BulkItemMutationOutcome { id: string; op: BulkItemMutation[\"op\"]; }"
1852
1890
  },
1891
+ {
1892
+ "classification": "advanced_export",
1893
+ "kind": "interface",
1894
+ "name": "BulkItemReleaseMutation",
1895
+ "signature": "export interface BulkItemReleaseMutation { op: \"release\"; id: string; options?: PmClientFullMutationOptions; }"
1896
+ },
1853
1897
  {
1854
1898
  "classification": "advanced_export",
1855
1899
  "kind": "interface",
@@ -2324,6 +2368,18 @@
2324
2368
  "name": "CommitImportedItemResult",
2325
2369
  "signature": "export type CommitImportedItemResult = { committed: true; writeWarnings: string[]; } | { committed: false; conflictWarning: string; };"
2326
2370
  },
2371
+ {
2372
+ "classification": "advanced_export",
2373
+ "kind": "function",
2374
+ "name": "commitItemCompletion",
2375
+ "signature": "(options: CommitItemCompletionOptions) => Promise<CommitItemMutationsResult> | calls: (options: CommitItemCompletionOptions) => Promise<CommitItemMutationsResult>"
2376
+ },
2377
+ {
2378
+ "classification": "advanced_export",
2379
+ "kind": "interface",
2380
+ "name": "CommitItemCompletionOptions",
2381
+ "signature": "export interface CommitItemCompletionOptions { pmRoot: string; transactionId: string; author: string; id: string; reason: string; evidence?: PmClientFullMutationOptions; closeOptions?: PmClientFullMutationOptions; releaseOptions?: PmClientFullMutationOptions; lockTtlSeconds?: number; lockWaitMs?: number; onTransition?: CommitWorkspaceTransactionOptions[\"onTransition\"]; }"
2382
+ },
2327
2383
  {
2328
2384
  "classification": "advanced_export",
2329
2385
  "kind": "function",
@@ -2874,7 +2930,7 @@
2874
2930
  "classification": "advanced_export",
2875
2931
  "kind": "interface",
2876
2932
  "name": "ContractsResult",
2877
- "signature": "export interface ContractsResult { schema_version: string | null; schema_id: string | null; selected: { action: string | null; command: string | null; summary: boolean; schema_only: boolean; flags_only: boolean; availability_only: boolean; runtime_only: boolean; command_scoped: boolean; }; actions?: string[]; action_availability?: ContractsActionAvailability[]; commands: string[]; schema?: Record<string, unknown>; schema_omitted_reason?: string; command_flags_omitted_reason?: string; commander_aliases_omitted_reason?: string; command_flags?: CommandFlagSurface[]; list_projections?: ListCommandProjectionSurface[]; command_aliases?: CommandAliasSurface[]; commander_aliases?: Record<string, CommanderOptionAliasContract[]>; extension_commands?: ExtensionCommandContract[]; command_summaries?: CommandSummarySurface[]; output_policy?: { token_estimate: \"ceil(utf8_bytes / 4)\"; degradation_ladder: string[]; allows_unbounded_opt_out: boolean; }; runtime_schema?: { statuses: string[]; open_status: string; close_status: string; canceled_status: string; types: string[]; fields_by_command: Record<string, string[]>; }; extension_contracts?: { capabilities: string[]; services: string[]; policy_modes: string[]; policy_mode_scope: \"extensions.policy.mode\"; policy_surfaces: string[]; trust_modes: string[]; trust_mode_scope: \"extensions.policy.trust_mode\"; sandbox_profiles: string[]; manifest_versions: number[]; compatibility: { current: string; previous: string[]; breaking_strategy: string; }; }; governance_contracts?: { ownership_enforcement_modes: string[]; create_modes: string[]; close_validation_modes: string[]; workflow_enforcement_modes: string[]; }; mcp_tools?: McpToolContract[]; context_intents?: readonly PmContextIntentContract[]; read_output_dimensions?: readonly PmReadOutputSurfaceContract[]; error_codes?: readonly PmErrorCodeContract[]; }"
2933
+ "signature": "export interface ContractsResult { schema_version: string | null; schema_id: string | null; selected: { action: string | null; command: string | null; summary: boolean; schema_only: boolean; flags_only: boolean; availability_only: boolean; runtime_only: boolean; command_scoped: boolean; }; actions?: string[]; action_availability?: ContractsActionAvailability[]; commands: string[]; schema?: Record<string, unknown>; schema_omitted_reason?: string; command_flags_omitted_reason?: string; commander_aliases_omitted_reason?: string; command_flags?: CommandFlagSurface[]; list_projections?: ListCommandProjectionSurface[]; command_aliases?: CommandAliasSurface[]; commander_aliases?: Record<string, CommanderOptionAliasContract[]>; extension_commands?: ExtensionCommandContract[]; command_summaries?: CommandSummarySurface[]; output_policy?: { token_estimate: \"ceil(utf8_bytes / 4)\"; degradation_ladder: string[]; allows_unbounded_opt_out: boolean; }; runtime_schema?: { statuses: string[]; open_status: string; close_status: string; canceled_status: string; types: string[]; fields_by_command: Record<string, string[]>; }; extension_contracts?: { capabilities: string[]; services: string[]; policy_modes: string[]; policy_mode_scope: \"extensions.policy.mode\"; policy_surfaces: string[]; trust_modes: string[]; trust_mode_scope: \"extensions.policy.trust_mode\"; sandbox_profiles: string[]; manifest_versions: number[]; compatibility: { current: string; previous: string[]; breaking_strategy: string; }; }; governance_contracts?: { ownership_enforcement_modes: string[]; create_modes: string[]; close_validation_modes: string[]; workflow_enforcement_modes: string[]; }; mcp_tools?: McpToolContract[]; context_intents?: readonly PmContextIntentContract[]; read_output_dimensions?: readonly PmReadOutputSurfaceContract[]; error_codes?: readonly PmErrorCodeContract[]; command_output_contracts?: Array<{ budget: PmCommandOutputBudgetContract; envelope: PmCommandOutputEnvelopeContract; }>; }"
2878
2934
  },
2879
2935
  {
2880
2936
  "classification": "supported",
@@ -3062,6 +3118,12 @@
3062
3118
  "name": "createPmCliProgram",
3063
3119
  "signature": "(version: string) => Command | calls: (version: string) => Command"
3064
3120
  },
3121
+ {
3122
+ "classification": "contract_data",
3123
+ "kind": "function",
3124
+ "name": "createPmCommandOutputBudget",
3125
+ "signature": "(command: string, budgetClass?: PmOutputBudgetClass) => PmCommandOutputBudgetContract | calls: (command: string, budgetClass?: PmOutputBudgetClass) => PmCommandOutputBudgetContract"
3126
+ },
3065
3127
  {
3066
3128
  "classification": "supported",
3067
3129
  "kind": "function",
@@ -3362,6 +3424,12 @@
3362
3424
  "name": "definePmCommandOutputBudget",
3363
3425
  "signature": "<TContract extends PmCommandOutputBudgetContract>(contract: TContract) => TContract | calls: <TContract extends PmCommandOutputBudgetContract>(contract: TContract) => TContract"
3364
3426
  },
3427
+ {
3428
+ "classification": "contract_data",
3429
+ "kind": "function",
3430
+ "name": "definePmCommandOutputEnvelope",
3431
+ "signature": "<TContract extends PmCommandOutputEnvelopeContract>(contract: TContract) => TContract | calls: <TContract extends PmCommandOutputEnvelopeContract>(contract: TContract) => TContract"
3432
+ },
3365
3433
  {
3366
3434
  "classification": "contract_data",
3367
3435
  "kind": "function",
@@ -4562,6 +4630,12 @@
4562
4630
  "name": "EXTERNAL_DEPENDENCY_SOURCE_KIND",
4563
4631
  "signature": "\"global\""
4564
4632
  },
4633
+ {
4634
+ "classification": "advanced_export",
4635
+ "kind": "value",
4636
+ "name": "EXTERNAL_DEPENDENCY_SOURCE_KIND_ALIAS",
4637
+ "signature": "\"external\""
4638
+ },
4565
4639
  {
4566
4640
  "classification": "advanced_export",
4567
4641
  "kind": "function",
@@ -5642,6 +5716,12 @@
5642
5716
  "name": "inferConsistentVectorDimension",
5643
5717
  "signature": "(vectors: readonly number[][], context: string) => number | calls: (vectors: readonly number[][], context: string) => number"
5644
5718
  },
5719
+ {
5720
+ "classification": "contract_data",
5721
+ "kind": "function",
5722
+ "name": "inferPmOutputBudgetClass",
5723
+ "signature": "(command: string) => PmOutputBudgetClass | calls: (command: string) => PmOutputBudgetClass"
5724
+ },
5645
5725
  {
5646
5726
  "classification": "advanced_export",
5647
5727
  "kind": "function",
@@ -5828,6 +5908,12 @@
5828
5908
  "name": "isPmExtensionServiceNameContract",
5829
5909
  "signature": "(value: string) => value is PmExtensionServiceNameContract | calls: (value: string) => value is PmExtensionServiceNameContract"
5830
5910
  },
5911
+ {
5912
+ "classification": "contract_data",
5913
+ "kind": "function",
5914
+ "name": "isPmMutationReceipt",
5915
+ "signature": "(value: unknown) => value is PmCliMutationReceipt | calls: (value: unknown) => value is PmCliMutationReceipt"
5916
+ },
5831
5917
  {
5832
5918
  "classification": "contract_data",
5833
5919
  "kind": "function",
@@ -5882,6 +5968,12 @@
5882
5968
  "name": "isTimestampLiteral",
5883
5969
  "signature": "(input: string) => boolean | calls: (input: string) => boolean"
5884
5970
  },
5971
+ {
5972
+ "classification": "contract_data",
5973
+ "kind": "value",
5974
+ "name": "ITEM_COMPLETE_FLAG_CONTRACTS",
5975
+ "signature": "CliFlagContract[]"
5976
+ },
5885
5977
  {
5886
5978
  "classification": "supported",
5887
5979
  "kind": "value",
@@ -7358,6 +7450,12 @@
7358
7450
  "name": "parseMultiValueFilter",
7359
7451
  "signature": "(raw: string | undefined, options: MultiValueFilterOptions) => string[] | undefined | calls: (raw: string | undefined, options: MultiValueFilterOptions) => string[] | undefined"
7360
7452
  },
7453
+ {
7454
+ "classification": "contract_data",
7455
+ "kind": "function",
7456
+ "name": "parseMutationReceipt",
7457
+ "signature": "{ (json: string): PmMutationReceipt; (value: unknown): PmMutationReceipt; } | calls: (json: string) => PmMutationReceipt ; (value: unknown) => PmMutationReceipt"
7458
+ },
7361
7459
  {
7362
7460
  "classification": "advanced_export",
7363
7461
  "kind": "function",
@@ -7650,7 +7748,13 @@
7650
7748
  "classification": "contract_data",
7651
7749
  "kind": "value",
7652
7750
  "name": "PM_COMMAND_OUTPUT_BUDGET_CONTRACTS",
7653
- "signature": "{ command: \"activity\" | \"aggregate\" | \"append\" | \"claim\" | \"close-many\" | \"close-task\" | \"close\" | \"comments\" | \"config\" | \"context\" | \"contracts\" | \"copy\" | \"create\" | \"ctx\" | \"delete\" | \"deps\" | \"docs\" | \"duplicates\" | \"eval\" | \"event\" | \"events\" | \"extension\" | \"files\" | \"focus\" | \"gc\" | \"get\" | \"graph\" | \"health\" | \"help\" | \"history-author-acknowledge\" | \"history-compact\" | \"history-redact\" | \"history-repair\" | \"history\" | \"init\" | \"install\" | \"item\" | \"learnings\" | \"list-all\" | \"list-blocked\" | \"list-canceled\" | \"list-closed\" | \"list-draft\" | \"list-in-progress\" | \"list-open\" | \"list\" | \"meet\" | \"merge\" | \"next\" | \"notes\" | \"package\" | \"packages\" | \"pause-task\" | \"plan\" | \"profile\" | \"release\" | \"remind\" | \"restore\" | \"schema\" | \"search\" | \"start-task\" | \"stats\" | \"telemetry\" | \"test-all\" | \"test\" | \"update-many\" | \"update\" | \"upgrade\" | \"validate\" | \"workspace\"; budget_class: \"discovery\" | \"governance\" | \"mutation\" | \"read\"; default_max_estimated_tokens: number; degradation_ladder: readonly [\"full\", \"compact\", \"brief\", \"summary\", \"counts\"]; allows_unbounded_opt_out: true; token_estimate: \"ceil(utf8_bytes / 4)\"; }[]"
7751
+ "signature": "PmCommandOutputBudgetContract[]"
7752
+ },
7753
+ {
7754
+ "classification": "contract_data",
7755
+ "kind": "value",
7756
+ "name": "PM_COMMAND_OUTPUT_ENVELOPE_CONTRACTS",
7757
+ "signature": "PmCommandOutputEnvelopeContract[]"
7654
7758
  },
7655
7759
  {
7656
7760
  "classification": "advanced_export",
@@ -7688,6 +7792,12 @@
7688
7792
  "name": "PM_ERROR_CODE_CATALOG",
7689
7793
  "signature": "readonly PmErrorCodeContract[]"
7690
7794
  },
7795
+ {
7796
+ "classification": "contract_data",
7797
+ "kind": "value",
7798
+ "name": "PM_ERROR_CODE_EXIT_CLASS_CONTRACTS",
7799
+ "signature": "readonly [{ readonly exit_code: 1; readonly class: \"generic_failure\"; }, { readonly exit_code: 2; readonly class: \"usage\"; }, { readonly exit_code: 3; readonly class: \"not_found\"; }, { readonly exit_code: 4; readonly class: \"conflict\"; }, { readonly exit_code: 5; readonly class: \"dependency_failed\"; }]"
7800
+ },
7691
7801
  {
7692
7802
  "classification": "contract_data",
7693
7803
  "kind": "value",
@@ -7796,6 +7906,12 @@
7796
7906
  "name": "PM_OUTPUT_DEGRADATION_STEPS",
7797
7907
  "signature": "readonly [\"full\", \"compact\", \"brief\", \"summary\", \"counts\"]"
7798
7908
  },
7909
+ {
7910
+ "classification": "contract_data",
7911
+ "kind": "value",
7912
+ "name": "PM_OUTPUT_ENVELOPE_KINDS",
7913
+ "signature": "readonly [\"mutation_receipt\", \"entity\", \"collection\", \"diagnostic\", \"stream\"]"
7914
+ },
7799
7915
  {
7800
7916
  "classification": "supported",
7801
7917
  "kind": "value",
@@ -8000,6 +8116,12 @@
8000
8116
  "name": "PmCliExpectedError",
8001
8117
  "signature": "export interface PmCliExpectedError extends Error { name: typeof PM_CLI_EXPECTED_ERROR_NAME; exitCode: number; context: PmCliErrorContext; cause?: unknown; }"
8002
8118
  },
8119
+ {
8120
+ "classification": "contract_data",
8121
+ "kind": "interface",
8122
+ "name": "PmCliMutationReceipt",
8123
+ "signature": "export interface PmCliMutationReceipt { id: string; status: string; changed_field_count: number; close_reason?: string; deleted?: boolean; previous_status?: string; warnings?: readonly unknown[]; }"
8124
+ },
8003
8125
  {
8004
8126
  "classification": "contract_data",
8005
8127
  "kind": "type",
@@ -8016,7 +8138,13 @@
8016
8138
  "classification": "contract_data",
8017
8139
  "kind": "interface",
8018
8140
  "name": "PmCommandOutputBudgetContract",
8019
- "signature": "export interface PmCommandOutputBudgetContract { command: (typeof PM_CORE_COMMAND_NAMES)[number]; budget_class: PmOutputBudgetClass; default_max_estimated_tokens: number; degradation_ladder: readonly PmOutputDegradationStep[]; allows_unbounded_opt_out: boolean; token_estimate: \"ceil(utf8_bytes / 4)\"; }"
8141
+ "signature": "export interface PmCommandOutputBudgetContract { command: string; budget_class: PmOutputBudgetClass; default_max_estimated_tokens: number; default_max_estimated_tokens_by_format: Readonly<{ toon: number; json: number; }>; degradation_ladder: readonly PmOutputDegradationStep[]; allows_unbounded_opt_out: boolean; token_estimate: \"ceil(utf8_bytes / 4)\"; }"
8142
+ },
8143
+ {
8144
+ "classification": "contract_data",
8145
+ "kind": "interface",
8146
+ "name": "PmCommandOutputEnvelopeContract",
8147
+ "signature": "export interface PmCommandOutputEnvelopeContract { command: string; kind: PmOutputEnvelopeKind; wrapper_key: string | null; cardinality: \"one\" | \"many\" | \"none\"; format_flag: \"--json\"; }"
8020
8148
  },
8021
8149
  {
8022
8150
  "classification": "advanced_export",
@@ -8078,11 +8206,17 @@
8078
8206
  "name": "PmCreateActionOptions",
8079
8207
  "signature": "export type PmCreateActionOptions = DeclaredProperties<CreateCommandOptions>;"
8080
8208
  },
8209
+ {
8210
+ "classification": "contract_data",
8211
+ "kind": "type",
8212
+ "name": "PmErrorCodeClass",
8213
+ "signature": "export type PmErrorCodeClass = \"generic_failure\" | \"usage\" | \"not_found\" | \"conflict\" | \"dependency_failed\";"
8214
+ },
8081
8215
  {
8082
8216
  "classification": "contract_data",
8083
8217
  "kind": "interface",
8084
8218
  "name": "PmErrorCodeContract",
8085
- "signature": "export interface PmErrorCodeContract { code: string; meaning: string; stability: PmErrorCodeStability; exit_code: 1 | 2 | 3 | 4 | 5; recovery: string; sources: string[]; }"
8219
+ "signature": "export interface PmErrorCodeContract { code: string; meaning: string; stability: PmErrorCodeStability; exit_code: 1 | 2 | 3 | 4 | 5; class: PmErrorCodeClass; recovery: string; sources: string[]; emitting_commands: string[]; }"
8086
8220
  },
8087
8221
  {
8088
8222
  "classification": "contract_data",
@@ -8156,6 +8290,12 @@
8156
8290
  "name": "PmMutationAttributionOptions",
8157
8291
  "signature": "export type PmMutationAttributionOptions = { author?: string; message?: string; force?: boolean; };"
8158
8292
  },
8293
+ {
8294
+ "classification": "contract_data",
8295
+ "kind": "interface",
8296
+ "name": "PmMutationReceipt",
8297
+ "signature": "export interface PmMutationReceipt { id: string; status: string; changedFieldCount: number; closeReason?: string; deleted?: boolean; previousStatus?: string; warnings?: readonly unknown[]; }"
8298
+ },
8159
8299
  {
8160
8300
  "classification": "contract_data",
8161
8301
  "kind": "type",
@@ -8174,6 +8314,12 @@
8174
8314
  "name": "PmOutputDegradationStep",
8175
8315
  "signature": "export type PmOutputDegradationStep = (typeof PM_OUTPUT_DEGRADATION_STEPS)[number];"
8176
8316
  },
8317
+ {
8318
+ "classification": "contract_data",
8319
+ "kind": "type",
8320
+ "name": "PmOutputEnvelopeKind",
8321
+ "signature": "export type PmOutputEnvelopeKind = (typeof PM_OUTPUT_ENVELOPE_KINDS)[number];"
8322
+ },
8177
8323
  {
8178
8324
  "classification": "contract_data",
8179
8325
  "kind": "interface",
@@ -9854,6 +10000,12 @@
9854
10000
  "name": "requireTerminalReason",
9855
10001
  "signature": "(input: TerminalReasonInput, required: boolean) => TerminalReasonResolution | calls: (input: TerminalReasonInput, required: boolean) => TerminalReasonResolution"
9856
10002
  },
10003
+ {
10004
+ "classification": "advanced_export",
10005
+ "kind": "function",
10006
+ "name": "requireTerminalReasonWithRecovery",
10007
+ "signature": "(input: TerminalReasonInput, required: boolean, recovery: TerminalReasonRecoveryContext) => TerminalReasonResolution | calls: (input: TerminalReasonInput, required: boolean, recovery: TerminalReasonRecoveryContext) => TerminalReasonResolution"
10008
+ },
9857
10009
  {
9858
10010
  "classification": "supported",
9859
10011
  "kind": "value",
@@ -9992,6 +10144,12 @@
9992
10144
  "name": "ResolvedCompletionTimestamp",
9993
10145
  "signature": "export interface ResolvedCompletionTimestamp { resolved: true; timestamp: string; source: CompletionTimestampSource; fallback: boolean; }"
9994
10146
  },
10147
+ {
10148
+ "classification": "advanced_export",
10149
+ "kind": "interface",
10150
+ "name": "ResolvedItemMutationDocument",
10151
+ "signature": "export interface ResolvedItemMutationDocument { schema_version: 1; mutations: BulkItemMutation[]; references: Record<string, string>; }"
10152
+ },
9995
10153
  {
9996
10154
  "classification": "advanced_export",
9997
10155
  "kind": "interface",
@@ -10070,6 +10228,18 @@
10070
10228
  "name": "resolveItemBlockers",
10071
10229
  "signature": "(item: Pick<ItemMetadata, \"blocked_by\" | \"dependencies\">, itemsById: Map<string, ItemMetadata>, statusRegistry: RuntimeStatusRegistry) => ResolvedBlocker[] | calls: (item: Pick<ItemMetadata, \"blocked_by\" | \"dependencies\">, itemsById: Map<string, ItemMetadata>, statusRegistry: RuntimeStatusRegistry) => ResolvedBlocker[]"
10072
10230
  },
10231
+ {
10232
+ "classification": "advanced_export",
10233
+ "kind": "function",
10234
+ "name": "resolveItemMutationDocument",
10235
+ "signature": "(input: string, options: ResolveItemMutationDocumentOptions) => ResolvedItemMutationDocument | calls: (input: string, options: ResolveItemMutationDocumentOptions) => ResolvedItemMutationDocument"
10236
+ },
10237
+ {
10238
+ "classification": "advanced_export",
10239
+ "kind": "interface",
10240
+ "name": "ResolveItemMutationDocumentOptions",
10241
+ "signature": "export interface ResolveItemMutationDocumentOptions { transactionId: string; idPrefix: string; }"
10242
+ },
10073
10243
  {
10074
10244
  "classification": "advanced_export",
10075
10245
  "kind": "function",
@@ -10122,7 +10292,13 @@
10122
10292
  "classification": "contract_data",
10123
10293
  "kind": "function",
10124
10294
  "name": "resolvePmCommandOutputBudget",
10125
- "signature": "(command: string) => PmCommandOutputBudgetContract | null | calls: (command: string) => PmCommandOutputBudgetContract | null"
10295
+ "signature": "{ (command: string, options: { generateFallback: true; }): PmCommandOutputBudgetContract; (command: string, options?: { generateFallback?: false; }): PmCommandOutputBudgetContract | null; } | calls: (command: string, options: { generateFallback: true; }) => PmCommandOutputBudgetContract ; (command: string, options?: { generateFallback?: false; }) => PmCommandOutputBudgetContract | null"
10296
+ },
10297
+ {
10298
+ "classification": "contract_data",
10299
+ "kind": "function",
10300
+ "name": "resolvePmCommandOutputEnvelope",
10301
+ "signature": "(command: string) => PmCommandOutputEnvelopeContract | calls: (command: string) => PmCommandOutputEnvelopeContract"
10126
10302
  },
10127
10303
  {
10128
10304
  "classification": "advanced_export",
@@ -12326,6 +12502,12 @@
12326
12502
  "name": "TerminalReasonInput",
12327
12503
  "signature": "export interface TerminalReasonInput { explicit?: string; duplicateOf?: string; resolution?: string; message?: string; }"
12328
12504
  },
12505
+ {
12506
+ "classification": "advanced_export",
12507
+ "kind": "interface",
12508
+ "name": "TerminalReasonRecoveryContext",
12509
+ "signature": "export interface TerminalReasonRecoveryContext { operation: \"close\" | \"create\"; status?: string; }"
12510
+ },
12329
12511
  {
12330
12512
  "classification": "advanced_export",
12331
12513
  "kind": "interface",
@@ -14924,6 +15106,12 @@
14924
15106
  "name": "CREATE_FLAG_CONTRACTS",
14925
15107
  "signature": "CliFlagContract[]"
14926
15108
  },
15109
+ {
15110
+ "classification": "contract_data",
15111
+ "kind": "function",
15112
+ "name": "createPmCommandOutputBudget",
15113
+ "signature": "(command: string, budgetClass?: PmOutputBudgetClass) => PmCommandOutputBudgetContract | calls: (command: string, budgetClass?: PmOutputBudgetClass) => PmCommandOutputBudgetContract"
15114
+ },
14927
15115
  {
14928
15116
  "classification": "contract_data",
14929
15117
  "kind": "function",
@@ -14936,6 +15124,12 @@
14936
15124
  "name": "definePmCommandOutputBudget",
14937
15125
  "signature": "<TContract extends PmCommandOutputBudgetContract>(contract: TContract) => TContract | calls: <TContract extends PmCommandOutputBudgetContract>(contract: TContract) => TContract"
14938
15126
  },
15127
+ {
15128
+ "classification": "contract_data",
15129
+ "kind": "function",
15130
+ "name": "definePmCommandOutputEnvelope",
15131
+ "signature": "<TContract extends PmCommandOutputEnvelopeContract>(contract: TContract) => TContract | calls: <TContract extends PmCommandOutputEnvelopeContract>(contract: TContract) => TContract"
15132
+ },
14939
15133
  {
14940
15134
  "classification": "contract_data",
14941
15135
  "kind": "function",
@@ -15188,6 +15382,12 @@
15188
15382
  "name": "HISTORY_REPAIR_FLAG_CONTRACTS",
15189
15383
  "signature": "CliFlagContract[]"
15190
15384
  },
15385
+ {
15386
+ "classification": "contract_data",
15387
+ "kind": "function",
15388
+ "name": "inferPmOutputBudgetClass",
15389
+ "signature": "(command: string) => PmOutputBudgetClass | calls: (command: string) => PmOutputBudgetClass"
15390
+ },
15191
15391
  {
15192
15392
  "classification": "contract_data",
15193
15393
  "kind": "value",
@@ -15224,6 +15424,12 @@
15224
15424
  "name": "isPmExtensionServiceNameContract",
15225
15425
  "signature": "(value: string) => value is PmExtensionServiceNameContract | calls: (value: string) => value is PmExtensionServiceNameContract"
15226
15426
  },
15427
+ {
15428
+ "classification": "contract_data",
15429
+ "kind": "function",
15430
+ "name": "isPmMutationReceipt",
15431
+ "signature": "(value: unknown) => value is PmCliMutationReceipt | calls: (value: unknown) => value is PmCliMutationReceipt"
15432
+ },
15227
15433
  {
15228
15434
  "classification": "contract_data",
15229
15435
  "kind": "function",
@@ -15236,6 +15442,12 @@
15236
15442
  "name": "isReadOutputBudgetExceeded",
15237
15443
  "signature": "(result: unknown) => result is PmReadOutputBudgetExceeded | calls: (result: unknown) => result is PmReadOutputBudgetExceeded"
15238
15444
  },
15445
+ {
15446
+ "classification": "contract_data",
15447
+ "kind": "value",
15448
+ "name": "ITEM_COMPLETE_FLAG_CONTRACTS",
15449
+ "signature": "CliFlagContract[]"
15450
+ },
15239
15451
  {
15240
15452
  "classification": "contract_data",
15241
15453
  "kind": "value",
@@ -15308,6 +15520,12 @@
15308
15520
  "name": "PACKAGE_INIT_FLAG_CONTRACTS",
15309
15521
  "signature": "CliFlagContract[]"
15310
15522
  },
15523
+ {
15524
+ "classification": "contract_data",
15525
+ "kind": "function",
15526
+ "name": "parseMutationReceipt",
15527
+ "signature": "{ (json: string): PmMutationReceipt; (value: unknown): PmMutationReceipt; } | calls: (json: string) => PmMutationReceipt ; (value: unknown) => PmMutationReceipt"
15528
+ },
15311
15529
  {
15312
15530
  "classification": "contract_data",
15313
15531
  "kind": "value",
@@ -15336,7 +15554,13 @@
15336
15554
  "classification": "contract_data",
15337
15555
  "kind": "value",
15338
15556
  "name": "PM_COMMAND_OUTPUT_BUDGET_CONTRACTS",
15339
- "signature": "{ command: \"activity\" | \"aggregate\" | \"append\" | \"claim\" | \"close-many\" | \"close-task\" | \"close\" | \"comments\" | \"config\" | \"context\" | \"contracts\" | \"copy\" | \"create\" | \"ctx\" | \"delete\" | \"deps\" | \"docs\" | \"duplicates\" | \"eval\" | \"event\" | \"events\" | \"extension\" | \"files\" | \"focus\" | \"gc\" | \"get\" | \"graph\" | \"health\" | \"help\" | \"history-author-acknowledge\" | \"history-compact\" | \"history-redact\" | \"history-repair\" | \"history\" | \"init\" | \"install\" | \"item\" | \"learnings\" | \"list-all\" | \"list-blocked\" | \"list-canceled\" | \"list-closed\" | \"list-draft\" | \"list-in-progress\" | \"list-open\" | \"list\" | \"meet\" | \"merge\" | \"next\" | \"notes\" | \"package\" | \"packages\" | \"pause-task\" | \"plan\" | \"profile\" | \"release\" | \"remind\" | \"restore\" | \"schema\" | \"search\" | \"start-task\" | \"stats\" | \"telemetry\" | \"test-all\" | \"test\" | \"update-many\" | \"update\" | \"upgrade\" | \"validate\" | \"workspace\"; budget_class: \"discovery\" | \"governance\" | \"mutation\" | \"read\"; default_max_estimated_tokens: number; degradation_ladder: readonly [\"full\", \"compact\", \"brief\", \"summary\", \"counts\"]; allows_unbounded_opt_out: true; token_estimate: \"ceil(utf8_bytes / 4)\"; }[]"
15557
+ "signature": "PmCommandOutputBudgetContract[]"
15558
+ },
15559
+ {
15560
+ "classification": "contract_data",
15561
+ "kind": "value",
15562
+ "name": "PM_COMMAND_OUTPUT_ENVELOPE_CONTRACTS",
15563
+ "signature": "PmCommandOutputEnvelopeContract[]"
15340
15564
  },
15341
15565
  {
15342
15566
  "classification": "contract_data",
@@ -15356,6 +15580,12 @@
15356
15580
  "name": "PM_ERROR_CODE_CATALOG",
15357
15581
  "signature": "readonly PmErrorCodeContract[]"
15358
15582
  },
15583
+ {
15584
+ "classification": "contract_data",
15585
+ "kind": "value",
15586
+ "name": "PM_ERROR_CODE_EXIT_CLASS_CONTRACTS",
15587
+ "signature": "readonly [{ readonly exit_code: 1; readonly class: \"generic_failure\"; }, { readonly exit_code: 2; readonly class: \"usage\"; }, { readonly exit_code: 3; readonly class: \"not_found\"; }, { readonly exit_code: 4; readonly class: \"conflict\"; }, { readonly exit_code: 5; readonly class: \"dependency_failed\"; }]"
15588
+ },
15359
15589
  {
15360
15590
  "classification": "contract_data",
15361
15591
  "kind": "value",
@@ -15410,6 +15640,12 @@
15410
15640
  "name": "PM_OUTPUT_DEGRADATION_STEPS",
15411
15641
  "signature": "readonly [\"full\", \"compact\", \"brief\", \"summary\", \"counts\"]"
15412
15642
  },
15643
+ {
15644
+ "classification": "contract_data",
15645
+ "kind": "value",
15646
+ "name": "PM_OUTPUT_ENVELOPE_KINDS",
15647
+ "signature": "readonly [\"mutation_receipt\", \"entity\", \"collection\", \"diagnostic\", \"stream\"]"
15648
+ },
15413
15649
  {
15414
15650
  "classification": "contract_data",
15415
15651
  "kind": "value",
@@ -15506,6 +15742,12 @@
15506
15742
  "name": "PmBulkMutationFilterOptions",
15507
15743
  "signature": "export type PmBulkMutationFilterOptions = OptionsFromContracts<typeof TOOL_BULK_MUTATION_FILTER_OPTION_CONTRACT_SOURCE>;"
15508
15744
  },
15745
+ {
15746
+ "classification": "contract_data",
15747
+ "kind": "interface",
15748
+ "name": "PmCliMutationReceipt",
15749
+ "signature": "export interface PmCliMutationReceipt { id: string; status: string; changed_field_count: number; close_reason?: string; deleted?: boolean; previous_status?: string; warnings?: readonly unknown[]; }"
15750
+ },
15509
15751
  {
15510
15752
  "classification": "contract_data",
15511
15753
  "kind": "type",
@@ -15522,7 +15764,13 @@
15522
15764
  "classification": "contract_data",
15523
15765
  "kind": "interface",
15524
15766
  "name": "PmCommandOutputBudgetContract",
15525
- "signature": "export interface PmCommandOutputBudgetContract { command: (typeof PM_CORE_COMMAND_NAMES)[number]; budget_class: PmOutputBudgetClass; default_max_estimated_tokens: number; degradation_ladder: readonly PmOutputDegradationStep[]; allows_unbounded_opt_out: boolean; token_estimate: \"ceil(utf8_bytes / 4)\"; }"
15767
+ "signature": "export interface PmCommandOutputBudgetContract { command: string; budget_class: PmOutputBudgetClass; default_max_estimated_tokens: number; default_max_estimated_tokens_by_format: Readonly<{ toon: number; json: number; }>; degradation_ladder: readonly PmOutputDegradationStep[]; allows_unbounded_opt_out: boolean; token_estimate: \"ceil(utf8_bytes / 4)\"; }"
15768
+ },
15769
+ {
15770
+ "classification": "contract_data",
15771
+ "kind": "interface",
15772
+ "name": "PmCommandOutputEnvelopeContract",
15773
+ "signature": "export interface PmCommandOutputEnvelopeContract { command: string; kind: PmOutputEnvelopeKind; wrapper_key: string | null; cardinality: \"one\" | \"many\" | \"none\"; format_flag: \"--json\"; }"
15526
15774
  },
15527
15775
  {
15528
15776
  "classification": "contract_data",
@@ -15560,11 +15808,17 @@
15560
15808
  "name": "PmCreateActionOptions",
15561
15809
  "signature": "export type PmCreateActionOptions = DeclaredProperties<CreateCommandOptions>;"
15562
15810
  },
15811
+ {
15812
+ "classification": "contract_data",
15813
+ "kind": "type",
15814
+ "name": "PmErrorCodeClass",
15815
+ "signature": "export type PmErrorCodeClass = \"generic_failure\" | \"usage\" | \"not_found\" | \"conflict\" | \"dependency_failed\";"
15816
+ },
15563
15817
  {
15564
15818
  "classification": "contract_data",
15565
15819
  "kind": "interface",
15566
15820
  "name": "PmErrorCodeContract",
15567
- "signature": "export interface PmErrorCodeContract { code: string; meaning: string; stability: PmErrorCodeStability; exit_code: 1 | 2 | 3 | 4 | 5; recovery: string; sources: string[]; }"
15821
+ "signature": "export interface PmErrorCodeContract { code: string; meaning: string; stability: PmErrorCodeStability; exit_code: 1 | 2 | 3 | 4 | 5; class: PmErrorCodeClass; recovery: string; sources: string[]; emitting_commands: string[]; }"
15568
15822
  },
15569
15823
  {
15570
15824
  "classification": "contract_data",
@@ -15614,6 +15868,12 @@
15614
15868
  "name": "PmMutationAttributionOptions",
15615
15869
  "signature": "export type PmMutationAttributionOptions = { author?: string; message?: string; force?: boolean; };"
15616
15870
  },
15871
+ {
15872
+ "classification": "contract_data",
15873
+ "kind": "interface",
15874
+ "name": "PmMutationReceipt",
15875
+ "signature": "export interface PmMutationReceipt { id: string; status: string; changedFieldCount: number; closeReason?: string; deleted?: boolean; previousStatus?: string; warnings?: readonly unknown[]; }"
15876
+ },
15617
15877
  {
15618
15878
  "classification": "contract_data",
15619
15879
  "kind": "type",
@@ -15632,6 +15892,12 @@
15632
15892
  "name": "PmOutputDegradationStep",
15633
15893
  "signature": "export type PmOutputDegradationStep = (typeof PM_OUTPUT_DEGRADATION_STEPS)[number];"
15634
15894
  },
15895
+ {
15896
+ "classification": "contract_data",
15897
+ "kind": "type",
15898
+ "name": "PmOutputEnvelopeKind",
15899
+ "signature": "export type PmOutputEnvelopeKind = (typeof PM_OUTPUT_ENVELOPE_KINDS)[number];"
15900
+ },
15635
15901
  {
15636
15902
  "classification": "contract_data",
15637
15903
  "kind": "interface",
@@ -15810,7 +16076,13 @@
15810
16076
  "classification": "contract_data",
15811
16077
  "kind": "function",
15812
16078
  "name": "resolvePmCommandOutputBudget",
15813
- "signature": "(command: string) => PmCommandOutputBudgetContract | null | calls: (command: string) => PmCommandOutputBudgetContract | null"
16079
+ "signature": "{ (command: string, options: { generateFallback: true; }): PmCommandOutputBudgetContract; (command: string, options?: { generateFallback?: false; }): PmCommandOutputBudgetContract | null; } | calls: (command: string, options: { generateFallback: true; }) => PmCommandOutputBudgetContract ; (command: string, options?: { generateFallback?: false; }) => PmCommandOutputBudgetContract | null"
16080
+ },
16081
+ {
16082
+ "classification": "contract_data",
16083
+ "kind": "function",
16084
+ "name": "resolvePmCommandOutputEnvelope",
16085
+ "signature": "(command: string) => PmCommandOutputEnvelopeContract | calls: (command: string) => PmCommandOutputEnvelopeContract"
15814
16086
  },
15815
16087
  {
15816
16088
  "classification": "contract_data",
@@ -20940,7 +21212,7 @@
20940
21212
  "classification": "advanced_export",
20941
21213
  "kind": "interface",
20942
21214
  "name": "ContractsResult",
20943
- "signature": "export interface ContractsResult { schema_version: string | null; schema_id: string | null; selected: { action: string | null; command: string | null; summary: boolean; schema_only: boolean; flags_only: boolean; availability_only: boolean; runtime_only: boolean; command_scoped: boolean; }; actions?: string[]; action_availability?: ContractsActionAvailability[]; commands: string[]; schema?: Record<string, unknown>; schema_omitted_reason?: string; command_flags_omitted_reason?: string; commander_aliases_omitted_reason?: string; command_flags?: CommandFlagSurface[]; list_projections?: ListCommandProjectionSurface[]; command_aliases?: CommandAliasSurface[]; commander_aliases?: Record<string, CommanderOptionAliasContract[]>; extension_commands?: ExtensionCommandContract[]; command_summaries?: CommandSummarySurface[]; output_policy?: { token_estimate: \"ceil(utf8_bytes / 4)\"; degradation_ladder: string[]; allows_unbounded_opt_out: boolean; }; runtime_schema?: { statuses: string[]; open_status: string; close_status: string; canceled_status: string; types: string[]; fields_by_command: Record<string, string[]>; }; extension_contracts?: { capabilities: string[]; services: string[]; policy_modes: string[]; policy_mode_scope: \"extensions.policy.mode\"; policy_surfaces: string[]; trust_modes: string[]; trust_mode_scope: \"extensions.policy.trust_mode\"; sandbox_profiles: string[]; manifest_versions: number[]; compatibility: { current: string; previous: string[]; breaking_strategy: string; }; }; governance_contracts?: { ownership_enforcement_modes: string[]; create_modes: string[]; close_validation_modes: string[]; workflow_enforcement_modes: string[]; }; mcp_tools?: McpToolContract[]; context_intents?: readonly PmContextIntentContract[]; read_output_dimensions?: readonly PmReadOutputSurfaceContract[]; error_codes?: readonly PmErrorCodeContract[]; }"
21215
+ "signature": "export interface ContractsResult { schema_version: string | null; schema_id: string | null; selected: { action: string | null; command: string | null; summary: boolean; schema_only: boolean; flags_only: boolean; availability_only: boolean; runtime_only: boolean; command_scoped: boolean; }; actions?: string[]; action_availability?: ContractsActionAvailability[]; commands: string[]; schema?: Record<string, unknown>; schema_omitted_reason?: string; command_flags_omitted_reason?: string; commander_aliases_omitted_reason?: string; command_flags?: CommandFlagSurface[]; list_projections?: ListCommandProjectionSurface[]; command_aliases?: CommandAliasSurface[]; commander_aliases?: Record<string, CommanderOptionAliasContract[]>; extension_commands?: ExtensionCommandContract[]; command_summaries?: CommandSummarySurface[]; output_policy?: { token_estimate: \"ceil(utf8_bytes / 4)\"; degradation_ladder: string[]; allows_unbounded_opt_out: boolean; }; runtime_schema?: { statuses: string[]; open_status: string; close_status: string; canceled_status: string; types: string[]; fields_by_command: Record<string, string[]>; }; extension_contracts?: { capabilities: string[]; services: string[]; policy_modes: string[]; policy_mode_scope: \"extensions.policy.mode\"; policy_surfaces: string[]; trust_modes: string[]; trust_mode_scope: \"extensions.policy.trust_mode\"; sandbox_profiles: string[]; manifest_versions: number[]; compatibility: { current: string; previous: string[]; breaking_strategy: string; }; }; governance_contracts?: { ownership_enforcement_modes: string[]; create_modes: string[]; close_validation_modes: string[]; workflow_enforcement_modes: string[]; }; mcp_tools?: McpToolContract[]; context_intents?: readonly PmContextIntentContract[]; read_output_dimensions?: readonly PmReadOutputSurfaceContract[]; error_codes?: readonly PmErrorCodeContract[]; command_output_contracts?: Array<{ budget: PmCommandOutputBudgetContract; envelope: PmCommandOutputEnvelopeContract; }>; }"
20944
21216
  },
20945
21217
  {
20946
21218
  "classification": "supported",
@@ -21990,7 +22262,7 @@
21990
22262
  "classification": "contract_data",
21991
22263
  "kind": "interface",
21992
22264
  "name": "PmErrorCodeContract",
21993
- "signature": "export interface PmErrorCodeContract { code: string; meaning: string; stability: PmErrorCodeStability; exit_code: 1 | 2 | 3 | 4 | 5; recovery: string; sources: string[]; }"
22265
+ "signature": "export interface PmErrorCodeContract { code: string; meaning: string; stability: PmErrorCodeStability; exit_code: 1 | 2 | 3 | 4 | 5; class: PmErrorCodeClass; recovery: string; sources: string[]; emitting_commands: string[]; }"
21994
22266
  },
21995
22267
  {
21996
22268
  "classification": "supported",
@@ -23822,6 +24094,7 @@
23822
24094
  "history_target_out_of_range",
23823
24095
  "history_unknown_author_events",
23824
24096
  "init_existing_settings_requires_force",
24097
+ "init_gitignore_unwritable",
23825
24098
  "init_id_prefix_conflict",
23826
24099
  "init_id_prefix_path_like",
23827
24100
  "integrity_history_conflict_marker",
@@ -23840,6 +24113,7 @@
23840
24113
  "invalid_event_since",
23841
24114
  "invalid_provenance_predicate",
23842
24115
  "invalid_query_cursor",
24116
+ "invalid_workspace_snapshot_target",
23843
24117
  "item_document_invalid",
23844
24118
  "item_document_roundtrip_failed",
23845
24119
  "item_id_collision",
@@ -23972,6 +24246,10 @@
23972
24246
  "workflow_type_unknown",
23973
24247
  "workspace_history_state_conflict",
23974
24248
  "workspace_root_pm_path",
24249
+ "workspace_snapshot_force_required",
24250
+ "workspace_snapshot_manifest_mismatch",
24251
+ "workspace_snapshot_name_reserved_fingerprint",
24252
+ "workspace_snapshot_not_found",
23975
24253
  "wrong_item_type"
23976
24254
  ],
23977
24255
  "package": "@unbrained/pm-cli",