@unbrained/pm-cli 2026.8.18 → 2026.8.19

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 (139) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +16 -2
  3. package/dist/cli/error-guidance.js +3 -2
  4. package/dist/cli/help-content.js +32 -13
  5. package/dist/cli/help-json-payload.d.ts +15 -0
  6. package/dist/cli/help-json-payload.js +101 -23
  7. package/dist/cli/main.js +6 -2
  8. package/dist/cli/register-list-query.js +8 -5
  9. package/dist/cli/register-mutation.js +8 -8
  10. package/dist/cli/register-operations.js +6 -6
  11. package/dist/cli-bundle/bundle-manifest.json +139 -139
  12. package/dist/cli-bundle/chunks/chunk-4NRRH7AM.js +2 -0
  13. package/dist/cli-bundle/chunks/{chunk-UYCLQVL2.js → chunk-4THEB6PD.js} +2 -2
  14. package/dist/cli-bundle/chunks/{chunk-BSK2IN3C.js → chunk-BHYMXLAE.js} +2 -2
  15. package/dist/cli-bundle/chunks/chunk-GWMXAQOD.js +197 -0
  16. package/dist/cli-bundle/chunks/chunk-HVFQTLYM.js +35 -0
  17. package/dist/cli-bundle/chunks/chunk-OI4XI562.js +5 -0
  18. package/dist/cli-bundle/chunks/{chunk-YRGOLZA7.js → chunk-OIOKV6NO.js} +3 -3
  19. package/dist/cli-bundle/chunks/{chunk-5UZZAJKR.js → chunk-QXSH7BLM.js} +2 -2
  20. package/dist/cli-bundle/chunks/{chunk-RZQTVMRQ.js → chunk-TOXJM4WA.js} +2 -2
  21. package/dist/cli-bundle/chunks/{chunk-GNFAFIJI.js → chunk-YBMRWW4E.js} +44 -44
  22. package/dist/cli-bundle/chunks/{register-list-query-I23LALEE.js → register-list-query-Y56KINDU.js} +11 -11
  23. package/dist/cli-bundle/chunks/register-mutation-AUWVCW4M.js +20 -0
  24. package/dist/cli-bundle/chunks/register-operations-PZQPHXW5.js +2 -0
  25. package/dist/cli-bundle/chunks/{register-setup-PPPEF3SN.js → register-setup-I4LUHGVW.js} +2 -2
  26. package/dist/cli-bundle/focused-chunks/{chunk-5AF3ZBNB.js → chunk-34QBIYZI.js} +2 -2
  27. package/dist/cli-bundle/focused-chunks/{chunk-V5XTGLK7.js → chunk-BJRYFVSH.js} +2 -2
  28. package/dist/cli-bundle/focused-chunks/chunk-DKPLYW3L.js +2 -0
  29. package/dist/cli-bundle/focused-chunks/{chunk-ODOVCP45.js → chunk-EF6ZS5GH.js} +44 -44
  30. package/dist/cli-bundle/focused-chunks/{chunk-EX6MKP2X.js → chunk-ESISGDAY.js} +2 -2
  31. package/dist/cli-bundle/focused-chunks/{chunk-EUEGXZ2A.js → chunk-EXBCLIBU.js} +2 -2
  32. package/dist/cli-bundle/focused-chunks/{chunk-UI6AJ5TD.js → chunk-JDOMQ7VQ.js} +2 -2
  33. package/dist/cli-bundle/focused-chunks/chunk-L623ZPNK.js +2 -0
  34. package/dist/cli-bundle/focused-chunks/chunk-MCZXYZAF.js +2 -0
  35. package/dist/cli-bundle/focused-chunks/chunk-ODHQEECS.js +2 -0
  36. package/dist/cli-bundle/focused-chunks/{chunk-3TKWMNKF.js → chunk-PRHY2IMX.js} +2 -2
  37. package/dist/cli-bundle/focused-chunks/chunk-RZU5U6Q7.js +2 -0
  38. package/dist/cli-bundle/focused-chunks/{chunk-M62NO7EI.js → chunk-US7VEYZG.js} +2 -2
  39. package/dist/cli-bundle/focused-chunks/{chunk-TN4AE665.js → chunk-VXDSU5MC.js} +2 -2
  40. package/dist/cli-bundle/focused-chunks/chunk-YBMGXBFV.js +16 -0
  41. package/dist/cli-bundle/focused-chunks/chunk-YLVBJ6GF.js +2 -0
  42. package/dist/cli-bundle/focused-chunks/{chunk-K43KKAFS.js → chunk-ZBIQQYMI.js} +2 -2
  43. package/dist/cli-bundle/main.js +13 -13
  44. package/dist/cli-bundle/sdk-authoring.js +1 -1
  45. package/dist/cli-bundle/sdk-contracts.js +2 -1
  46. package/dist/cli-bundle/sdk-core.js +31 -31
  47. package/dist/cli-bundle/sdk-governance.js +1 -1
  48. package/dist/cli-bundle/sdk-graph.js +1 -1
  49. package/dist/cli-bundle/sdk-merge.js +32 -32
  50. package/dist/cli-bundle/sdk-query.js +1 -1
  51. package/dist/cli-bundle/sdk-runtime.js +1 -1
  52. package/dist/cli-bundle/sdk-testing.js +1 -1
  53. package/dist/cli-bundle/sdk.js +5 -4
  54. package/dist/core/shared/errors.d.ts +2 -0
  55. package/dist/core/shared/errors.js +2 -2
  56. package/dist/sdk/agent/refusal-closure.d.ts +41 -0
  57. package/dist/sdk/agent/refusal-closure.js +92 -0
  58. package/dist/sdk/agent/refusal-reachability.d.ts +1 -1
  59. package/dist/sdk/agent-capability-contracts.d.ts +13 -0
  60. package/dist/sdk/agent-capability-contracts.js +104 -7
  61. package/dist/sdk/cli-contracts/command-aliases.js +18 -2
  62. package/dist/sdk/cli-contracts/commander-mutation-options.js +30 -6
  63. package/dist/sdk/cli-contracts/commander-types.js +5 -4
  64. package/dist/sdk/cli-contracts/flag-contracts.d.ts +5 -0
  65. package/dist/sdk/cli-contracts/flag-contracts.js +75 -8
  66. package/dist/sdk/cli-contracts/flag-lexicon-contracts.d.ts +55 -0
  67. package/dist/sdk/cli-contracts/flag-lexicon-contracts.js +240 -0
  68. package/dist/sdk/cli-contracts/grammar-contracts.d.ts +81 -0
  69. package/dist/sdk/cli-contracts/grammar-contracts.js +615 -2
  70. package/dist/sdk/cli-contracts/runtime-contracts.d.ts +15 -4
  71. package/dist/sdk/cli-contracts/runtime-contracts.js +42 -12
  72. package/dist/sdk/cli-contracts/tool-option-contracts.d.ts +28 -1
  73. package/dist/sdk/cli-contracts/tool-option-contracts.js +38 -3
  74. package/dist/sdk/cli-contracts.d.ts +3 -2
  75. package/dist/sdk/cli-contracts.js +5 -4
  76. package/dist/sdk/context-intent-contracts.d.ts +2 -2
  77. package/dist/sdk/context-intent-contracts.js +22 -7
  78. package/dist/sdk/contracts.d.ts +2 -0
  79. package/dist/sdk/contracts.js +4 -2
  80. package/dist/sdk/flag-invocation-contracts.d.ts +37 -0
  81. package/dist/sdk/flag-invocation-contracts.js +218 -9
  82. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +134 -2
  83. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +154 -22
  84. package/dist/sdk/index.d.ts +7 -5
  85. package/dist/sdk/index.js +7 -5
  86. package/dist/sdk/output-projection.d.ts +2 -0
  87. package/dist/sdk/output-projection.js +11 -5
  88. package/dist/sdk/query/get.js +25 -6
  89. package/dist/sdk/query/list.js +16 -2
  90. package/dist/sdk/query/search-contracts.d.ts +1 -1
  91. package/dist/sdk/query/search-contracts.js +23 -9
  92. package/dist/sdk/query/search.js +3 -3
  93. package/dist/sdk/read-output/continuation.d.ts +1 -1
  94. package/dist/sdk/read-output/continuation.js +7 -24
  95. package/dist/sdk/read-output-contracts.js +55 -6
  96. package/dist/sdk/read-output-rows.d.ts +4 -0
  97. package/dist/sdk/read-output-rows.js +47 -18
  98. package/dist/sdk/runtime.js +9 -5
  99. package/dist/sdk/workspace-snapshot.d.ts +2 -0
  100. package/dist/sdk/workspace-snapshot.js +10 -2
  101. package/docs/COMMANDS.md +16 -4
  102. package/docs/OUTPUT_PROJECTION_CONTRACTS.md +11 -2
  103. package/docs/READ_OUTPUT_CONTRACTS.md +10 -6
  104. package/docs/SDK.md +6 -0
  105. package/docs/TESTING.md +14 -1
  106. package/docs/generated/AGENT_COMMAND_SURFACE.md +78 -78
  107. package/docs/generated/FLAG_LEXICON_BUDGETS.md +76 -0
  108. package/marketplace.json +2 -2
  109. package/package.json +5 -3
  110. package/packages/pm-beads/package.json +1 -1
  111. package/packages/pm-calendar/package.json +1 -1
  112. package/packages/pm-command-kit/package.json +1 -1
  113. package/packages/pm-digital-twin/package.json +1 -1
  114. package/packages/pm-governance-audit/package.json +1 -1
  115. package/packages/pm-guide-shell/package.json +1 -1
  116. package/packages/pm-kanban/package.json +1 -1
  117. package/packages/pm-lifecycle-hooks/package.json +1 -1
  118. package/packages/pm-linked-test-adapters/package.json +1 -1
  119. package/packages/pm-search-advanced/package.json +1 -1
  120. package/packages/pm-templates/package.json +1 -1
  121. package/packages/pm-todos/package.json +1 -1
  122. package/packages/pm-vcs/package.json +1 -1
  123. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  124. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  125. package/scripts/generate-agent-capability-surfaces.mjs +20 -14
  126. package/sdk/public-surface.json +576 -12
  127. package/dist/cli-bundle/chunks/chunk-ALDJGKAK.js +0 -2
  128. package/dist/cli-bundle/chunks/chunk-DY4DMUMC.js +0 -197
  129. package/dist/cli-bundle/chunks/chunk-L5Q2CLPE.js +0 -35
  130. package/dist/cli-bundle/chunks/chunk-PVRUN5ZS.js +0 -5
  131. package/dist/cli-bundle/chunks/register-mutation-6YGU3GPH.js +0 -20
  132. package/dist/cli-bundle/chunks/register-operations-4HTFC6J7.js +0 -2
  133. package/dist/cli-bundle/focused-chunks/chunk-2PN4TJXH.js +0 -2
  134. package/dist/cli-bundle/focused-chunks/chunk-C5IW2NDA.js +0 -2
  135. package/dist/cli-bundle/focused-chunks/chunk-RNDNMARJ.js +0 -16
  136. package/dist/cli-bundle/focused-chunks/chunk-TVV2DONO.js +0 -2
  137. package/dist/cli-bundle/focused-chunks/chunk-WGHQVU6P.js +0 -2
  138. package/dist/cli-bundle/focused-chunks/chunk-XYNBXTDQ.js +0 -2
  139. package/dist/cli-bundle/focused-chunks/chunk-Z56ECT7I.js +0 -2
