@unbrained/pm-cli 2026.8.15 → 2026.8.17

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 (176) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +56 -12
  3. package/README.md +13 -13
  4. package/dist/cli/error-guidance.d.ts +5 -0
  5. package/dist/cli/error-guidance.js +15 -2
  6. package/dist/cli/public.d.ts +2 -0
  7. package/dist/cli/public.js +21 -0
  8. package/dist/cli/register-history-author.js +16 -11
  9. package/dist/cli/register-mutation.js +4 -4
  10. package/dist/cli-bundle/bundle-manifest.json +143 -143
  11. package/dist/cli-bundle/chunks/{chunk-J42EGKDK.js → chunk-2QLOXC3V.js} +2 -2
  12. package/dist/cli-bundle/chunks/{chunk-LJHOAVGI.js → chunk-3UEGXBMR.js} +49 -43
  13. package/dist/cli-bundle/chunks/chunk-4JPYF536.js +35 -0
  14. package/dist/cli-bundle/chunks/chunk-6VDLG2FC.js +13 -0
  15. package/dist/cli-bundle/chunks/chunk-7IBRGCHX.js +2 -0
  16. package/dist/cli-bundle/chunks/chunk-HBJAS566.js +8 -0
  17. package/dist/cli-bundle/chunks/chunk-ION3E43Q.js +197 -0
  18. package/dist/cli-bundle/chunks/{chunk-WLPDLNEZ.js → chunk-JOKATURE.js} +4 -4
  19. package/dist/cli-bundle/chunks/{chunk-MEM2ZS3O.js → chunk-TPXZIBIV.js} +5 -5
  20. package/dist/cli-bundle/chunks/chunk-YM2YAMF7.js +2 -0
  21. package/dist/cli-bundle/chunks/{register-list-query-CT3LFDDN.js → register-list-query-Q7KII4G5.js} +2 -2
  22. package/dist/cli-bundle/chunks/{register-mutation-NWEVA5YS.js → register-mutation-4WBRPXLV.js} +3 -3
  23. package/dist/cli-bundle/chunks/{register-operations-AHIAG5KM.js → register-operations-SSENDH5B.js} +2 -2
  24. package/dist/cli-bundle/chunks/{register-setup-ZJZFVAKE.js → register-setup-DOSFBGKE.js} +2 -2
  25. package/dist/cli-bundle/focused-chunks/{chunk-WTSER4WJ.js → chunk-267MUUS6.js} +11 -11
  26. package/dist/cli-bundle/focused-chunks/chunk-2NNFLLNG.js +2 -0
  27. package/dist/cli-bundle/focused-chunks/chunk-2QSAKMIH.js +2 -0
  28. package/dist/cli-bundle/focused-chunks/{chunk-ZMFXQ7VF.js → chunk-ATEY76SX.js} +2 -2
  29. package/dist/cli-bundle/focused-chunks/chunk-BUCG4ZI2.js +2 -0
  30. package/dist/cli-bundle/focused-chunks/{chunk-M67F5AIN.js → chunk-CYFK5UPB.js} +2 -2
  31. package/dist/cli-bundle/focused-chunks/chunk-EHXIKD6K.js +2 -0
  32. package/dist/cli-bundle/focused-chunks/{chunk-EXZA4257.js → chunk-KGEXTMPG.js} +2 -2
  33. package/dist/cli-bundle/focused-chunks/chunk-KP2VQQVQ.js +2 -0
  34. package/dist/cli-bundle/focused-chunks/chunk-MHPIL773.js +2 -0
  35. package/dist/cli-bundle/focused-chunks/chunk-POEEAD2V.js +4 -0
  36. package/dist/cli-bundle/focused-chunks/{chunk-ITAUHSO6.js → chunk-SALH6B6K.js} +47 -47
  37. package/dist/cli-bundle/focused-chunks/{chunk-KLVUMNXJ.js → chunk-SYZENPIT.js} +3 -3
  38. package/dist/cli-bundle/focused-chunks/{chunk-KTKH4IMG.js → chunk-XKAMP5OU.js} +2 -2
  39. package/dist/cli-bundle/focused-chunks/{chunk-NSPYTG6G.js → chunk-XPIC53VA.js} +2 -2
  40. package/dist/cli-bundle/focused-chunks/{chunk-6XKF3PGV.js → chunk-ZQPGZZWQ.js} +2 -2
  41. package/dist/cli-bundle/focused-chunks/chunk-ZT2DJS27.js +155 -0
  42. package/dist/cli-bundle/main.js +10 -10
  43. package/dist/cli-bundle/sdk-authoring.js +1 -1
  44. package/dist/cli-bundle/sdk-contracts.js +1 -1
  45. package/dist/cli-bundle/sdk-core.js +31 -31
  46. package/dist/cli-bundle/sdk-governance.js +1 -1
  47. package/dist/cli-bundle/sdk-graph.js +1 -1
  48. package/dist/cli-bundle/sdk-merge.js +32 -32
  49. package/dist/cli-bundle/sdk-query.js +1 -1
  50. package/dist/cli-bundle/sdk-runtime.js +1 -1
  51. package/dist/cli-bundle/sdk-testing.js +1 -1
  52. package/dist/cli-bundle/sdk.js +4 -2
  53. package/dist/core/extensions/loader.js +10 -6
  54. package/dist/core/extensions/manifest-schema.d.ts +20 -0
  55. package/dist/core/extensions/manifest-schema.js +52 -0
  56. package/dist/core/history/replay.js +32 -14
  57. package/dist/core/history/workspace-history.js +32 -10
  58. package/dist/core/output/output.js +6 -3
  59. package/dist/core/schema/fields-file.d.ts +1 -1
  60. package/dist/core/schema/fields-file.js +2 -2
  61. package/dist/core/schema/runtime-field-values.js +115 -9
  62. package/dist/core/schema/runtime-schema.d.ts +3 -1
  63. package/dist/core/schema/runtime-schema.js +124 -3
  64. package/dist/core/shared/errors.d.ts +12 -0
  65. package/dist/core/shared/errors.js +2 -2
  66. package/dist/core/shared/time.d.ts +2 -0
  67. package/dist/core/shared/time.js +27 -2
  68. package/dist/core/store/item-store.js +28 -2
  69. package/dist/sdk/agent/refusal-reachability.d.ts +56 -8
  70. package/dist/sdk/agent/refusal-reachability.js +414 -4
  71. package/dist/sdk/author-attribution.d.ts +56 -11
  72. package/dist/sdk/author-attribution.js +174 -50
  73. package/dist/sdk/cli-contracts/flag-contracts.js +5 -2
  74. package/dist/sdk/cli-contracts/tool-parameter-tables.js +12 -4
  75. package/dist/sdk/cli-contracts/tool-schema.js +12 -4
  76. package/dist/sdk/completion.js +11 -4
  77. package/dist/sdk/compose.d.ts +6 -2
  78. package/dist/sdk/compose.js +33 -3
  79. package/dist/sdk/context-intent-contracts.d.ts +8 -4
  80. package/dist/sdk/context-intent-contracts.js +76 -31
  81. package/dist/sdk/dependency-flag-validation.d.ts +9 -2
  82. package/dist/sdk/dependency-flag-validation.js +101 -35
  83. package/dist/sdk/environment/host-environment-errors.js +25 -7
  84. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +62 -14
  85. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +50 -2
  86. package/dist/sdk/governance/assurance-action.d.ts +3 -7
  87. package/dist/sdk/governance/assurance-action.js +97 -2
  88. package/dist/sdk/governance/boundary-fixtures.d.ts +86 -0
  89. package/dist/sdk/governance/boundary-fixtures.js +201 -0
  90. package/dist/sdk/governance/coverage-assurance.d.ts +24 -0
  91. package/dist/sdk/governance/coverage-assurance.js +61 -0
  92. package/dist/sdk/governance/defect-recurrence-signals.d.ts +10 -0
  93. package/dist/sdk/governance/defect-recurrence-signals.js +25 -0
  94. package/dist/sdk/governance/defect-recurrence.d.ts +242 -0
  95. package/dist/sdk/governance/defect-recurrence.js +523 -0
  96. package/dist/sdk/governance/extension-host-version.js +20 -9
  97. package/dist/sdk/governance.d.ts +2 -0
  98. package/dist/sdk/governance.js +4 -2
  99. package/dist/sdk/graph/governance.js +3 -2
  100. package/dist/sdk/guide-topics.js +191 -2
  101. package/dist/sdk/index.d.ts +5 -1
  102. package/dist/sdk/index.js +6 -3
  103. package/dist/sdk/lifecycle/create.js +4 -2
  104. package/dist/sdk/lifecycle/update-many.js +15 -2
  105. package/dist/sdk/lifecycle/update.js +5 -2
  106. package/dist/sdk/linked-artifacts.js +63 -14
  107. package/dist/sdk/query/get.d.ts +2 -0
  108. package/dist/sdk/query/get.js +32 -7
  109. package/dist/sdk/read-output-contracts.js +5 -3
  110. package/dist/sdk/relationship-analytics.js +90 -14
  111. package/dist/sdk/relationship-kinds/contract.d.ts +4 -0
  112. package/dist/sdk/relationship-kinds/contract.js +3 -2
  113. package/dist/sdk/relationships.d.ts +1 -1
  114. package/dist/sdk/relationships.js +11 -2
  115. package/dist/sdk/runtime.d.ts +2 -5
  116. package/dist/sdk/runtime.js +3 -2
  117. package/dist/sdk/schema.d.ts +1 -0
  118. package/dist/sdk/schema.js +2 -2
  119. package/dist/sdk/test/execution.d.ts +6 -2
  120. package/dist/sdk/test/execution.js +39 -13
  121. package/dist/types.d.ts +29 -2
  122. package/dist/types.js +4 -2
  123. package/docs/CONFIGURATION.md +58 -1
  124. package/docs/CONTEXT_INTEGRITY_CONTRACTS.md +58 -0
  125. package/docs/DEFECT_RECURRENCE.md +134 -0
  126. package/docs/DEPENDENCY_KIND_CONTRACT.md +12 -2
  127. package/docs/README.md +2 -0
  128. package/docs/READ_OUTPUT_CONTRACTS.md +7 -1
  129. package/docs/RELATIONSHIP_GRAPH.md +16 -2
  130. package/docs/RELEASING.md +13 -7
  131. package/docs/SDK.md +38 -5
  132. package/docs/SDK_CONTEXT_INTEGRITY.md +33 -5
  133. package/docs/SDK_CONTEXT_TRUTH_CONTRACTS.md +13 -5
  134. package/docs/SDK_RUNTIME_BOUNDARIES.md +9 -1
  135. package/docs/TESTING.md +18 -1
  136. package/docs/TRUSTWORTHY_CONTEXT_EVIDENCE.md +1 -1
  137. package/marketplace.json +2 -2
  138. package/package.json +6 -4
  139. package/packages/pm-beads/package.json +1 -1
  140. package/packages/pm-calendar/package.json +1 -1
  141. package/packages/pm-command-kit/package.json +1 -1
  142. package/packages/pm-digital-twin/package.json +1 -1
  143. package/packages/pm-governance-audit/package.json +1 -1
  144. package/packages/pm-guide-shell/package.json +1 -1
  145. package/packages/pm-kanban/package.json +1 -1
  146. package/packages/pm-lifecycle-hooks/package.json +1 -1
  147. package/packages/pm-linked-test-adapters/package.json +1 -1
  148. package/packages/pm-search-advanced/package.json +1 -1
  149. package/packages/pm-templates/package.json +1 -1
  150. package/packages/pm-todos/package.json +1 -1
  151. package/packages/pm-vcs/package.json +1 -1
  152. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  153. package/plugins/pm-claude/skills/pm-audit/SKILL.md +26 -0
  154. package/plugins/pm-claude/skills/pm-developer/SKILL.md +26 -0
  155. package/plugins/pm-claude/skills/pm-planner/SKILL.md +26 -0
  156. package/plugins/pm-claude/skills/pm-release/SKILL.md +26 -0
  157. package/plugins/pm-claude/skills/pm-workflow/SKILL.md +26 -0
  158. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  159. package/plugins/pm-codex/skills/pm-auditor/SKILL.md +26 -0
  160. package/plugins/pm-codex/skills/pm-native/SKILL.md +26 -0
  161. package/plugins/pm-codex/skills/pm-release/SKILL.md +26 -0
  162. package/sdk/public-surface.json +716 -33
  163. package/dist/cli-bundle/chunks/chunk-24GAV7XL.js +0 -8
  164. package/dist/cli-bundle/chunks/chunk-AIM6VT2N.js +0 -13
  165. package/dist/cli-bundle/chunks/chunk-DSWDLTDR.js +0 -197
  166. package/dist/cli-bundle/chunks/chunk-KIEGUBYQ.js +0 -2
  167. package/dist/cli-bundle/chunks/chunk-KLKYLSDX.js +0 -2
  168. package/dist/cli-bundle/chunks/chunk-QHPCJWEJ.js +0 -35
  169. package/dist/cli-bundle/focused-chunks/chunk-4X57RE4U.js +0 -2
  170. package/dist/cli-bundle/focused-chunks/chunk-7NJ4QYQ2.js +0 -2
  171. package/dist/cli-bundle/focused-chunks/chunk-KT5XMYSX.js +0 -4
  172. package/dist/cli-bundle/focused-chunks/chunk-OKA6ELTL.js +0 -2
  173. package/dist/cli-bundle/focused-chunks/chunk-PUISBOPP.js +0 -2
  174. package/dist/cli-bundle/focused-chunks/chunk-QLNMCESQ.js +0 -155
  175. package/dist/cli-bundle/focused-chunks/chunk-SLKC6QLJ.js +0 -2
  176. package/dist/cli-bundle/focused-chunks/chunk-U65UC4G3.js +0 -2
