@unbrained/pm-cli 2026.9.4 → 2026.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/.agents/skills/HARNESS_COMPATIBILITY.md +1 -1
  2. package/.agents/skills/README.md +2 -2
  3. package/.agents/skills/pm-developer/SKILL.md +4 -1
  4. package/.agents/skills/pm-developer/references/COMMAND_PLAYBOOK.md +10 -0
  5. package/.agents/skills/pm-developer/references/GRAPH_AND_RELATIONSHIPS.md +3 -1
  6. package/.agents/skills/pm-extensions/SKILL.md +2 -2
  7. package/.agents/skills/pm-extensions/references/LIFECYCLE.md +3 -3
  8. package/.agents/skills/pm-extensions/references/TROUBLESHOOTING.md +3 -3
  9. package/.agents/skills/pm-user/SKILL.md +2 -0
  10. package/.agents/skills/pm-user/references/BACKLOG_SHAPING.md +5 -0
  11. package/.agents/skills/pm-user/references/WORKFLOWS.md +20 -5
  12. package/.claude-plugin/marketplace.json +2 -2
  13. package/CHANGELOG.md +26 -1
  14. package/dist/cli/commander-usage.d.ts +2 -0
  15. package/dist/cli/commander-usage.js +15 -12
  16. package/dist/cli/help-json-payload.js +12 -7
  17. package/dist/cli/main.js +15 -6
  18. package/dist/cli/register-list-query.js +4 -2
  19. package/dist/cli/register-mutation.js +4 -2
  20. package/dist/cli/register-operations.js +6 -2
  21. package/dist/cli-bundle/bundle-manifest.json +153 -153
  22. package/dist/cli-bundle/chunks/{chunk-RI4XNOYS.js → chunk-3HBDTJRK.js} +2 -2
  23. package/dist/cli-bundle/chunks/chunk-66VPKFP2.js +5 -0
  24. package/dist/cli-bundle/chunks/{chunk-I2AS367G.js → chunk-HUAQITVW.js} +2 -2
  25. package/dist/cli-bundle/chunks/{chunk-HI6BHPCU.js → chunk-IBYREGSP.js} +2 -2
  26. package/dist/cli-bundle/chunks/chunk-LUI4E32I.js +231 -0
  27. package/dist/cli-bundle/chunks/{chunk-YW4QK2G7.js → chunk-QPZHQY2O.js} +2 -2
  28. package/dist/cli-bundle/chunks/{chunk-X6CMGV6L.js → chunk-SF6SM6U5.js} +2 -2
  29. package/dist/cli-bundle/chunks/chunk-SVK5Y64D.js +40 -0
  30. package/dist/cli-bundle/chunks/chunk-V5GBD5KV.js +9 -0
  31. package/dist/cli-bundle/chunks/{chunk-V72UV7QS.js → chunk-WWAEGW4V.js} +57 -57
  32. package/dist/cli-bundle/chunks/{chunk-A24WAVE6.js → chunk-ZRAQS3UA.js} +2 -2
  33. package/dist/cli-bundle/chunks/{register-list-query-Z5YYSJJG.js → register-list-query-AYKGODWT.js} +3 -3
  34. package/dist/cli-bundle/chunks/{register-mutation-ELSP6I4I.js → register-mutation-YZYG53SQ.js} +4 -4
  35. package/dist/cli-bundle/chunks/register-operations-KFSCC7QV.js +2 -0
  36. package/dist/cli-bundle/chunks/{register-setup-E2AE72QG.js → register-setup-UJCRVGBG.js} +2 -2
  37. package/dist/cli-bundle/focused-chunks/chunk-24IG6ONG.js +2 -0
  38. package/dist/cli-bundle/focused-chunks/{chunk-53IHPICX.js → chunk-3ASU6WGI.js} +2 -2
  39. package/dist/cli-bundle/focused-chunks/chunk-3ITLIBKS.js +56 -0
  40. package/dist/cli-bundle/focused-chunks/chunk-3NQD5YDG.js +2 -0
  41. package/dist/cli-bundle/focused-chunks/{chunk-7N2TV7WZ.js → chunk-4OSHLNUE.js} +2 -2
  42. package/dist/cli-bundle/focused-chunks/chunk-65N6JHAN.js +2 -0
  43. package/dist/cli-bundle/focused-chunks/{chunk-AJR3OP2E.js → chunk-B2TTQGFG.js} +2 -2
  44. package/dist/cli-bundle/focused-chunks/chunk-GUBM3RGY.js +20 -0
  45. package/dist/cli-bundle/focused-chunks/{chunk-25UJBH4M.js → chunk-H5FOGAVD.js} +2 -2
  46. package/dist/cli-bundle/focused-chunks/chunk-JX3RCVCX.js +2 -0
  47. package/dist/cli-bundle/focused-chunks/{chunk-6PWPQKDN.js → chunk-KWWCBWFO.js} +2 -2
  48. package/dist/cli-bundle/focused-chunks/chunk-MV752SUC.js +12 -0
  49. package/dist/cli-bundle/focused-chunks/chunk-PKIPMCFS.js +6 -0
  50. package/dist/cli-bundle/focused-chunks/{chunk-3646BZ4W.js → chunk-QL66QNWG.js} +2 -2
  51. package/dist/cli-bundle/focused-chunks/chunk-RJMR2JIF.js +9 -0
  52. package/dist/cli-bundle/focused-chunks/chunk-WIUPWIZR.js +177 -0
  53. package/dist/cli-bundle/focused-chunks/{chunk-NBMJD6MK.js → chunk-WOCIPMW7.js} +2 -2
  54. package/dist/cli-bundle/focused-chunks/{chunk-MHKUIPJW.js → chunk-YEF5PQQ2.js} +2 -2
  55. package/dist/cli-bundle/main.js +22 -15
  56. package/dist/cli-bundle/sdk-authoring.js +1 -1
  57. package/dist/cli-bundle/sdk-contracts.js +1 -1
  58. package/dist/cli-bundle/sdk-core.js +29 -29
  59. package/dist/cli-bundle/sdk-governance.js +1 -1
  60. package/dist/cli-bundle/sdk-graph.js +1 -1
  61. package/dist/cli-bundle/sdk-merge.js +42 -39
  62. package/dist/cli-bundle/sdk-query.js +1 -1
  63. package/dist/cli-bundle/sdk-runtime.js +1 -1
  64. package/dist/cli-bundle/sdk-testing.js +1 -1
  65. package/dist/cli-bundle/sdk.js +8 -8
  66. package/dist/core/extensions/extension-types.d.ts +2 -0
  67. package/dist/core/extensions/extension-types.js +2 -2
  68. package/dist/core/history/drift-scan.d.ts +5 -0
  69. package/dist/core/history/drift-scan.js +16 -6
  70. package/dist/core/history/event-classification.d.ts +1 -1
  71. package/dist/core/history/event-classification.js +3 -2
  72. package/dist/core/history/history.js +37 -5
  73. package/dist/core/history/identity.d.ts +15 -0
  74. package/dist/core/history/identity.js +31 -0
  75. package/dist/core/history/projection.js +50 -17
  76. package/dist/core/history/read.js +6 -3
  77. package/dist/core/history/replay.d.ts +1 -2
  78. package/dist/core/history/replay.js +4 -4
  79. package/dist/core/history/version-address.d.ts +13 -0
  80. package/dist/core/history/version-address.js +33 -0
  81. package/dist/core/item/actionability.d.ts +21 -1
  82. package/dist/core/item/actionability.js +45 -10
  83. package/dist/core/item/id.js +8 -4
  84. package/dist/core/item/item-type-definition.d.ts +2 -0
  85. package/dist/core/item/item-type-definition.js +9 -2
  86. package/dist/core/item/type-registry.d.ts +5 -1
  87. package/dist/core/item/type-registry.js +9 -4
  88. package/dist/core/shared/errors.d.ts +8 -0
  89. package/dist/core/shared/errors.js +2 -2
  90. package/dist/core/store/item-store.d.ts +14 -0
  91. package/dist/core/store/item-store.js +48 -10
  92. package/dist/core/store/settings-validator.js +3 -2
  93. package/dist/sdk/actionability.d.ts +1 -1
  94. package/dist/sdk/actionability.js +3 -3
  95. package/dist/sdk/cli-contracts/command-aliases.js +11 -2
  96. package/dist/sdk/cli-contracts/completeness.js +4 -3
  97. package/dist/sdk/cli-contracts/flag-contracts.js +29 -5
  98. package/dist/sdk/cli-contracts/flag-lexicon-contracts.js +19 -12
  99. package/dist/sdk/cli-contracts/tool-parameter-tables.js +14 -2
  100. package/dist/sdk/cli-contracts/tool-schema.d.ts +2 -2
  101. package/dist/sdk/cli-contracts/tool-schema.js +19 -6
  102. package/dist/sdk/context-intent-contracts.js +3 -3
  103. package/dist/sdk/context-usage.js +9 -11
  104. package/dist/sdk/define.d.ts +1 -1
  105. package/dist/sdk/define.js +2 -2
  106. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +98 -50
  107. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +50 -2
  108. package/dist/sdk/governance/validate-history-drift.js +16 -5
  109. package/dist/sdk/guide-topics.js +116 -2
  110. package/dist/sdk/history/salvage.d.ts +35 -0
  111. package/dist/sdk/history/salvage.js +248 -0
  112. package/dist/sdk/history-compact.js +32 -37
  113. package/dist/sdk/history-read.d.ts +3 -2
  114. package/dist/sdk/history-read.js +6 -3
  115. package/dist/sdk/history-repair.d.ts +5 -0
  116. package/dist/sdk/history-repair.js +14 -2
  117. package/dist/sdk/lifecycle/claim.d.ts +4 -0
  118. package/dist/sdk/lifecycle/claim.js +9 -3
  119. package/dist/sdk/lifecycle/restore.d.ts +1 -0
  120. package/dist/sdk/lifecycle/restore.js +19 -7
  121. package/dist/sdk/output-projection.d.ts +3 -1
  122. package/dist/sdk/output-projection.js +11 -3
  123. package/dist/sdk/public-surface.json +1 -0
  124. package/dist/sdk/query/context.d.ts +9 -0
  125. package/dist/sdk/query/context.js +33 -21
  126. package/dist/sdk/query/get.d.ts +2 -2
  127. package/dist/sdk/query/get.js +4 -3
  128. package/dist/sdk/query/history.d.ts +11 -0
  129. package/dist/sdk/query/history.js +34 -10
  130. package/dist/sdk/query/next.d.ts +15 -1
  131. package/dist/sdk/query/next.js +43 -20
  132. package/dist/sdk/query.d.ts +1 -0
  133. package/dist/sdk/query.js +3 -2
  134. package/dist/sdk/runtime-primitives.d.ts +1 -1
  135. package/dist/sdk/runtime-primitives.js +3 -3
  136. package/dist/types.d.ts +2 -0
  137. package/dist/types.js +2 -2
  138. package/docs/AGENT_GUIDE.md +36 -0
  139. package/docs/HISTORY_RECOVERY.md +146 -0
  140. package/docs/README.md +1 -0
  141. package/docs/RELEASING.md +25 -11
  142. package/docs/SDK_CONTEXT_TRUTH_CONTRACTS.md +24 -1
  143. package/docs/SDK_EXECUTION_CONTRACTS.md +105 -0
  144. package/docs/TESTING.md +5 -0
  145. package/docs/agent-task-token-baseline.json +17 -17
  146. package/docs/agent-task-transcripts.json +2 -1
  147. package/docs/generated/FLAG_LEXICON_BUDGETS.md +10 -10
  148. package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +11 -3
  149. package/marketplace.json +2 -2
  150. package/package.json +4 -5
  151. package/packages/pm-beads/package.json +1 -1
  152. package/packages/pm-calendar/package.json +1 -1
  153. package/packages/pm-command-kit/package.json +1 -1
  154. package/packages/pm-digital-twin/package.json +1 -1
  155. package/packages/pm-governance-audit/package.json +1 -1
  156. package/packages/pm-guide-shell/package.json +1 -1
  157. package/packages/pm-kanban/package.json +1 -1
  158. package/packages/pm-lifecycle-hooks/package.json +1 -1
  159. package/packages/pm-linked-test-adapters/package.json +1 -1
  160. package/packages/pm-search-advanced/package.json +1 -1
  161. package/packages/pm-templates/package.json +1 -1
  162. package/packages/pm-todos/package.json +1 -1
  163. package/packages/pm-vcs/package.json +1 -1
  164. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  165. package/plugins/pm-claude/skills/pm-audit/SKILL.md +2 -2
  166. package/plugins/pm-claude/skills/pm-developer/SKILL.md +2 -2
  167. package/plugins/pm-claude/skills/pm-planner/SKILL.md +2 -2
  168. package/plugins/pm-claude/skills/pm-release/SKILL.md +2 -2
  169. package/plugins/pm-claude/skills/pm-workflow/SKILL.md +3 -3
  170. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  171. package/plugins/pm-codex/skills/pm-auditor/SKILL.md +2 -2
  172. package/plugins/pm-codex/skills/pm-native/SKILL.md +3 -4
  173. package/plugins/pm-codex/skills/pm-release/SKILL.md +2 -2
  174. package/scripts/finalize-build.mjs +13 -1
  175. package/dist/cli-bundle/chunks/chunk-6XSKPNCF.js +0 -230
  176. package/dist/cli-bundle/chunks/chunk-OGBVU67G.js +0 -5
  177. package/dist/cli-bundle/chunks/chunk-TXW6VL33.js +0 -38
  178. package/dist/cli-bundle/chunks/chunk-VGLHECAP.js +0 -9
  179. package/dist/cli-bundle/chunks/register-operations-OH7R3ZT4.js +0 -2
  180. package/dist/cli-bundle/focused-chunks/chunk-4YRAVI43.js +0 -12
  181. package/dist/cli-bundle/focused-chunks/chunk-5P4HVOWG.js +0 -176
  182. package/dist/cli-bundle/focused-chunks/chunk-636VVQ7F.js +0 -54
  183. package/dist/cli-bundle/focused-chunks/chunk-B3A6MJYE.js +0 -2
  184. package/dist/cli-bundle/focused-chunks/chunk-BFDDJ2T2.js +0 -2
  185. package/dist/cli-bundle/focused-chunks/chunk-BHUIRZWQ.js +0 -9
  186. package/dist/cli-bundle/focused-chunks/chunk-JADHHPY6.js +0 -6
  187. package/dist/cli-bundle/focused-chunks/chunk-NSKBLHVI.js +0 -20
  188. package/dist/cli-bundle/focused-chunks/chunk-P2GOAOQN.js +0 -2
  189. package/dist/cli-bundle/focused-chunks/chunk-YARWJM2B.js +0 -2
  190. package/sdk/public-surface.json +0 -33034
