@unbrained/pm-cli 2026.10.12 → 2026.10.14

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 (723) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +46 -0
  3. package/dist/cli/after-command-context-usage.d.ts +8 -8
  4. package/dist/cli/bundle-integrity.d.ts +23 -23
  5. package/dist/cli/commander-usage.d.ts +26 -26
  6. package/dist/cli/commander-usage.js +2 -2
  7. package/dist/cli/error-guidance.d.ts +158 -163
  8. package/dist/cli/error-guidance.js +2 -2
  9. package/dist/cli/extension-command-help.d.ts +68 -68
  10. package/dist/cli/extension-command-help.js +2 -2
  11. package/dist/cli/extension-command-options.d.ts +20 -20
  12. package/dist/cli/extension-command-options.js +1 -1
  13. package/dist/cli/extension-recovery.d.ts +20 -20
  14. package/dist/cli/help-content.d.ts +16 -16
  15. package/dist/cli/help-content.js +2 -2
  16. package/dist/cli/help-json-payload.d.ts +40 -40
  17. package/dist/cli/invocation-profile.d.ts +8 -8
  18. package/dist/cli/main.d.ts +165 -165
  19. package/dist/cli/main.js +2 -2
  20. package/dist/cli/migration-gates.d.ts +20 -20
  21. package/dist/cli/register-list-query.d.ts +4 -4
  22. package/dist/cli/register-mutation-options.d.ts +2 -2
  23. package/dist/cli/register-operations.d.ts +66 -66
  24. package/dist/cli/register-setup.d.ts +1 -1
  25. package/dist/cli/register-structured-mutation.d.ts +3 -3
  26. package/dist/cli/register-structured-mutation.js +1 -1
  27. package/dist/cli/runtime/activation.d.ts +3 -3
  28. package/dist/cli/runtime/invocation-options.js +1 -1
  29. package/dist/cli/runtime/selection.d.ts +6 -6
  30. package/dist/cli/runtime-compatibility-boundary.d.ts +12 -12
  31. package/dist/cli-bundle/bundle-manifest.json +1 -1
  32. package/dist/cli-bundle/chunks/{chunk-MHPU2LDF.js → chunk-2UKKO45F.js} +2 -2
  33. package/dist/cli-bundle/chunks/chunk-3S5SEMEB.js +8 -0
  34. package/dist/cli-bundle/chunks/{chunk-QM3M7GB5.js → chunk-5LU6PWA4.js} +2 -2
  35. package/dist/cli-bundle/chunks/{chunk-3LQTJN4J.js → chunk-66BZVFIK.js} +2 -2
  36. package/dist/cli-bundle/chunks/chunk-IDEHMKYZ.js +235 -0
  37. package/dist/cli-bundle/chunks/{chunk-DT3KUUKY.js → chunk-JTF6VMXH.js} +49 -49
  38. package/dist/cli-bundle/chunks/{chunk-GUVKPOY6.js → chunk-LE4IEHDG.js} +11 -11
  39. package/dist/cli-bundle/chunks/{chunk-UABZJXIS.js → chunk-LKESCZEN.js} +2 -2
  40. package/dist/cli-bundle/chunks/chunk-LOSRTNNP.js +2 -0
  41. package/dist/cli-bundle/chunks/{chunk-X2I2EEAS.js → chunk-MAT4AP7P.js} +2 -2
  42. package/dist/cli-bundle/chunks/chunk-PP3BVMFL.js +30 -0
  43. package/dist/cli-bundle/chunks/chunk-UNQZGMJL.js +20 -0
  44. package/dist/cli-bundle/chunks/chunk-YXRAYL7H.js +2 -0
  45. package/dist/cli-bundle/chunks/{register-list-query-OR33UEML.js → register-list-query-GBLTOQQL.js} +2 -2
  46. package/dist/cli-bundle/chunks/{register-mutation-R34EJ3NH.js → register-mutation-TNRHNK4N.js} +3 -3
  47. package/dist/cli-bundle/chunks/{register-operations-UHSMEHSF.js → register-operations-J3WXP3MA.js} +2 -2
  48. package/dist/cli-bundle/chunks/{register-setup-5E3PT22L.js → register-setup-HLSKKU4V.js} +2 -2
  49. package/dist/cli-bundle/focused-chunks/chunk-23ACMPGB.js +2 -0
  50. package/dist/cli-bundle/focused-chunks/chunk-4UA7KY4V.js +3 -0
  51. package/dist/cli-bundle/focused-chunks/{chunk-Z4T3637Y.js → chunk-AULVKHYX.js} +2 -2
  52. package/dist/cli-bundle/focused-chunks/{chunk-TS46OZD5.js → chunk-BUAGNTLG.js} +12 -12
  53. package/dist/cli-bundle/focused-chunks/{chunk-RNAWRTQV.js → chunk-ELQNEJDA.js} +2 -2
  54. package/dist/cli-bundle/focused-chunks/{chunk-OGOLIS5R.js → chunk-ESOW6PH4.js} +2 -2
  55. package/dist/cli-bundle/focused-chunks/chunk-HNRI2KBT.js +3 -0
  56. package/dist/cli-bundle/focused-chunks/chunk-IGBSAHCA.js +2 -0
  57. package/dist/cli-bundle/focused-chunks/{chunk-7QIZB2F2.js → chunk-JDVZF75H.js} +14 -14
  58. package/dist/cli-bundle/focused-chunks/{chunk-SV6YYZLR.js → chunk-KSMQEB3V.js} +2 -2
  59. package/dist/cli-bundle/focused-chunks/chunk-LKWDWER4.js +20 -0
  60. package/dist/cli-bundle/focused-chunks/chunk-QIU4Y3AB.js +8 -0
  61. package/dist/cli-bundle/focused-chunks/{chunk-CYEZLKLL.js → chunk-RHQCQTZA.js} +2 -2
  62. package/dist/cli-bundle/focused-chunks/chunk-WIXZF5SS.js +26 -0
  63. package/dist/cli-bundle/focused-chunks/{chunk-AJG3DBXR.js → chunk-Y5A4XOSK.js} +2 -2
  64. package/dist/cli-bundle/focused-chunks/{chunk-VBTLX5SN.js → chunk-YJNKISEI.js} +62 -62
  65. package/dist/cli-bundle/main.js +21 -21
  66. package/dist/cli-bundle/sdk-authoring.js +1 -1
  67. package/dist/cli-bundle/sdk-contracts.js +2 -2
  68. package/dist/cli-bundle/sdk-core.js +22 -22
  69. package/dist/cli-bundle/sdk-governance.js +1 -1
  70. package/dist/cli-bundle/sdk-graph.js +1 -1
  71. package/dist/cli-bundle/sdk-merge.js +51 -51
  72. package/dist/cli-bundle/sdk-query.js +1 -1
  73. package/dist/cli-bundle/sdk-runtime.js +1 -1
  74. package/dist/cli-bundle/sdk-testing.js +1 -1
  75. package/dist/cli-bundle/sdk.js +8 -8
  76. package/dist/cli.d.ts +4 -4
  77. package/dist/core/checkpoint/checkpoint-gc.d.ts +32 -32
  78. package/dist/core/checkpoint/mutation-checkpoint.d.ts +34 -34
  79. package/dist/core/config/nested-settings.d.ts +26 -26
  80. package/dist/core/config/positional-value.d.ts +16 -16
  81. package/dist/core/diagnostics/remediation.d.ts +6 -6
  82. package/dist/core/diagnostics/remediation.js +1 -1
  83. package/dist/core/extensions/activation-summary-markdown.d.ts +6 -6
  84. package/dist/core/extensions/activation-summary.d.ts +54 -54
  85. package/dist/core/extensions/activation-transaction.d.ts +7 -7
  86. package/dist/core/extensions/capability-usage.d.ts +26 -26
  87. package/dist/core/extensions/command-hook-context.d.ts +26 -26
  88. package/dist/core/extensions/contribution-inventory.d.ts +21 -21
  89. package/dist/core/extensions/extension-candidate.d.ts +14 -14
  90. package/dist/core/extensions/extension-capability-aliases.d.ts +2 -2
  91. package/dist/core/extensions/extension-policy.d.ts +80 -80
  92. package/dist/core/extensions/extension-types.d.ts +1294 -1285
  93. package/dist/core/extensions/extension-types.js +1 -1
  94. package/dist/core/extensions/flag-definition-validation.d.ts +17 -4
  95. package/dist/core/extensions/flag-definition-validation.js +1 -1
  96. package/dist/core/extensions/flag-value-types.js +1 -1
  97. package/dist/core/extensions/item-fields.d.ts +3 -2
  98. package/dist/core/extensions/item-fields.js +1 -1
  99. package/dist/core/extensions/loader.d.ts +36 -36
  100. package/dist/core/extensions/loader.js +1 -1
  101. package/dist/core/extensions/manifest-schema.d.ts +16 -16
  102. package/dist/core/extensions/module-graph-snapshot.d.ts +8 -8
  103. package/dist/core/extensions/read-output-contract.d.ts +5 -0
  104. package/dist/core/extensions/read-output-contract.js +2 -0
  105. package/dist/core/extensions/registration-values.d.ts +1 -1
  106. package/dist/core/extensions/reserved-host-flags.d.ts +6 -6
  107. package/dist/core/extensions/version-compat.d.ts +10 -10
  108. package/dist/core/fs/fs-utils.d.ts +1 -1
  109. package/dist/core/fs/host-environment-errors.d.ts +14 -14
  110. package/dist/core/governance/content-fields.d.ts +31 -31
  111. package/dist/core/governance/issue-codes.d.ts +27 -27
  112. package/dist/core/governance/metadata-coverage.d.ts +91 -91
  113. package/dist/core/history/drift-scan.d.ts +26 -26
  114. package/dist/core/history/event-index.d.ts +41 -41
  115. package/dist/core/history/history-compact-bulk.d.ts +22 -22
  116. package/dist/core/history/history-diff.d.ts +22 -22
  117. package/dist/core/history/history-rewrite.d.ts +66 -66
  118. package/dist/core/history/history-storage-stats.d.ts +31 -31
  119. package/dist/core/history/history-stream-policy.d.ts +12 -12
  120. package/dist/core/history/history.d.ts +22 -22
  121. package/dist/core/history/identity.d.ts +6 -6
  122. package/dist/core/history/operation-contract.d.ts +9 -9
  123. package/dist/core/history/projection.d.ts +15 -15
  124. package/dist/core/history/read.d.ts +4 -4
  125. package/dist/core/history/replay.d.ts +51 -49
  126. package/dist/core/history/replay.js +1 -1
  127. package/dist/core/history/workspace-history.d.ts +101 -101
  128. package/dist/core/io/bulk-ids-input.d.ts +4 -4
  129. package/dist/core/item/actionability.d.ts +40 -40
  130. package/dist/core/item/id.d.ts +3 -3
  131. package/dist/core/item/item-format-version.d.ts +8 -8
  132. package/dist/core/item/item-format.d.ts +35 -35
  133. package/dist/core/item/item-type-definition.d.ts +2 -2
  134. package/dist/core/item/parent-reference-policy.d.ts +1 -1
  135. package/dist/core/item/parse.d.ts +12 -12
  136. package/dist/core/item/sprint-release-format.d.ts +2 -2
  137. package/dist/core/item/status-filter.d.ts +4 -4
  138. package/dist/core/item/toon-decode.d.ts +9 -9
  139. package/dist/core/item/type-registry.d.ts +40 -40
  140. package/dist/core/lock/lock-gc.d.ts +50 -50
  141. package/dist/core/lock/lock.d.ts +37 -37
  142. package/dist/core/output/mutation-projection.d.ts +6 -6
  143. package/dist/core/output/output-control.d.ts +4 -4
  144. package/dist/core/output/output.d.ts +40 -40
  145. package/dist/core/output/query-summary.d.ts +5 -5
  146. package/dist/core/packages/manifest.d.ts +50 -50
  147. package/dist/core/policy/workflow-policy-schema.d.ts +306 -306
  148. package/dist/core/policy/workflow-policy-store.d.ts +7 -7
  149. package/dist/core/policy/workflow-policy.d.ts +81 -81
  150. package/dist/core/profile/profile-describe.d.ts +40 -40
  151. package/dist/core/profile/profile-lint.d.ts +20 -20
  152. package/dist/core/profile/profile-plan.d.ts +84 -84
  153. package/dist/core/profile/profile-presets.d.ts +52 -52
  154. package/dist/core/reproducibility/context.d.ts +6 -6
  155. package/dist/core/schema/fields-file.d.ts +54 -54
  156. package/dist/core/schema/item-types-file.d.ts +36 -36
  157. package/dist/core/schema/runtime-field-values.d.ts +2 -2
  158. package/dist/core/schema/runtime-schema.d.ts +86 -86
  159. package/dist/core/schema/status-defs-file.d.ts +36 -36
  160. package/dist/core/schema/type-inference.d.ts +14 -14
  161. package/dist/core/schema/type-workflows.d.ts +22 -22
  162. package/dist/core/search/background-refresh.d.ts +9 -9
  163. package/dist/core/search/bm25.d.ts +19 -19
  164. package/dist/core/search/cache.d.ts +35 -35
  165. package/dist/core/search/corpus.d.ts +12 -12
  166. package/dist/core/search/embedding-batches.d.ts +48 -48
  167. package/dist/core/search/eval.d.ts +49 -49
  168. package/dist/core/search/http-client.d.ts +38 -38
  169. package/dist/core/search/providers.d.ts +41 -41
  170. package/dist/core/search/relevance.d.ts +20 -20
  171. package/dist/core/search/semantic-defaults.d.ts +8 -8
  172. package/dist/core/search/staleness.d.ts +4 -4
  173. package/dist/core/search/vector-stores.d.ts +78 -78
  174. package/dist/core/search/vectorization-metadata.d.ts +6 -6
  175. package/dist/core/sentry/helpers.d.ts +17 -15
  176. package/dist/core/sentry/helpers.js +1 -1
  177. package/dist/core/sentry/instrument.d.ts +42 -40
  178. package/dist/core/sentry/instrument.js +1 -1
  179. package/dist/core/session/session-state.d.ts +32 -32
  180. package/dist/core/shared/agent-session-context.d.ts +14 -14
  181. package/dist/core/shared/author.d.ts +128 -128
  182. package/dist/core/shared/command-types.d.ts +40 -40
  183. package/dist/core/shared/conflict-markers.d.ts +6 -6
  184. package/dist/core/shared/constants.d.ts +13 -13
  185. package/dist/core/shared/errors.d.ts +194 -183
  186. package/dist/core/shared/errors.js +1 -1
  187. package/dist/core/shared/secret-rules.d.ts +97 -97
  188. package/dist/core/shared/serial-queue.d.ts +8 -8
  189. package/dist/core/shared/split-comma-list.d.ts +6 -6
  190. package/dist/core/shared/time.d.ts +23 -23
  191. package/dist/core/store/item-format-migration.d.ts +10 -10
  192. package/dist/core/store/item-metadata-cache.d.ts +38 -38
  193. package/dist/core/store/item-metadata-query-index.d.ts +79 -79
  194. package/dist/core/store/item-metadata-read-work.d.ts +6 -6
  195. package/dist/core/store/item-store.d.ts +110 -110
  196. package/dist/core/store/paths.d.ts +2 -2
  197. package/dist/core/store/settings-read-cache.d.ts +12 -12
  198. package/dist/core/store/settings-validator.d.ts +165 -165
  199. package/dist/core/store/settings.d.ts +59 -59
  200. package/dist/core/telemetry/observability.d.ts +17 -17
  201. package/dist/core/telemetry/policy.d.ts +3 -3
  202. package/dist/core/telemetry/runtime.d.ts +242 -242
  203. package/dist/core/telemetry/runtime.js +2 -2
  204. package/dist/core/test/background-runs.d.ts +185 -185
  205. package/dist/core/test/item-test-run-tracking.d.ts +6 -6
  206. package/dist/core/test/run-selectors.d.ts +18 -18
  207. package/dist/core/validate/fix-planning.d.ts +50 -50
  208. package/dist/core/validate/missing-by-type.d.ts +4 -4
  209. package/dist/core/validate/missing-link-owners.d.ts +30 -30
  210. package/dist/core/validate/stale-file-classification.d.ts +8 -8
  211. package/dist/mcp/http-server.d.ts +28 -28
  212. package/dist/mcp/legacy-adapter.d.ts +33 -33
  213. package/dist/mcp/runtime-capabilities.d.ts +16 -16
  214. package/dist/mcp/server.d.ts +50 -50
  215. package/dist/mcp/tool-definitions.d.ts +36 -36
  216. package/dist/sdk/agent/closed-domain-contracts.d.ts +18 -18
  217. package/dist/sdk/agent/command-recovery.d.ts +4 -0
  218. package/dist/sdk/agent/command-recovery.js +1 -1
  219. package/dist/sdk/agent/identity-config.d.ts +32 -32
  220. package/dist/sdk/agent/item-addressing.d.ts +8 -8
  221. package/dist/sdk/agent/refusal-closure-census.d.ts +34 -34
  222. package/dist/sdk/agent/refusal-closure.d.ts +42 -42
  223. package/dist/sdk/agent/refusal-corpus-contracts.d.ts +46 -46
  224. package/dist/sdk/agent/refusal-reachability.d.ts +112 -112
  225. package/dist/sdk/agent/subcommand-recovery.d.ts +25 -25
  226. package/dist/sdk/agent/task-transcript-contracts.d.ts +30 -30
  227. package/dist/sdk/agent/tracker-preflight-contracts.d.ts +38 -38
  228. package/dist/sdk/agent-capability-contracts.d.ts +37 -37
  229. package/dist/sdk/annotations.d.ts +106 -106
  230. package/dist/sdk/author-attribution.d.ts +76 -76
  231. package/dist/sdk/authoring.d.ts +1 -1
  232. package/dist/sdk/authoring.js +1 -1
  233. package/dist/sdk/cli-bootstrap.d.ts +70 -70
  234. package/dist/sdk/cli-contracts/agent-output-contracts.d.ts +63 -63
  235. package/dist/sdk/cli-contracts/command-aliases.d.ts +14 -14
  236. package/dist/sdk/cli-contracts/command-exit-contracts.d.ts +70 -70
  237. package/dist/sdk/cli-contracts/commander-types.d.ts +17 -17
  238. package/dist/sdk/cli-contracts/completeness.d.ts +26 -26
  239. package/dist/sdk/cli-contracts/enum-contracts.d.ts +5 -5
  240. package/dist/sdk/cli-contracts/flag-contracts.d.ts +32 -32
  241. package/dist/sdk/cli-contracts/flag-contracts.js +1 -1
  242. package/dist/sdk/cli-contracts/flag-lexicon-contracts.d.ts +42 -42
  243. package/dist/sdk/cli-contracts/grammar-contracts.d.ts +84 -84
  244. package/dist/sdk/cli-contracts/grammar-contracts.js +1 -1
  245. package/dist/sdk/cli-contracts/registration-helpers.d.ts +36 -36
  246. package/dist/sdk/cli-contracts/runtime-contracts.d.ts +290 -294
  247. package/dist/sdk/cli-contracts/runtime-contracts.js +1 -1
  248. package/dist/sdk/cli-contracts/schemas/assurance-definition.d.ts +793 -793
  249. package/dist/sdk/cli-contracts/tool-option-contracts.d.ts +391 -391
  250. package/dist/sdk/cli-contracts/tool-parameter-tables.d.ts +6 -6
  251. package/dist/sdk/cli-contracts/tool-schema.d.ts +54 -54
  252. package/dist/sdk/cli-contracts/tool-schema.js +1 -1
  253. package/dist/sdk/cli-contracts/typed-action-inputs.d.ts +24 -24
  254. package/dist/sdk/comments.d.ts +44 -44
  255. package/dist/sdk/compile-cache.d.ts +4 -4
  256. package/dist/sdk/completion/shared.d.ts +22 -22
  257. package/dist/sdk/compose.d.ts +156 -156
  258. package/dist/sdk/config.d.ts +123 -123
  259. package/dist/sdk/context/semantic-session-attribution.d.ts +14 -14
  260. package/dist/sdk/context/usage-ledger.d.ts +20 -20
  261. package/dist/sdk/context-intent-contracts.d.ts +50 -50
  262. package/dist/sdk/context-intent-contracts.js +1 -1
  263. package/dist/sdk/context-intent-runtime.d.ts +8 -8
  264. package/dist/sdk/context-packing.d.ts +78 -78
  265. package/dist/sdk/context-relevance.d.ts +189 -180
  266. package/dist/sdk/context-relevance.js +1 -1
  267. package/dist/sdk/context-signal-store.d.ts +84 -84
  268. package/dist/sdk/context-usage.d.ts +92 -92
  269. package/dist/sdk/corpus-shape.d.ts +101 -101
  270. package/dist/sdk/define.d.ts +2 -2
  271. package/dist/sdk/dependencies.d.ts +116 -116
  272. package/dist/sdk/dependency-flag-validation.d.ts +14 -12
  273. package/dist/sdk/dependency-flag-validation.js +1 -1
  274. package/dist/sdk/dependency-provenance.d.ts +30 -30
  275. package/dist/sdk/docs.d.ts +32 -32
  276. package/dist/sdk/duplicates.d.ts +21 -21
  277. package/dist/sdk/environment/agent-environment.d.ts +196 -196
  278. package/dist/sdk/environment/project-runtime-compatibility.d.ts +56 -56
  279. package/dist/sdk/environment/source-context.d.ts +6 -6
  280. package/dist/sdk/error-code-catalog.d.ts +40 -40
  281. package/dist/sdk/errors.d.ts +29 -29
  282. package/dist/sdk/eval.d.ts +45 -45
  283. package/dist/sdk/extension/author-manifest.d.ts +14 -14
  284. package/dist/sdk/extension/bundled-catalog.d.ts +7 -7
  285. package/dist/sdk/extension/describe.d.ts +36 -36
  286. package/dist/sdk/extension/doctor.d.ts +29 -29
  287. package/dist/sdk/extension/install-plan.d.ts +55 -55
  288. package/dist/sdk/extension/install-receipts.d.ts +2 -2
  289. package/dist/sdk/extension/install-runtime.d.ts +8 -8
  290. package/dist/sdk/extension/install-snapshot.d.ts +14 -14
  291. package/dist/sdk/extension/install-sources.d.ts +96 -96
  292. package/dist/sdk/extension/managed-state.d.ts +66 -66
  293. package/dist/sdk/extension/migrations.d.ts +82 -82
  294. package/dist/sdk/extension/output-ownership.d.ts +24 -24
  295. package/dist/sdk/extension/runtime-summary.d.ts +5 -5
  296. package/dist/sdk/extension/scaffold.d.ts +12 -12
  297. package/dist/sdk/extension/shared.d.ts +15 -15
  298. package/dist/sdk/extension/source-resolution.d.ts +30 -30
  299. package/dist/sdk/extension/static-inventory.d.ts +42 -42
  300. package/dist/sdk/extension/update-check.d.ts +10 -10
  301. package/dist/sdk/extension.d.ts +320 -320
  302. package/dist/sdk/files.d.ts +157 -157
  303. package/dist/sdk/flag-invocation-contracts.d.ts +44 -44
  304. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -1
  305. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -1
  306. package/dist/sdk/governance/artifact-ledgers.d.ts +35 -35
  307. package/dist/sdk/governance/assurance-action.d.ts +68 -68
  308. package/dist/sdk/governance/assurance-action.js +1 -1
  309. package/dist/sdk/governance/assurance-mutation-error.d.ts +36 -36
  310. package/dist/sdk/governance/assurance-presets.d.ts +24 -24
  311. package/dist/sdk/governance/assurance-runtime.d.ts +14 -14
  312. package/dist/sdk/governance/assurance.d.ts +353 -353
  313. package/dist/sdk/governance/boundary-fixtures.d.ts +60 -60
  314. package/dist/sdk/governance/closure-timestamps.d.ts +9 -9
  315. package/dist/sdk/governance/coverage-assurance.d.ts +10 -10
  316. package/dist/sdk/governance/defect-recurrence-coverage.d.ts +75 -75
  317. package/dist/sdk/governance/defect-recurrence-graph.d.ts +18 -18
  318. package/dist/sdk/governance/defect-recurrence.d.ts +186 -181
  319. package/dist/sdk/governance/defect-recurrence.js +2 -1
  320. package/dist/sdk/governance/extension-host-version.d.ts +16 -16
  321. package/dist/sdk/governance/gc.d.ts +48 -48
  322. package/dist/sdk/governance/health-merge-evidence.d.ts +5 -5
  323. package/dist/sdk/governance/health.d.ts +188 -188
  324. package/dist/sdk/governance/hierarchy-validation.d.ts +13 -13
  325. package/dist/sdk/governance/linked-file-report.d.ts +26 -26
  326. package/dist/sdk/governance/merge-receipt-history.d.ts +36 -36
  327. package/dist/sdk/governance/provenance-health.d.ts +64 -64
  328. package/dist/sdk/governance/reindex.d.ts +89 -89
  329. package/dist/sdk/governance/reliability.d.ts +56 -56
  330. package/dist/sdk/governance/stale-work.d.ts +22 -22
  331. package/dist/sdk/governance/status-role-diagnostics.d.ts +12 -12
  332. package/dist/sdk/governance/storage-integrity.d.ts +54 -54
  333. package/dist/sdk/governance/tracked-runtime-cache.d.ts +10 -10
  334. package/dist/sdk/governance/upgrade.d.ts +104 -104
  335. package/dist/sdk/governance/validate-history-drift.d.ts +2 -2
  336. package/dist/sdk/governance/validate-item-reader.d.ts +6 -6
  337. package/dist/sdk/governance/validate.d.ts +191 -191
  338. package/dist/sdk/governance/workflow-completeness.d.ts +15 -15
  339. package/dist/sdk/governance/workflow-policy.d.ts +28 -28
  340. package/dist/sdk/governance/workspace-position.d.ts +46 -46
  341. package/dist/sdk/graph/adapter.d.ts +66 -66
  342. package/dist/sdk/graph/analytics.d.ts +54 -54
  343. package/dist/sdk/graph/assembly.d.ts +80 -80
  344. package/dist/sdk/graph/cache.d.ts +29 -29
  345. package/dist/sdk/graph/cardinality-integrity.d.ts +13 -0
  346. package/dist/sdk/graph/cardinality-integrity.js +2 -0
  347. package/dist/sdk/graph/centrality.d.ts +34 -34
  348. package/dist/sdk/graph/conformance.d.ts +33 -33
  349. package/dist/sdk/graph/deadline-scheduling.d.ts +58 -58
  350. package/dist/sdk/graph/durable-cache.d.ts +26 -26
  351. package/dist/sdk/graph/governance.d.ts +165 -165
  352. package/dist/sdk/graph/hierarchy-integrity.d.ts +52 -52
  353. package/dist/sdk/graph/index.d.ts +1 -0
  354. package/dist/sdk/graph/index.js +1 -1
  355. package/dist/sdk/graph/lifecycle-coverage.d.ts +17 -17
  356. package/dist/sdk/graph/mutation-advisory.d.ts +11 -11
  357. package/dist/sdk/graph/query-contracts.d.ts +10 -10
  358. package/dist/sdk/graph/remediation.d.ts +25 -25
  359. package/dist/sdk/graph/run.d.ts +392 -392
  360. package/dist/sdk/graph/scheduling.d.ts +38 -38
  361. package/dist/sdk/graph/traversal.d.ts +14 -14
  362. package/dist/sdk/guide-topics.d.ts +32 -32
  363. package/dist/sdk/guide.d.ts +62 -62
  364. package/dist/sdk/history/attestation-command.d.ts +12 -12
  365. package/dist/sdk/history/attestation-contract.d.ts +78 -78
  366. package/dist/sdk/history/attestation-scan.d.ts +6 -6
  367. package/dist/sdk/history/maintenance.d.ts +46 -46
  368. package/dist/sdk/history/salvage.d.ts +18 -18
  369. package/dist/sdk/history/subject.d.ts +9 -9
  370. package/dist/sdk/history-analytics.d.ts +84 -84
  371. package/dist/sdk/history-compact.d.ts +103 -103
  372. package/dist/sdk/history-mcp.d.ts +8 -8
  373. package/dist/sdk/history-provenance.d.ts +59 -59
  374. package/dist/sdk/history-read.d.ts +36 -36
  375. package/dist/sdk/history-redact.d.ts +78 -78
  376. package/dist/sdk/history-repair.d.ts +158 -158
  377. package/dist/sdk/history-repair.js +1 -1
  378. package/dist/sdk/improvement-ledger.d.ts +102 -102
  379. package/dist/sdk/init-agent-guidance.d.ts +70 -70
  380. package/dist/sdk/init.d.ts +152 -152
  381. package/dist/sdk/item-children.d.ts +28 -28
  382. package/dist/sdk/item-schedule.d.ts +12 -12
  383. package/dist/sdk/item-transaction.d.ts +100 -100
  384. package/dist/sdk/learnings.d.ts +42 -42
  385. package/dist/sdk/lifecycle/append.d.ts +14 -14
  386. package/dist/sdk/lifecycle/claim.d.ts +60 -60
  387. package/dist/sdk/lifecycle/close-many.d.ts +94 -94
  388. package/dist/sdk/lifecycle/close.d.ts +27 -27
  389. package/dist/sdk/lifecycle/copy.d.ts +18 -18
  390. package/dist/sdk/lifecycle/core-field-recovery.d.ts +7 -0
  391. package/dist/sdk/lifecycle/core-field-recovery.js +2 -0
  392. package/dist/sdk/lifecycle/create.d.ts +82 -82
  393. package/dist/sdk/lifecycle/create.js +1 -1
  394. package/dist/sdk/lifecycle/delete.d.ts +28 -28
  395. package/dist/sdk/lifecycle/focus.d.ts +10 -10
  396. package/dist/sdk/lifecycle/hierarchy-mutation-lock.d.ts +10 -10
  397. package/dist/sdk/lifecycle/hierarchy-mutation-lock.js +1 -1
  398. package/dist/sdk/lifecycle/legacy-none-tokens.d.ts +54 -54
  399. package/dist/sdk/lifecycle/lifecycle-transitions.d.ts +4 -4
  400. package/dist/sdk/lifecycle/mcp-actions.d.ts +10 -10
  401. package/dist/sdk/lifecycle/mutation-command-options.d.ts +116 -116
  402. package/dist/sdk/lifecycle/mutation-facet-contracts.d.ts +6 -0
  403. package/dist/sdk/lifecycle/mutation-facet-contracts.js +2 -0
  404. package/dist/sdk/lifecycle/plan-mutation-receipt.d.ts +42 -42
  405. package/dist/sdk/lifecycle/plan.d.ts +217 -217
  406. package/dist/sdk/lifecycle/reopen.d.ts +29 -24
  407. package/dist/sdk/lifecycle/reopen.js +1 -1
  408. package/dist/sdk/lifecycle/repeatable-metadata-parsers.d.ts +3 -3
  409. package/dist/sdk/lifecycle/restore.d.ts +33 -33
  410. package/dist/sdk/lifecycle/shared-unset-fields.d.ts +19 -19
  411. package/dist/sdk/lifecycle/task-composition.d.ts +4 -4
  412. package/dist/sdk/lifecycle/update-many.d.ts +79 -79
  413. package/dist/sdk/lifecycle/update.d.ts +131 -132
  414. package/dist/sdk/lifecycle/update.js +2 -2
  415. package/dist/sdk/lifecycle-completion.d.ts +22 -22
  416. package/dist/sdk/lifecycle-policy.d.ts +52 -52
  417. package/dist/sdk/linked-artifacts.d.ts +69 -69
  418. package/dist/sdk/mcp/apps.d.ts +32 -32
  419. package/dist/sdk/mcp/authorization.d.ts +76 -76
  420. package/dist/sdk/mcp/discovery.d.ts +111 -111
  421. package/dist/sdk/mcp/interactions.d.ts +61 -61
  422. package/dist/sdk/mcp/protocol.d.ts +78 -78
  423. package/dist/sdk/mcp/skills.d.ts +88 -88
  424. package/dist/sdk/mcp/subscriptions.d.ts +39 -39
  425. package/dist/sdk/mcp/tasks.d.ts +75 -75
  426. package/dist/sdk/mcp/transport.d.ts +11 -11
  427. package/dist/sdk/merge/abandoned-receipts.d.ts +6 -6
  428. package/dist/sdk/merge/driver.d.ts +60 -60
  429. package/dist/sdk/merge/install.d.ts +64 -64
  430. package/dist/sdk/merge/install.js +1 -1
  431. package/dist/sdk/merge/receipt-file-boundary.d.ts +5 -5
  432. package/dist/sdk/merge/receipt-operation.d.ts +6 -6
  433. package/dist/sdk/merge/receipt-schema.d.ts +2 -2
  434. package/dist/sdk/merge/receipts.d.ts +156 -156
  435. package/dist/sdk/merge/reconcile.d.ts +36 -36
  436. package/dist/sdk/merge/reconcile.js +1 -1
  437. package/dist/sdk/merge/three-way.d.ts +77 -76
  438. package/dist/sdk/merge/three-way.js +1 -1
  439. package/dist/sdk/mutation-events.d.ts +84 -84
  440. package/dist/sdk/mutation-guard.d.ts +106 -106
  441. package/dist/sdk/notes.d.ts +52 -52
  442. package/dist/sdk/output/table-rows.d.ts +8 -8
  443. package/dist/sdk/output-contracts.d.ts +38 -38
  444. package/dist/sdk/output-projection.d.ts +142 -142
  445. package/dist/sdk/output-token-accounting.d.ts +27 -27
  446. package/dist/sdk/output.d.ts +28 -28
  447. package/dist/sdk/package-import-adapters.d.ts +54 -54
  448. package/dist/sdk/pagination.d.ts +29 -29
  449. package/dist/sdk/profile.d.ts +123 -123
  450. package/dist/sdk/provenance.d.ts +58 -58
  451. package/dist/sdk/public-surface.json +1 -1
  452. package/dist/sdk/query/activity.d.ts +118 -118
  453. package/dist/sdk/query/aggregate.d.ts +140 -140
  454. package/dist/sdk/query/calendar.d.ts +144 -144
  455. package/dist/sdk/query/complete-list.d.ts +53 -53
  456. package/dist/sdk/query/context.d.ts +395 -395
  457. package/dist/sdk/query/duplicate-candidates.d.ts +1 -1
  458. package/dist/sdk/query/get.d.ts +77 -77
  459. package/dist/sdk/query/history.d.ts +72 -72
  460. package/dist/sdk/query/item-filter-options.d.ts +79 -79
  461. package/dist/sdk/query/list-filter-shared.d.ts +1 -1
  462. package/dist/sdk/query/list.d.ts +188 -188
  463. package/dist/sdk/query/multi-value-filters.d.ts +4 -4
  464. package/dist/sdk/query/next-ready-budget.d.ts +14 -14
  465. package/dist/sdk/query/next.d.ts +137 -137
  466. package/dist/sdk/query/projection-contracts.d.ts +8 -8
  467. package/dist/sdk/query/search/corpus.d.ts +8 -8
  468. package/dist/sdk/query/search/filters.d.ts +5 -5
  469. package/dist/sdk/query/search/input.d.ts +4 -4
  470. package/dist/sdk/query/search/response.d.ts +8 -8
  471. package/dist/sdk/query/search/semantic.d.ts +106 -106
  472. package/dist/sdk/query/search/types.d.ts +85 -85
  473. package/dist/sdk/query/search-contracts.d.ts +65 -65
  474. package/dist/sdk/query/search-pagination.d.ts +19 -19
  475. package/dist/sdk/query/search-rendering.d.ts +25 -25
  476. package/dist/sdk/query/search.d.ts +46 -46
  477. package/dist/sdk/read-output/continuation.d.ts +8 -8
  478. package/dist/sdk/read-output/continuation.js +1 -1
  479. package/dist/sdk/read-output/extension.d.ts +7 -0
  480. package/dist/sdk/read-output/extension.js +2 -0
  481. package/dist/sdk/read-output/options.d.ts +6 -4
  482. package/dist/sdk/read-output/options.js +1 -1
  483. package/dist/sdk/read-output/provenance.d.ts +8 -8
  484. package/dist/sdk/read-output-budget.d.ts +10 -10
  485. package/dist/sdk/read-output-contracts.d.ts +192 -186
  486. package/dist/sdk/read-output-contracts.js +1 -1
  487. package/dist/sdk/read-output-rows.d.ts +6 -6
  488. package/dist/sdk/read-output-session.d.ts +50 -50
  489. package/dist/sdk/relationship-analytics.d.ts +78 -78
  490. package/dist/sdk/relationship-context.d.ts +81 -81
  491. package/dist/sdk/relationship-history.d.ts +109 -109
  492. package/dist/sdk/relationship-kinds/contract.d.ts +34 -34
  493. package/dist/sdk/relationship-migration.d.ts +26 -26
  494. package/dist/sdk/relationships.d.ts +78 -78
  495. package/dist/sdk/reproducibility/process.d.ts +3 -3
  496. package/dist/sdk/runtime/context.d.ts +11 -11
  497. package/dist/sdk/runtime-action-aliases.d.ts +2 -2
  498. package/dist/sdk/runtime-extended-actions.d.ts +8 -8
  499. package/dist/sdk/runtime-input.d.ts +3 -3
  500. package/dist/sdk/runtime-primitives.d.ts +4 -2
  501. package/dist/sdk/runtime-primitives.js +1 -1
  502. package/dist/sdk/runtime-public-contracts.d.ts +78 -78
  503. package/dist/sdk/runtime.d.ts +305 -305
  504. package/dist/sdk/runtime.js +1 -1
  505. package/dist/sdk/scheduling-shortcuts.d.ts +32 -32
  506. package/dist/sdk/schema-migration.d.ts +86 -86
  507. package/dist/sdk/schema.d.ts +355 -355
  508. package/dist/sdk/similarity-scoring.d.ts +10 -10
  509. package/dist/sdk/similarity.d.ts +113 -113
  510. package/dist/sdk/stats.d.ts +108 -108
  511. package/dist/sdk/structured-mutations.d.ts +16 -16
  512. package/dist/sdk/structured-mutations.js +1 -1
  513. package/dist/sdk/telemetry.d.ts +53 -53
  514. package/dist/sdk/templates.d.ts +39 -39
  515. package/dist/sdk/test/batch.d.ts +85 -85
  516. package/dist/sdk/test/execution-receipts.d.ts +3 -3
  517. package/dist/sdk/test/execution.d.ts +277 -277
  518. package/dist/sdk/test/execution.js +2 -2
  519. package/dist/sdk/test/json-path.d.ts +2 -2
  520. package/dist/sdk/test/linked-command-detection.d.ts +10 -10
  521. package/dist/sdk/test/measurements.d.ts +11 -11
  522. package/dist/sdk/test/parsers.d.ts +1 -1
  523. package/dist/sdk/test/parsers.js +1 -1
  524. package/dist/sdk/test/runs.d.ts +52 -52
  525. package/dist/sdk/test/trust.d.ts +12 -12
  526. package/dist/sdk/test/update.d.ts +31 -31
  527. package/dist/sdk/testing.d.ts +323 -319
  528. package/dist/sdk/testing.js +2 -2
  529. package/dist/sdk/traceability/source-traceability.d.ts +65 -65
  530. package/dist/sdk/workspace-contracts.d.ts +37 -37
  531. package/dist/sdk/workspace-memory.d.ts +60 -60
  532. package/dist/sdk/workspace-recipe.d.ts +9 -9
  533. package/dist/sdk/workspace-snapshot.d.ts +97 -97
  534. package/dist/sdk/workspace-transaction-gc.d.ts +32 -32
  535. package/dist/sdk/workspace-transaction.d.ts +47 -47
  536. package/dist/sdk/workspace.d.ts +6 -6
  537. package/dist/types.d.ts +978 -978
  538. package/dist/types.js +1 -1
  539. package/docs/BUILD_AND_RELEASE_ACCEPTANCE.md +5 -2
  540. package/docs/CONFIGURATION.md +43 -0
  541. package/docs/DEFECT_RECURRENCE.md +20 -0
  542. package/docs/EXTENSIONS.md +3 -3
  543. package/docs/EXTENSION_AUTHOR_CONTRACTS.md +19 -0
  544. package/docs/MERGE_SAFETY.md +35 -1
  545. package/docs/RECURRENCE_RECOVERY_CONTRACTS.md +17 -4
  546. package/docs/RELATIONSHIP_GRAPH.md +26 -0
  547. package/docs/RELEASING.md +6 -0
  548. package/docs/SDK.md +62 -18
  549. package/docs/SDK_CONSUMER_RECEIPTS.md +67 -0
  550. package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +6 -3
  551. package/marketplace.json +1 -1
  552. package/node_modules/@opentelemetry/core/build/esm/version.d.ts +1 -1
  553. package/node_modules/@opentelemetry/core/build/esm/version.js +1 -1
  554. package/node_modules/@opentelemetry/core/build/esnext/version.d.ts +1 -1
  555. package/node_modules/@opentelemetry/core/build/esnext/version.js +1 -1
  556. package/node_modules/@opentelemetry/core/build/src/version.d.ts +1 -1
  557. package/node_modules/@opentelemetry/core/build/src/version.js +1 -1
  558. package/node_modules/@opentelemetry/core/package.json +2 -2
  559. package/node_modules/@opentelemetry/resources/build/esm/version.d.ts +1 -1
  560. package/node_modules/@opentelemetry/resources/build/esm/version.js +1 -1
  561. package/node_modules/@opentelemetry/resources/build/esnext/version.d.ts +1 -1
  562. package/node_modules/@opentelemetry/resources/build/esnext/version.js +1 -1
  563. package/node_modules/@opentelemetry/resources/build/src/version.d.ts +1 -1
  564. package/node_modules/@opentelemetry/resources/build/src/version.js +1 -1
  565. package/node_modules/@opentelemetry/resources/package.json +3 -3
  566. package/node_modules/@opentelemetry/sdk-trace/build/esm/StackContextManager.d.ts +57 -0
  567. package/node_modules/@opentelemetry/sdk-trace/build/esm/StackContextManager.js +105 -0
  568. package/node_modules/@opentelemetry/sdk-trace/build/esm/index.d.ts +1 -0
  569. package/node_modules/@opentelemetry/sdk-trace/build/esm/index.js +1 -0
  570. package/node_modules/@opentelemetry/sdk-trace/build/esm/version.d.ts +1 -1
  571. package/node_modules/@opentelemetry/sdk-trace/build/esm/version.js +1 -1
  572. package/node_modules/@opentelemetry/sdk-trace/build/esnext/StackContextManager.d.ts +57 -0
  573. package/node_modules/@opentelemetry/sdk-trace/build/esnext/StackContextManager.js +105 -0
  574. package/node_modules/@opentelemetry/sdk-trace/build/esnext/index.d.ts +1 -0
  575. package/node_modules/@opentelemetry/sdk-trace/build/esnext/index.js +1 -0
  576. package/node_modules/@opentelemetry/sdk-trace/build/esnext/version.d.ts +1 -1
  577. package/node_modules/@opentelemetry/sdk-trace/build/esnext/version.js +1 -1
  578. package/node_modules/@opentelemetry/sdk-trace/build/src/StackContextManager.d.ts +57 -0
  579. package/node_modules/@opentelemetry/sdk-trace/build/src/StackContextManager.js +109 -0
  580. package/node_modules/@opentelemetry/sdk-trace/build/src/index.d.ts +1 -0
  581. package/node_modules/@opentelemetry/sdk-trace/build/src/index.js +3 -1
  582. package/node_modules/@opentelemetry/sdk-trace/build/src/version.d.ts +1 -1
  583. package/node_modules/@opentelemetry/sdk-trace/build/src/version.js +1 -1
  584. package/node_modules/@opentelemetry/sdk-trace/package.json +5 -5
  585. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/version.d.ts +1 -1
  586. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/version.js +1 -1
  587. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/version.d.ts +1 -1
  588. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/version.js +1 -1
  589. package/node_modules/@opentelemetry/sdk-trace-base/build/src/version.d.ts +1 -1
  590. package/node_modules/@opentelemetry/sdk-trace-base/build/src/version.js +1 -1
  591. package/node_modules/@opentelemetry/sdk-trace-base/package.json +7 -7
  592. package/node_modules/@sentry/core/build/cjs/browser.js +3 -0
  593. package/node_modules/@sentry/core/build/cjs/fetch.js +10 -9
  594. package/node_modules/@sentry/core/build/cjs/index.js +3 -0
  595. package/node_modules/@sentry/core/build/cjs/integrations/http/add-outgoing-request-breadcrumb.js +2 -1
  596. package/node_modules/@sentry/core/build/cjs/integrations/http/get-outgoing-span-data.js +3 -2
  597. package/node_modules/@sentry/core/build/cjs/integrations/http/server-subscription.js +7 -3
  598. package/node_modules/@sentry/core/build/cjs/integrations/requestdata.js +23 -9
  599. package/node_modules/@sentry/core/build/cjs/server.js +3 -0
  600. package/node_modules/@sentry/core/build/cjs/utils/data-collection/filterCollectedUrl.js +24 -0
  601. package/node_modules/@sentry/core/build/cjs/utils/data-collection/filterKeyValueData.js +17 -23
  602. package/node_modules/@sentry/core/build/cjs/utils/data-collection/filterQueryParams.js +8 -15
  603. package/node_modules/@sentry/core/build/cjs/utils/data-collection/filterUrlQuery.js +20 -0
  604. package/node_modules/@sentry/core/build/cjs/utils/url.js +4 -3
  605. package/node_modules/@sentry/core/build/cjs/utils/version.js +1 -1
  606. package/node_modules/@sentry/core/build/esm/browser.js +1 -0
  607. package/node_modules/@sentry/core/build/esm/fetch.js +10 -9
  608. package/node_modules/@sentry/core/build/esm/index.js +1 -0
  609. package/node_modules/@sentry/core/build/esm/integrations/http/add-outgoing-request-breadcrumb.js +2 -1
  610. package/node_modules/@sentry/core/build/esm/integrations/http/get-outgoing-span-data.js +3 -2
  611. package/node_modules/@sentry/core/build/esm/integrations/http/server-subscription.js +7 -3
  612. package/node_modules/@sentry/core/build/esm/integrations/requestdata.js +23 -9
  613. package/node_modules/@sentry/core/build/esm/package.json +1 -1
  614. package/node_modules/@sentry/core/build/esm/server.js +1 -0
  615. package/node_modules/@sentry/core/build/esm/utils/data-collection/filterCollectedUrl.js +21 -0
  616. package/node_modules/@sentry/core/build/esm/utils/data-collection/filterKeyValueData.js +18 -25
  617. package/node_modules/@sentry/core/build/esm/utils/data-collection/filterQueryParams.js +9 -16
  618. package/node_modules/@sentry/core/build/esm/utils/data-collection/filterUrlQuery.js +18 -0
  619. package/node_modules/@sentry/core/build/esm/utils/url.js +4 -3
  620. package/node_modules/@sentry/core/build/esm/utils/version.js +1 -1
  621. package/node_modules/@sentry/core/build/types/shared-exports.d.ts +1 -0
  622. package/node_modules/@sentry/core/build/types/utils/data-collection/filterCollectedUrl.d.ts +21 -0
  623. package/node_modules/@sentry/core/build/types/utils/data-collection/filterKeyValueData.d.ts +1 -0
  624. package/node_modules/@sentry/core/build/types/utils/data-collection/filterQueryParams.d.ts +2 -3
  625. package/node_modules/@sentry/core/build/types/utils/data-collection/filterUrlQuery.d.ts +13 -0
  626. package/node_modules/@sentry/core/build/types/utils/url.d.ts +4 -1
  627. package/node_modules/@sentry/core/build/types-ts3.8/shared-exports.d.ts +1 -0
  628. package/node_modules/@sentry/core/build/types-ts3.8/utils/data-collection/filterCollectedUrl.d.ts +21 -0
  629. package/node_modules/@sentry/core/build/types-ts3.8/utils/data-collection/filterKeyValueData.d.ts +1 -0
  630. package/node_modules/@sentry/core/build/types-ts3.8/utils/data-collection/filterQueryParams.d.ts +2 -3
  631. package/node_modules/@sentry/core/build/types-ts3.8/utils/data-collection/filterUrlQuery.d.ts +13 -0
  632. package/node_modules/@sentry/core/build/types-ts3.8/utils/url.d.ts +4 -1
  633. package/node_modules/@sentry/core/package.json +3 -2
  634. package/node_modules/@sentry/node/build/cjs/integrations/tracing/vercelai/instrumentation.js +3 -0
  635. package/node_modules/@sentry/node/build/esm/integrations/tracing/vercelai/instrumentation.js +3 -0
  636. package/node_modules/@sentry/node/build/esm/package.json +1 -1
  637. package/node_modules/@sentry/node/package.json +7 -6
  638. package/node_modules/@sentry/node-core/build/cjs/integrations/anr/index.js +1 -1
  639. package/node_modules/@sentry/node-core/build/cjs/integrations/http/httpServerSpansIntegration.js +6 -3
  640. package/node_modules/@sentry/node-core/build/cjs/integrations/local-variables/local-variables-async.js +1 -1
  641. package/node_modules/@sentry/node-core/build/cjs/integrations/node-fetch/undici-instrumentation.js +2 -2
  642. package/node_modules/@sentry/node-core/build/cjs/light/client.js +7 -0
  643. package/node_modules/@sentry/node-core/build/cjs/sdk/client.js +7 -0
  644. package/node_modules/@sentry/node-core/build/cjs/utils/outgoingFetchRequest.js +1 -1
  645. package/node_modules/@sentry/node-core/build/esm/integrations/anr/index.js +1 -1
  646. package/node_modules/@sentry/node-core/build/esm/integrations/anr/worker-script.js +2 -2
  647. package/node_modules/@sentry/node-core/build/esm/integrations/http/httpServerSpansIntegration.js +7 -4
  648. package/node_modules/@sentry/node-core/build/esm/integrations/local-variables/local-variables-async.js +1 -1
  649. package/node_modules/@sentry/node-core/build/esm/integrations/local-variables/worker-script.js +1 -1
  650. package/node_modules/@sentry/node-core/build/esm/integrations/node-fetch/undici-instrumentation.js +3 -3
  651. package/node_modules/@sentry/node-core/build/esm/light/client.js +8 -1
  652. package/node_modules/@sentry/node-core/build/esm/package.json +1 -1
  653. package/node_modules/@sentry/node-core/build/esm/sdk/client.js +8 -1
  654. package/node_modules/@sentry/node-core/build/esm/utils/outgoingFetchRequest.js +2 -2
  655. package/node_modules/@sentry/node-core/build/types/light/client.d.ts +1 -0
  656. package/node_modules/@sentry/node-core/build/types/sdk/client.d.ts +1 -0
  657. package/node_modules/@sentry/node-core/build/types-ts3.8/light/client.d.ts +1 -0
  658. package/node_modules/@sentry/node-core/build/types-ts3.8/sdk/client.d.ts +1 -0
  659. package/node_modules/@sentry/node-core/package.json +5 -4
  660. package/node_modules/@sentry/opentelemetry/build/cjs/{asyncContextStrategy-BJ5buq_A.js → asyncContextStrategy-BR-l9zjD.js} +8 -6
  661. package/node_modules/@sentry/opentelemetry/build/cjs/index.browser.js +1 -1
  662. package/node_modules/@sentry/opentelemetry/build/cjs/index.js +1 -1
  663. package/node_modules/@sentry/opentelemetry/build/esm/{asyncContextStrategy-Bx5F5tCX.js → asyncContextStrategy-BQfM_LMv.js} +9 -7
  664. package/node_modules/@sentry/opentelemetry/build/esm/index.browser.js +1 -1
  665. package/node_modules/@sentry/opentelemetry/build/esm/index.js +2 -2
  666. package/node_modules/@sentry/opentelemetry/build/esm/package.json +1 -1
  667. package/node_modules/@sentry/opentelemetry/package.json +4 -3
  668. package/node_modules/@sentry/server-utils/build/cjs/tracing-channel.js +1 -0
  669. package/node_modules/@sentry/server-utils/build/esm/package.json +1 -1
  670. package/node_modules/@sentry/server-utils/build/esm/tracing-channel.js +1 -0
  671. package/node_modules/@sentry/server-utils/build/types/tracing-channel.d.ts +3 -1
  672. package/node_modules/@sentry/server-utils/build/types-ts3.8/tracing-channel.d.ts +3 -1
  673. package/node_modules/@sentry/server-utils/package.json +4 -3
  674. package/node_modules/cjs-module-lexer/README.md +8 -3
  675. package/node_modules/cjs-module-lexer/dist/lexer.js +1 -1
  676. package/node_modules/cjs-module-lexer/dist/lexer.mjs +2 -2
  677. package/node_modules/cjs-module-lexer/lexer.js +48 -9
  678. package/node_modules/cjs-module-lexer/package.json +3 -2
  679. package/node_modules/es-module-lexer/dist/lexer.asm.js +2 -2
  680. package/node_modules/es-module-lexer/dist/lexer.cjs +1 -1
  681. package/node_modules/es-module-lexer/dist/lexer.js +2 -2
  682. package/node_modules/es-module-lexer/dist/lexer.minimal.asm.js +2 -2
  683. package/node_modules/es-module-lexer/dist/lexer.minimal.cjs +1 -1
  684. package/node_modules/es-module-lexer/dist/lexer.minimal.js +2 -2
  685. package/node_modules/es-module-lexer/package.json +1 -1
  686. package/node_modules/import-in-the-middle/CHANGELOG.md +7 -0
  687. package/node_modules/import-in-the-middle/lib/get-esm-exports.mjs +7 -0
  688. package/node_modules/import-in-the-middle/package.json +1 -1
  689. package/package.json +2 -2
  690. package/packages/pm-beads/extensions/beads/runtime.ts +2 -2
  691. package/packages/pm-beads/package.json +1 -1
  692. package/packages/pm-calendar/package.json +1 -1
  693. package/packages/pm-command-kit/package.json +1 -1
  694. package/packages/pm-digital-twin/package.json +1 -1
  695. package/packages/pm-governance-audit/package.json +1 -1
  696. package/packages/pm-guide-shell/package.json +1 -1
  697. package/packages/pm-kanban/package.json +1 -1
  698. package/packages/pm-lifecycle-hooks/package.json +1 -1
  699. package/packages/pm-linked-test-adapters/package.json +1 -1
  700. package/packages/pm-search-advanced/package.json +1 -1
  701. package/packages/pm-templates/package.json +1 -1
  702. package/packages/pm-todos/package.json +1 -1
  703. package/packages/pm-vcs/package.json +1 -1
  704. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  705. package/plugins/pm-claude/package.json +1 -1
  706. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  707. package/plugins/pm-codex/package.json +1 -1
  708. package/plugins/pm-codex/plugin.json +1 -1
  709. package/runtime-dependencies.json +1 -1
  710. package/scripts/finalize-build.mjs +37 -0
  711. package/dist/cli-bundle/chunks/chunk-6PZPUJW3.js +0 -234
  712. package/dist/cli-bundle/chunks/chunk-B465HPS5.js +0 -8
  713. package/dist/cli-bundle/chunks/chunk-ILQEZ4Y6.js +0 -2
  714. package/dist/cli-bundle/chunks/chunk-JRRXWH5B.js +0 -20
  715. package/dist/cli-bundle/chunks/chunk-LH5QDBMN.js +0 -2
  716. package/dist/cli-bundle/chunks/chunk-M5NDSW6E.js +0 -30
  717. package/dist/cli-bundle/focused-chunks/chunk-AXBO53EQ.js +0 -2
  718. package/dist/cli-bundle/focused-chunks/chunk-FXRWJEQ5.js +0 -3
  719. package/dist/cli-bundle/focused-chunks/chunk-IKJFAU32.js +0 -8
  720. package/dist/cli-bundle/focused-chunks/chunk-PPH5N26M.js +0 -2
  721. package/dist/cli-bundle/focused-chunks/chunk-RZVNGUT7.js +0 -26
  722. package/dist/cli-bundle/focused-chunks/chunk-YCOJLIDI.js +0 -20
  723. package/dist/cli-bundle/focused-chunks/chunk-YDJT33JU.js +0 -2