package/docs/TESTING.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  This page describes safe local tests, linked tests, coverage, and release-readiness checks.
4
4
 
5
- Tracked implementation updates: [pm-52eh](../.agents/pm/features/pm-52eh.toon), [pm-mcxr](../.agents/pm/issues/pm-mcxr.toon), [pm-u42x](../.agents/pm/issues/pm-u42x.toon), [pm-atfm](../.agents/pm/features/pm-atfm.toon), [pm-xmp5](../.agents/pm/tasks/pm-xmp5.toon), [pm-39cqqx](../.agents/pm/tasks/pm-39cqqx.toon), [pm-5cgm2z](../.agents/pm/chores/pm-5cgm2z.toon), [pm-avv3wx](../.agents/pm/issues/pm-avv3wx.toon), [pm-rizqb6](../.agents/pm/issues/pm-rizqb6.toon), [pm-95h7pg](../.agents/pm/issues/pm-95h7pg.toon), [pm-giks4s](../.agents/pm/issues/pm-giks4s.toon).
5
+ Tracked implementation updates: [pm-52eh](../.agents/pm/features/pm-52eh.toon), [pm-mcxr](../.agents/pm/issues/pm-mcxr.toon), [pm-u42x](../.agents/pm/issues/pm-u42x.toon), [pm-atfm](../.agents/pm/features/pm-atfm.toon), [pm-xmp5](../.agents/pm/tasks/pm-xmp5.toon), [pm-39cqqx](../.agents/pm/tasks/pm-39cqqx.toon), [pm-5cgm2z](../.agents/pm/chores/pm-5cgm2z.toon), [pm-avv3wx](../.agents/pm/issues/pm-avv3wx.toon), [pm-rizqb6](../.agents/pm/issues/pm-rizqb6.toon), [pm-95h7pg](../.agents/pm/issues/pm-95h7pg.toon), [pm-giks4s](../.agents/pm/issues/pm-giks4s.toon), [pm-xa3t0o](../.agents/pm/issues/pm-xa3t0o.toon).
6
6
 