@@ -5,7 +5,7 @@ This file is generated by `listPmFlagLexicon()`. Compatibility aliases do not co
5
5
  | Command | Capability family | Canonical flags | Maximum |
6
6
  | --- | --- | ---: | ---: |
7
7
  | `init` | workspace | 30 | 30 |
8
- | `config` | workspace | 35 | 35 |
8
+ | `config` | workspace | 36 | 36 |
9
9
  | `extension` | extensions | 53 | 53 |
10
10
  | `package` | extensions | 54 | 54 |
11
11
  | `packages` | extensions | 54 | 54 |
@@ -15,7 +15,7 @@ This file is generated by `listPmFlagLexicon()`. Compatibility aliases do not co
15
15
  | `copy` | intake | 24 | 24 |
16
16
  | `focus` | intake | 22 | 22 |
17
17
  | `list` | context | 86 | 86 |
18
- | `list-all` | context | 85 | 85 |
18
+ | `list-all` | context | 86 | 86 |
19
19
  | `list-draft` | context | 84 | 84 |
20
20
  | `list-open` | context | 84 | 84 |
21
21
  | `list-in-progress` | context | 84 | 84 |
@@ -30,32 +30,32 @@ This file is generated by `listPmFlagLexicon()`. Compatibility aliases do not co
30
30
  | `search` | context | 78 | 78 |