package/dist/types.js CHANGED
@@ -1,2 +1,2 @@
1
- (function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},n=new e.Error().stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="d293b107-03ce-51f2-8ade-8a9f0ec0b4db")}catch{}})();const BUILTIN_ITEM_TYPE_VALUES=["Epic","Feature","Task","Chore","Issue","Decision","Event","Reminder","Milestone","Meeting","Plan"],ITEM_TYPE_VALUES=BUILTIN_ITEM_TYPE_VALUES,STATUS_VALUES=["draft","open","in_progress","blocked","closed","canceled"],RUNTIME_STATUS_ROLE_VALUES=["draft","active","blocked","terminal","terminal_done","terminal_canceled","default_open","default_close","default_cancel"],RUNTIME_FIELD_TYPE_VALUES=["string","number","boolean","string_array","array","object"],RUNTIME_FIELD_COMMAND_VALUES=["create","update","update_many","list","search","calendar","context"],RUNTIME_UNKNOWN_FIELD_POLICY_VALUES=["allow","warn","reject"],DEPENDENCY_KIND_VALUES=["blocks","parent","child","parent_child","child_of","related","related_to","discovered_from","blocked_by","incident_from","epic","implements","recurs_from","supersedes","task","verifies"],SCOPE_VALUES=["project","global"],RISK_VALUES=["low","medium","high","critical"],ISSUE_SEVERITY_VALUES=["low","medium","high","critical"],CONFIDENCE_TEXT_VALUES=["low","medium","high"],ITEM_FORMAT_VALUES=["toon","json_markdown"],SPRINT_RELEASE_FORMAT_POLICY_VALUES=["warn","strict_error"],PARENT_REFERENCE_POLICY_VALUES=["warn","strict_error"],VALIDATE_METADATA_PROFILE_VALUES=["core","strict","custom"],GOVERNANCE_PRESET_VALUES=["minimal","default","strict","custom"],GOVERNANCE_OWNERSHIP_ENFORCEMENT_VALUES=["none","warn","strict"],GOVERNANCE_CREATE_MODE_DEFAULT_VALUES=["progressive","strict"],GOVERNANCE_CLOSE_VALIDATION_DEFAULT_VALUES=["off","warn","strict"],GOVERNANCE_WORKFLOW_ENFORCEMENT_VALUES=["off","warn","strict"],GOVERNANCE_DUPLICATE_DETECTION_MODE_VALUES=["off","advisory","strict"],VALIDATE_METADATA_REQUIRED_FIELD_VALUES=["author","acceptance_criteria","estimated_minutes","close_reason","reviewer","risk","confidence","sprint","release"],RECURRENCE_FREQUENCY_VALUES=["daily","weekly","monthly","yearly"],RECURRENCE_WEEKDAY_VALUES=["mon","tue","wed","thu","fri","sat","sun"];function weekdayOrderIndex(value){return RECURRENCE_WEEKDAY_VALUES.indexOf(value)}const PLAN_MODE_VALUES=["draft","research","review","approved","executing","paused","completed","superseded"],PLAN_STEP_STATUS_VALUES=["pending","in_progress","completed","blocked","skipped","superseded"],PLAN_HARNESS_VALUES=["codex","claude-code","cursor","generic"],PLAN_STEP_LINK_KIND_VALUES=["related","blocks","blocked_by","depends_on","discovered_from","implements","recurs_from","verifies","supersedes"],CONTEXT_DEPTH_VALUES=["brief","standard","deep","full"],CONTEXT_SECTION_VALUES=["hierarchy","activity","progress","recently_created","unparented","blockers","files","workload","staleness","tests"];export{BUILTIN_ITEM_TYPE_VALUES,CONFIDENCE_TEXT_VALUES,CONTEXT_DEPTH_VALUES,CONTEXT_SECTION_VALUES,DEPENDENCY_KIND_VALUES,GOVERNANCE_CLOSE_VALIDATION_DEFAULT_VALUES,GOVERNANCE_CREATE_MODE_DEFAULT_VALUES,GOVERNANCE_DUPLICATE_DETECTION_MODE_VALUES,GOVERNANCE_OWNERSHIP_ENFORCEMENT_VALUES,GOVERNANCE_PRESET_VALUES,GOVERNANCE_WORKFLOW_ENFORCEMENT_VALUES,ISSUE_SEVERITY_VALUES,ITEM_FORMAT_VALUES,ITEM_TYPE_VALUES,PARENT_REFERENCE_POLICY_VALUES,PLAN_HARNESS_VALUES,PLAN_MODE_VALUES,PLAN_STEP_LINK_KIND_VALUES,PLAN_STEP_STATUS_VALUES,RECURRENCE_FREQUENCY_VALUES,RECURRENCE_WEEKDAY_VALUES,RISK_VALUES,RUNTIME_FIELD_COMMAND_VALUES,RUNTIME_FIELD_TYPE_VALUES,RUNTIME_STATUS_ROLE_VALUES,RUNTIME_UNKNOWN_FIELD_POLICY_VALUES,SCOPE_VALUES,SPRINT_RELEASE_FORMAT_POLICY_VALUES,STATUS_VALUES,VALIDATE_METADATA_PROFILE_VALUES,VALIDATE_METADATA_REQUIRED_FIELD_VALUES,weekdayOrderIndex};
1
+ (function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},n=new e.Error().stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="459c0cce-212f-5285-9c3b-13676d2388af")}catch{}})();const BUILTIN_ITEM_TYPE_VALUES=["Epic","Feature","Task","Chore","Issue","Decision","Event","Reminder","Milestone","Meeting","Plan"],ITEM_TYPE_VALUES=BUILTIN_ITEM_TYPE_VALUES,STATUS_VALUES=["draft","open","in_progress","blocked","closed","canceled"],RUNTIME_STATUS_ROLE_VALUES=["draft","active","blocked","terminal","terminal_done","terminal_canceled","default_open","default_close","default_cancel"],RUNTIME_FIELD_TYPE_VALUES=["string","number","boolean","string_array","array","object"],RUNTIME_FIELD_COMMAND_VALUES=["create","update","update_many","list","search","calendar","context"],RUNTIME_UNKNOWN_FIELD_POLICY_VALUES=["allow","warn","reject"],DEPENDENCY_KIND_VALUES=["blocks","parent","child","parent_child","child_of","related","related_to","discovered_from","blocked_by","incident_from","epic","implements","recurs_from","supersedes","task","verifies"],SCOPE_VALUES=["project","global"],RISK_VALUES=["low","medium","high","critical"],ISSUE_SEVERITY_VALUES=["low","medium","high","critical"],CONFIDENCE_TEXT_VALUES=["low","medium","high"],ITEM_FORMAT_VALUES=["toon","json_markdown"],SPRINT_RELEASE_FORMAT_POLICY_VALUES=["warn","strict_error"],PARENT_REFERENCE_POLICY_VALUES=["warn","strict_error"],VALIDATE_METADATA_PROFILE_VALUES=["core","strict","custom"],GOVERNANCE_PRESET_VALUES=["minimal","default","strict","custom"],GOVERNANCE_OWNERSHIP_ENFORCEMENT_VALUES=["none","warn","strict"],GOVERNANCE_CREATE_MODE_DEFAULT_VALUES=["progressive","strict"],GOVERNANCE_CLOSE_VALIDATION_DEFAULT_VALUES=["off","warn","strict"],GOVERNANCE_WORKFLOW_ENFORCEMENT_VALUES=["off","warn","strict"],GOVERNANCE_DUPLICATE_DETECTION_MODE_VALUES=["off","advisory","strict"],VALIDATE_METADATA_REQUIRED_FIELD_VALUES=["author","acceptance_criteria","estimated_minutes","close_reason","reviewer","risk","confidence","sprint","release"],RECURRENCE_FREQUENCY_VALUES=["daily","weekly","monthly","yearly"],RECURRENCE_WEEKDAY_VALUES=["mon","tue","wed","thu","fri","sat","sun"];function weekdayOrderIndex(value){return RECURRENCE_WEEKDAY_VALUES.indexOf(value)}const PLAN_MODE_VALUES=["draft","research","review","approved","executing","paused","completed","superseded"],PLAN_STEP_STATUS_VALUES=["pending","in_progress","completed","blocked","skipped","superseded"],PLAN_HARNESS_VALUES=["codex","claude-code","cursor","generic"],PLAN_STEP_LINK_KIND_VALUES=["related","blocks","blocked_by","depends_on","discovered_from","implements","recurs_from","verifies","supersedes"],CONTEXT_DEPTH_VALUES=["brief","standard","deep","full"],CONTEXT_SECTION_VALUES=["hierarchy","activity","progress","recently_created","unparented","blockers","files","workload","staleness","tests"];export{BUILTIN_ITEM_TYPE_VALUES,CONFIDENCE_TEXT_VALUES,CONTEXT_DEPTH_VALUES,CONTEXT_SECTION_VALUES,DEPENDENCY_KIND_VALUES,GOVERNANCE_CLOSE_VALIDATION_DEFAULT_VALUES,GOVERNANCE_CREATE_MODE_DEFAULT_VALUES,GOVERNANCE_DUPLICATE_DETECTION_MODE_VALUES,GOVERNANCE_OWNERSHIP_ENFORCEMENT_VALUES,GOVERNANCE_PRESET_VALUES,GOVERNANCE_WORKFLOW_ENFORCEMENT_VALUES,ISSUE_SEVERITY_VALUES,ITEM_FORMAT_VALUES,ITEM_TYPE_VALUES,PARENT_REFERENCE_POLICY_VALUES,PLAN_HARNESS_VALUES,PLAN_MODE_VALUES,PLAN_STEP_LINK_KIND_VALUES,PLAN_STEP_STATUS_VALUES,RECURRENCE_FREQUENCY_VALUES,RECURRENCE_WEEKDAY_VALUES,RISK_VALUES,RUNTIME_FIELD_COMMAND_VALUES,RUNTIME_FIELD_TYPE_VALUES,RUNTIME_STATUS_ROLE_VALUES,RUNTIME_UNKNOWN_FIELD_POLICY_VALUES,SCOPE_VALUES,SPRINT_RELEASE_FORMAT_POLICY_VALUES,STATUS_VALUES,VALIDATE_METADATA_PROFILE_VALUES,VALIDATE_METADATA_REQUIRED_FIELD_VALUES,weekdayOrderIndex};
2
2
  //# sourceMappingURL=types.js.map
