@unbrained/pm-cli 2026.8.23 → 2026.8.24

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 (147) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +14 -1
  3. package/dist/cli/description-stdin.js +5 -4
  4. package/dist/cli/extension-command-help.d.ts +5 -0
  5. package/dist/cli/extension-command-help.js +6 -2
  6. package/dist/cli/help-content.d.ts +5 -0
  7. package/dist/cli/help-content.js +56 -3
  8. package/dist/cli/help-json-payload.d.ts +5 -2
  9. package/dist/cli/help-json-payload.js +57 -17
  10. package/dist/cli/main.d.ts +3 -0
  11. package/dist/cli/main.js +28 -3
  12. package/dist/cli/register-annotations.js +5 -5
  13. package/dist/cli/register-mutation.js +73 -27
  14. package/dist/cli-bundle/bundle-manifest.json +152 -152
  15. package/dist/cli-bundle/chunks/{chunk-JB4KZWBF.js → chunk-AGUL3HUT.js} +2 -2
  16. package/dist/cli-bundle/chunks/{chunk-EG6CLDZT.js → chunk-DJNJBWAQ.js} +2 -2
  17. package/dist/cli-bundle/chunks/{chunk-F3AI2JFL.js → chunk-I5Q7QSZX.js} +2 -2
  18. package/dist/cli-bundle/chunks/chunk-IW72J5FW.js +2 -0
  19. package/dist/cli-bundle/chunks/{chunk-KXPMB2YL.js → chunk-L22NP5MA.js} +55 -55
  20. package/dist/cli-bundle/chunks/chunk-MKE6MD2K.js +36 -0
  21. package/dist/cli-bundle/chunks/{chunk-QDVHNHAQ.js → chunk-NXBFO63A.js} +2 -2
  22. package/dist/cli-bundle/chunks/chunk-TEQDR5KI.js +202 -0
  23. package/dist/cli-bundle/chunks/{chunk-KPH73XXJ.js → chunk-X7WWQDYQ.js} +2 -2
  24. package/dist/cli-bundle/chunks/{chunk-TFI5V5N2.js → chunk-YOLLRCLY.js} +2 -2
  25. package/dist/cli-bundle/chunks/{chunk-HWZ6CELB.js → chunk-ZAVCS2GH.js} +2 -2
  26. package/dist/cli-bundle/chunks/{register-list-query-UJB5FMV2.js → register-list-query-37A4P6O4.js} +2 -2
  27. package/dist/cli-bundle/chunks/register-mutation-TBJDHYIT.js +20 -0
  28. package/dist/cli-bundle/chunks/{register-operations-RXIJIYXC.js → register-operations-WRZNEBUM.js} +2 -2
  29. package/dist/cli-bundle/chunks/{register-setup-GFUZEKRE.js → register-setup-H4PDLACD.js} +2 -2
  30. package/dist/cli-bundle/focused-chunks/{chunk-AUFH5H35.js → chunk-4WP7LNE3.js} +2 -2
  31. package/dist/cli-bundle/focused-chunks/{chunk-LYVSW5VM.js → chunk-6MUTDXMP.js} +2 -2
  32. package/dist/cli-bundle/focused-chunks/chunk-6Z24ZMU3.js +2 -0
  33. package/dist/cli-bundle/focused-chunks/{chunk-OGLQBL46.js → chunk-BFA6KKCI.js} +2 -2
  34. package/dist/cli-bundle/focused-chunks/{chunk-QGFNI65N.js → chunk-CWCN5RLO.js} +2 -2
  35. package/dist/cli-bundle/focused-chunks/{chunk-UYRFYCDQ.js → chunk-FCTT4CZU.js} +2 -2
  36. package/dist/cli-bundle/focused-chunks/{chunk-IFLWKY2R.js → chunk-GJR6YEMR.js} +2 -2
  37. package/dist/cli-bundle/focused-chunks/{chunk-37Z4OEAP.js → chunk-IMWTYKII.js} +2 -2
  38. package/dist/cli-bundle/focused-chunks/{chunk-R27IDGHD.js → chunk-IZNRRCU3.js} +2 -2
  39. package/dist/cli-bundle/focused-chunks/{chunk-JOWDB2MH.js → chunk-MNPECIRL.js} +2 -2
  40. package/dist/cli-bundle/focused-chunks/{chunk-OFVUGTLJ.js → chunk-O4ZXNJMT.js} +2 -2
  41. package/dist/cli-bundle/focused-chunks/chunk-Q63PSLO4.js +2 -0
  42. package/dist/cli-bundle/focused-chunks/chunk-QBP5FSBX.js +4 -0
  43. package/dist/cli-bundle/focused-chunks/{chunk-OY7QAV4Y.js → chunk-QV5UP27O.js} +46 -46
  44. package/dist/cli-bundle/focused-chunks/{chunk-3UPTYG44.js → chunk-RASVBJX5.js} +2 -2
  45. package/dist/cli-bundle/focused-chunks/{chunk-5S7E72FY.js → chunk-RPRLENVA.js} +2 -2
  46. package/dist/cli-bundle/focused-chunks/chunk-TOFVXBWA.js +19 -0
  47. package/dist/cli-bundle/focused-chunks/{chunk-FZS4H32O.js → chunk-WZLSSGEU.js} +2 -2
  48. package/dist/cli-bundle/main.js +18 -17
  49. package/dist/cli-bundle/sdk-authoring.js +1 -1
  50. package/dist/cli-bundle/sdk-contracts.js +1 -1
  51. package/dist/cli-bundle/sdk-core.js +41 -41
  52. package/dist/cli-bundle/sdk-governance.js +1 -1
  53. package/dist/cli-bundle/sdk-graph.js +1 -1
  54. package/dist/cli-bundle/sdk-merge.js +33 -33
  55. package/dist/cli-bundle/sdk-query.js +1 -1
  56. package/dist/cli-bundle/sdk-runtime.js +1 -1
  57. package/dist/cli-bundle/sdk-testing.js +1 -1
  58. package/dist/cli-bundle/sdk.js +6 -5
  59. package/dist/core/extensions/command-metadata-contract.d.ts +10 -0
  60. package/dist/core/extensions/command-metadata-contract.js +23 -0
  61. package/dist/core/extensions/command-visibility-tier.js +12 -2
  62. package/dist/core/extensions/extension-types.d.ts +6 -0
  63. package/dist/core/extensions/extension-types.js +2 -2
  64. package/dist/core/extensions/loader.js +4 -3
  65. package/dist/core/io/body-file.js +7 -2
  66. package/dist/core/io/bulk-ids-input.d.ts +24 -0
  67. package/dist/core/io/bulk-ids-input.js +113 -0
  68. package/dist/core/item/parse.d.ts +22 -2
  69. package/dist/core/item/parse.js +97 -4
  70. package/dist/mcp/server.d.ts +3 -2
  71. package/dist/mcp/server.js +16 -9
  72. package/dist/sdk/agent/refusal-closure-census.d.ts +66 -0
  73. package/dist/sdk/agent/refusal-closure-census.js +144 -0
  74. package/dist/sdk/agent-capability-contracts.d.ts +34 -1
  75. package/dist/sdk/agent-capability-contracts.js +104 -6
  76. package/dist/sdk/annotations.d.ts +2 -0
  77. package/dist/sdk/annotations.js +25 -7
  78. package/dist/sdk/cli-contracts/tool-parameter-tables.js +38 -2
  79. package/dist/sdk/cli-contracts/typed-action-inputs.d.ts +4 -1
  80. package/dist/sdk/cli-contracts/typed-action-inputs.js +2 -2
  81. package/dist/sdk/comments.js +15 -7
  82. package/dist/sdk/flag-invocation-contracts.d.ts +2 -0
  83. package/dist/sdk/flag-invocation-contracts.js +28 -3
  84. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +71 -38
  85. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +38 -2
  86. package/dist/sdk/guide-topics.d.ts +0 -5
  87. package/dist/sdk/guide-topics.js +28 -2
  88. package/dist/sdk/history-compact.d.ts +2 -1
  89. package/dist/sdk/history-compact.js +24 -5
  90. package/dist/sdk/history-mcp.js +11 -10
  91. package/dist/sdk/index.d.ts +1 -0
  92. package/dist/sdk/index.js +3 -2
  93. package/dist/sdk/item-transaction.js +19 -12
  94. package/dist/sdk/lifecycle/append.js +4 -4
  95. package/dist/sdk/lifecycle/close-many.js +16 -7
  96. package/dist/sdk/lifecycle/create.js +29 -21
  97. package/dist/sdk/lifecycle/plan.js +24 -6
  98. package/dist/sdk/lifecycle/update-many.js +15 -8
  99. package/dist/sdk/lifecycle/update.d.ts +2 -0
  100. package/dist/sdk/lifecycle/update.js +34 -24
  101. package/dist/sdk/runtime-extended-actions.js +5 -3
  102. package/dist/sdk/runtime-input.d.ts +4 -0
  103. package/dist/sdk/runtime-input.js +98 -23
  104. package/dist/sdk/runtime-primitives.d.ts +2 -1
  105. package/dist/sdk/runtime-primitives.js +4 -3
  106. package/dist/sdk/runtime.js +7 -20
  107. package/dist/sdk/scheduling-shortcuts.js +5 -3
  108. package/dist/sdk/structured-mutations.js +10 -3
  109. package/dist/sdk/workspace-contracts.d.ts +3 -0
  110. package/dist/sdk/workspace-contracts.js +3 -2
  111. package/docs/README.md +2 -0
  112. package/docs/RELEASING.md +40 -21
  113. package/docs/SCRIPTING.md +62 -3
  114. package/docs/SDK.md +8 -0
  115. package/docs/generated/AGENT_CAPABILITY_ROUTING.md +17 -0
  116. package/docs/generated/AGENT_COMMAND_SURFACE.md +1 -1
  117. package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +355 -0
  118. package/marketplace.json +2 -2
  119. package/package.json +1 -1
  120. package/packages/pm-beads/package.json +1 -1
  121. package/packages/pm-calendar/package.json +1 -1
  122. package/packages/pm-command-kit/README.md +9 -11
  123. package/packages/pm-command-kit/extensions/command-kit/index.ts +3 -1
  124. package/packages/pm-command-kit/package.json +1 -1
  125. package/packages/pm-digital-twin/package.json +1 -1
  126. package/packages/pm-governance-audit/package.json +1 -1
  127. package/packages/pm-guide-shell/extensions/guide-shell/index.ts +10 -0
  128. package/packages/pm-guide-shell/package.json +1 -1
  129. package/packages/pm-kanban/package.json +1 -1
  130. package/packages/pm-lifecycle-hooks/package.json +1 -1
  131. package/packages/pm-linked-test-adapters/package.json +1 -1
  132. package/packages/pm-search-advanced/package.json +1 -1
  133. package/packages/pm-templates/package.json +1 -1
  134. package/packages/pm-todos/package.json +1 -1
  135. package/packages/pm-vcs/package.json +1 -1
  136. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  137. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  138. package/scripts/generate-agent-capability-surfaces.mjs +27 -1
  139. package/sdk/public-surface.json +215 -11
  140. package/dist/cli-bundle/chunks/chunk-3ENVHX6C.js +0 -36
  141. package/dist/cli-bundle/chunks/chunk-DW2CGEMU.js +0 -2
  142. package/dist/cli-bundle/chunks/chunk-HZBMLSZI.js +0 -201
  143. package/dist/cli-bundle/chunks/register-mutation-NX5XE4VX.js +0 -20
  144. package/dist/cli-bundle/focused-chunks/chunk-E7X25GC3.js +0 -2
  145. package/dist/cli-bundle/focused-chunks/chunk-FQCSTBWE.js +0 -4
  146. package/dist/cli-bundle/focused-chunks/chunk-MRCNF3U6.js +0 -2
  147. package/dist/cli-bundle/focused-chunks/chunk-ZHVA42R5.js +0 -18