31
31
  | `duplicates` | context | 24 | 24 |
32
32
  | `eval` | context | 25 | 25 |
33
- | `next` | context | 35 | 35 |
33
+ | `next` | context | 38 | 38 |
34
34
  | `history` | evidence | 35 | 35 |
35
35
  | `events` | evidence | 33 | 33 |
36
36
  | `history-redact` | evidence | 27 | 27 |
37
- | `history-repair` | evidence | 26 | 26 |
37
+ | `history-repair` | evidence | 27 | 27 |
38
38
  | `history-compact` | evidence | 30 | 30 |
39
39
  | `history-author-acknowledge` | evidence | 28 | 28 |
40
- | `merge` | workspace | 24 | 24 |
40
+ | `merge` | workspace | 27 | 27 |
41
41
  | `schema` | workspace | 40 | 40 |
42
42
  | `profile` | workspace | 22 | 22 |
43
43
  | `activity` | context | 35 | 35 |
44
44
  | `restore` | intake | 23 | 23 |
45
45
  | `update` | lifecycle | 105 | 105 |
46
- | `update-many` | lifecycle | 140 | 140 |
46
+ | `update-many` | lifecycle | 146 | 146 |
47
47
  | `close` | lifecycle | 31 | 31 |
48
48
  | `close-many` | lifecycle | 72 | 72 |