@@ -7,7 +7,7 @@ Trackers: [pm-cxc4jc](../.agents/pm/tasks/pm-cxc4jc.toon),
7
7
 
8
8
  ## Build ownership
9
9
 
10
- Build/test/coverage sessions own `.cache/build-lease` through completion;
10
+ Build/test/coverage and distribution-packing sessions own `.cache/build-lease` through completion;
11
11
  other producers/consumers wait twenty minutes. Nested readers inherit a verified
12
12
  PID/token receipt; nested builds require independent workspaces. Direct stages
13
13
  and arbitrary `dist` reads bypass this protocol.
@@ -16,7 +16,10 @@ Leases never expire or get stolen. Two matching reads proving PID absence fail
16
16
  promptly with recovery guidance. Missing/malformed/changing/ambiguous receipts
17
17
  use the timeout; PID reuse is ambiguous. Inspect owner and children before
18
18
  abandoned-lease removal. Failed builds leave `.cache/build-incomplete`; prebuilt
19
- tests refuse it until a successful build.
19
+ tests and distribution packing refuse it until a successful build. Packing holds
20
+ the lease from source inventory through isolated staging and the final archive;
21
+ its asynchronous helper validates inherited consumer receipts in the same
22
+ physical workspace. See [SDK consumer receipts](SDK_CONSUMER_RECEIPTS.md).
20
23
 