7
7
  ## Agent Quick Context
8
8
 
@@ -259,6 +259,19 @@ Do not update the baseline merely to make CI green. Change judgments and
259
259
  rationales in the corpus when product intent changes, and commit the corpus,
260
260
  baseline, scorer tests, and SDK documentation together.
261
261
 
262
+ Context-intent classification has a separate calibration receipt and one
263
+ manifest-backed recovery spelling:
264
+
265
+ ```bash
266
+ pnpm context:intent:calibrate
267
+ pnpm context:intent:calibrate --update
268
+ ```
269
+
270
+ The gate verifies that `package.json` exposes that exact script before it reads
271
+ or refreshes `scripts/release/context-intent-calibration.json`. A missing or
272
+ renamed script therefore fails with the same command contributors are told to
273
+ run, and pnpm forwards `--update` to the calibration gate.
274
+
262
275
  ## Hosted Gate Registry
263
276
 
264
277
  Tracked by [pm-k6t4yb](../.agents/pm/tasks/pm-k6t4yb.toon) and
@@ -1,81 +1,81 @@
1
1
  # Generated agent command surface
2
2
 
3
- This file is generated from `PM_COMMAND_VISIBILITY_CONTRACTS`. Do not edit it manually.
3
+ This file is generated from `PM_COMMAND_CAPABILITY_CONTRACTS`. Do not edit it manually.
4
4
 
