@unbrained/pm-cli 2026.8.16 → 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 (155) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +30 -3
  3. package/README.md +13 -13
  4. package/dist/cli/public.d.ts +2 -0
  5. package/dist/cli/public.js +21 -0
  6. package/dist/cli/register-mutation.js +4 -4
  7. package/dist/cli-bundle/bundle-manifest.json +151 -151
  8. package/dist/cli-bundle/chunks/{chunk-I2LUWWR5.js → chunk-2QLOXC3V.js} +2 -2
  9. package/dist/cli-bundle/chunks/{chunk-URW4QRMI.js → chunk-3UEGXBMR.js} +22 -22
  10. package/dist/cli-bundle/chunks/chunk-4JPYF536.js +35 -0
  11. package/dist/cli-bundle/chunks/chunk-6VDLG2FC.js +13 -0
  12. package/dist/cli-bundle/chunks/chunk-7IBRGCHX.js +2 -0
  13. package/dist/cli-bundle/chunks/chunk-HBJAS566.js +8 -0
  14. package/dist/cli-bundle/chunks/chunk-ION3E43Q.js +197 -0
  15. package/dist/cli-bundle/chunks/{chunk-73UGEBRS.js → chunk-JOKATURE.js} +4 -4
  16. package/dist/cli-bundle/chunks/{chunk-RIS565OA.js → chunk-TPXZIBIV.js} +5 -5
  17. package/dist/cli-bundle/chunks/chunk-YM2YAMF7.js +2 -0
  18. package/dist/cli-bundle/chunks/{register-list-query-EYCXHZAG.js → register-list-query-Q7KII4G5.js} +2 -2
  19. package/dist/cli-bundle/chunks/register-mutation-4WBRPXLV.js +20 -0
  20. package/dist/cli-bundle/chunks/{register-operations-KGDNRMCL.js → register-operations-SSENDH5B.js} +2 -2
  21. package/dist/cli-bundle/chunks/{register-setup-NVXBOD5I.js → register-setup-DOSFBGKE.js} +2 -2
  22. package/dist/cli-bundle/focused-chunks/{chunk-TZATVC4G.js → chunk-267MUUS6.js} +11 -11
  23. package/dist/cli-bundle/focused-chunks/chunk-2NNFLLNG.js +2 -0
  24. package/dist/cli-bundle/focused-chunks/{chunk-HAACPSUW.js → chunk-2QSAKMIH.js} +2 -2
  25. package/dist/cli-bundle/focused-chunks/{chunk-6ROKKT4X.js → chunk-ATEY76SX.js} +2 -2
  26. package/dist/cli-bundle/focused-chunks/chunk-BUCG4ZI2.js +2 -0
  27. package/dist/cli-bundle/focused-chunks/{chunk-SSNDYZTM.js → chunk-CYFK5UPB.js} +2 -2
  28. package/dist/cli-bundle/focused-chunks/chunk-EHXIKD6K.js +2 -0
  29. package/dist/cli-bundle/focused-chunks/{chunk-J4UFYHOD.js → chunk-KGEXTMPG.js} +2 -2
  30. package/dist/cli-bundle/focused-chunks/chunk-KP2VQQVQ.js +2 -0
  31. package/dist/cli-bundle/focused-chunks/chunk-MHPIL773.js +2 -0
  32. package/dist/cli-bundle/focused-chunks/chunk-POEEAD2V.js +4 -0
  33. package/dist/cli-bundle/focused-chunks/{chunk-T46KLOIB.js → chunk-SALH6B6K.js} +47 -47
  34. package/dist/cli-bundle/focused-chunks/{chunk-CODV5LUT.js → chunk-SYZENPIT.js} +3 -3
  35. package/dist/cli-bundle/focused-chunks/{chunk-4JPEBFFC.js → chunk-XKAMP5OU.js} +2 -2
  36. package/dist/cli-bundle/focused-chunks/{chunk-NJ5RLEFD.js → chunk-XPIC53VA.js} +2 -2
  37. package/dist/cli-bundle/focused-chunks/{chunk-C7JUBRFP.js → chunk-ZQPGZZWQ.js} +2 -2
  38. package/dist/cli-bundle/focused-chunks/chunk-ZT2DJS27.js +155 -0
  39. package/dist/cli-bundle/main.js +2 -2
  40. package/dist/cli-bundle/sdk-authoring.js +1 -1
  41. package/dist/cli-bundle/sdk-contracts.js +1 -1
  42. package/dist/cli-bundle/sdk-core.js +31 -31
  43. package/dist/cli-bundle/sdk-governance.js +1 -1
  44. package/dist/cli-bundle/sdk-graph.js +1 -1
  45. package/dist/cli-bundle/sdk-merge.js +32 -32
  46. package/dist/cli-bundle/sdk-query.js +1 -1
  47. package/dist/cli-bundle/sdk-runtime.js +1 -1
  48. package/dist/cli-bundle/sdk-testing.js +1 -1
  49. package/dist/cli-bundle/sdk.js +4 -2
  50. package/dist/core/extensions/loader.js +10 -6
  51. package/dist/core/extensions/manifest-schema.d.ts +20 -0
  52. package/dist/core/extensions/manifest-schema.js +52 -0
  53. package/dist/core/history/replay.js +32 -14
  54. package/dist/core/schema/fields-file.d.ts +1 -1
  55. package/dist/core/schema/fields-file.js +2 -2
  56. package/dist/core/schema/runtime-field-values.js +115 -9
  57. package/dist/core/schema/runtime-schema.d.ts +3 -1
  58. package/dist/core/schema/runtime-schema.js +124 -3
  59. package/dist/core/shared/errors.d.ts +10 -0
  60. package/dist/core/shared/errors.js +2 -2
  61. package/dist/core/shared/time.d.ts +2 -0
  62. package/dist/core/shared/time.js +27 -2
  63. package/dist/sdk/agent/refusal-reachability.d.ts +46 -6
  64. package/dist/sdk/agent/refusal-reachability.js +350 -8
  65. package/dist/sdk/cli-contracts/tool-parameter-tables.js +5 -4
  66. package/dist/sdk/compose.d.ts +6 -2
  67. package/dist/sdk/compose.js +33 -3
  68. package/dist/sdk/context-intent-contracts.d.ts +8 -4
  69. package/dist/sdk/context-intent-contracts.js +76 -31
  70. package/dist/sdk/dependency-flag-validation.d.ts +9 -2
  71. package/dist/sdk/dependency-flag-validation.js +101 -35
  72. package/dist/sdk/environment/host-environment-errors.js +25 -7
  73. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +26 -2
  74. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +14 -2
  75. package/dist/sdk/governance/assurance-action.d.ts +3 -7
  76. package/dist/sdk/governance/assurance-action.js +97 -2
  77. package/dist/sdk/governance/boundary-fixtures.d.ts +86 -0
  78. package/dist/sdk/governance/boundary-fixtures.js +201 -0
  79. package/dist/sdk/governance/defect-recurrence-signals.d.ts +10 -0
  80. package/dist/sdk/governance/defect-recurrence-signals.js +25 -0
  81. package/dist/sdk/governance/defect-recurrence.d.ts +242 -0
  82. package/dist/sdk/governance/defect-recurrence.js +523 -0
  83. package/dist/sdk/governance.d.ts +2 -0
  84. package/dist/sdk/governance.js +4 -2
  85. package/dist/sdk/graph/governance.js +3 -2
  86. package/dist/sdk/guide-topics.js +191 -2
  87. package/dist/sdk/index.d.ts +3 -0
  88. package/dist/sdk/index.js +4 -2
  89. package/dist/sdk/lifecycle/create.js +4 -2
  90. package/dist/sdk/lifecycle/update-many.js +15 -2
  91. package/dist/sdk/lifecycle/update.js +5 -2
  92. package/dist/sdk/linked-artifacts.js +63 -14
  93. package/dist/sdk/query/get.d.ts +2 -0
  94. package/dist/sdk/query/get.js +32 -7
  95. package/dist/sdk/relationship-analytics.js +90 -14
  96. package/dist/sdk/relationship-kinds/contract.d.ts +4 -0
  97. package/dist/sdk/relationship-kinds/contract.js +3 -2
  98. package/dist/sdk/relationships.d.ts +1 -1
  99. package/dist/sdk/relationships.js +11 -2
  100. package/dist/sdk/schema.d.ts +1 -0
  101. package/dist/sdk/schema.js +2 -2
  102. package/dist/sdk/test/execution.d.ts +6 -2
  103. package/dist/sdk/test/execution.js +39 -13
  104. package/dist/types.d.ts +29 -2
  105. package/dist/types.js +4 -2
  106. package/docs/CONFIGURATION.md +58 -1
  107. package/docs/CONTEXT_INTEGRITY_CONTRACTS.md +58 -0
  108. package/docs/DEFECT_RECURRENCE.md +134 -0
  109. package/docs/DEPENDENCY_KIND_CONTRACT.md +12 -2
  110. package/docs/README.md +2 -0
  111. package/docs/RELATIONSHIP_GRAPH.md +16 -2
  112. package/docs/SDK.md +38 -5
  113. package/docs/SDK_RUNTIME_BOUNDARIES.md +9 -1
  114. package/docs/TESTING.md +18 -1
  115. package/docs/TRUSTWORTHY_CONTEXT_EVIDENCE.md +1 -1
  116. package/marketplace.json +2 -2
  117. package/package.json +6 -4
  118. package/packages/pm-beads/package.json +1 -1
  119. package/packages/pm-calendar/package.json +1 -1
  120. package/packages/pm-command-kit/package.json +1 -1
  121. package/packages/pm-digital-twin/package.json +1 -1
  122. package/packages/pm-governance-audit/package.json +1 -1
  123. package/packages/pm-guide-shell/package.json +1 -1
  124. package/packages/pm-kanban/package.json +1 -1
  125. package/packages/pm-lifecycle-hooks/package.json +1 -1
  126. package/packages/pm-linked-test-adapters/package.json +1 -1
  127. package/packages/pm-search-advanced/package.json +1 -1
  128. package/packages/pm-templates/package.json +1 -1
  129. package/packages/pm-todos/package.json +1 -1
  130. package/packages/pm-vcs/package.json +1 -1
  131. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  132. package/plugins/pm-claude/skills/pm-audit/SKILL.md +26 -0
  133. package/plugins/pm-claude/skills/pm-developer/SKILL.md +26 -0
  134. package/plugins/pm-claude/skills/pm-planner/SKILL.md +26 -0
  135. package/plugins/pm-claude/skills/pm-release/SKILL.md +26 -0
  136. package/plugins/pm-claude/skills/pm-workflow/SKILL.md +26 -0
  137. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  138. package/plugins/pm-codex/skills/pm-auditor/SKILL.md +26 -0
  139. package/plugins/pm-codex/skills/pm-native/SKILL.md +26 -0
  140. package/plugins/pm-codex/skills/pm-release/SKILL.md +26 -0
  141. package/sdk/public-surface.json +588 -20
  142. package/dist/cli-bundle/chunks/chunk-47OQEOQB.js +0 -2
  143. package/dist/cli-bundle/chunks/chunk-HCIYWD6M.js +0 -35
  144. package/dist/cli-bundle/chunks/chunk-IC5W2T34.js +0 -2
  145. package/dist/cli-bundle/chunks/chunk-PANOOBIS.js +0 -13
  146. package/dist/cli-bundle/chunks/chunk-TK6N7HGM.js +0 -8
  147. package/dist/cli-bundle/chunks/chunk-TOFG2URD.js +0 -197
  148. package/dist/cli-bundle/chunks/register-mutation-7YVIG54J.js +0 -20
  149. package/dist/cli-bundle/focused-chunks/chunk-5NMFSX26.js +0 -155
  150. package/dist/cli-bundle/focused-chunks/chunk-725JSCMP.js +0 -2
  151. package/dist/cli-bundle/focused-chunks/chunk-DQ6SMTBF.js +0 -2
  152. package/dist/cli-bundle/focused-chunks/chunk-JX5Z344Q.js +0 -2
  153. package/dist/cli-bundle/focused-chunks/chunk-L4RDYBIQ.js +0 -2
  154. package/dist/cli-bundle/focused-chunks/chunk-QYZERYR5.js +0 -4
  155. package/dist/cli-bundle/focused-chunks/chunk-WY3WRPVN.js +0 -2
@@ -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.16",
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.16",
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.