21
24
  Interrupts stop the child and stage admission, allowing five seconds for
22
25
  settlement, lease release and cleanup; unsettled children retain storage.
@@ -226,8 +226,18 @@ Successful sampled reads defer their start until completion so both lifecycle ev
226
226
 
227
227
  `pm telemetry stats` reads the local queue and reports, per command bucket, latency percentiles (`duration_p50_ms`/`duration_p95_ms`/`duration_max_ms`, nearest-rank over `command_finish` `duration_ms`), outcome rates (`ok_count`/`error_count`/`error_rate`; a finish event whose `ok` is missing or not strictly `true` is counted conservatively as an error), and `command_resolution_counts`. These are an always-available, zero-network performance and reliability signal for the most recent queued window.
228
228
 
229
+ Background completion delivery is tracked by [pm-j8spis](../.agents/pm/issues/pm-j8spis.toon).
230
+ The detached uploader continues draining due events and OTLP spans appended
231
+ during an upload, so completion delivery does not require another command.
232
+ It releases the upload lock between batches and rechecks consent and identity.
233
+ Future retries remain queued, and unchanged eligible work stops the drain;
234
+ foreground commands still perform no export network I/O.
235
+
229
236
  ### Sentry environment variables
230
237
 
238
+ Tracing and privacy delivery: [pm-58yzil](../.agents/pm/features/pm-58yzil.toon) and
239
+ [pm-geywoc](../.agents/pm/issues/pm-geywoc.toon).
240
+
231
241
  Crash and error diagnostics are reported to Sentry only when telemetry is enabled and the process is not opted out. These environment variables tune the Sentry client.