49
49
  | `delete` | lifecycle | 24 | 24 |
50
- | `append` | evidence | 24 | 24 |
50
+ | `append` | evidence | 25 | 25 |
51
51
  | `comments` | evidence | 31 | 31 |
52
52
  | `notes` | evidence | 35 | 35 |
53
- | `learnings` | evidence | 27 | 27 |
53
+ | `learnings` | evidence | 31 | 31 |
54
54
  | `files` | evidence | 39 | 39 |
55
55
  | `docs` | evidence | 30 | 30 |
56
56
  | `deps` | graph | 32 | 32 |
57
57
  | `plan` | graph | 109 | 109 |
58
- | `test` | quality | 52 | 52 |
58
+ | `test` | quality | 53 | 53 |
59
59
  | `test-all` | quality | 40 | 40 |
60
60
  | `telemetry` | workspace | 21 | 21 |
61
61
  | `stats` | context | 29 | 29 |
@@ -65,7 +65,7 @@ This file is generated by `listPmFlagLexicon()`. Compatibility aliases do not co
65
65
  | `gc` | workspace | 22 | 22 |
66
66
  | `workspace` | workspace | 23 | 23 |
67
67
  | `contracts` | quality | 29 | 29 |
68
- | `claim` | lifecycle | 36 | 36 |
68
+ | `claim` | lifecycle | 38 | 38 |
69
69
  | `release` | lifecycle | 23 | 23 |