5
- | Command | Minimum visibility tier |
6
- | --- | --- |
7
- | `init` | full |
8
- | `config` | standard |
9
- | `extension` | full |
10
- | `package` | full |
11
- | `packages` | full |
12
- | `install` | full |
13
- | `upgrade` | full |
14
- | `create` | core |
15
- | `item` | full |
16
- | `copy` | full |
17
- | `focus` | standard |
18
- | `list` | core |
19
- | `list-all` | standard |
20
- | `list-draft` | full |
21
- | `list-open` | standard |
22
- | `list-in-progress` | standard |
23
- | `list-blocked` | standard |
24
- | `list-closed` | standard |
25
- | `list-canceled` | full |
26
- | `aggregate` | full |
27
- | `context` | core |
28
- | `ctx` | full |
29
- | `get` | core |
30
- | `graph` | standard |
31
- | `search` | core |
32
- | `duplicates` | full |
33
- | `eval` | full |
34
- | `next` | core |
35
- | `history` | standard |
36
- | `events` | standard |
37
- | `history-redact` | full |
38
- | `history-repair` | full |
39
- | `history-compact` | full |
40
- | `history-author-acknowledge` | full |
41
- | `merge` | full |
42
- | `schema` | standard |
43
- | `profile` | standard |
44
- | `activity` | full |
45
- | `restore` | full |
46
- | `update` | core |
47
- | `update-many` | full |
48
- | `close` | core |
49
- | `close-many` | full |
50
- | `delete` | full |
51
- | `append` | standard |
52
- | `comments` | standard |
53
- | `notes` | standard |
54
- | `learnings` | standard |
55
- | `files` | standard |
56
- | `docs` | standard |
57
- | `deps` | standard |
58
- | `plan` | core |
59
- | `test` | standard |
60
- | `test-all` | full |
61
- | `telemetry` | full |
62
- | `stats` | full |
63
- | `health` | standard |
64
- | `validate` | core |
65
- | `assurance` | full |
66
- | `gc` | full |
67
- | `workspace` | full |
68
- | `contracts` | standard |
69
- | `claim` | core |
70
- | `release` | core |
71
- | `start-task` | full |
72
- | `pause-task` | full |
73
- | `close-task` | full |
74
- | `meet` | full |
75
- | `event` | full |
76
- | `remind` | full |
77
- | `help` | core |
78
- | `completion-statuses` | internal |
79
- | `completion-tags` | internal |
80
- | `completion-types` | internal |
81
- | `test-runs-worker` | internal |
5
+ | Command | Minimum visibility tier | Capability family |
6
+ | --- | --- | --- |
7
+ | `init` | full | workspace |
8
+ | `config` | standard | workspace |
9
+ | `extension` | full | extensions |
10
+ | `package` | full | extensions |
11
+ | `packages` | full | extensions |
12
+ | `install` | full | extensions |
13
+ | `upgrade` | full | extensions |
14
+ | `create` | core | intake |
15
+ | `item` | full | intake |
16
+ | `copy` | full | intake |
17
+ | `focus` | standard | intake |
18
+ | `list` | core | context |
19
+ | `list-all` | standard | context |
20
+ | `list-draft` | full | context |
21
+ | `list-open` | standard | context |
22
+ | `list-in-progress` | standard | context |
23
+ | `list-blocked` | standard | context |
24
+ | `list-closed` | standard | context |
25
+ | `list-canceled` | full | context |
26
+ | `aggregate` | full | context |
27
+ | `context` | core | context |
28
+ | `ctx` | full | context |
29
+ | `get` | core | context |
30
+ | `graph` | standard | graph |
31
+ | `search` | core | context |
32
+ | `duplicates` | full | context |
33
+ | `eval` | full | context |
34
+ | `next` | core | context |
35
+ | `history` | standard | evidence |
36
+ | `events` | standard | evidence |
37
+ | `history-redact` | full | evidence |
38
+ | `history-repair` | full | evidence |
39
+ | `history-compact` | full | evidence |
40
+ | `history-author-acknowledge` | full | evidence |
41
+ | `merge` | full | workspace |
42
+ | `schema` | standard | workspace |
43
+ | `profile` | standard | workspace |
44
+ | `activity` | full | context |
45
+ | `restore` | full | intake |
46
+ | `update` | core | lifecycle |
47
+ | `update-many` | full | lifecycle |
48
+ | `close` | core | lifecycle |
49
+ | `close-many` | full | lifecycle |
50
+ | `delete` | full | lifecycle |
51
+ | `append` | standard | evidence |
52
+ | `comments` | standard | evidence |
53
+ | `notes` | standard | evidence |
54
+ | `learnings` | standard | evidence |
55
+ | `files` | standard | evidence |
56
+ | `docs` | standard | evidence |
57
+ | `deps` | standard | graph |
58
+ | `plan` | core | graph |
59
+ | `test` | standard | quality |
60
+ | `test-all` | full | quality |
61
+ | `telemetry` | full | workspace |
62
+ | `stats` | full | context |
63
+ | `health` | standard | workspace |
64
+ | `validate` | core | quality |
65
+ | `assurance` | full | quality |
66
+ | `gc` | full | workspace |
67
+ | `workspace` | full | workspace |
68
+ | `contracts` | standard | quality |
69
+ | `claim` | core | lifecycle |
70
+ | `release` | core | lifecycle |
71
+ | `start-task` | full | lifecycle |
72
+ | `pause-task` | full | lifecycle |
73
+ | `close-task` | full | lifecycle |
74
+ | `meet` | full | automation |
75
+ | `event` | full | automation |
76
+ | `remind` | full | automation |
77
+ | `help` | core | context |
78
+ | `completion-statuses` | internal | internal |
79
+ | `completion-tags` | internal | internal |
80
+ | `completion-types` | internal | internal |
81
+ | `test-runs-worker` | internal | internal |
@@ -0,0 +1,76 @@
1
+ # Generated flag lexicon budgets
2
+
3
+ This file is generated by `listPmFlagLexicon()`. Compatibility aliases do not consume canonical budget.
4
+
5
+ | Command | Capability family | Canonical flags | Maximum |
6
+ | --- | --- | ---: | ---: |
7
+ | `init` | workspace | 30 | 30 |
8
+ | `config` | workspace | 35 | 35 |
9
+ | `extension` | extensions | 53 | 53 |
10
+ | `package` | extensions | 54 | 54 |
11
+ | `packages` | extensions | 54 | 54 |
12
+ | `install` | extensions | 26 | 26 |
13
+ | `upgrade` | extensions | 29 | 29 |
14
+ | `create` | intake | 100 | 100 |
15
+ | `copy` | intake | 24 | 24 |
16
+ | `focus` | intake | 22 | 22 |
17
+ | `list` | context | 86 | 86 |
18
+ | `list-all` | context | 85 | 85 |
19
+ | `list-draft` | context | 84 | 84 |
20
+ | `list-open` | context | 84 | 84 |
21
+ | `list-in-progress` | context | 84 | 84 |
22
+ | `list-blocked` | context | 84 | 84 |
23
+ | `list-closed` | context | 84 | 84 |
24
+ | `list-canceled` | context | 84 | 84 |
25
+ | `aggregate` | context | 37 | 37 |
26
+ | `context` | context | 45 | 45 |
27
+ | `ctx` | context | 45 | 45 |
28
+ | `get` | context | 30 | 30 |
29
+ | `graph` | graph | 34 | 34 |
30
+ | `search` | context | 78 | 78 |
31
+ | `duplicates` | context | 24 | 24 |
32
+ | `eval` | context | 25 | 25 |
33
+ | `next` | context | 35 | 35 |
34
+ | `history` | evidence | 35 | 35 |
35
+ | `events` | evidence | 33 | 33 |
36
+ | `history-redact` | evidence | 27 | 27 |
37
+ | `history-repair` | evidence | 26 | 26 |
38
+ | `history-compact` | evidence | 30 | 30 |
39
+ | `history-author-acknowledge` | evidence | 28 | 28 |
40
+ | `merge` | workspace | 24 | 24 |
41
+ | `schema` | workspace | 40 | 40 |
42
+ | `profile` | workspace | 22 | 22 |
43
+ | `activity` | context | 35 | 35 |
44
+ | `restore` | intake | 23 | 23 |
45
+ | `update` | lifecycle | 105 | 105 |
46
+ | `update-many` | lifecycle | 140 | 140 |
47
+ | `close` | lifecycle | 31 | 31 |
48
+ | `close-many` | lifecycle | 72 | 72 |
49
+ | `delete` | lifecycle | 24 | 24 |
50
+ | `append` | evidence | 24 | 24 |
51
+ | `comments` | evidence | 30 | 30 |
52
+ | `notes` | evidence | 34 | 34 |
53
+ | `learnings` | evidence | 26 | 26 |
54
+ | `files` | evidence | 39 | 39 |
55
+ | `docs` | evidence | 30 | 30 |
56
+ | `deps` | graph | 32 | 32 |
57
+ | `plan` | graph | 109 | 109 |
58
+ | `test` | quality | 48 | 48 |
59
+ | `test-all` | quality | 37 | 37 |
60
+ | `telemetry` | workspace | 21 | 21 |
61
+ | `stats` | context | 29 | 29 |
62
+ | `health` | workspace | 36 | 36 |
63
+ | `validate` | quality | 45 | 45 |
64
+ | `assurance` | quality | 30 | 30 |
65
+ | `gc` | workspace | 22 | 22 |
66
+ | `workspace` | workspace | 23 | 23 |
67
+ | `contracts` | quality | 29 | 29 |
68
+ | `claim` | lifecycle | 36 | 36 |
69
+ | `release` | lifecycle | 23 | 23 |
70
+ | `start-task` | lifecycle | 23 | 23 |
71
+ | `pause-task` | lifecycle | 23 | 23 |
72
+ | `close-task` | lifecycle | 24 | 24 |
73
+ | `meet` | automation | 33 | 33 |
74
+ | `event` | automation | 33 | 33 |
75
+ | `remind` | automation | 29 | 29 |
76
+ | `test-runs-worker` | internal | 25 | 25 |
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.18"
9
+ "version": "2026.8.19"
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.18",
16
+ "version": "2026.8.19",
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.18",
3
+ "version": "2026.8.19",
4
4
  "description": "Git-native project management CLI for humans and agents.",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@11.10.0",