232
242
 
233
243
  | Variable | Values | Use |
@@ -235,10 +245,43 @@ Crash and error diagnostics are reported to Sentry only when telemetry is enable
235
245
  | `PM_SENTRY_DISABLED` | boolean | Disable Sentry error reporting for this process (the Sentry SDK is not even imported). `PM_TELEMETRY_DISABLED` / `PM_NO_TELEMETRY` also disable it. |
236
246
  | `SENTRY_DSN` | URL | Override the destination DSN. Defaults to the bundled pm-cli project DSN. |
237
247
  | `SENTRY_ENVIRONMENT` | string | Override the reported environment tag. Defaults to `test` under Vitest, `ci` when `CI` is set, otherwise `production`. |
248
+ | `PM_SENTRY_TRACE_COMMANDS` | boolean | Explicitly initialize Sentry for successful commands. Defaults to off, preserving lazy startup. All consent opt-outs and test isolation still apply; a zero trace sample rate avoids initialization. |
238
249
  | `SENTRY_TRACES_SAMPLE_RATE` | number `0`–`1` | Fraction of command spans sampled for performance tracing. Defaults to `0.2` (20%). Set to `1` for full-trace performance debugging or `0` to disable tracing. Non-numeric or out-of-range values fall back to the default. |
239
250
 
