@unbrained/pm-cli 2026.8.23 → 2026.8.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +2 -2
- package/CHANGELOG.md +14 -1
- package/dist/cli/description-stdin.js +5 -4
- package/dist/cli/extension-command-help.d.ts +5 -0
- package/dist/cli/extension-command-help.js +6 -2
- package/dist/cli/help-content.d.ts +5 -0
- package/dist/cli/help-content.js +56 -3
- package/dist/cli/help-json-payload.d.ts +5 -2
- package/dist/cli/help-json-payload.js +57 -17
- package/dist/cli/main.d.ts +3 -0
- package/dist/cli/main.js +28 -3
- package/dist/cli/register-annotations.js +5 -5
- package/dist/cli/register-mutation.js +73 -27
- package/dist/cli-bundle/bundle-manifest.json +152 -152
- package/dist/cli-bundle/chunks/{chunk-JB4KZWBF.js → chunk-AGUL3HUT.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-EG6CLDZT.js → chunk-DJNJBWAQ.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-F3AI2JFL.js → chunk-I5Q7QSZX.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-IW72J5FW.js +2 -0
- package/dist/cli-bundle/chunks/{chunk-KXPMB2YL.js → chunk-L22NP5MA.js} +55 -55
- package/dist/cli-bundle/chunks/chunk-MKE6MD2K.js +36 -0
- package/dist/cli-bundle/chunks/{chunk-QDVHNHAQ.js → chunk-NXBFO63A.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-TEQDR5KI.js +202 -0
- package/dist/cli-bundle/chunks/{chunk-KPH73XXJ.js → chunk-X7WWQDYQ.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-TFI5V5N2.js → chunk-YOLLRCLY.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-HWZ6CELB.js → chunk-ZAVCS2GH.js} +2 -2
- package/dist/cli-bundle/chunks/{register-list-query-UJB5FMV2.js → register-list-query-37A4P6O4.js} +2 -2
- package/dist/cli-bundle/chunks/register-mutation-TBJDHYIT.js +20 -0
- package/dist/cli-bundle/chunks/{register-operations-RXIJIYXC.js → register-operations-WRZNEBUM.js} +2 -2
- package/dist/cli-bundle/chunks/{register-setup-GFUZEKRE.js → register-setup-H4PDLACD.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-AUFH5H35.js → chunk-4WP7LNE3.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-LYVSW5VM.js → chunk-6MUTDXMP.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-6Z24ZMU3.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-OGLQBL46.js → chunk-BFA6KKCI.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-QGFNI65N.js → chunk-CWCN5RLO.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-UYRFYCDQ.js → chunk-FCTT4CZU.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-IFLWKY2R.js → chunk-GJR6YEMR.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-37Z4OEAP.js → chunk-IMWTYKII.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-R27IDGHD.js → chunk-IZNRRCU3.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-JOWDB2MH.js → chunk-MNPECIRL.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-OFVUGTLJ.js → chunk-O4ZXNJMT.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-Q63PSLO4.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-QBP5FSBX.js +4 -0
- package/dist/cli-bundle/focused-chunks/{chunk-OY7QAV4Y.js → chunk-QV5UP27O.js} +46 -46
- package/dist/cli-bundle/focused-chunks/{chunk-3UPTYG44.js → chunk-RASVBJX5.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-5S7E72FY.js → chunk-RPRLENVA.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-TOFVXBWA.js +19 -0
- package/dist/cli-bundle/focused-chunks/{chunk-FZS4H32O.js → chunk-WZLSSGEU.js} +2 -2
- package/dist/cli-bundle/main.js +18 -17
- package/dist/cli-bundle/sdk-authoring.js +1 -1
- package/dist/cli-bundle/sdk-contracts.js +1 -1
- package/dist/cli-bundle/sdk-core.js +41 -41
- package/dist/cli-bundle/sdk-governance.js +1 -1
- package/dist/cli-bundle/sdk-graph.js +1 -1
- package/dist/cli-bundle/sdk-merge.js +33 -33
- package/dist/cli-bundle/sdk-query.js +1 -1
- package/dist/cli-bundle/sdk-runtime.js +1 -1
- package/dist/cli-bundle/sdk-testing.js +1 -1
- package/dist/cli-bundle/sdk.js +6 -5
- package/dist/core/extensions/command-metadata-contract.d.ts +10 -0
- package/dist/core/extensions/command-metadata-contract.js +23 -0
- package/dist/core/extensions/command-visibility-tier.js +12 -2
- package/dist/core/extensions/extension-types.d.ts +6 -0
- package/dist/core/extensions/extension-types.js +2 -2
- package/dist/core/extensions/loader.js +4 -3
- package/dist/core/io/body-file.js +7 -2
- package/dist/core/io/bulk-ids-input.d.ts +24 -0
- package/dist/core/io/bulk-ids-input.js +113 -0
- package/dist/core/item/parse.d.ts +22 -2
- package/dist/core/item/parse.js +97 -4
- package/dist/mcp/server.d.ts +3 -2
- package/dist/mcp/server.js +16 -9
- package/dist/sdk/agent/refusal-closure-census.d.ts +66 -0
- package/dist/sdk/agent/refusal-closure-census.js +144 -0
- package/dist/sdk/agent-capability-contracts.d.ts +34 -1
- package/dist/sdk/agent-capability-contracts.js +104 -6
- package/dist/sdk/annotations.d.ts +2 -0
- package/dist/sdk/annotations.js +25 -7
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +38 -2
- package/dist/sdk/cli-contracts/typed-action-inputs.d.ts +4 -1
- package/dist/sdk/cli-contracts/typed-action-inputs.js +2 -2
- package/dist/sdk/comments.js +15 -7
- package/dist/sdk/flag-invocation-contracts.d.ts +2 -0
- package/dist/sdk/flag-invocation-contracts.js +28 -3
- package/dist/sdk/generated/generated-error-code-catalog-part-1.js +71 -38
- package/dist/sdk/generated/generated-error-code-catalog-part-2.js +38 -2
- package/dist/sdk/guide-topics.d.ts +0 -5
- package/dist/sdk/guide-topics.js +28 -2
- package/dist/sdk/history-compact.d.ts +2 -1
- package/dist/sdk/history-compact.js +24 -5
- package/dist/sdk/history-mcp.js +11 -10
- package/dist/sdk/index.d.ts +1 -0
- package/dist/sdk/index.js +3 -2
- package/dist/sdk/item-transaction.js +19 -12
- package/dist/sdk/lifecycle/append.js +4 -4
- package/dist/sdk/lifecycle/close-many.js +16 -7
- package/dist/sdk/lifecycle/create.js +29 -21
- package/dist/sdk/lifecycle/plan.js +24 -6
- package/dist/sdk/lifecycle/update-many.js +15 -8
- package/dist/sdk/lifecycle/update.d.ts +2 -0
- package/dist/sdk/lifecycle/update.js +34 -24
- package/dist/sdk/runtime-extended-actions.js +5 -3
- package/dist/sdk/runtime-input.d.ts +4 -0
- package/dist/sdk/runtime-input.js +98 -23
- package/dist/sdk/runtime-primitives.d.ts +2 -1
- package/dist/sdk/runtime-primitives.js +4 -3
- package/dist/sdk/runtime.js +7 -20
- package/dist/sdk/scheduling-shortcuts.js +5 -3
- package/dist/sdk/structured-mutations.js +10 -3
- package/dist/sdk/workspace-contracts.d.ts +3 -0
- package/dist/sdk/workspace-contracts.js +3 -2
- package/docs/README.md +2 -0
- package/docs/RELEASING.md +40 -21
- package/docs/SCRIPTING.md +62 -3
- package/docs/SDK.md +8 -0
- package/docs/generated/AGENT_CAPABILITY_ROUTING.md +17 -0
- package/docs/generated/AGENT_COMMAND_SURFACE.md +1 -1
- package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +355 -0
- package/marketplace.json +2 -2
- package/package.json +1 -1
- package/packages/pm-beads/package.json +1 -1
- package/packages/pm-calendar/package.json +1 -1
- package/packages/pm-command-kit/README.md +9 -11
- package/packages/pm-command-kit/extensions/command-kit/index.ts +3 -1
- package/packages/pm-command-kit/package.json +1 -1
- package/packages/pm-digital-twin/package.json +1 -1
- package/packages/pm-governance-audit/package.json +1 -1
- package/packages/pm-guide-shell/extensions/guide-shell/index.ts +10 -0
- package/packages/pm-guide-shell/package.json +1 -1
- package/packages/pm-kanban/package.json +1 -1
- package/packages/pm-lifecycle-hooks/package.json +1 -1
- package/packages/pm-linked-test-adapters/package.json +1 -1
- package/packages/pm-search-advanced/package.json +1 -1
- package/packages/pm-templates/package.json +1 -1
- package/packages/pm-todos/package.json +1 -1
- package/packages/pm-vcs/package.json +1 -1
- package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
- package/scripts/generate-agent-capability-surfaces.mjs +27 -1
- package/sdk/public-surface.json +215 -11
- package/dist/cli-bundle/chunks/chunk-3ENVHX6C.js +0 -36
- package/dist/cli-bundle/chunks/chunk-DW2CGEMU.js +0 -2
- package/dist/cli-bundle/chunks/chunk-HZBMLSZI.js +0 -201
- package/dist/cli-bundle/chunks/register-mutation-NX5XE4VX.js +0 -20
- package/dist/cli-bundle/focused-chunks/chunk-E7X25GC3.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-FQCSTBWE.js +0 -4
- package/dist/cli-bundle/focused-chunks/chunk-MRCNF3U6.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-ZHVA42R5.js +0 -18
package/docs/SCRIPTING.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# CLI Scripting Contract
|
|
2
2
|
|
|
3
|
-
Tracked by [pm-psy1](../.agents/pm/tasks/pm-psy1.toon), [pm-hqa8g1](../.agents/pm/tasks/pm-hqa8g1.toon), [pm-gknu](../.agents/pm/issues/pm-gknu.toon), [pm-999jh7](../.agents/pm/issues/pm-999jh7.toon),
|
|
3
|
+
Tracked by [pm-psy1](../.agents/pm/tasks/pm-psy1.toon), [pm-hqa8g1](../.agents/pm/tasks/pm-hqa8g1.toon), [pm-gknu](../.agents/pm/issues/pm-gknu.toon), [pm-999jh7](../.agents/pm/issues/pm-999jh7.toon), [pm-srns](../.agents/pm/issues/pm-srns.toon), [pm-3oq022](../.agents/pm/issues/pm-3oq022.toon), [pm-iktj](../.agents/pm/tasks/pm-iktj.toon), and [pm-kexu](../.agents/pm/issues/pm-kexu.toon).
|
|
4
4
|
|
|
5
5
|
Use this contract when composing `pm` with shells, CI runners, `jq`, or another process. Exact flags remain discoverable from `pm <command> --help --json` and `pm contracts --command <command> --flags-only --json`.
|
|
6
6
|
|
|
@@ -14,8 +14,8 @@ Use this contract when composing `pm` with shells, CI runners, `jq`, or another
|
|
|
14
14
|
| `3` | Requested tracker or resource was not found. | Correct the path or ID. |
|
|
15
15
|
| `4` | State or concurrency conflict. | Refresh live state before deciding whether to retry. |
|
|
16
16
|
| `5` | A required dependency operation failed. | Inspect the dependency evidence before retrying. |
|
|
17
|
-
| `6` | The request succeeded but matched nothing to change.
|
|
18
|
-
| `7` | The request succeeded and changed only part of the selected targets.
|
|
17
|
+
| `6` | The request succeeded but matched nothing to change. | Treat as success and inspect the effect receipt. |
|
|
18
|
+
| `7` | The request succeeded and changed only part of the selected targets. | Treat as success and inspect unmatched/skipped rows. |
|
|
19
19
|
|
|
20
20
|
Exits `0`, `6`, and `7` are successful outcomes. Bulk mutation envelopes repeat
|
|
21
21
|
the distinction as `outcome: effect`, `outcome: no_effect`, or `outcome:
|
|
@@ -134,6 +134,65 @@ else
|
|
|
134
134
|
fi
|
|
135
135
|
```
|
|
136
136
|
|
|
137
|
+
Bulk selectors on `update-many`, `close-many`, and `history-compact` accept the
|
|
138
|
+
same explicit ID grammar through three CLI channels: comma/newline-delimited
|
|
139
|
+
argv text, `-` for stdin, and `@path` for a UTF-8 file. This makes a
|
|
140
|
+
read-selector-write pipeline executable without `xargs` command fan-out:
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
pm list --status open,in_progress --fields id,priority --json |
|
|
144
|
+
jq -r '.items[] | select(.priority >= 2) | .id' |
|
|
145
|
+
pm update-many --ids - --priority 1 --dry-run --json
|
|
146
|
+
|
|
147
|
+
pm close-many --ids @reviewed-ids.txt \
|
|
148
|
+
--reason "Reviewed batch completed" --dry-run --json
|
|
149
|
+
|
|
150
|
+
pm list --status closed --fields id --json |
|
|
151
|
+
jq -r '.items[].id' |
|
|
152
|
+
pm history-compact --ids - --dry-run --json
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
An unreadable `@path`, empty stdin, or empty file fails before the tracker is
|
|
156
|
+
read or mutated. `unmatched_ids` means the requested ID does not exist; an
|
|
157
|
+
existing ID excluded by another filter is not misreported as nonexistent.
|
|
158
|
+
Apply-mode exit `6`/`7` and the structured effect receipt remain authoritative.
|
|
159
|
+
|
|
160
|
+
`update-many --dry-run` may be filter-only. It returns the matched rows with an
|
|
161
|
+
empty `planned_update_options` object and empty per-row `changes`, which is a
|
|
162
|
+
bounded way to validate a selector before choosing a mutation. The same
|
|
163
|
+
filter-only invocation without `--dry-run` is rejected with exit `2`.
|
|
164
|
+
|
|
165
|
+
Direct SDK and MCP callers may pass `ids` as a string, a finite numeric scalar,
|
|
166
|
+
or an array of string and finite numeric IDs. The SDK normalizes every accepted
|
|
167
|
+
shape through the same stable-deduplicating parser; non-finite numbers and
|
|
168
|
+
unsupported explicit selector values are rejected before target selection:
|
|
169
|
+
|
|
170
|
+
```ts
|
|
171
|
+
import { PmClient } from "@unbrained/pm-cli/sdk";
|
|
172
|
+
|
|
173
|
+
const pm = new PmClient({ pmRoot: ".agents/pm" });
|
|
174
|
+
await pm.run("update-many", {
|
|
175
|
+
options: {
|
|
176
|
+
ids: ["pm-a1b2", "pm-c3d4"],
|
|
177
|
+
priority: 1,
|
|
178
|
+
dryRun: true,
|
|
179
|
+
},
|
|
180
|
+
});
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
File-reading text flags use the same stdin sentinel. `--body-file -` reads a
|
|
184
|
+
create/update body, while `comments`, `notes`, and `learnings` accept
|
|
185
|
+
`--file -`. Real file paths remain compatible:
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
generate_body | pm create --title "Generated plan" --body-file -
|
|
189
|
+
render_review | pm comments pm-a1b2 --file -
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
Each command invocation may consume stdin for only one option. Competing
|
|
193
|
+
stdin-backed inputs such as `--description - --body-file -` are rejected before
|
|
194
|
+
the stream is read.
|
|
195
|
+
|
|
137
196
|
Use NDJSON for streaming row-by-row tools:
|
|
138
197
|
|
|
139
198
|
```bash
|
package/docs/SDK.md
CHANGED
|
@@ -2046,6 +2046,8 @@ export default defineExtension({
|
|
|
2046
2046
|
api.registerCommand({
|
|
2047
2047
|
name: "hello",
|
|
2048
2048
|
action: "hello",
|
|
2049
|
+
tier: "standard",
|
|
2050
|
+
family: "extensions",
|
|
2049
2051
|
description: "Return a deterministic hello payload.",
|
|
2050
2052
|
intent: "verify SDK extension activation",
|
|
2051
2053
|
examples: ["pm hello"],
|
|
@@ -2100,6 +2102,12 @@ For a complete commands-capability package that combines `registerCommand`,
|
|
|
2100
2102
|
`registerFlags`, and `registerParser`, see the first-party
|
|
2101
2103
|
[pm-command-kit exemplar](../packages/pm-command-kit/README.md).
|
|
2102
2104
|
|
|
2105
|
+
Every command definition can declare its agent-surface `tier` (`core`,
|
|
2106
|
+
`standard`, `full`, or `internal`) and capability `family`. These are the same
|
|
2107
|
+
fields projected into CLI help, completion, MCP profiles, workspace contracts,
|
|
2108
|
+
and generated routing documentation. Omitted package values normalize to
|
|
2109
|
+
`standard` and `extensions`.
|
|
2110
|
+
|
|
2103
2111
|
For a generated starter, use `pm package init ./my-package`. Pass
|
|
2104
2112
|
`--capability hooks` to scaffold a command plus an `afterCommand` lifecycle
|
|
2105
2113
|
reactor and a runnable `node:test` file that exercises
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Generated agent capability routing
|
|
2
|
+
|
|
3
|
+
Tracker: `pm-kxci8x`.
|
|
4
|
+
|
|
5
|
+
This file is generated from `PM_COMMAND_CAPABILITY_CONTRACTS`. Do not edit it manually.
|
|
6
|
+
|
|
7
|
+
| Capability family | Commands |
|
|
8
|
+
| --- | --- |
|
|
9
|
+
| workspace | `init`, `config`, `merge`, `schema`, `profile`, `telemetry`, `health`, `gc`, `workspace` |
|
|
10
|
+
| intake | `create`, `copy`, `focus`, `restore` |
|
|
11
|
+
| context | `list`, `aggregate`, `context`, `get`, `search`, `duplicates`, `eval`, `next`, `activity`, `stats`, `help` |
|
|
12
|
+
| lifecycle | `update`, `update-many`, `close`, `close-many`, `delete`, `claim`, `release`, `start-task`, `pause-task`, `close-task` |
|
|
13
|
+
| evidence | `history`, `events`, `history-redact`, `history-repair`, `history-compact`, `history-author-acknowledge`, `append`, `comments`, `notes`, `learnings`, `files`, `docs` |
|
|
14
|
+
| graph | `graph`, `deps`, `plan` |
|
|
15
|
+
| quality | `test`, `test-all`, `validate`, `assurance`, `contracts` |
|
|
16
|
+
| automation | `meet`, `event`, `remind` |
|
|
17
|
+
| extensions | `extension`, `package`, `packages`, `install`, `upgrade` |
|
|
@@ -4,7 +4,7 @@ This file is generated from `PM_COMMAND_CAPABILITY_CONTRACTS`. Do not edit it ma
|
|
|
4
4
|
|
|
5
5
|
| Command | Minimum visibility tier | Capability family |
|
|
6
6
|
| --- | --- | --- |
|
|
7
|
-
| `init` |
|
|
7
|
+
| `init` | core | workspace |
|
|
8
8
|
| `config` | standard | workspace |
|
|
9
9
|
| `extension` | full | extensions |
|
|
10
10
|
| `package` | full | extensions |
|
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
# Generated refusal closure census
|
|
2
|
+
|
|
3
|
+
Tracker: `pm-f05lsg`.
|
|
4
|
+
|
|
5
|
+
Every catalog code is listed. An `uncovered` row is an explicit closure obligation, never an omission or implied approval.
|
|
6
|
+
|
|
7
|
+
- Catalog error codes: 338
|
|
8
|
+
- Executable error codes: 16
|
|
9
|
+
- Executable-code ratchet floor: 16
|
|
10
|
+
- Required executable canonical codes: `bulk_ids_input_empty`, `bulk_ids_input_missing_path`, `bulk_ids_input_unreadable`, `invalid_argument_value`, `missing_lifecycle_target`, `missing_required_argument`, `projection_options_mutually_exclusive`, `tracker_not_initialized`, `tracker_root_missing`, `tracker_root_not_directory`, `tracker_root_unreadable`, `unknown_context_intent`, `unknown_field_projection`, `unknown_option`, `unknown_subcommand`
|
|
11
|
+
- Uncovered error codes: 322
|
|
12
|
+
- Coverage fraction: 0.047337
|
|
13
|
+
- Closed-domain probes: 18
|
|
14
|
+
- Grammar probes: 95
|
|
15
|
+
|
|
16
|
+
| Error code | Canonical code | Disposition | Evidence kinds | Probe count |
|
|
17
|
+
| --- | --- | --- | --- | --- |
|
|
18
|
+
| `acceptance_criteria_mutation_conflict` | `acceptance_criteria_mutation_conflict` | uncovered | none | 0 |
|
|
19
|
+
| `acceptance_criteria_remove_unmatched` | `acceptance_criteria_remove_unmatched` | uncovered | none | 0 |
|
|
20
|
+
| `acceptance_criteria_semicolon_forbidden` | `acceptance_criteria_semicolon_forbidden` | uncovered | none | 0 |
|
|
21
|
+
| `accepted_rejected_value` | `accepted_rejected_value` | uncovered | none | 0 |
|
|
22
|
+
| `alias_collision` | `alias_collision` | uncovered | none | 0 |
|
|
23
|
+
| `alias_target_missing` | `alias_target_missing` | uncovered | none | 0 |
|
|
24
|
+
| `already_claimed_by` | `already_claimed_by` | uncovered | none | 0 |
|
|
25
|
+
| `ambiguous_option_combination` | `ambiguous_option_combination` | uncovered | none | 0 |
|
|
26
|
+
| `annotation_alias_conflict` | `annotation_alias_conflict` | uncovered | none | 0 |
|
|
27
|
+
| `annotation_flag_like_value` | `annotation_flag_like_value` | uncovered | none | 0 |
|
|
28
|
+
| `annotation_message_without_text` | `annotation_message_without_text` | uncovered | none | 0 |
|
|
29
|
+
| `annotation_transposed_subcommand` | `annotation_transposed_subcommand` | uncovered | none | 0 |
|
|
30
|
+
| `append_empty_body` | `append_empty_body` | uncovered | none | 0 |
|
|
31
|
+
| `assurance_registry_invalid` | `assurance_registry_invalid` | uncovered | none | 0 |
|
|
32
|
+
| `body_file_conflicts_with_body` | `body_file_conflicts_with_body` | uncovered | none | 0 |
|
|
33
|
+
| `body_file_missing_path` | `body_file_missing_path` | uncovered | none | 0 |
|
|
34
|
+
| `body_file_unreadable` | `body_file_unreadable` | uncovered | none | 0 |
|
|
35
|
+
| `budget_exceeded` | `budget_exceeded` | uncovered | none | 0 |
|
|
36
|
+
| `bulk_ids_input_empty` | `bulk_ids_input_empty` | executable | owned_state | 1 |
|
|
37
|
+
| `bulk_ids_input_missing_path` | `bulk_ids_input_missing_path` | executable | owned_state | 1 |
|
|
38
|
+
| `bulk_ids_input_unreadable` | `bulk_ids_input_unreadable` | executable | owned_state | 1 |
|
|
39
|
+
| `bundle_integrity_torn_install` | `bundle_integrity_torn_install` | uncovered | none | 0 |
|
|
40
|
+
| `capability_undeclared` | `capability_undeclared` | uncovered | none | 0 |
|
|
41
|
+
| `capability_unused` | `capability_unused` | uncovered | none | 0 |
|
|
42
|
+
| `child_projection_item_bound_exceeded` | `child_projection_item_bound_exceeded` | uncovered | none | 0 |
|
|
43
|
+
| `close_reason_required` | `close_reason_required` | uncovered | none | 0 |
|
|
44
|
+
| `close_through_update` | `close_through_update` | uncovered | none | 0 |
|
|
45
|
+
| `close_validation_missing_fields` | `close_validation_missing_fields` | uncovered | none | 0 |
|
|
46
|
+
| `collected_zero_items` | `collected_zero_items` | uncovered | none | 0 |
|
|
47
|
+
| `collection_transposed_subcommand` | `collection_transposed_subcommand` | uncovered | none | 0 |
|
|
48
|
+
| `command_failed` | `command_failed` | uncovered | none | 0 |
|
|
49
|
+
| `command_namespace` | `command_namespace` | uncovered | none | 0 |
|
|
50
|
+
| `command_override_conflict` | `command_override_conflict` | uncovered | none | 0 |
|
|
51
|
+
| `config_duplicate` | `config_duplicate` | uncovered | none | 0 |
|
|
52
|
+
| `config_key_unknown` | `config_key_unknown` | uncovered | none | 0 |
|
|
53
|
+
| `config_value_invalid` | `config_value_invalid` | uncovered | none | 0 |
|
|
54
|
+
| `conflicting_lifecycle_owner` | `conflicting_lifecycle_owner` | uncovered | none | 0 |
|
|
55
|
+
| `context_signal_store_invalid` | `context_signal_store_invalid` | uncovered | none | 0 |
|
|
56
|
+
| `context_signal_store_stale` | `context_signal_store_stale` | uncovered | none | 0 |
|
|
57
|
+
| `context_signal_store_write_failed` | `context_signal_store_write_failed` | uncovered | none | 0 |
|
|
58
|
+
| `context_takes_no_item_argument` | `context_takes_no_item_argument` | uncovered | none | 0 |
|
|
59
|
+
| `core_item_field_requires_dedicated_flag` | `core_item_field_requires_dedicated_flag` | uncovered | none | 0 |
|
|
60
|
+
| `create_positional_type_without_title` | `create_positional_type_without_title` | uncovered | none | 0 |
|
|
61
|
+
| `dependency_edge_not_allowed` | `dependency_edge_not_allowed` | uncovered | none | 0 |
|
|
62
|
+
| `dependency_flag_value_invalid` | `dependency_flag_value_invalid` | uncovered | none | 0 |
|
|
63
|
+
| `dependency_remove_no_match` | `dependency_remove_no_match` | uncovered | none | 0 |
|
|
64
|
+
| `dependency_target_not_found` | `dependency_target_not_found` | uncovered | none | 0 |
|
|
65
|
+
| `dependency_temporal_order_invalid` | `dependency_temporal_order_invalid` | uncovered | none | 0 |
|
|
66
|
+
| `duplicate_canonical_flag` | `duplicate_canonical_flag` | uncovered | none | 0 |
|
|
67
|
+
| `duplicate_command` | `duplicate_command` | uncovered | none | 0 |
|
|
68
|
+
| `duplicate_destination` | `duplicate_destination` | uncovered | none | 0 |
|
|
69
|
+
| `duplicate_edge` | `duplicate_edge` | uncovered | none | 0 |
|
|
70
|
+
| `duplicate_observation` | `duplicate_observation` | uncovered | none | 0 |
|
|
71
|
+
| `duplicate_probe` | `duplicate_probe` | uncovered | none | 0 |
|
|
72
|
+
| `duplicate_sweep_cost_limit` | `duplicate_sweep_cost_limit` | uncovered | none | 0 |
|
|
73
|
+
| `duplicate_target_circular` | `duplicate_target_circular` | uncovered | none | 0 |
|
|
74
|
+
| `duplicate_target_is_duplicate` | `duplicate_target_is_duplicate` | uncovered | none | 0 |
|
|
75
|
+
| `duplicate_target_missing` | `duplicate_target_missing` | uncovered | none | 0 |
|
|
76
|
+
| `duplicate_target_self` | `duplicate_target_self` | uncovered | none | 0 |
|
|
77
|
+
| `empty_corpus` | `empty_corpus` | uncovered | none | 0 |
|
|
78
|
+
| `empty_surface` | `empty_surface` | uncovered | none | 0 |
|
|
79
|
+
| `error_code_mismatch` | `error_code_mismatch` | uncovered | none | 0 |
|
|
80
|
+
| `event_cursor_query_mismatch` | `event_cursor_query_mismatch` | uncovered | none | 0 |
|
|
81
|
+
| `event_index_unavailable` | `event_index_unavailable` | uncovered | none | 0 |
|
|
82
|
+
| `exit_code_mismatch` | `exit_code_mismatch` | uncovered | none | 0 |
|
|
83
|
+
| `extension_command_activation_failed` | `extension_command_activation_failed` | uncovered | none | 0 |
|
|
84
|
+
| `extension_dependency_name_unsafe` | `extension_dependency_name_unsafe` | uncovered | none | 0 |
|
|
85
|
+
| `extension_dependency_spec_invalid` | `extension_dependency_spec_invalid` | uncovered | none | 0 |
|
|
86
|
+
| `extension_dependency_version_unsafe` | `extension_dependency_version_unsafe` | uncovered | none | 0 |
|
|
87
|
+
| `extension_install_soft_failed` | `extension_install_soft_failed` | uncovered | none | 0 |
|
|
88
|
+
| `extension_install_source_contains_destination` | `extension_install_source_contains_destination` | uncovered | none | 0 |
|
|
89
|
+
| `extension_item_field_reserved` | `extension_item_field_reserved` | uncovered | none | 0 |
|
|
90
|
+
| `extension_item_field_type_conflict` | `extension_item_field_type_conflict` | uncovered | none | 0 |
|
|
91
|
+
| `extension_item_field_unknown` | `extension_item_field_unknown` | uncovered | none | 0 |
|
|
92
|
+
| `extension_mutation_guard_failed` | `extension_mutation_guard_failed` | uncovered | none | 0 |
|
|
93
|
+
| `extension_mutation_guard_invalid_decision` | `extension_mutation_guard_invalid_decision` | uncovered | none | 0 |
|
|
94
|
+
| `extension_mutation_guard_invalid_denial` | `extension_mutation_guard_invalid_denial` | uncovered | none | 0 |
|
|
95
|
+
| `extension_mutation_guard_timed_out` | `extension_mutation_guard_timed_out` | uncovered | none | 0 |
|
|
96
|
+
| `extension_update_health_partial_coverage` | `extension_update_health_partial_coverage` | uncovered | none | 0 |
|
|
97
|
+
| `field_duplicate` | `field_duplicate` | uncovered | none | 0 |
|
|
98
|
+
| `field_invalid` | `field_invalid` | uncovered | none | 0 |
|
|
99
|
+
| `field_mcp_input_collision` | `field_mcp_input_collision` | uncovered | none | 0 |
|
|
100
|
+
| `github_source_entry_unbuilt` | `github_source_entry_unbuilt` | uncovered | none | 0 |
|
|
101
|
+
| `hierarchy_cardinality_created` | `hierarchy_cardinality_created` | uncovered | none | 0 |
|
|
102
|
+
| `hierarchy_cycle_created` | `hierarchy_cycle_created` | uncovered | none | 0 |
|
|
103
|
+
| `hierarchy_parent_divergence_created` | `hierarchy_parent_divergence_created` | uncovered | none | 0 |
|
|
104
|
+
| `history_author_acknowledge_plan_conflict` | `history_author_acknowledge_plan_conflict` | uncovered | none | 0 |
|
|
105
|
+
| `history_author_acknowledge_plan_fingerprint_required` | `history_author_acknowledge_plan_fingerprint_required` | uncovered | none | 0 |
|
|
106
|
+
| `history_author_acknowledge_preview_limit_invalid` | `history_author_acknowledge_preview_limit_invalid` | uncovered | none | 0 |
|
|
107
|
+
| `history_author_acknowledge_required_values_missing` | `history_author_acknowledge_required_values_missing` | uncovered | none | 0 |
|
|
108
|
+
| `history_author_acknowledge_selector_conflict` | `history_author_acknowledge_selector_conflict` | uncovered | none | 0 |
|
|
109
|
+
| `history_author_acknowledge_selector_required` | `history_author_acknowledge_selector_required` | uncovered | none | 0 |
|
|
110
|
+
| `history_author_acknowledge_target_not_actionable` | `history_author_acknowledge_target_not_actionable` | uncovered | none | 0 |
|
|
111
|
+
| `history_author_acknowledge_target_unreadable` | `history_author_acknowledge_target_unreadable` | uncovered | none | 0 |
|
|
112
|
+
| `history_drift_chain_mismatch` | `history_drift_chain_mismatch` | uncovered | none | 0 |
|
|
113
|
+
| `history_drift_hash_mismatch` | `history_drift_hash_mismatch` | uncovered | none | 0 |
|
|
114
|
+
| `history_drift_missing_stream` | `history_drift_missing_stream` | uncovered | none | 0 |
|
|
115
|
+
| `history_drift_unreadable_stream` | `history_drift_unreadable_stream` | uncovered | none | 0 |
|
|
116
|
+
| `history_merge_conflict_markers_detected` | `merge_conflict_markers_detected` | uncovered | none | 0 |
|
|
117
|
+
| `history_stream_over_compact_threshold` | `history_stream_over_compact_threshold` | uncovered | none | 0 |
|
|
118
|
+
| `history_target_out_of_range` | `history_target_out_of_range` | uncovered | none | 0 |
|
|
119
|
+
| `history_unknown_author_events` | `history_unknown_author_events` | uncovered | none | 0 |
|
|
120
|
+
| `host_environment_capacity_fault` | `host_environment_capacity_fault` | uncovered | none | 0 |
|
|
121
|
+
| `host_environment_operation_invalid` | `host_environment_operation_invalid` | uncovered | none | 0 |
|
|
122
|
+
| `host_environment_permission_fault` | `host_environment_permission_fault` | uncovered | none | 0 |
|
|
123
|
+
| `host_environment_resource_fault` | `host_environment_resource_fault` | uncovered | none | 0 |
|
|
124
|
+
| `improvement_metric_contract_conflict` | `improvement_metric_contract_conflict` | uncovered | none | 0 |
|
|
125
|
+
| `improvement_observation_conflict` | `improvement_observation_conflict` | uncovered | none | 0 |
|
|
126
|
+
| `incomplete_allowed_values` | `incomplete_allowed_values` | uncovered | none | 0 |
|
|
127
|
+
| `inconsistent_concept_kind` | `inconsistent_concept_kind` | uncovered | none | 0 |
|
|
128
|
+
| `init_existing_settings_requires_force` | `init_existing_settings_requires_force` | uncovered | none | 0 |
|
|
129
|
+
| `init_gitignore_unwritable` | `init_gitignore_unwritable` | uncovered | none | 0 |
|
|
130
|
+
| `init_id_prefix_conflict` | `init_id_prefix_conflict` | uncovered | none | 0 |
|
|
131
|
+
| `init_id_prefix_path_like` | `init_id_prefix_path_like` | uncovered | none | 0 |
|
|
132
|
+
| `integrity_history_conflict_marker` | `integrity_history_conflict_marker` | uncovered | none | 0 |
|
|
133
|
+
| `integrity_history_invalid_json` | `integrity_history_invalid_json` | uncovered | none | 0 |
|
|
134
|
+
| `integrity_history_unreadable` | `integrity_history_unreadable` | uncovered | none | 0 |
|
|
135
|
+
| `integrity_item_ahead_format_version` | `integrity_item_ahead_format_version` | uncovered | none | 0 |
|
|
136
|
+
| `integrity_item_conflict_marker` | `integrity_item_conflict_marker` | uncovered | none | 0 |
|
|
137
|
+
| `integrity_item_outdated_format_version` | `integrity_item_outdated_format_version` | uncovered | none | 0 |
|
|
138
|
+
| `integrity_item_parse_failed` | `integrity_item_parse_failed` | uncovered | none | 0 |
|
|
139
|
+
| `integrity_item_unreadable` | `integrity_item_unreadable` | uncovered | none | 0 |
|
|
140
|
+
| `invalid_argument_value` | `invalid_argument_value` | executable | grammar | 26 |
|
|
141
|
+
| `invalid_command_usage` | `invalid_command_usage` | uncovered | none | 0 |
|
|
142
|
+
| `invalid_event_cursor` | `invalid_event_cursor` | uncovered | none | 0 |
|
|
143
|
+
| `invalid_event_cursor_mode` | `invalid_event_cursor_mode` | uncovered | none | 0 |
|
|
144
|
+
| `invalid_event_follow_interval` | `invalid_event_follow_interval` | uncovered | none | 0 |
|
|
145
|
+
| `invalid_event_limit` | `invalid_event_limit` | uncovered | none | 0 |
|
|
146
|
+
| `invalid_event_since` | `invalid_event_since` | uncovered | none | 0 |
|
|
147
|
+
| `invalid_history_analytics_limit` | `invalid_history_analytics_limit` | uncovered | none | 0 |
|
|
148
|
+
| `invalid_history_analytics_minimum_sample` | `invalid_history_analytics_minimum_sample` | uncovered | none | 0 |
|
|
149
|
+
| `invalid_history_analytics_since` | `invalid_history_analytics_since` | uncovered | none | 0 |
|
|
150
|
+
| `invalid_improvement_ledger` | `invalid_improvement_ledger` | uncovered | none | 0 |
|
|
151
|
+
| `invalid_improvement_metric` | `invalid_improvement_metric` | uncovered | none | 0 |
|
|
152
|
+
| `invalid_improvement_observation` | `invalid_improvement_observation` | uncovered | none | 0 |
|
|
153
|
+
| `invalid_improvement_observation_limit` | `invalid_improvement_observation_limit` | uncovered | none | 0 |
|
|
154
|
+
| `invalid_improvement_observation_timestamp` | `invalid_improvement_observation_timestamp` | uncovered | none | 0 |
|
|
155
|
+
| `invalid_provenance_predicate` | `invalid_provenance_predicate` | uncovered | none | 0 |
|
|
156
|
+
| `invalid_query_cursor` | `invalid_query_cursor` | uncovered | none | 0 |
|
|
157
|
+
| `invalid_read_output_session` | `invalid_read_output_session` | uncovered | none | 0 |
|
|
158
|
+
| `invalid_reproducible_process_environment` | `invalid_reproducible_process_environment` | uncovered | none | 0 |
|
|
159
|
+
| `invalid_workspace_snapshot_target` | `invalid_workspace_snapshot_target` | uncovered | none | 0 |
|
|
160
|
+
| `item_already_active` | `item_already_active` | uncovered | none | 0 |
|
|
161
|
+
| `item_document_invalid` | `item_document_invalid` | uncovered | none | 0 |
|
|
162
|
+
| `item_document_roundtrip_failed` | `item_document_roundtrip_failed` | uncovered | none | 0 |
|
|
163
|
+
| `item_id_collision` | `item_id_collision` | uncovered | none | 0 |
|
|
164
|
+
| `item_not_found` | `item_not_found` | uncovered | none | 0 |
|
|
165
|
+
| `likely_duplicate` | `likely_duplicate` | uncovered | none | 0 |
|
|
166
|
+
| `linked_artifact_mutation_conflict` | `linked_artifact_mutation_conflict` | uncovered | none | 0 |
|
|
167
|
+
| `linked_test_remove_no_match` | `linked_test_remove_no_match` | uncovered | none | 0 |
|
|
168
|
+
| `linked_test_value_not_quoted` | `linked_test_value_not_quoted` | uncovered | none | 0 |
|
|
169
|
+
| `list_source_incomplete` | `list_source_incomplete` | uncovered | none | 0 |
|
|
170
|
+
| `local_package_archive_unsafe` | `local_package_archive_unsafe` | uncovered | none | 0 |
|
|
171
|
+
| `local_source_not_found_bare_name` | `local_source_not_found_bare_name` | uncovered | none | 0 |
|
|
172
|
+
| `lock_conflict` | `lock_conflict` | uncovered | none | 0 |
|
|
173
|
+
| `locks_stale_count` | `locks_stale_count` | uncovered | none | 0 |
|
|
174
|
+
| `locks_unreadable` | `locks_unreadable` | uncovered | none | 0 |
|
|
175
|
+
| `malformed_plan_step_evidence` | `malformed_plan_step_evidence` | uncovered | none | 0 |
|
|
176
|
+
| `manifest_capabilities_absent` | `manifest_capabilities_absent` | uncovered | none | 0 |
|
|
177
|
+
| `manifest_unknown_key` | `manifest_unknown_key` | uncovered | none | 0 |
|
|
178
|
+
| `mcp_annotation_file_unavailable` | `mcp_annotation_file_unavailable` | uncovered | none | 0 |
|
|
179
|
+
| `mcp_stdin_unavailable` | `mcp_stdin_unavailable` | uncovered | none | 0 |
|
|
180
|
+
| `merge_conflict_markers_detected` | `merge_conflict_markers_detected` | uncovered | none | 0 |
|
|
181
|
+
| `merge_decisions_unreviewed` | `merge_decisions_unreviewed` | uncovered | none | 0 |
|
|
182
|
+
| `merge_git_config_unwritable` | `merge_git_config_unwritable` | uncovered | none | 0 |
|
|
183
|
+
| `merge_reconcile_discards_require_acceptance` | `merge_reconcile_discards_require_acceptance` | uncovered | none | 0 |
|
|
184
|
+
| `merge_root_not_found` | `merge_root_not_found` | uncovered | none | 0 |
|
|
185
|
+
| `missing_allowed_values` | `missing_allowed_values` | uncovered | none | 0 |
|
|
186
|
+
| `missing_budget` | `missing_budget` | uncovered | none | 0 |
|
|
187
|
+
| `missing_cli_flag` | `missing_cli_flag` | uncovered | none | 0 |
|
|
188
|
+
| `missing_destination` | `missing_destination` | uncovered | none | 0 |
|
|
189
|
+
| `missing_directory` | `missing_directory` | uncovered | none | 0 |
|
|
190
|
+
| `missing_init_recovery` | `missing_init_recovery` | uncovered | none | 0 |
|
|
191
|
+
| `missing_lifecycle_target` | `missing_lifecycle_target` | executable | grammar | 4 |
|
|
192
|
+
| `missing_observation` | `missing_observation` | uncovered | none | 0 |
|
|
193
|
+
| `missing_observed_signature` | `missing_observed_signature` | uncovered | none | 0 |
|
|
194
|
+
| `missing_parameter_alias` | `missing_parameter_alias` | uncovered | none | 0 |
|
|
195
|
+
| `missing_probe` | `missing_probe` | uncovered | none | 0 |
|
|
196
|
+
| `missing_required_argument` | `missing_required_argument` | executable | grammar | 58 |
|
|
197
|
+
| `missing_required_option` | `missing_required_option` | uncovered | none | 0 |
|
|
198
|
+
| `missing_suggested_retry` | `missing_suggested_retry` | uncovered | none | 0 |
|
|
199
|
+
| `missing_suggested_retry_args` | `missing_suggested_retry_args` | uncovered | none | 0 |
|
|
200
|
+
| `module_import_failed` | `module_import_failed` | uncovered | none | 0 |
|
|
201
|
+
| `multi_target_github_install_ambiguous` | `multi_target_github_install_ambiguous` | uncovered | none | 0 |
|
|
202
|
+
| `mutation_author_required` | `mutation_author_required` | uncovered | none | 0 |
|
|
203
|
+
| `mutation_secret_guard_blocked` | `mutation_secret_guard_blocked` | uncovered | none | 0 |
|
|
204
|
+
| `no_matching_tests` | `no_matching_tests` | uncovered | none | 0 |
|
|
205
|
+
| `no_projects_matched_filters` | `no_projects_matched_filters` | uncovered | none | 0 |
|
|
206
|
+
| `no_test_files_found` | `no_test_files_found` | uncovered | none | 0 |
|
|
207
|
+
| `no_tests_found` | `no_tests_found` | uncovered | none | 0 |
|
|
208
|
+
| `no_update_fields` | `no_update_fields` | uncovered | none | 0 |
|
|
209
|
+
| `no_version_bounds_declared` | `no_version_bounds_declared` | uncovered | none | 0 |
|
|
210
|
+
| `non_refusal_exit` | `non_refusal_exit` | uncovered | none | 0 |
|
|
211
|
+
| `npm_package_not_found` | `npm_package_not_found` | uncovered | none | 0 |
|
|
212
|
+
| `ownership_conflict` | `ownership_conflict` | uncovered | none | 0 |
|
|
213
|
+
| `ownership_dependency_bypass_restricted_options` | `ownership_dependency_bypass_restricted_options` | uncovered | none | 0 |
|
|
214
|
+
| `ownership_metadata_bypass_restricted_options` | `ownership_metadata_bypass_restricted_options` | uncovered | none | 0 |
|
|
215
|
+
| `package_spec_empty` | `package_spec_empty` | uncovered | none | 0 |
|
|
216
|
+
| `positional_shape_budget_exceeded` | `positional_shape_budget_exceeded` | uncovered | none | 0 |
|
|
217
|
+
| `positional_signature_mismatch` | `positional_signature_mismatch` | uncovered | none | 0 |
|
|
218
|
+
| `profile_name_empty` | `profile_name_empty` | uncovered | none | 0 |
|
|
219
|
+
| `profile_name_not_normalized` | `profile_name_not_normalized` | uncovered | none | 0 |
|
|
220
|
+
| `profile_summary_empty` | `profile_summary_empty` | uncovered | none | 0 |
|
|
221
|
+
| `profile_title_empty` | `profile_title_empty` | uncovered | none | 0 |
|
|
222
|
+
| `project_runtime_stale_mutation` | `project_runtime_stale_mutation` | uncovered | none | 0 |
|
|
223
|
+
| `project_runtime_stale_read` | `project_runtime_stale_read` | uncovered | none | 0 |
|
|
224
|
+
| `projection_options_mutually_exclusive` | `projection_options_mutually_exclusive` | executable | closed_domain | 3 |
|
|
225
|
+
| `provenance_value_domain_invalid` | `provenance_value_domain_invalid` | uncovered | none | 0 |
|
|
226
|
+
| `read_output_cursor_command_mismatch` | `read_output_cursor_command_mismatch` | uncovered | none | 0 |
|
|
227
|
+
| `read_output_cursor_invalid` | `read_output_cursor_invalid` | uncovered | none | 0 |
|
|
228
|
+
| `read_output_cursor_stale` | `read_output_cursor_stale` | uncovered | none | 0 |
|
|
229
|
+
| `recovery_kind_mismatch` | `recovery_kind_mismatch` | uncovered | none | 0 |
|
|
230
|
+
| `redundant_edge` | `redundant_edge` | uncovered | none | 0 |
|
|
231
|
+
| `refusal_allowed_values_mismatch` | `refusal_allowed_values_mismatch` | uncovered | none | 0 |
|
|
232
|
+
| `refusal_error_code_mismatch` | `refusal_error_code_mismatch` | uncovered | none | 0 |
|
|
233
|
+
| `refusal_exit_code_mismatch` | `refusal_exit_code_mismatch` | uncovered | none | 0 |
|
|
234
|
+
| `refusal_mutated_state` | `refusal_mutated_state` | uncovered | none | 0 |
|
|
235
|
+
| `refusal_probe_missing` | `refusal_probe_missing` | uncovered | none | 0 |
|
|
236
|
+
| `refusal_recovery_failed` | `refusal_recovery_failed` | uncovered | none | 0 |
|
|
237
|
+
| `reindex_already_running` | `reindex_already_running` | uncovered | none | 0 |
|
|
238
|
+
| `removed_canonical_spelling` | `removed_canonical_spelling` | uncovered | none | 0 |
|
|
239
|
+
| `removed_compatibility_spelling` | `removed_compatibility_spelling` | uncovered | none | 0 |
|
|
240
|
+
| `reopen_reason_required` | `reopen_reason_required` | uncovered | none | 0 |
|
|
241
|
+
| `reopen_receipt_missing` | `reopen_receipt_missing` | uncovered | none | 0 |
|
|
242
|
+
| `reopen_target_status_invalid` | `reopen_target_status_invalid` | uncovered | none | 0 |
|
|
243
|
+
| `reserved_item_field` | `reserved_item_field` | uncovered | none | 0 |
|
|
244
|
+
| `retry_failed` | `retry_failed` | uncovered | none | 0 |
|
|
245
|
+
| `schema_migration_input_required` | `schema_migration_input_required` | uncovered | none | 0 |
|
|
246
|
+
| `semantic_spelling_collision` | `semantic_spelling_collision` | uncovered | none | 0 |
|
|
247
|
+
| `settings_read_fs_error` | `settings_read_fs_error` | uncovered | none | 0 |
|
|
248
|
+
| `settings_read_invalid_json` | `settings_read_invalid_json` | uncovered | none | 0 |
|
|
249
|
+
| `settings_read_invalid_schema` | `settings_read_invalid_schema` | uncovered | none | 0 |
|
|
250
|
+
| `settings_read_merge_failed` | `settings_read_merge_failed` | uncovered | none | 0 |
|
|
251
|
+
| `stale_budget` | `stale_budget` | uncovered | none | 0 |
|
|
252
|
+
| `stale_destination` | `stale_destination` | uncovered | none | 0 |
|
|
253
|
+
| `stale_observed_signature` | `stale_observed_signature` | uncovered | none | 0 |
|
|
254
|
+
| `status_duplicate` | `status_duplicate` | uncovered | none | 0 |
|
|
255
|
+
| `status_invalid` | `status_invalid` | uncovered | none | 0 |
|
|
256
|
+
| `stdin_json_invalid` | `stdin_json_invalid` | uncovered | none | 0 |
|
|
257
|
+
| `stdin_json_unknown_key` | `stdin_json_unknown_key` | uncovered | none | 0 |
|
|
258
|
+
| `structured_event_immutable` | `structured_event_immutable` | uncovered | none | 0 |
|
|
259
|
+
| `structured_event_input_conflict` | `structured_event_input_conflict` | uncovered | none | 0 |
|
|
260
|
+
| `structured_event_json_empty` | `structured_event_json_empty` | uncovered | none | 0 |
|
|
261
|
+
| `structured_event_json_invalid` | `structured_event_json_invalid` | uncovered | none | 0 |
|
|
262
|
+
| `structured_event_since_invalid` | `structured_event_since_invalid` | uncovered | none | 0 |
|
|
263
|
+
| `suggested_retry_args_mismatch` | `suggested_retry_args_mismatch` | uncovered | none | 0 |
|
|
264
|
+
| `telemetry_endpoint_probe_failed` | `telemetry_endpoint_probe_failed` | uncovered | none | 0 |
|
|
265
|
+
| `telemetry_endpoint_probe_http_status` | `telemetry_endpoint_probe_http_status` | uncovered | none | 0 |
|
|
266
|
+
| `telemetry_otel_export_failing` | `telemetry_otel_export_failing` | uncovered | none | 0 |
|
|
267
|
+
| `telemetry_queue_high_retries` | `telemetry_queue_high_retries` | uncovered | none | 0 |
|
|
268
|
+
| `telemetry_queue_invalid_rows` | `telemetry_queue_invalid_rows` | uncovered | none | 0 |
|
|
269
|
+
| `telemetry_queue_pending` | `telemetry_queue_pending` | uncovered | none | 0 |
|
|
270
|
+
| `telemetry_schema_version_behind` | `telemetry_schema_version_behind` | uncovered | none | 0 |
|
|
271
|
+
| `telemetry_state_invalid_json` | `telemetry_state_invalid_json` | uncovered | none | 0 |
|
|
272
|
+
| `template_type_unknown` | `template_type_unknown` | uncovered | none | 0 |
|
|
273
|
+
| `terminal_plan_mutation` | `terminal_plan_mutation` | uncovered | none | 0 |
|
|
274
|
+
| `terminal_state_conflict` | `terminal_state_conflict` | uncovered | none | 0 |
|
|
275
|
+
| `tracked_runtime_cache_files` | `tracked_runtime_cache_files` | uncovered | none | 0 |
|
|
276
|
+
| `tracker_not_initialized` | `tracker_not_initialized` | executable | owned_state | 1 |
|
|
277
|
+
| `tracker_root_missing` | `tracker_root_missing` | executable | owned_state | 1 |
|
|
278
|
+
| `tracker_root_not_directory` | `tracker_root_not_directory` | executable | owned_state | 1 |
|
|
279
|
+
| `tracker_root_unreadable` | `tracker_root_unreadable` | executable | owned_state | 1 |
|
|
280
|
+
| `type_duplicate` | `type_duplicate` | uncovered | none | 0 |
|
|
281
|
+
| `type_invalid` | `type_invalid` | uncovered | none | 0 |
|
|
282
|
+
| `undeclared_observation` | `undeclared_observation` | uncovered | none | 0 |
|
|
283
|
+
| `unexpected_refusal_probe` | `unexpected_refusal_probe` | uncovered | none | 0 |
|
|
284
|
+
| `unknown_command` | `unknown_command` | uncovered | none | 0 |
|
|
285
|
+
| `unknown_context_intent` | `unknown_context_intent` | executable | closed_domain | 5 |
|
|
286
|
+
| `unknown_error` | `unknown_error` | uncovered | none | 0 |
|
|
287
|
+
| `unknown_field` | `unknown_field` | uncovered | none | 0 |
|
|
288
|
+
| `unknown_field_projection` | `unknown_field_projection` | executable | closed_domain | 10 |
|
|
289
|
+
| `unknown_item_type` | `unknown_item_type` | uncovered | none | 0 |
|
|
290
|
+
| `unknown_lifecycle_action` | `unknown_subcommand` | executable | grammar, owned_state | 11 |
|
|
291
|
+
| `unknown_noun` | `unknown_noun` | uncovered | none | 0 |
|
|
292
|
+
| `unknown_option` | `unknown_option` | executable | owned_state | 1 |
|
|
293
|
+
| `unknown_plan_template` | `unknown_plan_template` | uncovered | none | 0 |
|
|
294
|
+
| `unknown_provenance_dimension` | `unknown_provenance_dimension` | uncovered | none | 0 |
|
|
295
|
+
| `unknown_status` | `unknown_status` | uncovered | none | 0 |
|
|
296
|
+
| `unknown_subcommand` | `unknown_subcommand` | executable | grammar, owned_state | 11 |
|
|
297
|
+
| `unsafe_init_recovery` | `unsafe_init_recovery` | uncovered | none | 0 |
|
|
298
|
+
| `unsupported_update_option` | `unsupported_update_option` | uncovered | none | 0 |
|
|
299
|
+
| `validate_command_references_stale_pm_ids` | `validate_command_references_stale_pm_ids` | uncovered | none | 0 |
|
|
300
|
+
| `validate_files_missing_linked_paths` | `validate_files_missing_linked_paths` | uncovered | none | 0 |
|
|
301
|
+
| `validate_files_orphaned_paths` | `validate_files_orphaned_paths` | uncovered | none | 0 |
|
|
302
|
+
| `validate_files_tracked_all_strict_forces_pm_internals` | `validate_files_tracked_all_strict_forces_pm_internals` | uncovered | none | 0 |
|
|
303
|
+
| `validate_format_version_ahead_items` | `integrity_item_ahead_format_version` | uncovered | none | 0 |
|
|
304
|
+
| `validate_format_version_outdated_items` | `integrity_item_outdated_format_version` | uncovered | none | 0 |
|
|
305
|
+
| `validate_hierarchy_parent_cycle` | `validate_hierarchy_parent_cycle` | uncovered | none | 0 |
|
|
306
|
+
| `validate_hierarchy_parent_cycle_error` | `validate_hierarchy_parent_cycle_error` | uncovered | none | 0 |
|
|
307
|
+
| `validate_history_drift_chain_mismatches` | `history_drift_chain_mismatch` | uncovered | none | 0 |
|
|
308
|
+
| `validate_history_drift_hash_mismatches` | `history_drift_hash_mismatch` | uncovered | none | 0 |
|
|
309
|
+
| `validate_history_drift_missing_streams` | `history_drift_missing_stream` | uncovered | none | 0 |
|
|
310
|
+
| `validate_history_drift_unreadable_streams` | `history_drift_unreadable_stream` | uncovered | none | 0 |
|
|
311
|
+
| `validate_history_unknown_author_events` | `history_unknown_author_events` | uncovered | none | 0 |
|
|
312
|
+
| `validate_lifecycle_active_closure_like_metadata` | `validate_lifecycle_active_closure_like_metadata` | uncovered | none | 0 |
|
|
313
|
+
| `validate_lifecycle_active_terminal_parent` | `validate_lifecycle_active_terminal_parent` | uncovered | none | 0 |
|
|
314
|
+
| `validate_lifecycle_dependency_cycles` | `validate_lifecycle_dependency_cycles` | uncovered | none | 0 |
|
|
315
|
+
| `validate_lifecycle_dependency_cycles_error` | `validate_lifecycle_dependency_cycles_error` | uncovered | none | 0 |
|
|
316
|
+
| `validate_lifecycle_stale_blockers` | `validate_lifecycle_stale_blockers` | uncovered | none | 0 |
|
|
317
|
+
| `validate_merge_decisions_unreviewed` | `validate_merge_decisions_unreviewed` | uncovered | none | 0 |
|
|
318
|
+
| `validate_merge_fence_drift` | `validate_merge_fence_drift` | uncovered | none | 0 |
|
|
319
|
+
| `validate_metadata_custom_profile_missing_required_fields` | `validate_metadata_custom_profile_missing_required_fields` | uncovered | none | 0 |
|
|
320
|
+
| `validate_metadata_duplicate_issue_codes` | `validate_metadata_duplicate_issue_codes` | uncovered | none | 0 |
|
|
321
|
+
| `validate_metadata_missing_acceptance_criteria` | `validate_metadata_missing_acceptance_criteria` | uncovered | none | 0 |
|
|
322
|
+
| `validate_metadata_missing_close_reason` | `validate_metadata_missing_close_reason` | uncovered | none | 0 |
|
|
323
|
+
| `validate_metadata_missing_confidence` | `validate_metadata_missing_confidence` | uncovered | none | 0 |
|
|
324
|
+
| `validate_metadata_missing_estimate` | `validate_metadata_missing_estimate` | uncovered | none | 0 |
|
|
325
|
+
| `validate_metadata_missing_release` | `validate_metadata_missing_release` | uncovered | none | 0 |
|
|
326
|
+
| `validate_metadata_missing_reviewer` | `validate_metadata_missing_reviewer` | uncovered | none | 0 |
|
|
327
|
+
| `validate_metadata_missing_risk` | `validate_metadata_missing_risk` | uncovered | none | 0 |
|
|
328
|
+
| `validate_metadata_missing_sprint` | `validate_metadata_missing_sprint` | uncovered | none | 0 |
|
|
329
|
+
| `validate_resolution_missing_fields` | `validate_resolution_missing_fields` | uncovered | none | 0 |
|
|
330
|
+
| `validate_storage_duplicate_item_ids` | `validate_storage_duplicate_item_ids` | uncovered | none | 0 |
|
|
331
|
+
| `validate_storage_history_conflict_markers` | `integrity_history_conflict_marker` | uncovered | none | 0 |
|
|
332
|
+
| `validate_storage_resurrected_items` | `validate_storage_resurrected_items` | uncovered | none | 0 |
|
|
333
|
+
| `validate_storage_tracked_runtime_cache_files` | `tracked_runtime_cache_files` | uncovered | none | 0 |
|
|
334
|
+
| `validate_storage_unparseable_config` | `validate_storage_unparseable_config` | uncovered | none | 0 |
|
|
335
|
+
| `validate_storage_unparseable_history` | `validate_storage_unparseable_history` | uncovered | none | 0 |
|
|
336
|
+
| `validate_storage_unreadable_items` | `validate_storage_unreadable_items` | uncovered | none | 0 |
|
|
337
|
+
| `vectorization_embedding_identity_changed` | `vectorization_embedding_identity_changed` | uncovered | none | 0 |
|
|
338
|
+
| `vectorization_stale_items_remaining` | `vectorization_stale_items_remaining` | uncovered | none | 0 |
|
|
339
|
+
| `visible_surface_ceiling_exceeded` | `visible_surface_ceiling_exceeded` | uncovered | none | 0 |
|
|
340
|
+
| `workflow_duplicate_type` | `workflow_duplicate_type` | uncovered | none | 0 |
|
|
341
|
+
| `workflow_status_unknown` | `workflow_status_unknown` | uncovered | none | 0 |
|
|
342
|
+
| `workflow_transition_malformed` | `workflow_transition_malformed` | uncovered | none | 0 |
|
|
343
|
+
| `workflow_type_empty` | `workflow_type_empty` | uncovered | none | 0 |
|
|
344
|
+
| `workflow_type_unknown` | `workflow_type_unknown` | uncovered | none | 0 |
|
|
345
|
+
| `workspace_history_chain_invalid` | `workspace_history_chain_invalid` | uncovered | none | 0 |
|
|
346
|
+
| `workspace_history_state_conflict` | `workspace_history_state_conflict` | uncovered | none | 0 |
|
|
347
|
+
| `workspace_root_pm_path` | `workspace_root_pm_path` | uncovered | none | 0 |
|
|
348
|
+
| `workspace_snapshot_force_required` | `workspace_snapshot_force_required` | uncovered | none | 0 |
|
|
349
|
+
| `workspace_snapshot_manifest_mismatch` | `workspace_snapshot_manifest_mismatch` | uncovered | none | 0 |
|
|
350
|
+
| `workspace_snapshot_name_reserved_fingerprint` | `workspace_snapshot_name_reserved_fingerprint` | uncovered | none | 0 |
|
|
351
|
+
| `workspace_snapshot_not_found` | `workspace_snapshot_not_found` | uncovered | none | 0 |
|
|
352
|
+
| `workspace_snapshot_permission_denied` | `workspace_snapshot_permission_denied` | uncovered | none | 0 |
|
|
353
|
+
| `workspace_snapshot_resource_exhausted` | `workspace_snapshot_resource_exhausted` | uncovered | none | 0 |
|
|
354
|
+
| `workspace_snapshot_storage_exhausted` | `workspace_snapshot_storage_exhausted` | uncovered | none | 0 |
|
|
355
|
+
| `wrong_item_type` | `wrong_item_type` | 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.8.
|
|
9
|
+
"version": "2026.8.24"
|
|
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.
|
|
16
|
+
"version": "2026.8.24",
|
|
17
17
|
"author": {
|
|
18
18
|
"name": "unbrained",
|
|
19
19
|
"url": "https://github.com/unbraind/pm-cli"
|
package/package.json
CHANGED
|
@@ -6,11 +6,11 @@ command-facing SDK registration APIs in their smallest complete form.
|
|
|
6
6
|
|
|
7
7
|
## What it demonstrates
|
|
8
8
|
|
|
9
|
-
| API
|
|
10
|
-
|
|
|
11
|
-
| `api.registerCommand(definition)`
|
|
12
|
-
| `api.registerParser(command, override)`
|
|
13
|
-
| `api.registerFlags(targetCommand, flags)` | Injects an inert, namespaced `--kit-note <text>` flag into the EXISTING core `pm list` command — the pattern for augmenting commands you do not own.
|
|
9
|
+
| API | What the exemplar does |
|
|
10
|
+
| ----------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
11
|
+
| `api.registerCommand(definition)` | Registers `pm command-kit echo` with a FULL `CommandDefinition`: `name`, `action`, `tier`, `family`, `description`, `intent`, `arguments` (required variadic positional), `flags`, `examples`, `failure_hints`, and a pure `run` handler. |
|
|
12
|
+
| `api.registerParser(command, override)` | Preprocesses parsed options before the handler runs: rewrites the deprecated `--shout` alias to `--upper`, coerces `--repeat` to a positive integer, and trims/dedupes `--decorations` values. The override returns a delta (`{ options }`) that is merged over the parsed input. |
|
|
13
|
+
| `api.registerFlags(targetCommand, flags)` | Injects an inert, namespaced `--kit-note <text>` flag into the EXISTING core `pm list` command — the pattern for augmenting commands you do not own. |
|
|
14
14
|
|
|
15
15
|
## Install
|
|
16
16
|
|
|
@@ -49,16 +49,14 @@ packages/pm-command-kit/
|
|
|
49
49
|
├── README.md
|
|
50
50
|
└── extensions/command-kit/
|
|
51
51
|
├── manifest.json # capabilities, trusted, sandbox_profile, permissions
|
|
52
|
-
|
|
53
|
-
└── index.js # hand-maintained runtime module (import-free)
|
|
52
|
+
└── index.ts # authored and loaded directly with type stripping
|
|
54
53
|
```
|
|
55
54
|
|
|
56
55
|
Key conventions for authors:
|
|
57
56
|
|
|
58
|
-
- `index.
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
erased and keep the shipped `.js` dependency-free.
|
|
57
|
+
- `index.ts` is both the authored source and the runtime entrypoint. pm strips types
|
|
58
|
+
when loading it, so there is no duplicate compiled module to keep synchronized.
|
|
59
|
+
Type-only SDK imports retain editor/typecheck support without adding runtime imports.
|
|
62
60
|
- The module's `manifest.capabilities` literal must match `manifest.json` exactly
|
|
63
61
|
(`commands` for `registerCommand`, `schema` for flag definitions/`registerFlags`,
|
|
64
62
|
`parser` for `registerParser`).
|
|
@@ -25,7 +25,7 @@ import type {
|
|
|
25
25
|
export const manifest = {
|
|
26
26
|
name: "builtin-command-kit",
|
|
27
27
|
version: "0.1.0",
|
|
28
|
-
entry: "./index.
|
|
28
|
+
entry: "./index.ts",
|
|
29
29
|
priority: 0,
|
|
30
30
|
capabilities: ["commands", "schema", "parser"],
|
|
31
31
|
activation: { commands: ["command-kit echo", "list"] },
|
|
@@ -145,6 +145,8 @@ export function buildEchoCommandDefinition(): CommandDefinition {
|
|
|
145
145
|
return {
|
|
146
146
|
name: ECHO_COMMAND,
|
|
147
147
|
action: "command-kit-echo",
|
|
148
|
+
tier: "standard",
|
|
149
|
+
family: "extensions",
|
|
148
150
|
description:
|
|
149
151
|
"Echo a message as structured output (commands-capability exemplar).",
|
|
150
152
|
intent:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unbrained/pm-digital-twin",
|
|
3
|
-
"version": "2026.8.
|
|
3
|
+
"version": "2026.8.24",
|
|
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.",
|