package/marketplace.json CHANGED
@@ -6,14 +6,14 @@
6
6
  },
7
7
  "metadata": {
8
8
  "description": "Official marketplace for pm CLI — native git-based project management for Claude Code and AI coding agents.",
9
- "version": "2026.8.15"
9
+ "version": "2026.8.17"
10
10
  },
11
11
  "plugins": [
12
12
  {
13
13
  "name": "pm-claude",
14
14
  "source": "./plugins/pm-claude",
15
15
  "description": "Native pm CLI integration for Claude Code — 28 MCP tools, 5 workflow skills, 14 slash commands, 4 subagents, hybrid TUI task tracking, session context injection, and coordination subagents for git-based project management without leaving Claude Code.",
16
- "version": "2026.8.15",
16
+ "version": "2026.8.17",
17
17
  "author": {
18
18
  "name": "unbrained",
19
19
  "url": "https://github.com/unbraind/pm-cli"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unbrained/pm-cli",
3
- "version": "2026.8.15",
3
+ "version": "2026.8.17",
4
4
  "description": "Git-native project management CLI for humans and agents.",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@11.10.0",
@@ -77,9 +77,9 @@
77
77
  },
78
78
  "./sdk/public-surface.json": "./sdk/public-surface.json",
79
79
  "./cli": {
80
- "types": "./dist/cli/main.d.ts",
81
- "import": "./dist/cli/main.js",
82
- "default": "./dist/cli/main.js"
80
+ "types": "./dist/cli/public.d.ts",
81
+ "import": "./dist/cli/public.js",
82
+ "default": "./dist/cli/public.js"
83
83
  },
84
84
  "./package.json": "./package.json"
85
85
  },
@@ -136,6 +136,7 @@
136
136
  "quality:absence-tolerance": "node scripts/release/absence-tolerance-gate.mjs",
137
137
  "quality:docs-skills": "node scripts/release/docs-skills-gate.mjs",
138
138
  "quality:docs-links": "node scripts/release/docs-skills-gate.mjs --links-only",
139
+ "quality:defect-evidence": "pnpm build && node scripts/release/defect-evidence-gate.mjs",
139
140
  "quality:hosted-analysis": "node scripts/release/hosted-analysis-gate.mjs",
140
141
  "benchmark:scale:generate": "node scripts/bench/scale-workspace.mjs",
141
142
  "benchmark:scale": "node scripts/bench/run-scale-benchmarks.mjs",
@@ -145,6 +146,7 @@
145
146
  "benchmark:sdk-entrypoints:check": "pnpm build && node scripts/bench/sdk-entrypoint-costs.mjs --check",
146
147
  "benchmark:transport:update": "pnpm build && node scripts/bench/cli-transport-floor.mjs --update",
147
148
  "benchmark:transport:check": "pnpm build && node scripts/bench/cli-transport-floor.mjs --check",
149
+ "benchmark:defect-recurrence": "pnpm build && node scripts/bench/defect-recurrence-index.mjs --check",
148
150
  "contracts:update": "node scripts/contracts-snapshot.mjs --update",
149
151
  "contracts:check": "pnpm build && node scripts/contracts-snapshot.mjs --check && node scripts/generate-agent-capability-surfaces.mjs --check && node scripts/generate-error-code-catalog.mjs --check",
150
152
  "contracts:errors:update": "node scripts/generate-error-code-catalog.mjs",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unbrained/pm-beads",
3
- "version": "2026.8.15",
3
+ "version": "2026.8.17",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "First-party pm package for importing Beads JSONL records.",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unbrained/pm-calendar",
3
- "version": "2026.8.15",
3
+ "version": "2026.8.17",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "First-party pm package for calendar and agenda views.",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unbrained/pm-command-kit",
3
- "version": "2026.8.15",
3
+ "version": "2026.8.17",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "First-party pm exemplar package for the commands capability: registerCommand, registerFlags, and registerParser.",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unbrained/pm-digital-twin",
3
- "version": "2026.8.15",
3
+ "version": "2026.8.17",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "Beyond-PM exemplar: a temporal production-facility digital twin built entirely on public pm SDK and extension primitives.",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unbrained/pm-governance-audit",
3
- "version": "2026.8.15",
3
+ "version": "2026.8.17",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "First-party pm package for governance audit and normalization workflows.",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unbrained/pm-guide-shell",
3
- "version": "2026.8.15",
3
+ "version": "2026.8.17",
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.15",
3
+ "version": "2026.8.17",
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.15",
3
+ "version": "2026.8.17",
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.15",
3
+ "version": "2026.8.17",
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.15",
3
+ "version": "2026.8.17",
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.15",
3
+ "version": "2026.8.17",
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.15",
3
+ "version": "2026.8.17",
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.15",
3
+ "version": "2026.8.17",
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.15",
4
+ "version": "2026.8.17",
5
5
  "author": {
6
6
  "name": "unbrained",
7
7
  "url": "https://github.com/unbraind/pm-cli"
@@ -82,3 +82,29 @@ For each **finding item** created during the audit, also create a matching `Task
82
82
  ## Privacy
83
83
 
84
84
  Keep sensitive operational data (telemetry credentials, user PII, internal endpoints) out of public docs and tracked comments. Use `pm notes` for sensitive context instead of `pm comments`.
85
+
86
+ ## Progressive Disclosure and Token Discipline
87
+
88
+ Load the smallest thing that answers the question. Costs are measured.
89
+
90
+ | Need | Call | Cost |
91
+ |------|------|------|
92
+ | Pick or resume work | `pm_next`, or `pm_context` with `limit: 10` | ~2.1-2.5k tok |
93
+ | Exact flags for one command | `pm_contracts` with `command: "<name>", flagsOnly: true` | ~1-3.4k tok |
94
+ | The whole command surface with per-command ceilings | `pm_contracts` with `summary: true` | ~2.6k tok |
95
+ | An unfamiliar capability family | `pm_run` with `action: "guide", topic: "<topic>", depth: "brief"` | ~0.6-1k tok |
96
+
97
+ Guide topics: `quickstart`, `commands`, `workflows`, `sdk`, `extensions`,
98
+ `skills`, `harnesses`, `release`, `tokens`, `graph`, `assurance`, `merge`.
99
+
100
+ Never load `docs/COMMANDS.md` (~29k tok) or `docs/SDK.md` (~45k tok) whole.
101
+
102
+ Bound every read in this order: projection (`outputInclude`), then row limit
103
+ (`outputLimit` or `limit`), then `outputBudget`, then `outputCursor` to resume.
104
+ Read the `omission_receipt` before treating a result as complete — a
105
+ budget-truncated read is a claim about the part it withheld, and a truncated
106
+ list must never be summarized as if it were the whole population.
107
+
108
+ Author identity is detected automatically. Never pass `author` and never set
109
+ `PM_AUTHOR`; the harness, model, effort, role, and topic are probed and recorded
110
+ on every history entry.
@@ -121,3 +121,29 @@ When no existing item matches:
121
121
  ```
122
122
 
123
123
  Then call `TaskCreate` + `TaskUpdate(in_progress)` after claiming.
124
+
125
+ ## Progressive Disclosure and Token Discipline
126
+
127
+ Load the smallest thing that answers the question. Costs are measured.
128
+
129
+ | Need | Call | Cost |
130
+ |------|------|------|
131
+ | Pick or resume work | `pm_next`, or `pm_context` with `limit: 10` | ~2.1-2.5k tok |
132
+ | Exact flags for one command | `pm_contracts` with `command: "<name>", flagsOnly: true` | ~1-3.4k tok |
133
+ | The whole command surface with per-command ceilings | `pm_contracts` with `summary: true` | ~2.6k tok |
134
+ | An unfamiliar capability family | `pm_run` with `action: "guide", topic: "<topic>", depth: "brief"` | ~0.6-1k tok |
135
+
136
+ Guide topics: `quickstart`, `commands`, `workflows`, `sdk`, `extensions`,
137
+ `skills`, `harnesses`, `release`, `tokens`, `graph`, `assurance`, `merge`.
138
+
139
+ Never load `docs/COMMANDS.md` (~29k tok) or `docs/SDK.md` (~45k tok) whole.
140
+
141
+ Bound every read in this order: projection (`outputInclude`), then row limit
142
+ (`outputLimit` or `limit`), then `outputBudget`, then `outputCursor` to resume.
143
+ Read the `omission_receipt` before treating a result as complete — a
144
+ budget-truncated read is a claim about the part it withheld, and a truncated
145
+ list must never be summarized as if it were the whole population.
146
+
147
+ Author identity is detected automatically. Never pass `author` and never set
148
+ `PM_AUTHOR`; the harness, model, effort, role, and topic are probed and recorded
149
+ on every history entry.
@@ -145,3 +145,29 @@ Call the same lifecycle through the `pm_plan` MCP tool. Use `harness: "claude-co
145
145
  - Run `pm_validate` after batch changes.
146
146
  - Set exactly one step `in_progress` per plan; pass `allowMultipleActive: true` only for explicit parallel branches.
147
147
  - Use `pm_plan` `subcommand=resume` after long-running sessions so the next agent can pick up with a deterministic context.
148
+
149
+ ## Progressive Disclosure and Token Discipline
150
+
151
+ Load the smallest thing that answers the question. Costs are measured.
152
+
153
+ | Need | Call | Cost |
154
+ |------|------|------|
155
+ | Pick or resume work | `pm_next`, or `pm_context` with `limit: 10` | ~2.1-2.5k tok |
156
+ | Exact flags for one command | `pm_contracts` with `command: "<name>", flagsOnly: true` | ~1-3.4k tok |
157
+ | The whole command surface with per-command ceilings | `pm_contracts` with `summary: true` | ~2.6k tok |
158
+ | An unfamiliar capability family | `pm_run` with `action: "guide", topic: "<topic>", depth: "brief"` | ~0.6-1k tok |
159
+
160
+ Guide topics: `quickstart`, `commands`, `workflows`, `sdk`, `extensions`,
161
+ `skills`, `harnesses`, `release`, `tokens`, `graph`, `assurance`, `merge`.
162
+
163
+ Never load `docs/COMMANDS.md` (~29k tok) or `docs/SDK.md` (~45k tok) whole.
164
+
165
+ Bound every read in this order: projection (`outputInclude`), then row limit
166
+ (`outputLimit` or `limit`), then `outputBudget`, then `outputCursor` to resume.
167
+ Read the `omission_receipt` before treating a result as complete — a
168
+ budget-truncated read is a claim about the part it withheld, and a truncated
169
+ list must never be summarized as if it were the whole population.
170
+
171
+ Author identity is detected automatically. Never pass `author` and never set
172
+ `PM_AUTHOR`; the harness, model, effort, role, and topic are probed and recorded
173
+ on every history entry.
@@ -80,3 +80,29 @@ gh run view <run-id> # Detailed run status
80
80
  - Never set `path` for real repository tracking — only for sandbox tests.
81
81
  - Run coverage gate before any `npm publish` or version tag.
82
82
  - Confirm GitHub CI green before closing the release item.
83
+
84
+ ## Progressive Disclosure and Token Discipline
85
+
86
+ Load the smallest thing that answers the question. Costs are measured.
87
+
88
+ | Need | Call | Cost |
89
+ |------|------|------|
90
+ | Pick or resume work | `pm_next`, or `pm_context` with `limit: 10` | ~2.1-2.5k tok |
91
+ | Exact flags for one command | `pm_contracts` with `command: "<name>", flagsOnly: true` | ~1-3.4k tok |
92
+ | The whole command surface with per-command ceilings | `pm_contracts` with `summary: true` | ~2.6k tok |
93
+ | An unfamiliar capability family | `pm_run` with `action: "guide", topic: "<topic>", depth: "brief"` | ~0.6-1k tok |
94
+
95
+ Guide topics: `quickstart`, `commands`, `workflows`, `sdk`, `extensions`,
96
+ `skills`, `harnesses`, `release`, `tokens`, `graph`, `assurance`, `merge`.
97
+
98
+ Never load `docs/COMMANDS.md` (~29k tok) or `docs/SDK.md` (~45k tok) whole.
99
+
100
+ Bound every read in this order: projection (`outputInclude`), then row limit
101
+ (`outputLimit` or `limit`), then `outputBudget`, then `outputCursor` to resume.
102
+ Read the `omission_receipt` before treating a result as complete — a
103
+ budget-truncated read is a claim about the part it withheld, and a truncated
104
+ list must never be summarized as if it were the whole population.
105
+
106
+ Author identity is detected automatically. Never pass `author` and never set
107
+ `PM_AUTHOR`; the harness, model, effort, role, and topic are probed and recorded
108
+ on every history entry.
@@ -142,3 +142,29 @@ Most tools accept `cwd`, `author`, and `options`:
142
142
  ## Safety
143
143
 
144
144
  Do not pass `path` during real repository tracking. Only pass `path` for sandbox/test runs.
145
+
146
+ ## Progressive Disclosure and Token Discipline
147
+
148
+ Load the smallest thing that answers the question. Costs are measured.
149
+
150
+ | Need | Call | Cost |
151
+ |------|------|------|
152
+ | Pick or resume work | `pm_next`, or `pm_context` with `limit: 10` | ~2.1-2.5k tok |
153
+ | Exact flags for one command | `pm_contracts` with `command: "<name>", flagsOnly: true` | ~1-3.4k tok |
154
+ | The whole command surface with per-command ceilings | `pm_contracts` with `summary: true` | ~2.6k tok |
155
+ | An unfamiliar capability family | `pm_run` with `action: "guide", topic: "<topic>", depth: "brief"` | ~0.6-1k tok |
156
+
157
+ Guide topics: `quickstart`, `commands`, `workflows`, `sdk`, `extensions`,
158
+ `skills`, `harnesses`, `release`, `tokens`, `graph`, `assurance`, `merge`.
159
+
160
+ Never load `docs/COMMANDS.md` (~29k tok) or `docs/SDK.md` (~45k tok) whole.
161
+
162
+ Bound every read in this order: projection (`outputInclude`), then row limit
163
+ (`outputLimit` or `limit`), then `outputBudget`, then `outputCursor` to resume.
164
+ Read the `omission_receipt` before treating a result as complete — a
165
+ budget-truncated read is a claim about the part it withheld, and a truncated
166
+ list must never be summarized as if it were the whole population.
167
+
168
+ Author identity is detected automatically. Never pass `author` and never set
169
+ `PM_AUTHOR`; the harness, model, effort, role, and topic are probed and recorded
170
+ on every history entry.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pm-codex",
3
- "version": "2026.8.15",
3
+ "version": "2026.8.17",
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",
@@ -18,3 +18,29 @@ Use for broad repository audits, release readiness checks, privacy reviews, and
18
18
  ## Evidence
19
19
 
20
20
  Record exact verification commands and summarized results through `pm_comments`, and link touched files through `pm_files`.
21
+
22
+ ## Progressive Disclosure and Token Discipline
23
+
24
+ Load the smallest thing that answers the question. Costs are measured.
25
+
26
+ | Need | Call | Cost |
27
+ |------|------|------|
28
+ | Pick or resume work | `pm_next`, or `pm_context` with `limit: 10` | ~2.1-2.5k tok |
29
+ | Exact flags for one command | `pm_contracts` with `command: "<name>", flagsOnly: true` | ~1-3.4k tok |
30
+ | The whole command surface with per-command ceilings | `pm_contracts` with `summary: true` | ~2.6k tok |
31
+ | An unfamiliar capability family | `pm_run` with `action: "guide", topic: "<topic>", depth: "brief"` | ~0.6-1k tok |
32
+
33
+ Guide topics: `quickstart`, `commands`, `workflows`, `sdk`, `extensions`,
34
+ `skills`, `harnesses`, `release`, `tokens`, `graph`, `assurance`, `merge`.
35
+
36
+ Never load `docs/COMMANDS.md` (~29k tok) or `docs/SDK.md` (~45k tok) whole.
37
+
38
+ Bound every read in this order: projection (`outputInclude`), then row limit
39
+ (`outputLimit` or `limit`), then `outputBudget`, then `outputCursor` to resume.
40
+ Read the `omission_receipt` before treating a result as complete — a
41
+ budget-truncated read is a claim about the part it withheld, and a truncated
42
+ list must never be summarized as if it were the whole population.
43
+
44
+ Author identity is detected automatically. Never pass `author` and never set
45
+ `PM_AUTHOR`; the harness, model, effort, role, and topic are probed and recorded
46
+ on every history entry.
@@ -67,3 +67,29 @@ Invariants:
67
67
  - One step `in_progress` at a time by default; pass `allowMultipleActive: true` for explicit parallel branches.
68
68
  - Use `subcommand: block-step` with `stepBlockedReason` when discovery flips a step.
69
69
  - Use `subcommand: materialize` once steps are concrete enough to become Tasks.
70
+
71
+ ## Progressive Disclosure and Token Discipline
72
+
73
+ Load the smallest thing that answers the question. Costs are measured.
74
+
75
+ | Need | Call | Cost |
76
+ |------|------|------|
77
+ | Pick or resume work | `pm_next`, or `pm_context` with `limit: 10` | ~2.1-2.5k tok |
78
+ | Exact flags for one command | `pm_contracts` with `command: "<name>", flagsOnly: true` | ~1-3.4k tok |
79
+ | The whole command surface with per-command ceilings | `pm_contracts` with `summary: true` | ~2.6k tok |
80
+ | An unfamiliar capability family | `pm_run` with `action: "guide", topic: "<topic>", depth: "brief"` | ~0.6-1k tok |
81
+
82
+ Guide topics: `quickstart`, `commands`, `workflows`, `sdk`, `extensions`,
83
+ `skills`, `harnesses`, `release`, `tokens`, `graph`, `assurance`, `merge`.
84
+
85
+ Never load `docs/COMMANDS.md` (~29k tok) or `docs/SDK.md` (~45k tok) whole.
86
+
87
+ Bound every read in this order: projection (`outputInclude`), then row limit
88
+ (`outputLimit` or `limit`), then `outputBudget`, then `outputCursor` to resume.
89
+ Read the `omission_receipt` before treating a result as complete — a
90
+ budget-truncated read is a claim about the part it withheld, and a truncated
91
+ list must never be summarized as if it were the whole population.
92
+
93
+ Author identity is detected automatically. Never pass `author` and never set
94
+ `PM_AUTHOR`; the harness, model, effort, role, and topic are probed and recorded
95
+ on every history entry.
@@ -17,3 +17,29 @@ Use for release prep, compatibility gates, publication checks, and post-release
17
17
  5. Verify public surfaces after publish and record results through `pm_comments`.
18
18
 
19
19
  Use `pm_run` for release-adjacent pm actions not exposed as narrow tools.
20
+
21
+ ## Progressive Disclosure and Token Discipline
22
+
23
+ Load the smallest thing that answers the question. Costs are measured.
24
+
25
+ | Need | Call | Cost |
26
+ |------|------|------|
27
+ | Pick or resume work | `pm_next`, or `pm_context` with `limit: 10` | ~2.1-2.5k tok |
28
+ | Exact flags for one command | `pm_contracts` with `command: "<name>", flagsOnly: true` | ~1-3.4k tok |
29
+ | The whole command surface with per-command ceilings | `pm_contracts` with `summary: true` | ~2.6k tok |
30
+ | An unfamiliar capability family | `pm_run` with `action: "guide", topic: "<topic>", depth: "brief"` | ~0.6-1k tok |
31
+
32
+ Guide topics: `quickstart`, `commands`, `workflows`, `sdk`, `extensions`,
33
+ `skills`, `harnesses`, `release`, `tokens`, `graph`, `assurance`, `merge`.
34
+
35
+ Never load `docs/COMMANDS.md` (~29k tok) or `docs/SDK.md` (~45k tok) whole.
36
+
37
+ Bound every read in this order: projection (`outputInclude`), then row limit
38
+ (`outputLimit` or `limit`), then `outputBudget`, then `outputCursor` to resume.
39
+ Read the `omission_receipt` before treating a result as complete — a
40
+ budget-truncated read is a claim about the part it withheld, and a truncated
41
+ list must never be summarized as if it were the whole population.
42
+
43
+ Author identity is detected automatically. Never pass `author` and never set
44
+ `PM_AUTHOR`; the harness, model, effort, role, and topic are probed and recorded
45
+ on every history entry.