240
251
  > Sentry is hard-disabled under Vitest (`VITEST` / `VITEST_WORKER_ID`), so these knobs are no-ops inside the test suite.
241
252
 
253
+ For a bounded diagnostic invocation use
254
+ `PM_SENTRY_TRACE_COMMANDS=1 SENTRY_TRACES_SAMPLE_RATE=1 pm context --limit 3`.
255
+ Completion flushes buffered spans within the existing three-second SDK timeout.
256
+ The sample-rate variable alone does not enable successful-command initialization.
257
+ Configured telemetry opt-outs also prevent it. The CLI skips command context and
258
+ span creation when consent is disabled, including when an embedding caller has
259
+ already initialized Sentry. SDK callers use
260
+ `ensureSentryCommandTracing(telemetryEnabled)` from `@unbrained/pm-cli/sdk`,
261
+ passing an explicit `true` only after confirming effective consent. Start a
262
+ command span only when the returned permission is `true`; an existing client
263
+ also requires the current opt-in, sampling and process policy. Other runtime
264
+ values keep initialization disabled.
265
+ Consent is checked again at command completion. A command that disables
266
+ telemetry discards its span; SDK callers can use `sentryDiscardCommandSpan()`
267
+ to clear a pending span without exporting it.
268
+ A failed completion-time settings read also discards the span, so optional
269
+ diagnostics cannot turn a successful command into a failure.
270
+ If the SDK loader or initializer fails, tracing remains unavailable for that
271
+ process and the command continues. The partial client is cleared and the
272
+ failed initialization is not retried.
273
+ Sentry sends streamed spans; its span and log hooks apply the same scrubbing
274
+ as errors and breadcrumbs. A final envelope hook scrubs serialized log attributes
275
+ after the SDK merges current and isolation scopes, preserving safe typed values
276
+ without changing shared scopes. Template parameter attributes are always redacted.
277
+ Command context retains option keys and redacted
278
+ argument slots, including text that resembles a flag. Automatic user, cookie, HTTP header/body/query, AI, database,
279
+ GraphQL, local-variable and source-context collection is explicitly
280
+ disabled. Command taxonomy and outcome attributes remain available on spans.
281
+
282
+ The separate local event and OTLP queues retain their existing formats. Turning
283
+ off command tracing does not require deleting or rewriting those queues.
284
+
242
285
  Linked commands launched by `pm test --run` default
243
286
  `SENTRY_ENVIRONMENT=test`, even when the parent process is classified as
244
287
  production. This keeps sandbox failures out of production diagnostics. An
@@ -47,10 +47,30 @@ The index and report are deterministic. `policy_fingerprint` identifies the vers
47
47
 
48
48
  Each report explains its exact matching signals, returns deduplicated local and hosted checks, and includes a small cost receipt. Package authors may keep their own recurrence policy and feed the same SDK from a custom command, extension, CI adapter, or application.
49
49
 
50
+ File-pattern evaluation is tracked by [pm-0vqbl5](../.agents/pm/tasks/pm-0vqbl5.toon).
51
+ Patterns treat punctuation and literal NUL characters literally, `*` matches any characters except `/`, and
52
+ `**` also crosses separators while excluding line terminators. Matching covers
53
+ the complete trimmed path; `**/` still requires its slash. A finite-state matcher
54
+ uses at most pattern length times path length work and memory proportional to
55
+ pattern length. The existing 256-character policy limit and bounded compiled
56
+ pattern cache remain in force, including for custom SDK policy consumers.
57
+
50
58
  ## CLI and MCP Action
51
59
 
52
60
  `assurance risk` accepts one JSON request through the same `definition` transport already used by SDK and MCP hosts:
53
61
 
62
+ Discovery recovery is tracked by [pm-assurance-risk-help-policy](../.agents/pm/issues/pm-assurance-risk-help-policy.toon).
63
+ Both `policy` and `change` are required. Help includes an executable minimal
64
+ example with an explicitly empty family list; it demonstrates the request
65
+ shape and makes no project coverage claim. Use the project's declared policy
66
+ for real decisions, as below. A missing or invalid policy object returns
67
+ structured help recovery without choosing a policy on the caller's behalf.
68
+ SDK policy parsing throws `DefectRecurrencePolicyParseError`, a `TypeError`
69
+ subclass exported by the root and governance entrypoints. This identifies
70
+ policy validation without depending on message text; its stable `code` is
71
+ `defect_recurrence_policy_invalid`. Change and lineage
72
+ validation retain their separate error contracts.
73
+
54
74
  ```bash
55
75
  risk_request=$(jq -cn \
56
76
  --slurpfile policy config/defect-recurrence-policy.json \
@@ -304,12 +304,12 @@ Doctor JSON also includes `triage.collision_plan` with grouped surfaces, ranked
304
304
  Use the public SDK barrel. Do not deep-import from `src/core` or `dist/core`.
305
305
 
306
306
  - `api.extension` is a read-only identity (`name`, `layer`, `version`, `capabilities`, `pm_min_version?`, `pm_max_version?`, `source_package?`) for self-identifying logs and version gating without re-reading the manifest.
307
- - `api.registerCommand(definition)` adds package-owned commands.
307
+ - `api.registerCommand(definition)` adds package-owned commands; `read_output` opts readers into the [SDK output contract](SDK.md#minimal-command-extension).
308
308
  - `api.registerFlags(command, flags)` adds runtime command flags. A flag may declare `value_type` (canonical; the legacy `type` alias is honored only when `value_type` is absent), `list: true` to accumulate repeated/comma-joined values like core `--tags`, and a `default` applied when the flag is omitted.
309
309
  - `api.registerItemFields(fields)` adds custom metadata fields. Agents can set declared fields with repeatable `pm create --field name=value` and `pm update <id> --field name=value`; undeclared names are rejected. `SchemaFieldDefinition.type` is the same closed union used by `pm schema add-field`: `string | number | boolean | string_array | array | object`. Unsupported values fail at compile time for TypeScript authors and at activation for JavaScript packages, with a did-you-mean hint on typos. `string_array` is the repeatable string collection; `array` and `object` require JSON containers.
310
310
  - Custom fields whose camel-case option name is already owned by a canonical MCP input remain usable through `options.<name>`, but authoring surfaces report the collision instead of allowing silent top-level shadowing. `pm schema add-field`, `pm profile lint`, and `pm package doctor` name the field, canonical `mcp_tool_input` owner, and nested recovery path. SDK authors can preflight the same rule with `resolvePmToolCustomFieldCollision`.
311
311
  - `api.registerItemTypes(types)` adds custom item types.
312
- - `api.registerRelationshipKinds(definitions)` adds validated graph semantics. Definitions declare direction, inverse spelling, ordering/precedence, hierarchy, cardinality, lifecycle, aliases, payload schema, compatibility version, and self-edge policy. Active definitions are merged into native CLI, MCP, and SDK workspace graph assembly. Requires the `schema` capability and is governed by the `schema.relationshipkinds` policy surface.
312
+ - `api.registerRelationshipKinds(definitions)` adds validated graph semantics. Definitions declare direction, inverse spelling, ordering/precedence, hierarchy, cardinality, lifecycle, aliases, payload schema, compatibility version, and self-edge policy. Active definitions govern CLI, MCP, and SDK dependency mutation admission as well as workspace graph assembly; mutation aliases are stored canonically. Requires the `schema` capability and is governed by the `schema.relationshipkinds` policy surface. See [relationship mutation admission](RELATIONSHIP_GRAPH.md#contract), tracked by [pm-7dsolo](../.agents/pm/issues/pm-7dsolo.toon).
313
313
  - `api.registerMigration(definition)` adds schema migrations.
314
314
  - `api.registerProfile(profile)` contributes a project profile — a declarative archetype bundling item types, statuses, fields, per-type workflows, config, templates, and package recommendations. Once active it resolves by name through `pm profile list/show/apply` alongside the core `agile`/`ops`/`research` archetypes (built-in names are reserved; a colliding registration is ignored with a warning). Requires the `schema` capability.
315
315
  - `api.registerAssuranceMeasurementProvider(provider)` contributes typed measurements to assurance. It requires `services`; network providers also require manifest `permissions.network: true`. Gates allow providers and cost/network limits per trigger. See [Project Assurance Primitives](ASSURANCE.md#extension-measurement-providers) for examples.
@@ -325,7 +325,7 @@ Use the public SDK barrel. Do not deep-import from `src/core` or `dist/core`.
325
325
 
326
326
  The bundled `pm-lifecycle-hooks` package is the hook exemplar: it declares only `hooks` and registers a default-inert `afterCommand` hook so authors can copy a safe lifecycle pattern without changing command output.
327
327
  If a package calls a `register*` API without declaring the required manifest capability, `pm package doctor --project --detail deep --trace` reports `extension_capability_missing:<name>:<capability>` and shows the exact capability to add before publishing.
328
- Inline command flags require both `commands` and `schema` capabilities. Runtime schema changes should be verified with:
328
+ Inline command flags require both `commands` and `schema` capabilities. See [Extension author contracts](EXTENSION_AUTHOR_CONTRACTS.md) for canonical flag spelling ([pm-gh1461](../.agents/pm/issues/pm-gh1461.toon)) and [SDK testing helpers](SDK.md#testing-helpers) for TOON output assertions ([pm-gh1462](../.agents/pm/features/pm-gh1462.toon)). Verify runtime schema changes and flag contracts with:
329
329
 
330
330
  ```bash
331
331
  pm schema list
@@ -4,6 +4,25 @@ Tracker: pm-at83
4
4
 
5
5
  This page records runtime contracts package authors need when they build on the public SDK. For the install, manifest, lifecycle, and troubleshooting overview, see [Packages and Extensions](EXTENSIONS.md).
6
6
 
7
+ ## Flag Spelling and Output Assertions
8
+
9
+ Tracked by [pm-gh1461](../.agents/pm/issues/pm-gh1461.toon) and
10
+ [pm-gh1462](../.agents/pm/features/pm-gh1462.toon).
11
+ Prefer `{ long: "--repo", value_name: "project", value_type: "string" }`.
12
+ Legacy `--repo <project>`, `--repo=<project>` and `--label [name]` declarations
13
+ retain one canonical identity, one value placeholder and one help listing.
14
+ Optional brackets permit presence without a value. Explicit `value_name` wins
15
+ over the inline label, and boolean types remain value-free. Runtime contracts
16
+ omit inferred labels for boolean flags, including legacy dynamic `bool` aliases;
17
+ explicit legacy `value_name` metadata remains compatible. The SDK owns the
18
+ canonical long-name rule used by help, option dispatch and contract discovery.
19
+ Typed authors should use canonical `value_type` names (`boolean`, `number`, `string`).
20
+
21
+ Use `decodeToon` from `@unbrained/pm-cli/sdk/testing` to assert on host output
22
+ semantically; `encodeToon` and the native codec option types are available from
23
+ that subpath and `/sdk`. They use the host's pinned implementation, so a package
24
+ does not need a separate TOON dependency or a private `dist/` import.
25
+
7
26
  ## Telemetry Capture Level
8
27
 
9
28
  Every `pm` command records a telemetry event. Extension commands use the same telemetry pipeline as core commands and inherit `telemetry.capture_level` from the active settings.
@@ -111,6 +111,14 @@ incompatible commands. A dry run changes neither configuration nor attributes.
111
111
 
112
112
  ### Fence coverage contract
113
113
 
114
+ Extension assets are tracked by [pm-gh1460](../.agents/pm/issues/pm-gh1460.toon).
115
+ Files under `extensions/**` use Git's built-in `merge=text` driver, so separate
116
+ text edits combine and overlapping edits retain normal conflict markers.
117
+ Git still detects binary content and preserves its conflicted stages. The later
118
+ `.managed-extensions.json` rule keeps the structured `pm-json` driver.
119
+ The v2 fence grammar remains stable; `pm merge install` refreshes stale patterns
120
+ without discarding sibling fences or restoring legacy unversioned markers.
121
+
114
122
  The fenced block is generated by one shared coverage contract (`buildMergeAttributePatterns`) covering every mergeable artifact class: tracker-wide `**/*.toon` and `**/*.md` item patterns, explicit per-type diagnostic patterns, all tracker `**/*.jsonl` paths under the relationship-event driver with the more-specific `history/*.jsonl` rule overriding history streams, root `settings.json`, and every nested `**/*.json` document. The tracker-wide item rules protect extension-defined type folders even when a receiving branch has not installed the package that registered them; explicit type rows still make active-registry drift diagnosable. The broad JSON rules automatically cover schema, managed-extension, evaluation-corpus, and future package-owned authoritative JSON without another hand-maintained allowlist. 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:
115
123
 