70
70
  | `start-task` | lifecycle | 23 | 23 |
71
71
  | `pause-task` | lifecycle | 23 | 23 |
@@ -4,12 +4,12 @@ Tracker: `pm-f05lsg`.
4
4
 
5
5
  Every catalog code is listed. An `uncovered` row is an explicit closure obligation, never an omission or implied approval.
6
6
 
7
- - Catalog error codes: 357
7
+ - Catalog error codes: 365
8
8
  - Executable error codes: 19
9
9
  - Executable-code ratchet floor: 18
10
10
  - Required executable canonical codes: `bulk_ids_input_empty`, `bulk_ids_input_missing_path`, `bulk_ids_input_unreadable`, `invalid_argument_value`, `manifest_unknown_key`, `missing_lifecycle_target`, `missing_required_argument`, `no_version_bounds_declared`, `projection_options_mutually_exclusive`, `tracker_not_initialized`, `tracker_root_missing`, `tracker_root_not_directory`, `tracker_root_unreadable`, `unknown_context_intent`, `unknown_field_projection`, `unknown_option`, `unknown_subcommand`
11
- - Uncovered error codes: 338
12
- - Coverage fraction: 0.053221
11
+ - Uncovered error codes: 346
12
+ - Coverage fraction: 0.052055
13
13
  - Closed-domain probes: 19
14
14
  - Grammar probes: 94
15
15
 
@@ -111,17 +111,23 @@ Every catalog code is listed. An `uncovered` row is an explicit closure obligati
111
111
  | `history_author_acknowledge_selector_required` | `history_author_acknowledge_selector_required` | uncovered | none | 0 |
112
112
  | `history_author_acknowledge_target_not_actionable` | `history_author_acknowledge_target_not_actionable` | uncovered | none | 0 |
113
113
  | `history_author_acknowledge_target_unreadable` | `history_author_acknowledge_target_unreadable` | uncovered | none | 0 |
114
+ | `history_baseline_unavailable` | `history_baseline_unavailable` | uncovered | none | 0 |
114
115
  | `history_drift_chain_mismatch` | `history_drift_chain_mismatch` | uncovered | none | 0 |
115
116
  | `history_drift_hash_mismatch` | `history_drift_hash_mismatch` | uncovered | none | 0 |
116
117
  | `history_drift_merge_receipt` | `history_drift_merge_receipt` | uncovered | none | 0 |
117
118
  | `history_drift_missing_stream` | `history_drift_missing_stream` | uncovered | none | 0 |
118
119
  | `history_drift_unreadable_stream` | `history_drift_unreadable_stream` | uncovered | none | 0 |
119
120
  | `history_drift_version_skew` | `history_drift_version_skew` | uncovered | none | 0 |
121
+ | `history_json_invalid` | `history_json_invalid` | uncovered | none | 0 |
120
122
  | `history_merge_conflict_markers_detected` | `merge_conflict_markers_detected` | uncovered | none | 0 |
123
+ | `history_replay_invalid` | `history_replay_invalid` | uncovered | none | 0 |
124
+ | `history_salvage_refused` | `history_salvage_refused` | uncovered | none | 0 |
121
125
  | `history_stream_over_compact_threshold` | `history_stream_over_compact_threshold` | uncovered | none | 0 |
122
126
  | `history_target_out_of_range` | `history_target_out_of_range` | uncovered | none | 0 |
123
127
  | `history_timestamp_invalid` | `history_timestamp_invalid` | uncovered | none | 0 |
124
128
  | `history_unknown_author_events` | `history_unknown_author_events` | uncovered | none | 0 |
129
+ | `history_version_mapping_unavailable` | `history_version_mapping_unavailable` | uncovered | none | 0 |
130
+ | `history_version_pruned` | `history_version_pruned` | uncovered | none | 0 |
125
131
  | `host_environment_capacity_fault` | `host_environment_capacity_fault` | uncovered | none | 0 |
126
132
  | `host_environment_operation_invalid` | `host_environment_operation_invalid` | uncovered | none | 0 |
127
133
  | `host_environment_permission_fault` | `host_environment_permission_fault` | uncovered | none | 0 |
@@ -163,9 +169,11 @@ Every catalog code is listed. An `uncovered` row is an explicit closure obligati
163
169
  | `invalid_reproducible_process_environment` | `invalid_reproducible_process_environment` | uncovered | none | 0 |