@@ -120,12 +120,14 @@
120
120
  "lint:complexity:baseline": "eslint . --suppress-rule complexity --suppress-rule sonarjs/cognitive-complexity",
121
121
  "lint:duplicates": "jscpd --config .jscpd.json",
122
122
  "lint:codefactor": "pnpm quality:static",
123
- "quality:static": "pnpm build && node scripts/release/repository-assurance.mjs repository-static-quality --trigger ci --json && node scripts/release/audit-package-boundary.mjs && node scripts/release/package-sdk-contract-parity.mjs && node scripts/release/surface-replication-gate.mjs && node scripts/release/command-grammar-gate.mjs && node dist/cli.js assurance run tracker-context-quality --trigger ci --dry-run --json --output-budget unbounded && node scripts/release/gate-registry.mjs && node scripts/sdk-surface-snapshot.mjs --check && node scripts/bench/sdk-entrypoint-costs.mjs --check && node scripts/bench/cli-transport-floor.mjs --check && node dist/cli.js assurance run graph-composition --trigger ci --dry-run --json --output-budget unbounded && node dist/cli.js assurance run record-integrity --trigger ci --dry-run --json --output-budget unbounded",
124
- "quality:command-grammar": "pnpm build && node scripts/release/command-grammar-gate.mjs",
123
+ "quality:static": "pnpm build && node scripts/contracts-snapshot.mjs --check && node scripts/generate-agent-capability-surfaces.mjs --check && node scripts/generate-error-code-catalog.mjs --check && node scripts/release/repository-assurance.mjs repository-static-quality --trigger ci --json && node scripts/release/audit-package-boundary.mjs && node scripts/release/package-sdk-contract-parity.mjs && node scripts/release/surface-replication-gate.mjs && node scripts/release/command-grammar-gate.mjs && node scripts/release/flag-invocation-parity.mjs && node scripts/release/flag-lexicon-gate.mjs && node scripts/release/refusal-closure-gate.mjs && node dist/cli.js assurance run tracker-context-quality --trigger ci --dry-run --json --output-budget unbounded && node scripts/release/gate-registry.mjs && node scripts/sdk-surface-snapshot.mjs --check && node scripts/bench/sdk-entrypoint-costs.mjs --check && node scripts/bench/cli-transport-floor.mjs --check && node dist/cli.js assurance run graph-composition --trigger ci --dry-run --json --output-budget unbounded && node dist/cli.js assurance run record-integrity --trigger ci --dry-run --json --output-budget unbounded",
124
+ "quality:command-grammar": "pnpm build && node scripts/release/command-grammar-gate.mjs && node scripts/release/flag-invocation-parity.mjs && node scripts/release/flag-lexicon-gate.mjs",
125
+ "quality:recovery-closure": "pnpm build && node scripts/release/refusal-closure-gate.mjs",
125
126
  "quality:token-budget": "node scripts/release/token-budget-gate.mjs",