116
124
  - `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.
@@ -195,6 +203,20 @@ same complete receipt summary and disposition. An absent, unreadable, invalid,
195
203
  unsealed, or mismatched audit keeps the receipt pending in memory; inspection
196
204
  rewrites neither receipt nor history. History is verified once per affected
197
205
  item in each receipt scan.
206
+ Historical receipt recovery is tracked by [pm-tknnzp](../.agents/pm/issues/pm-tknnzp.toon).
207
+ Historical item-state hashes do not authenticate audit context. An older
208
+ unsealed `merge_reconcile` summary therefore cannot retain settled state,
209
+ even when its receipt identity, fields, and value hashes match. Editing that
210
+ context leaves the legacy item chain valid. Keep these receipts pending for
211
+ explicit reviewed migration to a modern sealed audit; never retroactively
212
+ trust the old summary or synthesize an old signature during inspection.
213
+ If compaction removed the audit, the receipt also stays pending. Preview with
214
+ `pm merge reconcile --dry-run`; review its summaries and repair failures and
215
+ re-apply any intended discarded values. Only with explicit review authority,
216
+ use `pm merge reconcile --force --message "<reviewed receipt disposition and rationale>"`.
217
+ That command appends acceptance evidence; it cannot recover missing evidence
218
+ or restore discarded values. This migration guidance also applies to a
219
+ lossless receipt whose snapshot proof is unavailable.
198
220
  Copy provenance includes normalized `requested_preference_applied`, so copies
199
221
  that disagree on whether preference participated cannot share lifecycle state
200
222
  even if history matches one copy. Inspection reports `copy_provenance_mismatch`,
@@ -210,6 +232,18 @@ pm merge report --include-reconciled
210
232
 
211
233
  The underlying public SDK exports are `mergeItemDocuments`, `mergeHistoryStreams`, `mergeRelationshipEventStreams`, `mergeJsonDocuments`, `runMergeDriver`, `runMergeInstall`, `installMergeFence`, `findGitWorkspaceRoot`, `runMergeReconcile`, `runMergeReceiptReport`, `runMergeReceiptEvidenceReport`, `inspectMergeReceiptEvidence`, `listMergeReceipts`, `auditMergeDriverConfiguration`, `refreshMergeAttributeFenceIfInstalled`, `buildMergeAttributePatterns`, and `auditMergeAttributeFence` from `@unbrained/pm-cli/sdk`. `installMergeFence` accepts explicit tracker and workspace roots, so custom init hosts do not depend on process cwd or CLI globals.
212
234
 
235
+ Collection projection is tracked by [pm-pftgcz](../.agents/pm/issues/pm-pftgcz.toon).
236
+ History union reconstructs each event in its original branch before merging
237
+ collection values with the item driver's shared policy. Positional comment,
238
+ doc and test patches from an earlier reconciliation therefore cannot overwrite
239
+ an unrelated entry at the same array index on another branch. Original event
240
+ attribution and patches remain in sealed rewrite evidence; replayed collections
241
+ use the canonical item order and receiving-side linked-test provenance.
242
+ The SDK reanchor primitive accepts `projectPatch` for this explicit projection
243
+ boundary. It retains the replaced patch rather than erasing its source.
244
+ Exact receipt settlement still requires an authoritative matching snapshot,
245
+ and newly merged executable tests still require clone-local trust acknowledgement.
246
+
213
247
  `listMergeReceipts` is the compatibility projection for callers that only need
214
248
  validated receipts. It cannot distinguish an empty evidence store from a store
215
249
  whose candidates were all rejected. Gates and diagnostic integrations should
@@ -495,7 +529,7 @@ pm history-repair <item-id>
495
529
  pm merge reconcile --dry-run --json
496
530
  ```
497
531
 
498
- `history-repair` records the reconciliation patch and classifies its changed fields against the final item. Append-only collection unions and deterministic reordering are reported as preserved context without a data-loss warning. Fields whose replayed values are actually removed or replaced remain loud with discarded event authors/operations and recovery guidance. Re-apply any intended losing mutation as a normal `pm update` so it remains explicit and auditable.
532
+ `history-repair` records the reconciliation patch and classifies its changed fields against the final item. Append-only collection unions and deterministic reordering are reported as preserved context without a data-loss warning. For native comments, docs and tests, duplicate copies of the same identified record and changes between the known `local_mutation`/`merge_union` display markers are also reported as preserved context. Author, creation time, origin, payload and unknown-field changes remain significant. This diagnosis does not authorize linked commands or relax exact receipt hashes. Fields whose replayed values are actually removed or replaced remain loud with discarded event authors/operations and recovery guidance. Re-apply any intended losing mutation as a normal `pm update` so it remains explicit and auditable.
499
533
 
500
534
  History events now declare an item-hash epoch. Epochs are immutable writer
501
535
  contracts, not aliases for the current item serializer: epoch 1 sorts linked
@@ -6,6 +6,8 @@ Tracked by [pm-83cz0o](../.agents/pm/features/pm-83cz0o.toon),
6
6
  [pm-h8tpeh](../.agents/pm/features/pm-h8tpeh.toon), and
7
7
  [pm-f05lsg](../.agents/pm/features/pm-f05lsg.toon).
8
8
 
9
+ Planning recovery: [pm-reopen-planning-recovery](../.agents/pm/tasks/pm-reopen-planning-recovery.toon).
10
+
9
11
  ## Agent Quick Context
10
12
 
11
13
  - Reuse an active matching item; reopen a terminal matching item.
@@ -21,17 +23,28 @@ Tracked by [pm-83cz0o](../.agents/pm/features/pm-83cz0o.toon),
21
23
 
22
24
  ```bash
23
25
  pm item reopen pm-a1b2 "The production failure recurred after deployment"
24
- pm item reopen pm-a1b2 "The customer reproduced the issue" --status in_progress
26
+ pm item reopen pm-a1b2 "The customer reproduced the issue" --status in_progress \
27
+ --expected-result "The recurrence is repaired and its regression passes"
25
28
  ```
26
29
 
27
30
  The command accepts only the workspace open or in-progress status. While
28
31
  holding the item lock it verifies that the current status is terminal, records
29
32
  one `reopen` history event with structured recurrence context, and delegates the
30
33
  state change to the normal update pipeline. Active metadata drops stale
31
- `closed_at`, `completed_at`, `close_reason`, `resolution`, `expected_result`,
32
- `actual_result`, and `fixed_version` values. Earlier history retains the exact
34
+ `closed_at`, `completed_at`, `close_reason`, `resolution`, `actual_result`, and
35
+ `fixed_version` values. It clears the prior `expected_result` and retains a new
36
+ current expectation when explicitly supplied. Earlier history retains the exact
33
37
  closure values.
34
38
 
39
+ Supply `--expected-result` (`--expected`) for the current active expectation.
40
+ The SDK option and MCP parameter are `expectedResult`. This explicitly supplied
41
+ planning value survives the reopen, while the previous terminal expectation
42
+ remains in `recurrence.previous_terminal` and immutable history. Without the
43
+ option, the compact receipt supplies `recovery.suggested_retry_args` for an
44
+ update of the same tracker and item. Replace its outcome placeholder before
45
+ executing it, then claim/start the item. Reopening does not infer a new
46
+ expectation from the old closure or relax active planning assurance.
47
+
35
48
  Compact output keeps the recurrence receipt because the prior and next status,
36
49
  reason, and terminal evidence are the proof that this was a recurrence rather
37
50
  than a generic edit. An already-active item fails with
@@ -47,7 +60,7 @@ const pm = new PmClient({ pmRoot: "/workspace/.agents/pm" });
47
60
  const viaClient = await pm.reopen(
48
61
  "pm-a1b2",
49
62
  "The production failure recurred",
50
- { status: "in_progress" },
63
+ { status: "in_progress", expectedResult: "The recurrence regression passes" },
51
64
  );
52
65
 