@@ -93,6 +93,8 @@ function guideCommand(): CommandDefinition {
93
93
  return {
94
94
  name: "guide",
95
95
  action: "guide",
96
+ tier: "core",
97
+ family: "context",
96
98
  description: "Show migration and usage guidance for pm command families.",
97
99
  intent: "Read focused local guidance for one pm workflow.",
98
100
  arguments: [
@@ -108,6 +110,8 @@ function completionCommand(): CommandDefinition {
108
110
  return {
109
111
  name: "completion",
110
112
  action: "completion",
113
+ tier: "standard",
114
+ family: "automation",
111
115
  description: "Generate shell completion scripts for bash, zsh, and fish.",
112
116
  intent: "Generate a completion script for the selected shell.",
113
117
  arguments: [
@@ -127,6 +131,8 @@ function completionTagsCommand(): CommandDefinition {
127
131
  return {
128
132
  name: "completion-tags",
129
133
  action: "completion-tags",
134
+ tier: "internal",
135
+ family: "internal",
130
136
  description: "Print known tags for completion filters.",
131
137
  intent: "List tag values for lazy shell completion.",
132
138
  run: async (context) => runCompletionTagsPackage(context.global),
@@ -137,6 +143,8 @@ function completionStatusesCommand(): CommandDefinition {
137
143
  return {
138
144
  name: "completion-statuses",
139
145
  action: "completion-statuses",
146
+ tier: "internal",
147
+ family: "internal",
140
148
  description: "Print runtime status IDs for completion filters.",
141
149
  intent: "List runtime status values for shell completion.",
142
150
  run: async (context) => runCompletionStatusesPackage(context.global),
@@ -147,6 +155,8 @@ function completionTypesCommand(): CommandDefinition {
147
155
  return {
148
156
  name: "completion-types",
149
157
  action: "completion-types",
158
+ tier: "internal",
159
+ family: "internal",
150
160
  description: "Print runtime item type IDs for completion filters.",
151
161
  intent: "List runtime item types for shell completion.",
152
162
  run: async (context) => runCompletionTypesPackage(context.global),
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unbrained/pm-guide-shell",
3
- "version": "2026.8.23",
3
+ "version": "2026.8.24",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "First-party pm package for guide and shell completion workflows.",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unbrained/pm-kanban",
3
- "version": "2026.8.23",
3
+ "version": "2026.8.24",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "First-party pm archetype package: a complete Kanban continuous-flow profile built on public SDK primitives.",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unbrained/pm-lifecycle-hooks",
3
- "version": "2026.8.23",
3
+ "version": "2026.8.24",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "First-party pm package demonstrating safe lifecycle hook registration.",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unbrained/pm-linked-test-adapters",
3
- "version": "2026.8.23",
3
+ "version": "2026.8.24",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "First-party pm package for optional linked-test run management adapters and reporters.",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unbrained/pm-search-advanced",
3
- "version": "2026.8.23",
3
+ "version": "2026.8.24",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "First-party pm package for semantic, hybrid, and reindex search workflows.",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unbrained/pm-templates",
3
- "version": "2026.8.23",
3
+ "version": "2026.8.24",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "First-party pm package for reusable create templates.",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unbrained/pm-todos",
3
- "version": "2026.8.23",
3
+ "version": "2026.8.24",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "First-party pm package for Todo markdown import and export.",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unbrained/pm-vcs-sdk-exemplar",
3
- "version": "2026.8.23",
3
+ "version": "2026.8.24",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "Beyond-PM exemplar: a VCS-style changeset workflow built entirely on public pm SDK and extension primitives.",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "pm-claude",
3
3
  "description": "Native pm CLI integration for Claude Code — 28 MCP tools, 5 workflow skills, 14 slash commands, 4 subagents (coordinator, delivery-chain, triage, verification), hybrid TUI task tracking (pm as persistent store + Claude Code task panel as live view), session context injection, and full git-based project management without leaving Claude Code.",
4
- "version": "2026.8.23",
4
+ "version": "2026.8.24",
5
5
  "author": {
6
6
  "name": "unbrained",
7
7
  "url": "https://github.com/unbraind/pm-cli"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pm-codex",
3
- "version": "2026.8.23",
3
+ "version": "2026.8.24",
4
4
  "description": "Native Codex integration for pm-cli with bundled MCP tools, skills, commands, and agent workflows.",
5
5
  "author": {
6
6
  "name": "unbrained",
@@ -6,7 +6,20 @@
6
6
  import { mkdir, readFile, writeFile } from "node:fs/promises";
7
7
  import path from "node:path";
8
8
  import { fileURLToPath, pathToFileURL } from "node:url";
9
- import { renderPmCommandVisibilityMarkdown } from "../dist/sdk/agent-capability-contracts.js";
9
+ import {
10
+ renderPmCapabilityRoutingMarkdown,
11
+ renderPmCommandVisibilityMarkdown,
12
+ } from "../dist/sdk/agent-capability-contracts.js";
13
+ import { listCoreClosedDomainContracts } from "../dist/sdk/agent/closed-domain-contracts.js";
14
+ import {
15
+ buildPmRefusalClosureCensus,
16
+ renderPmRefusalClosureCensusMarkdown,
17
+ } from "../dist/sdk/agent/refusal-closure-census.js";
18
+ import {
19
+ listPmRequiredArgumentRefusalContracts,
20
+ listPmSubcommandRefusalContracts,
21
+ } from "../dist/sdk/agent/refusal-corpus-contracts.js";
22
+ import { PM_ERROR_CODE_CATALOG } from "../dist/sdk/generated-error-code-catalog.js";
10
23
  import { renderPmFlagLexiconMarkdown } from "../dist/sdk/cli-contracts/flag-lexicon-contracts.js";
11
24
 
12
25
  const repositoryRoot = path.resolve(
@@ -17,9 +30,22 @@ export async function main(
17
30
  root = repositoryRoot,
18
31
  args = process.argv.slice(2),
19
32
  ) {
33
+ const refusalClosureCensus = buildPmRefusalClosureCensus(
34
+ PM_ERROR_CODE_CATALOG,
35
+ listCoreClosedDomainContracts(),
36
+ [
37
+ ...listPmRequiredArgumentRefusalContracts(),
38
+ ...listPmSubcommandRefusalContracts(),
39
+ ],
40
+ );
20
41
  const outputs = [
21
42
  ["AGENT_COMMAND_SURFACE.md", renderPmCommandVisibilityMarkdown()],
43
+ ["AGENT_CAPABILITY_ROUTING.md", renderPmCapabilityRoutingMarkdown()],
22
44
  ["FLAG_LEXICON_BUDGETS.md", renderPmFlagLexiconMarkdown()],
45
+ [
46
+ "REFUSAL_CLOSURE_CENSUS.md",
47
+ renderPmRefusalClosureCensusMarkdown(refusalClosureCensus),
48
+ ],
23
49
  ];
24
50
  if (args.includes("--check")) {
25
51
  for (const [filename, expected] of outputs) {
@@ -1108,6 +1108,79 @@
1108
1108
  ],
1109
1109
  "package_version": "2026.8.22",
1110
1110
  "reason": "Additive optional provenance_invalid marker preserves fail-closed storage state without widening the existing provenance source_kind union; two trust helpers are newly exported for CLI-consumer parity."
1111
+ },
1112
+ {
1113
+ "changes": [
1114
+ "signature ./sdk:CommandDefinition",
1115
+ "signature ./sdk:RegisteredExtensionCommandDefinition",
1116
+ "signature ./sdk/authoring:CommandDefinition"
1117
+ ],
1118
+ "package_version": "2026.8.23",
1119
+ "reason": "Add optional tier and family metadata to extension command definitions while preserving existing producer call shapes; expose additive explicit-registry projections and refusal-census contracts."
1120
+ },
1121
+ {
1122
+ "changes": [
1123
+ "signature ./sdk:WorkspaceExtensionCommandContract",
1124
+ "signature ./sdk/runtime:WorkspaceExtensionCommandContract"
1125
+ ],
1126
+ "package_version": "2026.8.23",
1127
+ "reason": "Require tier and family metadata on projected workspace extension command contracts so every consumer receives explicit visibility and capability routing."
1128
+ },
1129
+ {
1130
+ "changes": [
1131
+ "signature ./sdk:PmCommandCapabilityFamily"
1132
+ ],
1133
+ "package_version": "2026.8.23",
1134
+ "reason": "Capability-family literals are unchanged; the public alias now derives from the canonical extension metadata contract to prevent type drift."
1135
+ },
1136
+ {
1137
+ "changes": [
1138
+ "signature ./sdk:PmBulkMutationFilterOptions",
1139
+ "signature ./sdk/contracts:PmBulkMutationFilterOptions"
1140
+ ],
1141
+ "package_version": "2026.8.23",
1142
+ "reason": "Bulk mutation ids now also accept source-compatible readonly string arrays."
1143
+ },
1144
+ {
1145
+ "changes": [
1146
+ "signature ./sdk:PM_REFUSAL_CLOSURE_EXECUTABLE_CANONICAL_CODE_BASELINE",
1147
+ "signature ./sdk:PM_REFUSAL_CLOSURE_EXECUTABLE_CODE_BASELINE"
1148
+ ],
1149
+ "package_version": "2026.8.23",
1150
+ "reason": "Refusal closure ratchets now include three executable bulk ID input states."
1151
+ },
1152
+ {
1153
+ "changes": [
1154
+ "signature ./sdk:CliFlagInvocationContract",
1155
+ "signature ./sdk/contracts:CliFlagInvocationContract"
1156
+ ],
1157
+ "package_version": "2026.8.23",
1158
+ "reason": "Expose the optional file_token_prefix metadata field for @path CLI inputs; existing consumers remain source-compatible"
1159
+ },
1160
+ {
1161
+ "changes": [
1162
+ "signature ./sdk:normalizeBulkIdsValue",
1163
+ "signature ./sdk:PmBulkMutationFilterOptions",
1164
+ "signature ./sdk/contracts:PmBulkMutationFilterOptions"
1165
+ ],
1166
+ "package_version": "2026.8.23",
1167
+ "reason": "Restore source-compatible numeric scalar IDs while retaining transport-native ID arrays"
1168
+ },
1169
+ {
1170
+ "changes": [
1171
+ "signature ./sdk:normalizeBulkIdsValue",
1172
+ "signature ./sdk:PmBulkMutationFilterOptions",
1173
+ "signature ./sdk/contracts:PmBulkMutationFilterOptions"
1174
+ ],
1175
+ "package_version": "2026.8.23",
1176
+ "reason": "Expand bulk ID contracts to finite numeric array members and fail closed on unsupported explicit selectors"
1177
+ },
1178
+ {
1179
+ "changes": [
1180
+ "signature ./sdk:HistoryCompactBulkCommandOptions"
1181
+ ],
1182
+ "package_version": "2026.8.23",
1183
+ "reason": "Align history-compaction SDK ID inputs with bulk transport contracts and fail closed on invalid explicit selectors"
1111
1184
  }
1112
1185
  ],
1113
1186
  "entrypoints": {
@@ -2788,6 +2861,12 @@
2788
2861
  "name": "buildPmActionToolInputSchema",
2789
2862
  "signature": "(action: PmToolAction, options?: PmActionToolInputSchemaOptions) => Record<string, unknown> | calls: (action: PmToolAction, options?: PmActionToolInputSchemaOptions) => Record<string, unknown>"
2790
2863
  },
2864
+ {
2865
+ "classification": "advanced_export",
2866
+ "kind": "function",
2867
+ "name": "buildPmRefusalClosureCensus",
2868
+ "signature": "(catalog: readonly PmErrorCodeContract[], closedDomains: readonly PmClosedDomainContract[], grammar: readonly PmGrammarRefusalContract[]) => PmRefusalClosureCensusReport | calls: (catalog: readonly PmErrorCodeContract[], closedDomains: readonly PmClosedDomainContract[], grammar: readonly PmGrammarRefusalContract[]) => PmRefusalClosureCensusReport"
2869
+ },
2791
2870
  {
2792
2871
  "classification": "supported",
2793
2872
  "kind": "function",
@@ -2878,6 +2957,30 @@
2878
2957
  "name": "BuiltinCorpusShapeName",
2879
2958
  "signature": "export type BuiltinCorpusShapeName = \"scratch\" | \"representative\" | \"deep-graph\" | \"multi-decade\" | \"disconnected-archive\";"
2880
2959
  },
2960
+ {
2961
+ "classification": "advanced_export",
2962
+ "kind": "type",
2963
+ "name": "BulkIdsFileReader",
2964
+ "signature": "export type BulkIdsFileReader = (path: string) => Promise<string>;"
2965
+ },
2966
+ {
2967
+ "classification": "advanced_export",
2968
+ "kind": "interface",
2969
+ "name": "BulkIdsInputReaders",
2970
+ "signature": "export interface BulkIdsInputReaders { readFile?: BulkIdsFileReader; readStdin?: BulkIdsStdinReader; }"
2971
+ },
2972
+ {
2973
+ "classification": "advanced_export",
2974
+ "kind": "type",
2975
+ "name": "BulkIdsStdinReader",
2976
+ "signature": "export type BulkIdsStdinReader = (optionName: string) => Promise<string>;"
2977
+ },
2978
+ {
2979
+ "classification": "advanced_export",
2980
+ "kind": "type",
2981
+ "name": "BulkIdsValue",
2982
+ "signature": "export type BulkIdsValue = string | number | readonly (string | number)[] | undefined;"
2983
+ },
2881
2984
  {
2882
2985
  "classification": "advanced_export",
2883
2986
  "kind": "interface",
@@ -3128,7 +3231,7 @@
3128
3231
  "classification": "contract_data",
3129
3232
  "kind": "interface",
3130
3233
  "name": "CliFlagInvocationContract",
3131
- "signature": "export interface CliFlagInvocationContract extends CliFlagContract { description: string; takes_value: boolean; value_required: boolean; value_type: \"string\" | \"number\" | \"boolean\"; required: boolean; repeatable: boolean; input_sources: CliFlagInputSource[]; stdin_token?: \"-\"; }"
3234
+ "signature": "export interface CliFlagInvocationContract extends CliFlagContract { description: string; takes_value: boolean; value_required: boolean; value_type: \"string\" | \"number\" | \"boolean\"; required: boolean; repeatable: boolean; input_sources: CliFlagInputSource[]; stdin_token?: \"-\"; file_token_prefix?: \"@\"; }"
3132
3235
  },
3133
3236
  {
3134
3237
  "classification": "contract_data",
@@ -3356,7 +3459,7 @@
3356
3459
  "classification": "supported",
3357
3460
  "kind": "interface",
3358
3461
  "name": "CommandDefinition",
3359
- "signature": "export interface CommandDefinition { name: string; run?: CommandHandler; handler?: CommandHandler; action?: string; description?: string; intent?: string; examples?: string[]; failure_hints?: string[]; arguments?: ExtensionCommandArgumentDefinition[]; flags?: FlagDefinition[]; tier?: \"core\" | \"standard\" | \"full\" | \"internal\"; }"
3462
+ "signature": "export interface CommandDefinition { name: string; run?: CommandHandler; handler?: CommandHandler; action?: string; description?: string; intent?: string; examples?: string[]; failure_hints?: string[]; arguments?: ExtensionCommandArgumentDefinition[]; flags?: FlagDefinition[]; tier?: \"core\" | \"standard\" | \"full\" | \"internal\"; family?: ExtensionCommandCapabilityFamily; }"
3360
3463
  },
3361
3464
  {
3362
3465
  "classification": "contract_data",
@@ -7124,7 +7227,7 @@
7124
7227
  "classification": "advanced_export",
7125
7228
  "kind": "interface",
7126
7229
  "name": "HistoryCompactBulkCommandOptions",
7127
- "signature": "export interface HistoryCompactBulkCommandOptions { ids?: string[]; scope?: HistoryCompactScope; allOver?: number; minEntries?: number; dryRun?: boolean; author?: string; message?: string; force?: boolean; }"
7230
+ "signature": "export interface HistoryCompactBulkCommandOptions { ids?: BulkIdsValue; scope?: HistoryCompactScope; allOver?: number; minEntries?: number; dryRun?: boolean; author?: string; message?: string; force?: boolean; }"
7128
7231
  },
7129
7232
  {
7130
7233
  "classification": "advanced_export",
@@ -8818,6 +8921,12 @@
8818
8921
  "name": "normalizeBootstrapInvocation",
8819
8922
  "signature": "(argv: string[]) => BootstrapInvocationNormalizationResult | calls: (argv: string[]) => BootstrapInvocationNormalizationResult"
8820
8923
  },
8924
+ {
8925
+ "classification": "advanced_export",
8926
+ "kind": "function",
8927
+ "name": "normalizeBulkIdsValue",
8928
+ "signature": "(value: BulkIdsValue) => string | undefined | calls: (value: BulkIdsValue) => string | undefined"
8929
+ },
8821
8930
  {
8822
8931
  "classification": "supported",
8823
8932
  "kind": "interface",
@@ -9274,6 +9383,12 @@
9274
9383
  "name": "parseBootstrapTypeValue",
9275
9384
  "signature": "(argv: string[]) => string | undefined | calls: (argv: string[]) => string | undefined"
9276
9385
  },
9386
+ {
9387
+ "classification": "advanced_export",
9388
+ "kind": "function",
9389
+ "name": "parseBulkIdsText",
9390
+ "signature": "(raw: string) => string[] | calls: (raw: string) => string[]"
9391
+ },
9277
9392
  {
9278
9393
  "classification": "supported",
9279
9394
  "kind": "function",
@@ -10144,6 +10259,18 @@
10144
10259
  "name": "PM_RECOVERY_REFERENCE_KINDS",
10145
10260
  "signature": "readonly [\"suggested_retry\", \"candidate_command\", \"example\", \"next_step\", \"migration_hint\", \"restore_with\"]"
10146
10261
  },
10262
+ {
10263
+ "classification": "advanced_export",
10264
+ "kind": "value",
10265
+ "name": "PM_REFUSAL_CLOSURE_EXECUTABLE_CANONICAL_CODE_BASELINE",
10266
+ "signature": "readonly [\"bulk_ids_input_empty\", \"bulk_ids_input_missing_path\", \"bulk_ids_input_unreadable\", \"invalid_argument_value\", \"missing_lifecycle_target\", \"missing_required_argument\", \"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\"]"
10267
+ },
10268
+ {
10269
+ "classification": "advanced_export",
10270
+ "kind": "value",
10271
+ "name": "PM_REFUSAL_CLOSURE_EXECUTABLE_CODE_BASELINE",
10272
+ "signature": "16"
10273
+ },
10147
10274
  {
10148
10275
  "classification": "advanced_export",
10149
10276
  "kind": "value",
@@ -10244,7 +10371,7 @@
10244
10371
  "classification": "contract_data",
10245
10372
  "kind": "type",
10246
10373
  "name": "PmBulkMutationFilterOptions",
10247
- "signature": "export type PmBulkMutationFilterOptions = OptionsFromContracts<typeof TOOL_BULK_MUTATION_FILTER_OPTION_CONTRACT_SOURCE>;"
10374
+ "signature": "export type PmBulkMutationFilterOptions = Omit<OptionsFromContracts<typeof TOOL_BULK_MUTATION_FILTER_OPTION_CONTRACT_SOURCE>, \"ids\"> & { ids?: string | number | readonly (string | number)[]; };"
10248
10375
  },
10249
10376
  {
10250
10377
  "classification": "supported",
@@ -10370,7 +10497,7 @@
10370
10497
  "classification": "advanced_export",
10371
10498
  "kind": "type",
10372
10499
  "name": "PmCommandCapabilityFamily",
10373
- "signature": "export type PmCommandCapabilityFamily = \"workspace\" | \"intake\" | \"context\" | \"lifecycle\" | \"evidence\" | \"graph\" | \"quality\" | \"automation\" | \"extensions\" | \"internal\";"
10500
+ "signature": "export type PmCommandCapabilityFamily = ExtensionCommandCapabilityFamily;"
10374
10501
  },
10375
10502
  {
10376
10503
  "classification": "contract_data",
@@ -11080,6 +11207,18 @@
11080
11207
  "name": "PmRecoveryReferenceSemantics",
11081
11208
  "signature": "export type PmRecoveryReferenceSemantics = \"recovery\" | \"replacement\" | \"behavior_preserving\";"
11082
11209
  },
11210
+ {
11211
+ "classification": "advanced_export",
11212
+ "kind": "interface",
11213
+ "name": "PmRefusalClosureCensusReport",
11214
+ "signature": "export interface PmRefusalClosureCensusReport { ok: boolean; catalog_error_code_count: number; executable_error_code_count: number; uncovered_error_code_count: number; coverage_fraction: number; closed_domain_probe_count: number; grammar_probe_count: number; uncovered_error_codes: string[]; rows: PmRefusalClosureCensusRow[]; }"
11215
+ },
11216
+ {
11217
+ "classification": "advanced_export",
11218
+ "kind": "interface",
11219
+ "name": "PmRefusalClosureCensusRow",
11220
+ "signature": "export interface PmRefusalClosureCensusRow { code: string; canonical_code: string; disposition: \"executable\" | \"uncovered\"; evidence_kinds: PmRefusalEvidenceKind[]; probe_ids: string[]; }"
11221
+ },
11083
11222
  {
11084
11223
  "classification": "contract_data",
11085
11224
  "kind": "interface",
@@ -11098,6 +11237,12 @@
11098
11237
  "name": "PmRefusalClosureReport",
11099
11238
  "signature": "export interface PmRefusalClosureReport { ok: boolean; probe_count: number; closed_probe_count: number; closure_fraction: number; findings: readonly PmRefusalClosureFinding[]; }"
11100
11239
  },
11240
+ {
11241
+ "classification": "advanced_export",
11242
+ "kind": "type",
11243
+ "name": "PmRefusalEvidenceKind",
11244
+ "signature": "export type PmRefusalEvidenceKind = \"owned_state\" | \"closed_domain\" | \"grammar\";"
11245
+ },
11101
11246
  {
11102
11247
  "classification": "advanced_export",
11103
11248
  "kind": "interface",
@@ -11278,6 +11423,18 @@
11278
11423
  "name": "prepareSimilarityText",
11279
11424
  "signature": "(value: string) => PreparedSimilarityText | calls: (value: string) => PreparedSimilarityText"
11280
11425
  },
11426
+ {
11427
+ "classification": "advanced_export",
11428
+ "kind": "function",
11429
+ "name": "preserveMutationStdinTokenFields",
11430
+ "signature": "<T extends object>(options: T, fields: readonly PropertyKey[]) => T | calls: <T extends object>(options: T, fields: readonly PropertyKey[]) => T"
11431
+ },
11432
+ {
11433
+ "classification": "advanced_export",
11434
+ "kind": "function",
11435
+ "name": "preserveMutationStdinTokenLiterals",
11436
+ "signature": "<T extends object>(options: T) => T | calls: <T extends object>(options: T) => T"
11437
+ },
11281
11438
  {
11282
11439
  "classification": "supported",
11283
11440
  "kind": "interface",
@@ -12146,7 +12303,7 @@
12146
12303
  "classification": "advanced_export",
12147
12304
  "kind": "interface",
12148
12305
  "name": "RegisteredExtensionCommandDefinition",
12149
- "signature": "export interface RegisteredExtensionCommandDefinition { layer: ExtensionLayer; name: string; source_package?: string; command: string; action: string; description?: string; intent?: string; examples: string[]; failure_hints: string[]; arguments: ExtensionCommandArgumentDefinition[]; tier?: \"core\" | \"standard\" | \"full\" | \"internal\"; }"
12306
+ "signature": "export interface RegisteredExtensionCommandDefinition { layer: ExtensionLayer; name: string; source_package?: string; command: string; action: string; description?: string; intent?: string; examples: string[]; failure_hints: string[]; arguments: ExtensionCommandArgumentDefinition[]; tier?: \"core\" | \"standard\" | \"full\" | \"internal\"; family?: ExtensionCommandCapabilityFamily; }"
12150
12307
  },
12151
12308
  {
12152
12309
  "classification": "supported",
@@ -13006,6 +13163,12 @@
13006
13163
  "name": "renderPmFlagLexiconMarkdown",
13007
13164
  "signature": "() => string | calls: () => string"
13008
13165
  },
13166
+ {
13167
+ "classification": "advanced_export",
13168
+ "kind": "function",
13169
+ "name": "renderPmRefusalClosureCensusMarkdown",
13170
+ "signature": "(report: PmRefusalClosureCensusReport) => string | calls: (report: PmRefusalClosureCensusReport) => string"
13171
+ },
13009
13172
  {
13010
13173
  "classification": "advanced_export",
13011
13174
  "kind": "function",
@@ -13168,6 +13331,12 @@
13168
13331
  "name": "resolveClaimPrincipal",
13169
13332
  "signature": "(author: string) => string | calls: (author: string) => string"
13170
13333
  },
13334
+ {
13335
+ "classification": "advanced_export",
13336
+ "kind": "function",
13337
+ "name": "resolveCliBulkIdsInput",
13338
+ "signature": "(value: string | undefined, optionName?: string, readers?: BulkIdsInputReaders) => Promise<string | undefined> | calls: (value: string | undefined, optionName?: string, readers?: BulkIdsInputReaders) => Promise<string | undefined>"
13339
+ },
13171
13340
  {
13172
13341
  "classification": "advanced_export",
13173
13342
  "kind": "function",
@@ -15496,6 +15665,18 @@
15496
15665
  "name": "shouldPersistDurableGraphCache",
15497
15666
  "signature": "(itemCount: number, envelopeExists: boolean) => boolean | calls: (itemCount: number, envelopeExists: boolean) => boolean"
15498
15667
  },
15668
+ {
15669
+ "classification": "advanced_export",
15670
+ "kind": "function",
15671
+ "name": "shouldResolveMutationStdinTokenField",
15672
+ "signature": "(options: object, field: PropertyKey) => boolean | calls: (options: object, field: PropertyKey) => boolean"
15673
+ },
15674
+ {
15675
+ "classification": "advanced_export",
15676
+ "kind": "function",
15677
+ "name": "shouldResolveMutationStdinTokens",
15678
+ "signature": "(options: object) => boolean | calls: (options: object) => boolean"
15679
+ },
15499
15680
  {
15500
15681
  "classification": "advanced_export",
15501
15682
  "kind": "function",
@@ -16402,6 +16583,12 @@
16402
16583
  "name": "toReplayDocument",
16403
16584
  "signature": "(document: ItemDocument) => ReplayDocument | calls: (document: ItemDocument) => ReplayDocument"
16404
16585
  },
16586
+ {
16587
+ "classification": "advanced_export",
16588
+ "kind": "function",
16589
+ "name": "transferMutationStdinTokenPolicy",
16590
+ "signature": "<T extends object>(source: object, target: T) => T | calls: <T extends object>(source: object, target: T) => T"
16591
+ },
16405
16592
  {
16406
16593
  "classification": "advanced_export",
16407
16594
  "kind": "function",
@@ -16816,6 +17003,18 @@
16816
17003
  "name": "verifyPmRecoveryReferences",
16817
17004
  "signature": "(obligations: readonly PmRecoveryReferenceObligation[], observations: readonly PmRecoveryReferenceObservation[]) => PmRecoveryReferenceReport | calls: (obligations: readonly PmRecoveryReferenceObligation[], observations: readonly PmRecoveryReferenceObservation[]) => PmRecoveryReferenceReport"
16818
17005
  },
17006
+ {
17007
+ "classification": "advanced_export",
17008
+ "kind": "function",
17009
+ "name": "verifyPmRefusalClosureIdentityRatchet",
17010
+ "signature": "(report: PmRefusalClosureCensusReport, requiredCanonicalCodes?: readonly string[]) => { ok: boolean; required_canonical_codes: string[]; missing_required_canonical_codes: string[]; } | calls: (report: PmRefusalClosureCensusReport, requiredCanonicalCodes?: readonly string[]) => { ok: boolean; required_canonical_codes: string[]; missing_required_canonical_codes: string[]; }"
17011
+ },
17012
+ {
17013
+ "classification": "advanced_export",
17014
+ "kind": "function",
17015
+ "name": "verifyPmRefusalClosureRatchet",
17016
+ "signature": "(report: PmRefusalClosureCensusReport, baseline?: number) => { ok: boolean; baseline: number; actual: number; } | calls: (report: PmRefusalClosureCensusReport, baseline?: number) => { ok: boolean; baseline: number; actual: number; }"
17017
+ },
16819
17018
  {
16820
17019
  "classification": "advanced_export",
16821
17020
  "kind": "function",
@@ -16892,7 +17091,7 @@
16892
17091
  "classification": "advanced_export",
16893
17092
  "kind": "interface",
16894
17093
  "name": "WorkspaceExtensionCommandContract",
16895
- "signature": "export interface WorkspaceExtensionCommandContract { command: string; action: string; arguments: Array<{ name: string; required: boolean; variadic: boolean; description?: string; }>; description?: string; tier: \"core\" | \"standard\" | \"full\" | \"internal\"; }"
17094
+ "signature": "export interface WorkspaceExtensionCommandContract { command: string; action: string; arguments: Array<{ name: string; required: boolean; variadic: boolean; description?: string; }>; description?: string; tier: \"core\" | \"standard\" | \"full\" | \"internal\"; family: PmCommandCapabilityFamily; }"
16896
17095
  },
16897
17096
  {
16898
17097
  "classification": "advanced_export",
@@ -17276,7 +17475,7 @@
17276
17475
  "classification": "supported",
17277
17476
  "kind": "interface",
17278
17477
  "name": "CommandDefinition",
17279
- "signature": "export interface CommandDefinition { name: string; run?: CommandHandler; handler?: CommandHandler; action?: string; description?: string; intent?: string; examples?: string[]; failure_hints?: string[]; arguments?: ExtensionCommandArgumentDefinition[]; flags?: FlagDefinition[]; tier?: \"core\" | \"standard\" | \"full\" | \"internal\"; }"
17478
+ "signature": "export interface CommandDefinition { name: string; run?: CommandHandler; handler?: CommandHandler; action?: string; description?: string; intent?: string; examples?: string[]; failure_hints?: string[]; arguments?: ExtensionCommandArgumentDefinition[]; flags?: FlagDefinition[]; tier?: \"core\" | \"standard\" | \"full\" | \"internal\"; family?: ExtensionCommandCapabilityFamily; }"
17280
17479
  },
17281
17480
  {
17282
17481
  "classification": "supported",
@@ -18710,7 +18909,7 @@
18710
18909
  "classification": "contract_data",
18711
18910
  "kind": "interface",
18712
18911
  "name": "CliFlagInvocationContract",
18713
- "signature": "export interface CliFlagInvocationContract extends CliFlagContract { description: string; takes_value: boolean; value_required: boolean; value_type: \"string\" | \"number\" | \"boolean\"; required: boolean; repeatable: boolean; input_sources: CliFlagInputSource[]; stdin_token?: \"-\"; }"
18912
+ "signature": "export interface CliFlagInvocationContract extends CliFlagContract { description: string; takes_value: boolean; value_required: boolean; value_type: \"string\" | \"number\" | \"boolean\"; required: boolean; repeatable: boolean; input_sources: CliFlagInputSource[]; stdin_token?: \"-\"; file_token_prefix?: \"@\"; }"
18714
18913
  },
18715
18914
  {
18716
18915
  "classification": "contract_data",
@@ -19682,7 +19881,7 @@
19682
19881
  "classification": "contract_data",
19683
19882
  "kind": "type",
19684
19883
  "name": "PmBulkMutationFilterOptions",
19685
- "signature": "export type PmBulkMutationFilterOptions = OptionsFromContracts<typeof TOOL_BULK_MUTATION_FILTER_OPTION_CONTRACT_SOURCE>;"
19884
+ "signature": "export type PmBulkMutationFilterOptions = Omit<OptionsFromContracts<typeof TOOL_BULK_MUTATION_FILTER_OPTION_CONTRACT_SOURCE>, \"ids\"> & { ids?: string | number | readonly (string | number)[]; };"
19686
19885
  },
19687
19886
  {
19688
19887
  "classification": "contract_data",
@@ -29600,7 +29799,7 @@
29600
29799
  "classification": "advanced_export",
29601
29800
  "kind": "interface",
29602
29801
  "name": "WorkspaceExtensionCommandContract",
29603
- "signature": "export interface WorkspaceExtensionCommandContract { command: string; action: string; arguments: Array<{ name: string; required: boolean; variadic: boolean; description?: string; }>; description?: string; tier: \"core\" | \"standard\" | \"full\" | \"internal\"; }"
29802
+ "signature": "export interface WorkspaceExtensionCommandContract { command: string; action: string; arguments: Array<{ name: string; required: boolean; variadic: boolean; description?: string; }>; description?: string; tier: \"core\" | \"standard\" | \"full\" | \"internal\"; family: PmCommandCapabilityFamily; }"
29604
29803
  },
29605
29804
  {
29606
29805
  "classification": "advanced_export",
@@ -30225,6 +30424,9 @@
30225
30424
  "body_file_missing_path",
30226
30425
  "body_file_unreadable",
30227
30426
  "budget_exceeded",
30427
+ "bulk_ids_input_empty",
30428
+ "bulk_ids_input_missing_path",
30429
+ "bulk_ids_input_unreadable",
30228
30430
  "bundle_integrity_torn_install",
30229
30431
  "capability_undeclared",
30230
30432
  "capability_unused",
@@ -30364,6 +30566,8 @@
30364
30566
  "malformed_plan_step_evidence",
30365
30567
  "manifest_capabilities_absent",
30366
30568
  "manifest_unknown_key",
30569
+ "mcp_annotation_file_unavailable",
30570
+ "mcp_stdin_unavailable",
30367
30571
  "merge_conflict_markers_detected",
30368
30572
  "merge_decisions_unreviewed",
30369
30573
  "merge_git_config_unwritable",