164
170
  | `invalid_workspace_snapshot_target` | `invalid_workspace_snapshot_target` | uncovered | none | 0 |
165
171
  | `item_already_active` | `item_already_active` | uncovered | none | 0 |
172
+ | `item_document_encoding_invalid` | `item_document_encoding_invalid` | uncovered | none | 0 |
166
173
  | `item_document_invalid` | `item_document_invalid` | uncovered | none | 0 |
167
174
  | `item_document_roundtrip_failed` | `item_document_roundtrip_failed` | uncovered | none | 0 |
168
175
  | `item_id_collision` | `item_id_collision` | uncovered | none | 0 |
176
+ | `item_identity_reserved` | `item_identity_reserved` | uncovered | none | 0 |
169
177
  | `item_not_found` | `item_not_found` | uncovered | none | 0 |
170
178
  | `likely_duplicate` | `likely_duplicate` | uncovered | none | 0 |
171
179
  | `linked_artifact_mutation_conflict` | `linked_artifact_mutation_conflict` | uncovered | none | 0 |
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.9.4"
9
+ "version": "2026.9.5"
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.9.4",
16
+ "version": "2026.9.5",
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.9.4",
3
+ "version": "2026.9.5",
4
4
  "description": "Git-native project management CLI for humans and agents.",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@11.10.0",
@@ -76,7 +76,7 @@
76
76
  "import": "./dist/cli-bundle/sdk-testing.js",
77
77
  "default": "./dist/cli-bundle/sdk-testing.js"
78
78
  },