53
66
  const viaFunction = await reopen(
@@ -10,6 +10,32 @@ The alternatives were rejected as follows: a closed enum cannot model applicatio
10
10
 
11
11
  ## Contract
12
12
 
13
+ Dependency mutation admission is tracked by [pm-7dsolo](../.agents/pm/issues/pm-7dsolo.toon).
14
+ `create --dep`, `update --dep`, `update --dep-remove`, bulk updates, and their
15
+ SDK actions resolve kinds and aliases through the active workspace registry.
16
+ For example, an extension can register `ships_before` with alias
17
+ `precedes_ship`, then use `--dep id=<target>,kind=precedes_ship`; storage and
18
+ history record `ships_before`. Ordering advice, self-edge refusals, and
19
+ hierarchy validation use those same registered semantics. Disabling or
20
+ uninstalling the registration refuses new dependency writes before item or history changes.
21
+ The refusal lists active canonical kinds and explains how to enable the owning
22
+ extension. `DependencyKind` is a string identifier: `DEPENDENCY_KIND_VALUES`
23
+ describes built-in spellings rather than the complete workspace vocabulary.
24
+
25
+ Non-hierarchy kinds with `outgoing: "one"` or `incoming: "one"` also reject
26
+ new conflicting logical endpoints before persistence. Duplicate provenance
27
+ rows do not consume another logical endpoint; unchanged historical debt and
28
+ strict repairs remain allowed. One removal plus one addition is validated as
29
+ the final dependency set. Limited-cardinality writers share the workspace
30
+ integrity lock with hierarchy writers, so concurrent updates cannot both
31
+ validate against the same empty snapshot.
32
+ `assertNonHierarchyCardinalityMutationAllowed` and `RelationshipCardinalityItem`
33
+ are public root/graph SDK exports for comparing minimal immutable item
34
+ projections. The guard reports `dependency_cardinality_created` with a typed
35
+ `relationship_cardinality` context. Native mutations compose it with the
36
+ existing richer hierarchy validator; it does not infer semantics for an
37
+ inactive or unknown kind.
38
+
13
39
  Each relationship kind declares direction, inverse, a traversal family,
14
40
  optional typed-outcome traversal direction, ordering and hierarchy
15
41
  participation, optional temporal order, incoming and outgoing cardinality,
package/docs/RELEASING.md CHANGED
@@ -437,6 +437,12 @@ maintainer supplies
437
437
  pair that acknowledgement with migration guidance, compatible extension
438
438
  version bounds where applicable, and the next eligible date-based release.
439
439
 
440
+ Build finalization removes redundant indentation from emitted `.d.ts` files
441
+ ([pm-chw71s](../.agents/pm/tasks/pm-chw71s.toon)). String and template type
442
+ contents, comments, JSDoc, symbols and module boundaries retain their original
443
+ tokens. Source declarations remain readable, and packed TypeScript consumers
444
+ verify the emitted surface before publication. Artifact ceilings remain unchanged.
445
+
440
446
  5. Land the implementation through a reviewed pull request, then use hosted
441
447
  preparation for publication.
442
448
 
package/docs/SDK.md CHANGED
@@ -1792,23 +1792,9 @@ Custom tools can evaluate the same behavior without shelling out:
1792
1792
 
1793
1793
  ```ts
1794
1794
  import {
1795
- runContextEvaluationCorpus, isReadOutputBudgetExceeded,
1796
- type ContextEvaluationReader,
1795
+ runContextEvaluationCorpus,
1797
1796
  } from "@unbrained/pm-cli/sdk";
1798
1797
 
1799
- const reader: ContextEvaluationReader = {
1800
- context: async options => {
1801
- const result = await pm.context(options);
1802
- if (isReadOutputBudgetExceeded(result)) throw new Error("Cannot grade omitted context");
1803
- return { ...result };
1804
- },
1805
- next: async options => {
1806
- const result = await pm.next(options);
1807
- if (isReadOutputBudgetExceeded(result)) throw new Error("Cannot grade omitted next");
1808
- return { ...result };
1809
- },
1810
- };
1811
-
1812
1798
  const report = await runContextEvaluationCorpus([{
1813
1799
  id: "returning-agent",
1814
1800
  surface: "context",
@@ -1818,16 +1804,21 @@ const report = await runContextEvaluationCorpus([{
1818
1804
  continuity_ids: ["pm-current", "pm-support"],
1819
1805
  token_budget: 1200,
1820
1806
  rationale: "Resume claimed work with its supporting context.",
1821
- }], reader, {
1807
+ }], pm, {
1822
1808
  ndcg: 0.9, reciprocal_rank: 0.9, required_recall: 1,
1823
1809
  continuity_coverage: 1, token_budget_adherence: 1,
1824
1810
  });
1825
1811
  if (!report.passed) throw new Error(report.failures.join(", "));
1826
1812
  ```
1827
1813
 
1828
- The adapter preserves the whole packet and refuses a universal budget omission
1829
- before scoring. Direct reader-type composition is tracked by
1814
+ `PmClient` directly satisfies `ContextEvaluationReader`, including universal
1815
+ budget receipts. The evaluator preserves the complete packet and refuses
1816
+ whole-result omissions with `context_evaluation_read_incomplete` before scoring,
1817
+ including omissions caused by a shared session despite an unbounded per-read
1818
+ budget. Increase the budget or start a fresh session before retrying. Ordinary
1819
+ bounded row selection remains evaluable. Tracked by
1830
1820
  [pm-i4kxx1](../.agents/pm/tasks/pm-i4kxx1.toon).
1821
+ See [SDK consumer receipts](SDK_CONSUMER_RECEIPTS.md) for recovery and package-generation contracts.
1831
1822
 
1832
1823
  The evaluator calls only the public `context()` / `next()` reader contract. It
1833
1824
  scores nDCG, reciprocal rank, required-item recall, returning-agent continuity,
@@ -1990,6 +1981,40 @@ capability entry to add before publishing.
1990
1981
 
1991
1982
  ## Minimal Command Extension
1992
1983
 
1984
+ Read-only command handlers can opt into the host output contract with
1985
+ `read_output: { row_keys: ["items"] }`. This public declaration is tracked by
1986
+ [pm-extension-read-output-controls](../.agents/pm/features/pm-extension-read-output-controls.toon).
1987
+ It supports `outputInclude`, `outputLimit`, `outputBudget`, `outputFormat`,
1988
+ `outputSession`, `outputCursor`, and `outputRowContract` through CLI flags,
1989
+ `PmClient.run(action, { options })`, and MCP `pm_run`. Inspect the active
1990
+ command's flags and schemas with `pm contracts --command "<path>" --full`.
1991
+
1992
+ ```ts
1993
+ api.registerCommand({
1994
+ name: "inventory rows",
1995
+ read_output: { row_keys: ["items"] },
1996
+ run: () => ({ items: [{ id: "asset-1", title: "Camera" }], count: 1, total: 1 }),
1997
+ });
1998
+ ```
1999
+
2000
+ The handler must return a structured object. Each declared path must contain
2001
+ an array or object map; paths may be nested, unique and non-overlapping. Use
2002
+ `row_keys: []` for a singleton result. Activation snapshots the declaration,
2003
+ and the host validates the returned collections before projecting them. Avoid
2004
+ reserved metadata and prototype property names. The declaration promises a
2005
+ read-only handler; writers and undeclared commands keep refusing read controls,
2006
+ and native commands/actions retain their existing contracts. A declaration
2007
+ cannot shadow native dispatch; choose a distinct package action.
2008
+
2009
+ Receipts and continuation cursors identify the canonical extension command.
2010
+ Resume with the returned cursor and the same semantic inputs; changed rows
2011
+ refuse stale continuation. A budget that cannot fit useful content returns the
2012
+ shared `output_budget_exceeded` branch, and CLI exits 2. SDK consumers should
2013
+ check `isReadOutputBudgetExceeded` before treating the payload as their result.
2014
+ Packages can describe their own omitted groups with the existing
2015
+ `OutputProjectionDeclaration`; the host also discloses reductions caused by
2016
+ its output controls. JSON and TOON estimates include their receipts.
2017
+
1993
2018
  ```ts
1994
2019
  import { defineExtension } from "@unbrained/pm-cli/sdk";
1995
2020
 
@@ -2645,6 +2670,22 @@ missing. Named expectations use `{ name }`; historical surface-specific aliases
2645
2670
  remain supported. Optional `extensionName` limits a match to one extension.
2646
2671
  The published surface snapshot contains the complete helper signatures.
2647
2672
 
2673
+ Output codecs are tracked by [pm-gh1462](../.agents/pm/features/pm-gh1462.toon).
2674
+ `decodeToon` and `encodeToon` use the exact TOON implementation shipped by the
2675
+ host. They are exported from `/sdk/testing` and `/sdk`, with `ToonDecodeOptions`,
2676
+ `ToonEncodeOptions` and `ToonJsonValue` types. Compare decoded values instead of
2677
+ matching spaces or quoted scalars, and retain strict decoder errors for malformed
2678
+ output:
2679
+
2680
+ ```ts
2681
+ import assert from "node:assert/strict";
2682
+ import { decodeToon, encodeToon } from "@unbrained/pm-cli/sdk/testing";
2683
+
2684
+ const stdout = "status: open\n"; // Replace with captured host output.
2685
+ assert.deepEqual(decodeToon(stdout), { status: "open" });
2686
+ assert.deepEqual(decodeToon(encodeToon({ enabled: false })), { enabled: false });
2687
+ ```
2688
+
2648
2689
  Prefer `createExtensionTestHarness` when testing a package. Its bound methods
2649
2690
  select the correct registry, preventing accidental use of a command registry for
2650
2691
  hooks or services:
@@ -3102,6 +3143,9 @@ tracker and extension policy from any working directory.
3102
3143
  In-process callers of `runPmCli(args)` do not need to replace `process.argv`:
3103
3144
  usage and help recovery use the supplied invocation for command selection,
3104
3145
  tracker scope, extension policy and both text and JSON formatting.
3146
+ Eval hosts with no `process.argv[1]` also work: the CLI supplies an internal
3147
+ script label and preserves the host's argument array and exit status
3148
+ ([pm-mor9pl](../.agents/pm/issues/pm-mor9pl.toon)).
3105
3149
 
3106
3150
  `runTest(id, { measure: [...] }, global)` requires `run: true`. A missing run
3107
3151
  returns `test_measure_requires_run` before linked-test mutation, with an executable
@@ -0,0 +1,67 @@
1
+ # SDK Consumer Receipts
2
+
3
+ Trackers: [pm-i4kxx1](../.agents/pm/tasks/pm-i4kxx1.toon),
4
+ [pm-by83yj](../.agents/pm/issues/pm-by83yj.toon),
5
+ [pm-distribution-consumer-lease](../.agents/pm/issues/pm-distribution-consumer-lease.toon),
6
+ [pm-ty5i58](../.agents/pm/issues/pm-ty5i58.toon).
7
+
8
+ Project management is context management: consumers must distinguish useful
9
+ context from an omission and follow recoveries that the host can execute.
10
+
11
+ `PmClient` directly implements `ContextEvaluationReader`. Structural readers can
12
+ return their complete context or next packet plus universal read receipts.
13
+ `runContextEvaluationScenario` refuses a universal budget-exceeded result or a
14
+ whole-result omission in either `read_output` or `context_intent` before it
15
+ computes ranking metrics. This also covers an exhausted shared output session
16
+ when the individual read requests an unbounded budget. Reader refusals, including
17
+ a completely exhausted session, propagate with their original diagnosis. Retry with an adequate
18
+ budget or a fresh session. Ordinary bounded row selection is still evaluated;
19
+ complete packets retain token accounting and served-item attribution.
20
+
21
+ Core metadata is reserved from extension `--field` assignments. Create and
22
+ update recoveries resolve actual flags from the command registration contracts,
23
+ including aliases such as `--estimate` for `estimated_minutes`. Collection routes
24
+ reuse the same mapping as structured item IO, such as `comments` to `--comment`
25
+ and `type_options` to `--type-option`. Recovery names only declared mutation
26
+ routes and retains the other required-option policy. A stored
27
+ field does not imply a CLI flag. `external_ref` has no dedicated create/update
28
+ CLI mutation flag; its refusal says so and points to the owning lifecycle,
29
+ evidence, or importer API. Existing imported references remain readable and
30
+ preserved. Extension authors should register a distinct field for custom data.
31
+ The standalone SDK field parser also declines to invent host command flags.
32
+
33
+ Typed schema customization also preserves the declared storage type.
34
+ `PmClient.schemaAddField(name, { type: "number" })` and the functional
35
+ `schemaAddField` export translate the documented `type` option to the schema
36
+ action's `fieldType` input. Number and boolean registrations therefore retain
37
+ those persisted types and their coercion rules. An omitted type still defaults
38
+ to string. Generic `client.run("schema", ...)` consumers continue to use
39
+ `fieldType`. Installed Node and Bun acceptance exercises registration, reads the
40
+ persisted definitions, and creates typed custom values before evaluating context.
41
+ Schema-managed fields use their declared dynamic create/update options: for
42
+ example, `sdkNumeric: "7"` follows the generated `--sdk-numeric` option and stores
43
+ the number `7`. Inspect the schema and command contracts for those names.
44
+ Extension-registered fields use the separate `field` assignment collection.
45
+
46
+ Distribution packing acquires the same checkout lease as builds and tests before
47
+ reading manifests, inventorying source files, and staging the physical package.
48
+ It retains the lease until packing finishes. A nested packer can reuse the
49
+ consumer token only when its physical root matches the root named by the
50
+ inherited lease receipt and the live owner's receipt validates. Validation runners supply
51
+ `PM_BUILD_CONSUMER_LEASE_ROOT`; legacy tokens are scoped to the script workspace.
52
+ Linked commands cannot override lease controls through stored environment
53
+ directives. Snapshot and isolated execution clear both inherited lease variables,
54
+ keeping source ownership and its workspace path outside those child contexts.
55
+ Foreign workspaces acquire their own lease. An inherited owner path that no
56
+ longer resolves also takes this independent path; it never authorizes token reuse.
57
+ Interrupted builds retain an incomplete
58
+ marker and are refused until a complete rebuild succeeds. Packing never steals
59
+ a lease by age or removes another owner's receipt. Source-path checks, exact
60
+ runtime-ledger verification, and lossless metadata staging remain enforced.
61
+
62
+ `packDistribution` is an asynchronous repository helper; callers await its
63
+ receipt. The CLI entrypoint also awaits it before reporting an artifact. The
64
+ independent-process regression starts the real build entrypoint with owned
65
+ fixture build stages, verifies contention against the producer's live receipt,
66
+ and compares both archive files with the completed generation. Timing alone is
67
+ not the overlap oracle.
@@ -4,12 +4,12 @@ Tracker: `pm-f05lsg`.
4
4
 
5
5
  Every catalog code is listed. An `uncovered` row is an explicit closure obligation, never an omission or implied approval.
6
6
 
7
- - Catalog error codes: 402
7
+ - Catalog error codes: 405
8
8
  - Executable error codes: 19
9
9
  - Executable-code ratchet floor: 18
10
10
  - Required executable canonical codes: `bulk_ids_input_empty`, `bulk_ids_input_missing_path`, `bulk_ids_input_unreadable`, `invalid_argument_value`, `manifest_unknown_key`, `missing_lifecycle_target`, `missing_required_argument`, `no_version_bounds_declared`, `projection_options_mutually_exclusive`, `tracker_not_initialized`, `tracker_root_missing`, `tracker_root_not_directory`, `tracker_root_unreadable`, `unknown_context_intent`, `unknown_field_projection`, `unknown_option`, `unknown_subcommand`
11
- - Uncovered error codes: 383
12
- - Coverage fraction: 0.047264
11
+ - Uncovered error codes: 386
12
+ - Coverage fraction: 0.046914
13
13
  - Closed-domain probes: 19
14
14
  - Grammar probes: 117
15
15
 
@@ -55,12 +55,14 @@ Every catalog code is listed. An `uncovered` row is an explicit closure obligati
55
55
  | `config_key_unknown` | `config_key_unknown` | uncovered | none | 0 |
56
56
  | `config_value_invalid` | `config_value_invalid` | uncovered | none | 0 |
57
57
  | `conflicting_lifecycle_owner` | `conflicting_lifecycle_owner` | uncovered | none | 0 |
58
+ | `context_evaluation_read_incomplete` | `context_evaluation_read_incomplete` | uncovered | none | 0 |
58
59
  | `context_signal_store_invalid` | `context_signal_store_invalid` | uncovered | none | 0 |
59
60
  | `context_signal_store_stale` | `context_signal_store_stale` | uncovered | none | 0 |
60
61
  | `context_signal_store_write_failed` | `context_signal_store_write_failed` | uncovered | none | 0 |
61
62
  | `context_takes_no_item_argument` | `context_takes_no_item_argument` | uncovered | none | 0 |
62
63
  | `core_item_field_requires_dedicated_flag` | `core_item_field_requires_dedicated_flag` | uncovered | none | 0 |
63
64
  | `create_positional_type_without_title` | `create_positional_type_without_title` | uncovered | none | 0 |
65
+ | `dependency_cardinality_created` | `dependency_cardinality_created` | uncovered | none | 0 |
64
66
  | `dependency_edge_not_allowed` | `dependency_edge_not_allowed` | uncovered | none | 0 |
65
67
  | `dependency_flag_value_invalid` | `dependency_flag_value_invalid` | uncovered | none | 0 |
66
68
  | `dependency_remove_no_match` | `dependency_remove_no_match` | uncovered | none | 0 |
@@ -97,6 +99,7 @@ Every catalog code is listed. An `uncovered` row is an explicit closure obligati
97
99
  | `extension_mutation_guard_invalid_decision` | `extension_mutation_guard_invalid_decision` | uncovered | none | 0 |
98
100
  | `extension_mutation_guard_invalid_denial` | `extension_mutation_guard_invalid_denial` | uncovered | none | 0 |
99
101
  | `extension_mutation_guard_timed_out` | `extension_mutation_guard_timed_out` | uncovered | none | 0 |
102
+ | `extension_read_output_invalid` | `extension_read_output_invalid` | uncovered | none | 0 |
100
103
  | `extension_update_health_partial_coverage` | `extension_update_health_partial_coverage` | uncovered | none | 0 |
101
104
  | `extensions_unreadable` | `extensions_unreadable` | uncovered | none | 0 |
102
105
  | `field_duplicate` | `field_duplicate` | uncovered | none | 0 |
package/marketplace.json CHANGED
@@ -1 +1 @@
1
- {"name":"pm","owner":{"name":"unbrained","url":"https://github.com/unbraind/pm-cli"},"description":"Official marketplace for pm CLI — native git-based project management for Claude Code and AI coding agents.","version":"2026.10.12","plugins":[{"name":"pm-claude","source":"./plugins/pm-claude","description":"Native pm CLI integration for Claude Code — 32 MCP tools, 14 workflow skills with slash invocations, 4 subagents, hybrid TUI task tracking, session context injection, and coordination subagents for git-based project management without leaving Claude Code.","version":"2026.10.12","author":{"name":"unbrained","url":"https://github.com/unbraind/pm-cli"},"homepage":"https://github.com/unbraind/pm-cli","repository":"https://github.com/unbraind/pm-cli","license":"MIT","keywords":["pm-cli","project-management","mcp","tasks","agents","workflows","git-native","task-tracker","ai"],"category":"productivity"}]}
1
+ {"name":"pm","owner":{"name":"unbrained","url":"https://github.com/unbraind/pm-cli"},"description":"Official marketplace for pm CLI — native git-based project management for Claude Code and AI coding agents.","version":"2026.10.14","plugins":[{"name":"pm-claude","source":"./plugins/pm-claude","description":"Native pm CLI integration for Claude Code — 32 MCP tools, 14 workflow skills with slash invocations, 4 subagents, hybrid TUI task tracking, session context injection, and coordination subagents for git-based project management without leaving Claude Code.","version":"2026.10.14","author":{"name":"unbrained","url":"https://github.com/unbraind/pm-cli"},"homepage":"https://github.com/unbraind/pm-cli","repository":"https://github.com/unbraind/pm-cli","license":"MIT","keywords":["pm-cli","project-management","mcp","tasks","agents","workflows","git-native","task-tracker","ai"],"category":"productivity"}]}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "2.11.0";
1
+ export declare const VERSION = "2.12.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -3,5 +3,5 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  // this is autogenerated file, see scripts/version-update.js
6
- export const VERSION = '2.11.0';
6
+ export const VERSION = '2.12.0';
7
7
  //# sourceMappingURL=version.js.map
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "2.11.0";
1
+ export declare const VERSION = "2.12.0";
2
2
  //# sourceMappingURL=version.d.ts.map