126
127
  "quality:token-surface": "node scripts/measure-agent-token-surface.mjs --check",
127
128
  "quality:token-surface:update": "pnpm build && node scripts/measure-agent-token-surface.mjs --update",
128
129
  "quality:context-eval": "pnpm build && node scripts/release/repository-assurance.mjs repository-context-quality --trigger ci --json && pnpm quality:token-surface",
130
+ "context:intent:calibrate": "node scripts/release/context-intent-calibration-gate.mjs",
129
131
  "quality:agent-task-token": "pnpm build && node scripts/release/agent-task-token-gate.mjs",
130
132
  "quality:agent-task-token:update": "pnpm build && node scripts/release/agent-task-token-gate.mjs --update",
131
133
  "quality:retrieval-eval": "pnpm build && node scripts/release/retrieval-eval-gate.mjs",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unbrained/pm-beads",
3
- "version": "2026.8.18",
3
+ "version": "2026.8.19",
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.18",
3
+ "version": "2026.8.19",
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.18",
3
+ "version": "2026.8.19",
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.18",
3
+ "version": "2026.8.19",
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.18",
3
+ "version": "2026.8.19",
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.18",
3
+ "version": "2026.8.19",
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.18",
3
+ "version": "2026.8.19",
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.18",
3
+ "version": "2026.8.19",
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.18",
3
+ "version": "2026.8.19",
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.18",
3
+ "version": "2026.8.19",
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.18",
3
+ "version": "2026.8.19",
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.18",
3
+ "version": "2026.8.19",
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.18",
3
+ "version": "2026.8.19",
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.18",
4
+ "version": "2026.8.19",
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.18",
3
+ "version": "2026.8.19",
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",
@@ -7,6 +7,7 @@ import { mkdir, readFile, writeFile } from "node:fs/promises";
7
7
  import path from "node:path";