79
- "./sdk/public-surface.json": "./sdk/public-surface.json",
79
+ "./sdk/public-surface.json": "./dist/sdk/public-surface.json",
80
80
  "./cli": {
81
81
  "types": "./dist/cli/public.d.ts",
82
82
  "import": "./dist/cli/public.js",
@@ -95,7 +95,6 @@
95
95
  "LICENSE",
96
96
  "AGENTS.md",
97
97
  "docs/**",
98
- "sdk/public-surface.json",
99
98
  ".claude-plugin/**",
100
99
  "plugins/**",
101
100
  "packages/pm-*/**",
@@ -229,8 +228,8 @@
229
228
  "eslint-plugin-sonarjs": "^4.2.0",
230
229
  "eslint-plugin-unicorn": "74.0.0",
231
230
  "fast-check": "^4.9.0",
232
- "greptile": "^3.4.2",
233
- "jscpd": "^5.1.1",
231
+ "greptile": "^3.5.0",
232
+ "jscpd": "^5.1.2",
234
233
  "tsx": "^4.23.13",
235
234
  "typescript": "^6.0.3",
236
235
  "typescript-eslint": "^8.69.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unbrained/pm-beads",
3
- "version": "2026.9.4",
3
+ "version": "2026.9.5",
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.9.4",
3
+ "version": "2026.9.5",
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.9.4",
3
+ "version": "2026.9.5",
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.9.4",
3
+ "version": "2026.9.5",
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.9.4",
3
+ "version": "2026.9.5",
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.9.4",
3
+ "version": "2026.9.5",
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.9.4",
3
+ "version": "2026.9.5",
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.9.4",
3
+ "version": "2026.9.5",
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.9.4",
3
+ "version": "2026.9.5",
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.9.4",
3
+ "version": "2026.9.5",
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.9.4",
3
+ "version": "2026.9.5",
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.9.4",
3
+ "version": "2026.9.5",
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.9.4",
3
+ "version": "2026.9.5",
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.9.4",
4
+ "version": "2026.9.5",
5
5
  "author": {
6
6
  "name": "unbrained",
7
7
  "url": "https://github.com/unbraind/pm-cli"
@@ -94,8 +94,8 @@ Load the smallest thing that answers the question. Costs are measured.
94
94
  | The whole command surface with per-command ceilings | `pm_contracts` with `summary: true` | ~2.6k tok |
95
95
  | An unfamiliar capability family | `pm_run` with `action: "guide", topic: "<topic>", depth: "brief"` | ~0.6-1k tok |
96
96
 
97
- Guide topics: `quickstart`, `commands`, `workflows`, `sdk`, `extensions`,
98
- `skills`, `harnesses`, `release`, `tokens`, `graph`, `assurance`, `merge`.
97
+ Guide topics are declared at runtime: `pm guide` prints the current index and
98
+ `pm guide <topic> --depth brief` expands one topic. Do not copy the list.
99
99
 
100
100
  Never load `docs/COMMANDS.md` (~29k tok) or `docs/SDK.md` (~45k tok) whole.
101
101
 
@@ -133,8 +133,8 @@ Load the smallest thing that answers the question. Costs are measured.
133
133
  | The whole command surface with per-command ceilings | `pm_contracts` with `summary: true` | ~2.6k tok |
134
134
  | An unfamiliar capability family | `pm_run` with `action: "guide", topic: "<topic>", depth: "brief"` | ~0.6-1k tok |
135
135
 
136
- Guide topics: `quickstart`, `commands`, `workflows`, `sdk`, `extensions`,
137
- `skills`, `harnesses`, `release`, `tokens`, `graph`, `assurance`, `merge`.
136
+ Guide topics are declared at runtime: `pm guide` prints the current index and
137
+ `pm guide <topic> --depth brief` expands one topic. Do not copy the list.
138
138
 
139
139
  Never load `docs/COMMANDS.md` (~29k tok) or `docs/SDK.md` (~45k tok) whole.
140
140
 
@@ -157,8 +157,8 @@ Load the smallest thing that answers the question. Costs are measured.
157
157
  | The whole command surface with per-command ceilings | `pm_contracts` with `summary: true` | ~2.6k tok |
158
158
  | An unfamiliar capability family | `pm_run` with `action: "guide", topic: "<topic>", depth: "brief"` | ~0.6-1k tok |
159
159
 
160
- Guide topics: `quickstart`, `commands`, `workflows`, `sdk`, `extensions`,
161
- `skills`, `harnesses`, `release`, `tokens`, `graph`, `assurance`, `merge`.
160
+ Guide topics are declared at runtime: `pm guide` prints the current index and
161
+ `pm guide <topic> --depth brief` expands one topic. Do not copy the list.
162
162
 
163
163
  Never load `docs/COMMANDS.md` (~29k tok) or `docs/SDK.md` (~45k tok) whole.
164
164
 
@@ -92,8 +92,8 @@ Load the smallest thing that answers the question. Costs are measured.
92
92
  | The whole command surface with per-command ceilings | `pm_contracts` with `summary: true` | ~2.6k tok |
93
93
  | An unfamiliar capability family | `pm_run` with `action: "guide", topic: "<topic>", depth: "brief"` | ~0.6-1k tok |
94
94
 
95
- Guide topics: `quickstart`, `commands`, `workflows`, `sdk`, `extensions`,
96
- `skills`, `harnesses`, `release`, `tokens`, `graph`, `assurance`, `merge`.
95
+ Guide topics are declared at runtime: `pm guide` prints the current index and
96
+ `pm guide <topic> --depth brief` expands one topic. Do not copy the list.
97
97
 
98
98
  Never load `docs/COMMANDS.md` (~29k tok) or `docs/SDK.md` (~45k tok) whole.
99
99
 
@@ -15,7 +15,7 @@ Use this skill for all pm-tracked work. Prefer native MCP tools over shell `pm`
15
15
  |---------|------|
16
16
  | Orient / read state | `pm_context`, `pm_search`, `pm_list`, `pm_get` |
17
17
  | Create / update | `pm_create`, `pm_update`, `pm_claim`, `pm_release`, `pm_close` |
18
- | Evidence | `pm_comments`, `pm_files`, `pm_docs`, `pm_test` |
18
+ | Evidence | `pm_comments`, `pm_notes`, `pm_learnings`, `pm_files`, `pm_docs`, `pm_test` |
19
19
  | Verify | `pm_validate`, `pm_health`, `pm_contracts` |
20
20
  | Everything else | `pm_run` with an explicit `action` |
21
21
 
@@ -154,8 +154,8 @@ Load the smallest thing that answers the question. Costs are measured.
154
154
  | The whole command surface with per-command ceilings | `pm_contracts` with `summary: true` | ~2.6k tok |
155
155
  | An unfamiliar capability family | `pm_run` with `action: "guide", topic: "<topic>", depth: "brief"` | ~0.6-1k tok |
156
156
 
157
- Guide topics: `quickstart`, `commands`, `workflows`, `sdk`, `extensions`,
158
- `skills`, `harnesses`, `release`, `tokens`, `graph`, `assurance`, `merge`.
157
+ Guide topics are declared at runtime: `pm guide` prints the current index and
158
+ `pm guide <topic> --depth brief` expands one topic. Do not copy the list.
159
159
 
160
160
  Never load `docs/COMMANDS.md` (~29k tok) or `docs/SDK.md` (~45k tok) whole.
161
161
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pm-codex",
3
- "version": "2026.9.4",
3
+ "version": "2026.9.5",
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",
@@ -30,8 +30,8 @@ Load the smallest thing that answers the question. Costs are measured.
30
30
  | The whole command surface with per-command ceilings | `pm_contracts` with `summary: true` | ~2.6k tok |
31
31
  | An unfamiliar capability family | `pm_run` with `action: "guide", topic: "<topic>", depth: "brief"` | ~0.6-1k tok |
32
32
 
33
- Guide topics: `quickstart`, `commands`, `workflows`, `sdk`, `extensions`,
34
- `skills`, `harnesses`, `release`, `tokens`, `graph`, `assurance`, `merge`.
33
+ Guide topics are declared at runtime: `pm guide` prints the current index and
34
+ `pm guide <topic> --depth brief` expands one topic. Do not copy the list.
35
35
 
36
36
  Never load `docs/COMMANDS.md` (~29k tok) or `docs/SDK.md` (~45k tok) whole.
37
37
 
@@ -14,7 +14,7 @@ Use MCP tools before shell commands:
14
14
 
15
15
  - Orient: `pm_context`, `pm_search`, `pm_list`, `pm_get`
16
16
  - Mutate: `pm_create`, `pm_update`, `pm_claim`, `pm_release`, `pm_close`
17
- - Evidence: `pm_comments`, `pm_files`, `pm_docs`, `pm_test`
17
+ - Evidence: `pm_comments`, `pm_notes`, `pm_learnings`, `pm_files`, `pm_docs`, `pm_test`
18
18
  - Verify: `pm_validate`, `pm_health`, `pm_contracts`
19
19
  - Everything else: `pm_run` with an explicit `action`
20
20
 
@@ -37,7 +37,6 @@ Most tools accept:
37
37
  ```json
38
38
  {
39
39
  "cwd": "/repo/root",
40
- "author": "codex-agent",
41
40
  "options": {
42
41
  "limit": "10"
43
42
  }
@@ -79,8 +78,8 @@ Load the smallest thing that answers the question. Costs are measured.
79
78
  | The whole command surface with per-command ceilings | `pm_contracts` with `summary: true` | ~2.6k tok |
80
79
  | An unfamiliar capability family | `pm_run` with `action: "guide", topic: "<topic>", depth: "brief"` | ~0.6-1k tok |
81
80
 
82
- Guide topics: `quickstart`, `commands`, `workflows`, `sdk`, `extensions`,
83
- `skills`, `harnesses`, `release`, `tokens`, `graph`, `assurance`, `merge`.
81
+ Guide topics are declared at runtime: `pm guide` prints the current index and
82
+ `pm guide <topic> --depth brief` expands one topic. Do not copy the list.
84
83
 
85
84
  Never load `docs/COMMANDS.md` (~29k tok) or `docs/SDK.md` (~45k tok) whole.
86
85
 
@@ -29,8 +29,8 @@ Load the smallest thing that answers the question. Costs are measured.
29
29
  | The whole command surface with per-command ceilings | `pm_contracts` with `summary: true` | ~2.6k tok |
30
30
  | An unfamiliar capability family | `pm_run` with `action: "guide", topic: "<topic>", depth: "brief"` | ~0.6-1k tok |
31
31
 
32
- Guide topics: `quickstart`, `commands`, `workflows`, `sdk`, `extensions`,
33
- `skills`, `harnesses`, `release`, `tokens`, `graph`, `assurance`, `merge`.
32
+ Guide topics are declared at runtime: `pm guide` prints the current index and
33
+ `pm guide <topic> --depth brief` expands one topic. Do not copy the list.
34
34
 
35
35
  Never load `docs/COMMANDS.md` (~29k tok) or `docs/SDK.md` (~45k tok) whole.
36
36
 
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { chmod, stat } from "node:fs/promises";
3
+ import { chmod, readFile, stat, writeFile } from "node:fs/promises";
4
4
  import path from "node:path";
5
5
  import { pathToFileURL } from "node:url";
6
6
 
@@ -16,6 +16,7 @@ async function outputExists(filePath) {
16
16
  }
17
17
  }
18
18
 
19
+ /** Finalize executable modes and the semantically identical compact public SDK manifest. */
19
20
  export async function main(repoRoot = process.cwd()) {
20
21
  const executableOutputs = [
21
22
  path.join(repoRoot, "dist", "cli.js"),
@@ -28,6 +29,17 @@ export async function main(repoRoot = process.cwd()) {
28
29
  await chmod(outputPath, 0o755);
29
30
  }
30
31
  }
32
+
33
+ // Keep the checked-in compatibility manifest readable, while distributing
34
+ // identical JSON data without indentation through its stable public export.
35
+ const manifest = JSON.parse(
36
+ await readFile(path.join(repoRoot, "sdk", "public-surface.json"), "utf8"),
37
+ );
38
+ await writeFile(
39
+ path.join(repoRoot, "dist", "sdk", "public-surface.json"),
40
+ `${JSON.stringify(manifest)}\n`,
41
+ "utf8",
42
+ );
31
43
  }
32
44
 
33
45
  /* c8 ignore start -- CLI auto-run guard; logic covered via exported main() */