8
8
  import { fileURLToPath, pathToFileURL } from "node:url";
9
9
  import { renderPmCommandVisibilityMarkdown } from "../dist/sdk/agent-capability-contracts.js";
10
+ import { renderPmFlagLexiconMarkdown } from "../dist/sdk/cli-contracts/flag-lexicon-contracts.js";
10
11
 
11
12
  const repositoryRoot = path.resolve(
12
13
  path.dirname(fileURLToPath(import.meta.url)),
@@ -16,24 +17,29 @@ export async function main(
16
17
  root = repositoryRoot,
17
18
  args = process.argv.slice(2),
18
19
  ) {
19
- const outputPath = path.join(
20
- root,
21
- "docs",
22
- "generated",
23
- "AGENT_COMMAND_SURFACE.md",
24
- );
25
- const expected = renderPmCommandVisibilityMarkdown();
20
+ const outputs = [
21
+ ["AGENT_COMMAND_SURFACE.md", renderPmCommandVisibilityMarkdown()],
22
+ ["FLAG_LEXICON_BUDGETS.md", renderPmFlagLexiconMarkdown()],
23
+ ];
26
24
  if (args.includes("--check")) {
27
- const actual = await readFile(outputPath, "utf8").catch(() => "");
28
- if (actual !== expected) {
29
- throw new Error(
30
- "Generated agent command surface is stale. Run pnpm contracts:agent-surfaces:update.",
31
- );
25
+ for (const [filename, expected] of outputs) {
26
+ const actual = await readFile(
27
+ path.join(root, "docs", "generated", filename),
28
+ "utf8",
29
+ ).catch(() => "");
30
+ if (actual !== expected) {
31
+ throw new Error(
32
+ `Generated agent capability surface ${filename} is stale. Run pnpm contracts:agent-surfaces:update.`,
33
+ );
34
+ }
32
35
  }
33
36
  return;
34
37
  }
35
- await mkdir(path.dirname(outputPath), { recursive: true });
36
- await writeFile(outputPath, expected, "utf8");
38
+ const outputDirectory = path.join(root, "docs", "generated");
39
+ await mkdir(outputDirectory, { recursive: true });
40
+ for (const [filename, expected] of outputs) {
41
+ await writeFile(path.join(outputDirectory, filename), expected, "utf8");
42
+ }
37
43
  }
38
44
 
39
45
  /* c8 ignore start -- CLI auto-run guard; logic is covered through main(). */