@unbrained/pm-cli 2026.8.14 → 2026.8.16
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 +51 -11
- package/dist/cli/commander-usage.js +17 -4
- package/dist/cli/error-guidance.d.ts +7 -0
- package/dist/cli/error-guidance.js +65 -25
- package/dist/cli/main.js +3 -2
- package/dist/cli/register-history-author.js +16 -11
- package/dist/cli/register-mutation.js +4 -2
- package/dist/cli/register-operations.js +5 -5
- package/dist/cli-bundle/bundle-manifest.json +148 -148
- package/dist/cli-bundle/chunks/chunk-47OQEOQB.js +2 -0
- package/dist/cli-bundle/chunks/{chunk-XAVMOK6B.js → chunk-73UGEBRS.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-HCIYWD6M.js +35 -0
- package/dist/cli-bundle/chunks/{chunk-FIW4P64F.js → chunk-I2LUWWR5.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-SBRKH6OR.js → chunk-IC5W2T34.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-TMJ7URWS.js → chunk-PANOOBIS.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-BFALV3YP.js → chunk-RIS565OA.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-TXMEUUUY.js → chunk-TK6N7HGM.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-TOFG2URD.js +197 -0
- package/dist/cli-bundle/chunks/{chunk-G5JUB66K.js → chunk-URW4QRMI.js} +65 -59
- package/dist/cli-bundle/chunks/{register-list-query-T3EHHNNV.js → register-list-query-EYCXHZAG.js} +2 -2
- package/dist/cli-bundle/chunks/register-mutation-7YVIG54J.js +20 -0
- package/dist/cli-bundle/chunks/register-operations-KGDNRMCL.js +2 -0
- package/dist/cli-bundle/chunks/{register-setup-3YXZ444E.js → register-setup-NVXBOD5I.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-PPFGQDSI.js → chunk-4JPEBFFC.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-5NMFSX26.js +155 -0
- package/dist/cli-bundle/focused-chunks/{chunk-YOOI3UZX.js → chunk-6ROKKT4X.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-725JSCMP.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-XDNAW5OI.js → chunk-C7JUBRFP.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-4DQ2YERC.js → chunk-CODV5LUT.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-DQ6SMTBF.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-HAACPSUW.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-WCVE2NIG.js → chunk-J4UFYHOD.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-JX5Z344Q.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-L4RDYBIQ.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-KSEDUWVZ.js → chunk-NJ5RLEFD.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-K7RWWOAG.js → chunk-QYZERYR5.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-SSNDYZTM.js +8 -0
- package/dist/cli-bundle/focused-chunks/chunk-T46KLOIB.js +50 -0
- package/dist/cli-bundle/focused-chunks/{chunk-KFSZ3BP6.js → chunk-TZATVC4G.js} +6 -6
- package/dist/cli-bundle/focused-chunks/chunk-WY3WRPVN.js +2 -0
- package/dist/cli-bundle/main.js +13 -13
- 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 +32 -35
- 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 +32 -31
- 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 +2 -2
- package/dist/core/diagnostics/remediation.js +7 -2
- package/dist/core/extensions/reserved-host-flags.js +3 -2
- package/dist/core/history/replay.d.ts +14 -1
- package/dist/core/history/replay.js +45 -8
- package/dist/core/history/workspace-history.js +32 -10
- package/dist/core/output/output.d.ts +2 -0
- package/dist/core/output/output.js +7 -3
- package/dist/core/shared/command-types.d.ts +2 -0
- package/dist/core/shared/command-types.js +2 -2
- package/dist/core/shared/errors.d.ts +14 -0
- package/dist/core/shared/errors.js +2 -2
- package/dist/core/store/item-store.js +28 -2
- package/dist/mcp/tool-definitions.js +9 -5
- package/dist/sdk/agent/refusal-reachability.d.ts +69 -0
- package/dist/sdk/agent/refusal-reachability.js +159 -3
- package/dist/sdk/author-attribution.d.ts +56 -11
- package/dist/sdk/author-attribution.js +174 -50
- package/dist/sdk/cli-bootstrap.d.ts +2 -0
- package/dist/sdk/cli-bootstrap.js +7 -2
- package/dist/sdk/cli-contracts/completeness.js +3 -2
- package/dist/sdk/cli-contracts/flag-contracts.js +6 -2
- package/dist/sdk/cli-contracts/registration-helpers.js +3 -2
- package/dist/sdk/cli-contracts/runtime-contracts.d.ts +5 -0
- package/dist/sdk/cli-contracts/runtime-contracts.js +23 -7
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +22 -5
- package/dist/sdk/cli-contracts/tool-schema.js +20 -5
- package/dist/sdk/cli-program.js +3 -2
- package/dist/sdk/completion.js +11 -4
- package/dist/sdk/core.d.ts +2 -2
- package/dist/sdk/core.js +3 -3
- package/dist/sdk/generated/generated-error-code-catalog-part-1.js +50 -2
- package/dist/sdk/generated/generated-error-code-catalog-part-2.js +74 -14
- package/dist/sdk/governance/assurance-action.d.ts +7 -1
- package/dist/sdk/governance/assurance-action.js +7 -6
- package/dist/sdk/governance/assurance-mutation-error.d.ts +42 -1
- package/dist/sdk/governance/assurance-mutation-error.js +27 -3
- package/dist/sdk/governance/assurance-runtime.js +12 -11
- package/dist/sdk/governance/assurance.d.ts +9 -0
- package/dist/sdk/governance/assurance.js +80 -14
- package/dist/sdk/governance/coverage-assurance.d.ts +24 -0
- package/dist/sdk/governance/coverage-assurance.js +61 -0
- package/dist/sdk/governance/extension-host-version.d.ts +25 -0
- package/dist/sdk/governance/extension-host-version.js +116 -0
- package/dist/sdk/governance/health.d.ts +32 -1
- package/dist/sdk/governance/health.js +119 -27
- package/dist/sdk/governance/provenance-health.d.ts +27 -0
- package/dist/sdk/governance/provenance-health.js +95 -3
- package/dist/sdk/governance/validate.js +7 -8
- package/dist/sdk/governance.d.ts +6 -0
- package/dist/sdk/governance.js +8 -2
- package/dist/sdk/history-repair.d.ts +13 -1
- package/dist/sdk/history-repair.js +62 -18
- package/dist/sdk/index.d.ts +2 -1
- package/dist/sdk/index.js +4 -3
- package/dist/sdk/linked-artifacts.js +16 -5
- package/dist/sdk/pagination.d.ts +15 -0
- package/dist/sdk/pagination.js +9 -5
- package/dist/sdk/query/context.d.ts +5 -1
- package/dist/sdk/query/context.js +14 -5
- package/dist/sdk/read-output/continuation.d.ts +11 -0
- package/dist/sdk/read-output/continuation.js +132 -0
- package/dist/sdk/read-output-budget.d.ts +1 -1
- package/dist/sdk/read-output-budget.js +14 -10
- package/dist/sdk/read-output-contracts.d.ts +66 -2
- package/dist/sdk/read-output-contracts.js +185 -19
- package/dist/sdk/read-output-rows.d.ts +2 -0
- package/dist/sdk/read-output-rows.js +15 -2
- package/dist/sdk/runtime-input.js +4 -2
- package/dist/sdk/runtime.d.ts +2 -5
- package/dist/sdk/runtime.js +3 -2
- package/docs/ASSURANCE.md +59 -2
- package/docs/COMMANDS.md +8 -2
- package/docs/READ_OUTPUT_CONTRACTS.md +55 -8
- package/docs/RELEASING.md +54 -11
- package/docs/SDK_CONTEXT_INTEGRITY.md +94 -4
- package/docs/SDK_CONTEXT_TRUTH_CONTRACTS.md +13 -5
- package/marketplace.json +2 -2
- package/package.json +3 -3
- package/packages/pm-beads/package.json +1 -1
- package/packages/pm-calendar/package.json +1 -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/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/sdk/public-surface.json +1241 -180
- package/dist/cli-bundle/chunks/chunk-BBOFSVAK.js +0 -197
- package/dist/cli-bundle/chunks/chunk-YAMTJL6Y.js +0 -34
- package/dist/cli-bundle/chunks/chunk-YSVSMJ2B.js +0 -2
- package/dist/cli-bundle/chunks/register-mutation-E27WCLSZ.js +0 -20
- package/dist/cli-bundle/chunks/register-operations-4R6I7CPY.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-F43TT2QQ.js +0 -8
- package/dist/cli-bundle/focused-chunks/chunk-KYUQGTSB.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-LZ4MV3RH.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-PGXJQLCT.js +0 -155
- package/dist/cli-bundle/focused-chunks/chunk-Q4YY3XNF.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-QK753U3U.js +0 -46
- package/dist/cli-bundle/focused-chunks/chunk-QUMB2J27.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-SM7MTG27.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-ZM6TZVHC.js +0 -2
|
@@ -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.16"
|
|
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.16",
|
|
17
17
|
"author": {
|
|
18
18
|
"name": "unbrained",
|
|
19
19
|
"url": "https://github.com/unbraind/pm-cli"
|
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,52 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2026.8.16 - 2026-08-16
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- Workspace history integrity refusals escape typed CLI recovery and become high Sentry faults ([pm-2zkvxm](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-2zkvxm.toon))
|
|
8
|
+
- GH-1019/GH-1020/GH-1021: Node 24 nightly platform regressions after PR \#1016 ([pm-zno2iu](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-zno2iu.toon))
|
|
9
|
+
- GH-814/GH-821/GH-1034: SDK metadata reads must distinguish missing, invalid, and unreadable tracker roots from empty ([pm-23xkss](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-23xkss.toon))
|
|
10
|
+
- GH-1028: history-author-acknowledge bulk mutation lacks dry-run and misreports empty selection ([pm-mcxk8v](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-mcxk8v.toon))
|
|
11
|
+
- GH-1030: contracts --json --full is wholly omitted by the default output budget ([pm-2qvq7a](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-2qvq7a.toon))
|
|
12
|
+
- Auto Release blocker closure ignores successful recovery dispatch and reruns the stale tag-push workflow ([pm-db8onn](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-db8onn.toon))
|
|
13
|
+
- A commit pushed directly to the default branch can never be released: both analyzer-evidence fallbacks presuppose a pull request, and nothing declares that precondition ([pm-u1baah](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-u1baah.toon))
|
|
14
|
+
|
|
15
|
+
### Other
|
|
16
|
+
|
|
17
|
+
- PR \#1035 final review convergence: POSIX enumeration wording and plan-level replication ratchet ([pm-k9l7e1](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/tasks/pm-k9l7e1.toon))
|
|
18
|
+
- PR \#1035 exact-head review follow-up: sandbox-safe proof, completion uniqueness, replacement equivalence, and test isolation ([pm-jv3y4q](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/tasks/pm-jv3y4q.toon))
|
|
19
|
+
- Retire the bespoke gate scripts onto the assurance primitives, with a recorded per-script disposition so 6,500 lines of external enforcement either moves into the product or says why it cannot ([pm-4ok4ex](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/tasks/pm-4ok4ex.toon))
|
|
20
|
+
|
|
21
|
+
## 2026.8.15 - 2026-08-15
|
|
22
|
+
|
|
23
|
+
### Fixed
|
|
24
|
+
|
|
25
|
+
- Provide an audited repair and severity-migration contract for legacy invalid provenance ([pm-76fkpp](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-76fkpp.toon))
|
|
26
|
+
- Detect extension-host pm-cli version skew before a workspace reports healthy ([pm-643e0k](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-643e0k.toon))
|
|
27
|
+
- Restore strict unknown-key parity for docs linked-artifact additions ([pm-22rzjp](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-22rzjp.toon))
|
|
28
|
+
- Surface replication gate scopes trigger activation to relevant diff content ([pm-mrhwow](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-mrhwow.toon))
|
|
29
|
+
- Make every failing health verdict self-indexing and attach gate severity to findings ([pm-larv4r](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-larv4r.toon))
|
|
30
|
+
- GH-1004: history-repair remains writer-version-specific across 2026.8.7 and 2026.8.13 ([pm-igdvfq](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-igdvfq.toon))
|
|
31
|
+
- Assurance gates preserve zero-valued counts and report actionable source failures ([pm-xmmafu](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-xmmafu.toon))
|
|
32
|
+
- A budget-truncated read is resumable on one surface and terminal on five, and the only recovery the envelope names is to abandon the budget that truncated it ([pm-8nev0o](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-8nev0o.toon))
|
|
33
|
+
- Ranking explanation is sized by the workspace rather than by the answer: explaining two returned rows emits one entry per active item and ignores the token budget entirely ([pm-okgxwa](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-okgxwa.toon))
|
|
34
|
+
- The unknown-option refusal asserts the option belongs on another command path without checking, so a spelling that exists nowhere sends the reader on an unbounded search ([pm-in23qu](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-in23qu.toon))
|
|
35
|
+
- The gate verdict withholds its evidence as a declaration-order prefix, so the assertion that produced a blocking verdict can be the row the default read drops ([pm-e5gl05](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-e5gl05.toon))
|
|
36
|
+
- GH-1008: assurance measurements accept unknown source kinds and contracts hide the valid vocabulary ([pm-atnfh4](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-atnfh4.toon))
|
|
37
|
+
- GH-1007: assurance gate declarations omit trigger and escape the typed refusal contract ([pm-88mo8m](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-88mo8m.toon))
|
|
38
|
+
- A CI-wired quality gate is red on a clean checkout of main and green in hosted CI for the same commit, because its measured output carries a telemetry warning whose presence depends on whether the local flush reached the network ([pm-t7wn04](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-t7wn04.toon))
|
|
39
|
+
- GH-1011: Windows Node 24 nightly cache fixture loses the authoritative linked-test collection ([pm-k47yqn](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-k47yqn.toon))
|
|
40
|
+
|
|
41
|
+
### Other
|
|
42
|
+
|
|
43
|
+
- The agent token-surface harness from pm-a22j is wired into nothing, so output-size regressions like the 33k-token health check land undetected ([pm-dpqa3h](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-dpqa3h.toon))
|
|
44
|
+
|
|
3
45
|
## 2026.8.14 - 2026-08-14
|
|
4
46
|
|
|
5
47
|
### Fixed
|
|
6
48
|
|
|
49
|
+
- Unsupported assurance triggers bypass the typed evaluation-refusal boundary and surface as high-severity Sentry faults ([pm-9yhl2v](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-9yhl2v.toon))
|
|
7
50
|
- A single transient per-test timeout fails the whole pipeline: 1,942 tests share one uniform 30s budget, no retry is configured, and the only diagnosis path is decoding a blob artifact ([pm-rizqb6](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-rizqb6.toon))
|
|
8
51
|
- The degradation ladder only sees top-level arrays, so the governance reads whose bulk is nested skip every intermediate rung and return nothing at all ([pm-kyjdne](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-kyjdne.toon))
|
|
9
52
|
- A budget-truncated read reports that rows are missing without a cursor, a recovery, or any sign that it overrode the caller's explicit request for all of them ([pm-jt8aa2](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-jt8aa2.toon))
|
|
@@ -12,7 +55,6 @@
|
|
|
12
55
|
- Exact command-path summaries expose intent, flags, and format-aware output ceilings ([pm-pmrae8](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-pmrae8.toon))
|
|
13
56
|
- Default output ceilings bind representative read surfaces with depth-heavy negative controls ([pm-s2h0mq](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-s2h0mq.toon))
|
|
14
57
|
- Two of the three ci-triggered assurance gates never ran on a pull request, so the append-only history assertion that carries the immutability guarantee was evaluated only after merge ([pm-fhifkc](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-fhifkc.toon))
|
|
15
|
-
- Unsupported assurance triggers bypass the typed evaluation-refusal boundary and surface as high-severity Sentry faults ([pm-9yhl2v](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-9yhl2v.toon))
|
|
16
58
|
- The ordering-cycle finding names the items in the cycle and not the contradiction that creates it, so its remediation hint cannot be executed without re-deriving the cause by hand ([pm-xvt7ps](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-xvt7ps.toon))
|
|
17
59
|
- The edge-count floor is denominated over a population that includes the edges the graph itself calls redundant, so repairing 73 witnessed implied ordering rows and silently relaxing the guard are the same privileged act ([pm-9gzr4r](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-9gzr4r.toon))
|
|
18
60
|
- The graph node floor counts materialized placeholders, so its negative control declares the fully repaired corpus a failure and the gate passes only while a dangling reference exists ([pm-mfvsng](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-mfvsng.toon))
|
|
@@ -395,7 +437,6 @@
|
|
|
395
437
|
- GH-824: core-field recovery must name dedicated flags instead of extension activation ([pm-2jtbl8](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-2jtbl8.toon))
|
|
396
438
|
- CodeFactor fixed-only success payload blocks exact-head release gate ([pm-xcrlkl](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-xcrlkl.toon))
|
|
397
439
|
- Both declared context intents are unreachable because the intent applier assigns field-group names into the section value domain, and the two validators give contradictory advice ([pm-ai45y9](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-ai45y9.toon))
|
|
398
|
-
- GH-814: SDK metadata reads must distinguish missing and invalid tracker roots from an empty tracker ([pm-23xkss](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-23xkss.toon))
|
|
399
440
|
- The runtime contract enumeration is not closed over the surface it can resolve: 14 rendered commands, including the list-open that AGENTS.md mandates, are contract-backed by name yet absent from every enumeration ([pm-6j7r1a](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-6j7r1a.toon))
|
|
400
441
|
- GH-817: machine-readable flag contracts need semantic invocation metadata and stdin capability ([pm-11phn1](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-11phn1.toon))
|
|
401
442
|
|
|
@@ -513,7 +554,6 @@
|
|
|
513
554
|
- Evaluate Sentry 10.68.0 compatibility and retain 10.67.0 ([pm-r31390](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-r31390.toon))
|
|
514
555
|
- Derive ALL MCP tool inputSchemas from \*\_FLAG_CONTRACTS — eliminate hand-declared parallel schema tables (extend the pm_copy pattern) ([pm-xwah](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-xwah.toon))
|
|
515
556
|
- Generate shell completions, MCP tool registrations, and command reference docs from the contracts table (single source of truth) ([pm-mu8m](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/tasks/pm-mu8m.toon))
|
|
516
|
-
- The agent token-surface harness from pm-a22j is wired into nothing, so output-size regressions like the 33k-token health check land undetected ([pm-dpqa3h](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-dpqa3h.toon))
|
|
517
557
|
- Ecosystem review and deep-graph enrichment pass 2026-07-27: all-status census, CLI simplification + token-efficiency + long-term brainstorm, dedupe-checked gap filing ([pm-89qv6b](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/tasks/pm-89qv6b.toon))
|
|
518
558
|
- Evaluate @toon-format/toon 4 compatibility and item-format migration ([pm-5cgm2z](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-5cgm2z.toon))
|
|
519
559
|
- ADR amendment: extensible durable agent provenance dimensions and privacy boundaries ([pm-oskdmu](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/decisions/pm-oskdmu.toon))
|
|
@@ -1257,6 +1297,7 @@
|
|
|
1257
1297
|
|
|
1258
1298
|
### Other
|
|
1259
1299
|
|
|
1300
|
+
- PR \#406 review follow-up: clear partial MCP extension registries before fallback execution ([pm-dyzy](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-dyzy.toon))
|
|
1260
1301
|
- 2026-06-25 PM ecosystem taxonomy and context backlog normalization ([pm-57vh](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/plans/pm-57vh.toon))
|
|
1261
1302
|
- Normalize stale audit containers and intentional-open resolved items ([pm-psc0](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-psc0.toon))
|
|
1262
1303
|
- Extend pm package init --declarative to the full capability matrix (hooks/search/importers/schema/renderers/parser/preflight/services) ([pm-lfdv](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/tasks/pm-lfdv.toon))
|
|
@@ -1282,7 +1323,6 @@
|
|
|
1282
1323
|
- Action-scoped MCP parameter descriptions: split shared name/target description per action (schema vs profile) ([pm-fq80](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-fq80.toon))
|
|
1283
1324
|
- ADR: offline BM25 lexical provider + relevance eval harness for search quality ([pm-f2al](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/decisions/pm-f2al.toon))
|
|
1284
1325
|
- ADR: explicit pm_format_version front-matter field for storage schema evolution ([pm-eeai](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/decisions/pm-eeai.toon))
|
|
1285
|
-
- PR \#406 review follow-up: clear partial MCP extension registries before fallback execution ([pm-dyzy](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-dyzy.toon))
|
|
1286
1326
|
- Expose project profile application through MCP contracts and drift gates ([pm-bhmk](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/tasks/pm-bhmk.toon))
|
|
1287
1327
|
- ADR: dependency-aware actionability for pm next — ready = active leaf with no open blocked_by; reuse compareCriticalItems + shared blocked_by resolver ([pm-9x6k](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/decisions/pm-9x6k.toon))
|
|
1288
1328
|
- registerProfile core registration surface: ExtensionApi + registry + loader gate + capability-usage + policy surface ([pm-6oox](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/tasks/pm-6oox.toon))
|
|
@@ -1411,6 +1451,7 @@
|
|
|
1411
1451
|
|
|
1412
1452
|
### Fixed
|
|
1413
1453
|
|
|
1454
|
+
- pm-changelog over-escapes markdown in entry titles (parens + intra-word underscores) ([pm-3299](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-3299.toon))
|
|
1414
1455
|
- GH-293..296 CLI parser and search regression bundle ([pm-yy45](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-yy45.toon))
|
|
1415
1456
|
- appendLineAtomic is not truly atomic: concurrent appends to history JSONL can interleave ([pm-xy9n](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-xy9n.toon))
|
|
1416
1457
|
- Project-scope extension install writes ~69MB node_modules per workspace (peer pm-cli + transitive Sentry/OTel) ([pm-oxq2](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-oxq2.toon))
|
|
@@ -1420,7 +1461,6 @@
|
|
|
1420
1461
|
- Accept --status all for duplicate-safe search and list filters ([pm-i02t](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-i02t.toon))
|
|
1421
1462
|
- Fix nightly cross-platform reliability: macOS realpath in extension-command test and Windows .cmd spawn EINVAL ([pm-gf6f](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-gf6f.toon))
|
|
1422
1463
|
- pm health 2.3-3.1s in dev repo (~2x the 1.3s baseline): drift-scan cache hit still reads + content-hashes every history stream ([pm-c90s](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-c90s.toon))
|
|
1423
|
-
- pm-changelog over-escapes markdown in entry titles (parens + intra-word underscores) ([pm-3299](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/issues/pm-3299.toon))
|
|
1424
1464
|
|
|
1425
1465
|
### Removed
|
|
1426
1466
|
|
|
@@ -1693,11 +1733,11 @@
|
|
|
1693
1733
|
|
|
1694
1734
|
### Other
|
|
1695
1735
|
|
|
1736
|
+
- Upgrade pm-changelog to 2026.6.9 and validate changelog fidelity ([pm-kx7v](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/tasks/pm-kx7v.toon))
|
|
1696
1737
|
- Document pm-linked-test-adapters package in EXTENSIONS.md and TESTING.md ([pm-yj8n](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-yj8n.toon))
|
|
1697
1738
|
- Close stale GH issues, clarify dedupe-audit docs, and bump @sentry/node ([pm-utd6](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/tasks/pm-utd6.toon))
|
|
1698
1739
|
- Run verification matrix and temp-dir smoke for active cycle ([pm-rav7](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/tasks/pm-rav7.toon))
|
|
1699
1740
|
- SDK author-ergonomics batch: extension-manifest JSON Schema, getWorkspaceContracts memoization, FlagDefinition type/value_type unification ([pm-l0jd](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-l0jd.toon))
|
|
1700
|
-
- Upgrade pm-changelog to 2026.6.9 and validate changelog fidelity ([pm-kx7v](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/tasks/pm-kx7v.toon))
|
|
1701
1741
|
|
|
1702
1742
|
## 2026.6.9 - 2026-06-09
|
|
1703
1743
|
|
|
@@ -1720,9 +1760,9 @@
|
|
|
1720
1760
|
|
|
1721
1761
|
### Added
|
|
1722
1762
|
|
|
1763
|
+
- Add schema show-status status inspection ([pm-qpus](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/features/pm-qpus.toon))
|
|
1723
1764
|
- MCP pm_health defaults to the compact summary projection for token-efficient agent health checks ([pm-yjub](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/features/pm-yjub.toon))
|
|
1724
1765
|
- list/search: trim default filters/projection/sorting/now trailer in compact/agent mode ([pm-vhx6](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/features/pm-vhx6.toon))
|
|
1725
|
-
- Add schema show-status status inspection ([pm-qpus](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/features/pm-qpus.toon))
|
|
1726
1766
|
|
|
1727
1767
|
### Changed
|
|
1728
1768
|
|
|
@@ -1982,10 +2022,10 @@
|
|
|
1982
2022
|
|
|
1983
2023
|
### Other
|
|
1984
2024
|
|
|
2025
|
+
- 2026-05-30 package SDK dogfood audit and startup telemetry performance pass ([pm-qmx3](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/tasks/pm-qmx3.toon))
|
|
1985
2026
|
- Make MCP status enum + shell completion runtime-resolved from schema (not hardcoded) ([pm-jtdc](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-jtdc.toon))
|
|
1986
2027
|
- Calendar view/format did-you-mean + dependency and type-safety cleanup ([pm-5oxq](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-5oxq.toon))
|
|
1987
2028
|
- Defer eager per-command startup work: completion flag-strings, MCP tool schema build, telemetry flush spawn ([pm-3mal](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-3mal.toon))
|
|
1988
|
-
- 2026-05-30 package SDK dogfood audit and startup telemetry performance pass ([pm-qmx3](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/tasks/pm-qmx3.toon))
|
|
1989
2029
|
|
|
1990
2030
|
## 2026.5.30 - 2026-05-30
|
|
1991
2031
|
|
|
@@ -2065,6 +2105,8 @@
|
|
|
2065
2105
|
|
|
2066
2106
|
### Other
|
|
2067
2107
|
|
|
2108
|
+
- Generate full historical CHANGELOG.md through pm-changelog ([pm-afl9](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/tasks/pm-afl9.toon))
|
|
2109
|
+
- Verify and repair pm-changelog-generated main CHANGELOG release alignment ([pm-5baq](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/tasks/pm-5baq.toon))
|
|
2068
2110
|
- Deduplicate beads/todos index.ts package-runtime loader (install-safe mechanism needed) ([pm-wwa7](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-wwa7.toon))
|
|
2069
2111
|
- Deduplicate Beads and Todos package adapter runtimes ([pm-ybfj](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-ybfj.toon))
|
|
2070
2112
|
- Deduplicate bundled package runtime option parsing helpers ([pm-y5u0](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-y5u0.toon))
|
|
@@ -2083,11 +2125,9 @@
|
|
|
2083
2125
|
- Single-source Codex plugin docs tool surface ([pm-d97r](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-d97r.toon))
|
|
2084
2126
|
- Single-source extension governance policy defaults ([pm-axd1](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-axd1.toon))
|
|
2085
2127
|
- Unify plugin/MCP naming: pm-cli-claude→pm-claude, pm-cli-codex→pm-codex, pm-cli-native MCP→pm-mcp, packages @unbrained/pm-package-X→@unbrained/pm-X ([pm-ash0](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-ash0.toon))
|
|
2086
|
-
- Generate full historical CHANGELOG.md through pm-changelog ([pm-afl9](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/tasks/pm-afl9.toon))
|
|
2087
2128
|
- Calendar + SDK + vector-search + docs review (2026-05-27) ([pm-a0w4](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-a0w4.toon))
|
|
2088
2129
|
- Agent-UX combined PR: compact mutation output (pm-ch59) + smarter unknown-flag recovery (pm-8nyc) ([pm-70mi](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/plans/pm-70mi.toon))
|
|
2089
2130
|
- Dogfood 2026-05-20 low-severity CLI polish backlog (config UX, init verbosity, help alias bloat, default-safety, doc/validator drift) ([pm-5k2w](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-5k2w.toon))
|
|
2090
|
-
- Verify and repair pm-changelog-generated main CHANGELOG release alignment ([pm-5baq](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/tasks/pm-5baq.toon))
|
|
2091
2131
|
- Single-source guide-shell routing snippets across docs ([pm-48vd](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-48vd.toon))
|
|
2092
2132
|
- Single-source Plan workflow examples across plugin docs ([pm-3y56](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-3y56.toon))
|
|
2093
2133
|
- Keep large modules maintainable via barrel re-export splits + explicit uncovered allowlist ([pm-3cbk](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/decisions/pm-3cbk.toon))
|
|
@@ -2125,6 +2165,7 @@
|
|
|
2125
2165
|
|
|
2126
2166
|
### Other
|
|
2127
2167
|
|
|
2168
|
+
- Install and validate pm-changelog package ([pm-7811](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/tasks/pm-7811.toon))
|
|
2128
2169
|
- history-repair command + legacy drift cleanup + replay dedup ([pm-c3dx](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/plans/pm-c3dx.toon))
|
|
2129
2170
|
- Deduplicate templates package runtime and legacy command implementation ([pm-ypqp](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-ypqp.toon))
|
|
2130
2171
|
- Deduplicate mutation author fallback resolution across commands ([pm-xh0y](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-xh0y.toon))
|
|
@@ -2142,7 +2183,6 @@
|
|
|
2142
2183
|
- Deduplicate comments, notes, and learnings command stacks ([pm-9y8q](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-9y8q.toon))
|
|
2143
2184
|
- Deduplicate front-matter key-order contract literals in tests ([pm-8fx3](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-8fx3.toon))
|
|
2144
2185
|
- Extract shared temporary-directory lifecycle helpers for tests ([pm-7tug](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-7tug.toon))
|
|
2145
|
-
- Install and validate pm-changelog package ([pm-7811](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/tasks/pm-7811.toon))
|
|
2146
2186
|
- Extract shared direct CLI spawn helper for integration tests ([pm-401l](https://github.com/unbraind/pm-cli/blob/main/.agents/pm/chores/pm-401l.toon))
|
|
2147
2187
|
|
|
2148
2188
|
## 2026.5.23 - 2026-05-23
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="48877bbb-17bf-5a78-91fa-19a2f2f4c2be")}catch(e){}}();
|
|
3
3
|
import { pathExists, resolveItemTypeRegistry, EXIT_CODE, getSettingsPath, resolvePmRoot, readSettings, getActiveExtensionRegistrations, locateItem, runActiveServiceOverride, levenshteinDistanceWithinLimit, } from "../sdk/runtime-primitives.js";
|
|
4
4
|
import { BUILTIN_ITEM_TYPE_VALUES } from "../types/index.js";
|
|
5
5
|
import { PM_CORE_COMMAND_NAMES, resolveSubcommandFlagContractsForCommand, } from "../sdk/cli-contracts.js";
|
|
@@ -587,10 +587,20 @@ function resolveUnknownOptionSuggestions(message, commandName) {
|
|
|
587
587
|
...suggestNearestLongFlags(match[1], collectKnownLongFlags(commandName)),
|
|
588
588
|
])
|
|
589
589
|
: undefined;
|
|
590
|
+
const otherCommands = match
|
|
591
|
+
? findOtherCommandsForFlag(match[1], commandName)
|
|
592
|
+
: [];
|
|
593
|
+
const declaredOnPath = match !== null &&
|
|
594
|
+
collectKnownLongFlags(commandName).includes(normalizeLongFlag(match[1]));
|
|
590
595
|
return {
|
|
591
596
|
match,
|
|
592
597
|
suggestions,
|
|
593
|
-
otherCommands
|
|
598
|
+
otherCommands,
|
|
599
|
+
scope: declaredOnPath
|
|
600
|
+
? "declared_on_path"
|
|
601
|
+
: otherCommands.length > 0
|
|
602
|
+
? "declared_elsewhere"
|
|
603
|
+
: "declared_nowhere",
|
|
594
604
|
};
|
|
595
605
|
}
|
|
596
606
|
function resolveSuggestedRetryForUnknownOption(invocationArgv, unknownOptionMatch, unknownOptionSuggestions) {
|
|
@@ -681,6 +691,7 @@ export async function resolveCommanderUsageContext(error, rootProgram, extension
|
|
|
681
691
|
? unknownOption.otherCommands.length
|
|
682
692
|
: undefined,
|
|
683
693
|
unknownOptionOtherCommandsTruncated: unknownOption.otherCommands.length > 12 || undefined,
|
|
694
|
+
unknownOptionScope: unknownOption.scope,
|
|
684
695
|
suggestedRetryCommand,
|
|
685
696
|
verifiedCollectionItemId: workspaceUsage.verifiedCollectionItemId,
|
|
686
697
|
...splitSchemaSubcommand,
|
|
@@ -691,7 +702,7 @@ export async function resolveCommanderUsageContext(error, rootProgram, extension
|
|
|
691
702
|
/** Implements format commander usage message for the public runtime surface of this module. */
|
|
692
703
|
export async function formatCommanderUsageMessage(error, rootProgram, extensionDescriptors, guidanceOverrides = {}) {
|
|
693
704
|
const usageContext = await resolveCommanderUsageContext(error, rootProgram, extensionDescriptors, guidanceOverrides);
|
|
694
|
-
const { message, commandName, allowedTypes, unknownCommandExamples, unknownCommandNextSteps, attemptedCommand, normalizedInvocationArgs, providedOptionFlags, unknownOptionSuggestions, unknownOptionOtherCommands, unknownOptionOtherCommandsTotal, unknownOptionOtherCommandsTruncated, unknownSubcommandPath, unknownSubcommandToken, unknownSubcommandAllowedValues, suggestedRetryCommand, verifiedCollectionItemId, failedExtensions, } = usageContext;
|
|
705
|
+
const { message, commandName, allowedTypes, unknownCommandExamples, unknownCommandNextSteps, attemptedCommand, normalizedInvocationArgs, providedOptionFlags, unknownOptionSuggestions, unknownOptionOtherCommands, unknownOptionOtherCommandsTotal, unknownOptionOtherCommandsTruncated, unknownOptionScope, unknownSubcommandPath, unknownSubcommandToken, unknownSubcommandAllowedValues, suggestedRetryCommand, verifiedCollectionItemId, failedExtensions, } = usageContext;
|
|
695
706
|
const formatted = formatCommanderErrorForDisplay(message, commandName, allowedTypes, {
|
|
696
707
|
unknownCommandExamples,
|
|
697
708
|
unknownCommandNextSteps,
|
|
@@ -702,6 +713,7 @@ export async function formatCommanderUsageMessage(error, rootProgram, extensionD
|
|
|
702
713
|
unknownOptionOtherCommands,
|
|
703
714
|
unknownOptionOtherCommandsTotal,
|
|
704
715
|
unknownOptionOtherCommandsTruncated,
|
|
716
|
+
unknownOptionScope,
|
|
705
717
|
unknownSubcommandPath,
|
|
706
718
|
unknownSubcommandToken,
|
|
707
719
|
unknownSubcommandAllowedValues,
|
|
@@ -732,6 +744,7 @@ export async function formatCommanderUsageJson(error, rootProgram, extensionDesc
|
|
|
732
744
|
unknownOptionOtherCommands: usageContext.unknownOptionOtherCommands,
|
|
733
745
|
unknownOptionOtherCommandsTotal: usageContext.unknownOptionOtherCommandsTotal,
|
|
734
746
|
unknownOptionOtherCommandsTruncated: usageContext.unknownOptionOtherCommandsTruncated,
|
|
747
|
+
unknownOptionScope: usageContext.unknownOptionScope,
|
|
735
748
|
unknownSubcommandPath: usageContext.unknownSubcommandPath,
|
|
736
749
|
unknownSubcommandToken: usageContext.unknownSubcommandToken,
|
|
737
750
|
unknownSubcommandAllowedValues: usageContext.unknownSubcommandAllowedValues,
|
|
@@ -750,4 +763,4 @@ export const _testOnly = {
|
|
|
750
763
|
suggestNearestLongFlags,
|
|
751
764
|
};
|
|
752
765
|
//# sourceMappingURL=commander-usage.js.map
|
|
753
|
-
//# debugId=
|
|
766
|
+
//# debugId=48877bbb-17bf-5a78-91fa-19a2f2f4c2be
|
|
@@ -13,6 +13,7 @@ interface GuidanceMessage {
|
|
|
13
13
|
why?: string;
|
|
14
14
|
examples?: string[];
|
|
15
15
|
nextSteps?: string[];
|
|
16
|
+
verificationErrors?: string[];
|
|
16
17
|
recovery?: PmCliErrorRecoveryPayload;
|
|
17
18
|
}
|
|
18
19
|
/** Documents the json error envelope payload exchanged by command, SDK, and package integrations. */
|
|
@@ -35,6 +36,8 @@ export interface JsonErrorEnvelope {
|
|
|
35
36
|
examples?: string[];
|
|
36
37
|
/** Value that configures or reports next steps for this contract. */
|
|
37
38
|
next_steps?: string[];
|
|
39
|
+
/** Exact integrity verifier findings that caused the operation to refuse. */
|
|
40
|
+
verification_errors?: string[];
|
|
38
41
|
/** Value that configures or reports recovery for this contract. */
|
|
39
42
|
recovery?: PmCliErrorRecoveryPayload;
|
|
40
43
|
}
|
|
@@ -58,6 +61,8 @@ export interface ErrorClassification {
|
|
|
58
61
|
examples?: string[];
|
|
59
62
|
/** Value that configures or reports next steps for this contract. */
|
|
60
63
|
next_steps?: string[];
|
|
64
|
+
/** Exact integrity verifier findings that caused the operation to refuse. */
|
|
65
|
+
verification_errors?: string[];
|
|
61
66
|
/** Value that configures or reports recovery for this contract. */
|
|
62
67
|
recovery?: PmCliErrorRecoveryPayload;
|
|
63
68
|
}
|
|
@@ -81,6 +86,8 @@ export interface CommanderGuidanceContext {
|
|
|
81
86
|
unknownOptionOtherCommandsTotal?: number;
|
|
82
87
|
/** Whether the structured command candidates reached their own ceiling. */
|
|
83
88
|
unknownOptionOtherCommandsTruncated?: boolean;
|
|
89
|
+
/** Declared lexicon membership of the rejected option spelling. */
|
|
90
|
+
unknownOptionScope?: PmCliErrorRecoveryPayload["option_scope"];
|
|
84
91
|
/** Command family whose positional subcommand was split into invalid tokens. */
|
|
85
92
|
unknownSubcommandPath?: string;
|
|
86
93
|
/** Rejected positional subcommand token or token sequence. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="5251395b-715a-5559-a7d5-ca3bc4a1bb16")}catch(e){}}();
|
|
3
3
|
import { resolveRecoveryCommandName } from "../sdk/agent/command-recovery.js";
|
|
4
4
|
import { renderPmCommand } from "./argv-utils.js";
|
|
5
5
|
import { discoverNearbyPmRoot } from "../sdk/tracker-root-discovery.js";
|
|
@@ -171,6 +171,11 @@ function normalizeRecoveryPayload(payload) {
|
|
|
171
171
|
if (payload.candidate_commands_truncated === true) {
|
|
172
172
|
normalized.candidate_commands_truncated = true;
|
|
173
173
|
}
|
|
174
|
+
if (payload.option_scope === "declared_on_path" ||
|
|
175
|
+
payload.option_scope === "declared_elsewhere" ||
|
|
176
|
+
payload.option_scope === "declared_nowhere") {
|
|
177
|
+
normalized.option_scope = payload.option_scope;
|
|
178
|
+
}
|
|
174
179
|
assignRecoveryString(normalized, "suggested_retry", payload.suggested_retry);
|
|
175
180
|
if (typeof payload.retry_after_ms === "number" &&
|
|
176
181
|
Number.isSafeInteger(payload.retry_after_ms) &&
|
|
@@ -221,6 +226,9 @@ function renderRecoveryBundle(recovery) {
|
|
|
221
226
|
if (normalized.candidate_commands_truncated === true) {
|
|
222
227
|
lines.push(" candidate_commands_truncated: true");
|
|
223
228
|
}
|
|
229
|
+
if (normalized.option_scope !== undefined) {
|
|
230
|
+
lines.push(` option_scope: ${normalized.option_scope}`);
|
|
231
|
+
}
|
|
224
232
|
appendRecoveryTextLine(lines, "suggested_retry", normalized.suggested_retry);
|
|
225
233
|
if (typeof normalized.retry_after_ms === "number") {
|
|
226
234
|
lines.push(` retry_after_ms: ${normalized.retry_after_ms}`);
|
|
@@ -258,6 +266,10 @@ export function renderGuidanceMessage(message) {
|
|
|
258
266
|
lines.push("");
|
|
259
267
|
lines.push(...renderList("Next steps:", message.nextSteps));
|
|
260
268
|
}
|
|
269
|
+
if (message.verificationErrors && message.verificationErrors.length > 0) {
|
|
270
|
+
lines.push("");
|
|
271
|
+
lines.push(...renderList("Verification errors:", message.verificationErrors));
|
|
272
|
+
}
|
|
261
273
|
const recoveryLines = renderRecoveryBundle(message.recovery);
|
|
262
274
|
if (recoveryLines.length > 0) {
|
|
263
275
|
lines.push("");
|
|
@@ -283,6 +295,9 @@ function guidanceToJsonEnvelope(message, exitCode) {
|
|
|
283
295
|
if (message.nextSteps && message.nextSteps.length > 0) {
|
|
284
296
|
payload.next_steps = message.nextSteps;
|
|
285
297
|
}
|
|
298
|
+
if (message.verificationErrors && message.verificationErrors.length > 0) {
|
|
299
|
+
payload.verification_errors = message.verificationErrors;
|
|
300
|
+
}
|
|
286
301
|
if (message.recovery) {
|
|
287
302
|
payload.recovery = message.recovery;
|
|
288
303
|
}
|
|
@@ -305,6 +320,9 @@ function guidanceToClassification(message) {
|
|
|
305
320
|
if (message.nextSteps && message.nextSteps.length > 0) {
|
|
306
321
|
payload.next_steps = message.nextSteps;
|
|
307
322
|
}
|
|
323
|
+
if (message.verificationErrors && message.verificationErrors.length > 0) {
|
|
324
|
+
payload.verification_errors = message.verificationErrors;
|
|
325
|
+
}
|
|
308
326
|
if (message.recovery) {
|
|
309
327
|
payload.recovery = message.recovery;
|
|
310
328
|
}
|
|
@@ -397,6 +415,8 @@ function applyPmCliErrorContext(guidance, rawMessage, context) {
|
|
|
397
415
|
const type = normalizeContextValue(context.type, errorType(code));
|
|
398
416
|
const examples = normalizeContextList(context.examples) ?? guidance.examples;
|
|
399
417
|
const nextSteps = normalizeContextList(context.nextSteps) ?? guidance.nextSteps;
|
|
418
|
+
const verificationErrors = normalizeContextList(context.verification_errors) ??
|
|
419
|
+
guidance.verificationErrors;
|
|
400
420
|
const fallbackTitle = guidance.code === "command_failed" && context.code
|
|
401
421
|
? buildFallbackTitleFromMessage(normalizedRawMessage)
|
|
402
422
|
: undefined;
|
|
@@ -413,6 +433,7 @@ function applyPmCliErrorContext(guidance, rawMessage, context) {
|
|
|
413
433
|
why: normalizeContextValue(context.why, guidance.why),
|
|
414
434
|
examples,
|
|
415
435
|
nextSteps,
|
|
436
|
+
verificationErrors,
|
|
416
437
|
recovery,
|
|
417
438
|
};
|
|
418
439
|
}
|
|
@@ -826,6 +847,42 @@ function buildUnsupportedUpdateOptionGuidance(optionName, context, suggestions)
|
|
|
826
847
|
}),
|
|
827
848
|
});
|
|
828
849
|
}
|
|
850
|
+
const UNKNOWN_OPTION_REQUIRED_BY_SCOPE = {
|
|
851
|
+
declared_elsewhere: "Use an option declared on this path, or move the declared option to one of its accepting command paths.",
|
|
852
|
+
declared_on_path: "Use the option with the value and syntax declared by this command path.",
|
|
853
|
+
declared_nowhere: "Use a declared option on this command path; this spelling exists nowhere in the command lexicon.",
|
|
854
|
+
};
|
|
855
|
+
function resolveUnknownOptionCandidateContext(context) {
|
|
856
|
+
const otherCommands = normalizeContextList(context.unknownOptionOtherCommands) ?? [];
|
|
857
|
+
return {
|
|
858
|
+
otherCommands,
|
|
859
|
+
optionScope: context.unknownOptionScope ??
|
|
860
|
+
(otherCommands.length > 0 ? "declared_elsewhere" : "declared_nowhere"),
|
|
861
|
+
candidateTotal: context.unknownOptionOtherCommandsTotal ?? otherCommands.length,
|
|
862
|
+
};
|
|
863
|
+
}
|
|
864
|
+
function buildUnknownOptionNextSteps(optionName, commandName, suggestions, candidateContext, retryCommand) {
|
|
865
|
+
const proseCommands = candidateContext.otherCommands.slice(0, 3);
|
|
866
|
+
const proseRemainder = candidateContext.candidateTotal - proseCommands.length;
|
|
867
|
+
const proseRemainderText = proseRemainder > 0
|
|
868
|
+
? ` and ${String(proseRemainder)} more command path(s)`
|
|
869
|
+
: "";
|
|
870
|
+
return [
|
|
871
|
+
"Run command help to confirm the exact option contracts for this command path.",
|
|
872
|
+
suggestions.length
|
|
873
|
+
? `Nearest supported options: ${suggestions.join(", ")}`
|
|
874
|
+
: undefined,
|
|
875
|
+
proseCommands.length
|
|
876
|
+
? `${optionName} is accepted by ${proseCommands.join(", ")}${proseRemainderText}. Inspect those command contracts only if you intended a different operation.`
|
|
877
|
+
: undefined,
|
|
878
|
+
candidateContext.optionScope === "declared_nowhere"
|
|
879
|
+
? `${optionName} is not declared on any command path. Use a nearest supported option on ${commandName ?? "the attempted command"}, or inspect that command's help.`
|
|
880
|
+
: undefined,
|
|
881
|
+
retryCommand
|
|
882
|
+
? `Replay with suggested correction: ${retryCommand}`
|
|
883
|
+
: undefined,
|
|
884
|
+
].filter((entry) => typeof entry === "string");
|
|
885
|
+
}
|
|
829
886
|
function buildUnknownOptionGuidance(message, commandName, context) {
|
|
830
887
|
const unknownOption = message.match(/unknown option '([^']+)'/);
|
|
831
888
|
if (!unknownOption) {
|
|
@@ -839,26 +896,8 @@ function buildUnknownOptionGuidance(message, commandName, context) {
|
|
|
839
896
|
(optionName === "--file" || optionName === "--doc")) {
|
|
840
897
|
return buildUnsupportedUpdateOptionGuidance(optionName, context, suggestions);
|
|
841
898
|
}
|
|
842
|
-
const
|
|
843
|
-
const
|
|
844
|
-
const proseCommands = otherCommands.slice(0, 3);
|
|
845
|
-
const proseRemainder = candidateTotal - proseCommands.length;
|
|
846
|
-
let proseRemainderText = "";
|
|
847
|
-
if (proseRemainder > 0) {
|
|
848
|
-
proseRemainderText = ` and ${String(proseRemainder)} more command path(s)`;
|
|
849
|
-
}
|
|
850
|
-
const nextSteps = [
|
|
851
|
-
"Run command help to confirm the exact option contracts for this command path.",
|
|
852
|
-
suggestions.length
|
|
853
|
-
? `Nearest supported options: ${suggestions.join(", ")}`
|
|
854
|
-
: undefined,
|
|
855
|
-
proseCommands.length
|
|
856
|
-
? `${optionName} is accepted by ${proseCommands.join(", ")}${proseRemainderText}. Inspect those command contracts only if you intended a different operation.`
|
|
857
|
-
: undefined,
|
|
858
|
-
retryCommand
|
|
859
|
-
? `Replay with suggested correction: ${retryCommand}`
|
|
860
|
-
: undefined,
|
|
861
|
-
].filter((entry) => typeof entry === "string");
|
|
899
|
+
const candidateContext = resolveUnknownOptionCandidateContext(guidanceContext);
|
|
900
|
+
const nextSteps = buildUnknownOptionNextSteps(optionName, commandName, suggestions, candidateContext, retryCommand);
|
|
862
901
|
const examples = [
|
|
863
902
|
retryCommand,
|
|
864
903
|
`pm ${commandName ?? "<command>"} --help`,
|
|
@@ -867,15 +906,16 @@ function buildUnknownOptionGuidance(message, commandName, context) {
|
|
|
867
906
|
code: "unknown_option",
|
|
868
907
|
title: `Unknown option ${optionName}`,
|
|
869
908
|
happened: `Commander does not recognize option ${optionName} for this command path.`,
|
|
870
|
-
required:
|
|
909
|
+
required: UNKNOWN_OPTION_REQUIRED_BY_SCOPE[candidateContext.optionScope],
|
|
871
910
|
why: "Option contracts are command-specific and intentionally validated.",
|
|
872
911
|
examples,
|
|
873
912
|
nextSteps,
|
|
874
913
|
recovery: buildCommanderRecoveryPayload(context, {
|
|
875
914
|
suggested_flags: suggestions.length > 0 ? suggestions : undefined,
|
|
876
|
-
candidate_commands: otherCommands,
|
|
877
|
-
candidate_commands_total: candidateTotal || undefined,
|
|
915
|
+
candidate_commands: candidateContext.otherCommands,
|
|
916
|
+
candidate_commands_total: candidateContext.candidateTotal || undefined,
|
|
878
917
|
candidate_commands_truncated: guidanceContext.unknownOptionOtherCommandsTruncated,
|
|
918
|
+
option_scope: candidateContext.optionScope,
|
|
879
919
|
}),
|
|
880
920
|
});
|
|
881
921
|
}
|
|
@@ -1197,4 +1237,4 @@ export const _testOnly = {
|
|
|
1197
1237
|
resolveKnownPackageCommandHint,
|
|
1198
1238
|
};
|
|
1199
1239
|
//# sourceMappingURL=error-guidance.js.map
|
|
1200
|
-
//# debugId=
|
|
1240
|
+
//# debugId=5251395b-715a-5559-a7d5-ca3bc4a1bb16
|
package/dist/cli/main.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @module cli/main
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
6
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="cf9d1c78-06f0-5330-8562-ac863c95ee86")}catch(e){}}();
|
|
7
7
|
import { Command } from "commander";
|
|
8
8
|
import { activateExtensions, clearActiveExtensionHooks, createCoreCommandHookContext, resetActiveExtensionRuntimeState, createEmptyExtensionRegistrationRegistry, discoverExtensions, getActiveCommandResult, getActiveExtensionRegistrations, loadExtensions, consumeAfterCommandAffectedItems, runActiveCommandHandler, runActiveParserOverride, runActivePreflightOverride, runAfterCommandHooks, runBeforeCommandHooks, setActiveCommandResult, setActiveCommandContext, setActiveExtensionCommands, setActiveExtensionHooks, setActiveExtensionParsers, setActiveExtensionPreflight, setActiveExtensionRegistrations, setActiveExtensionRenderers, setActiveExtensionServices, pathExists, resolvePmCliVersion, resolvePmPackageRootFromModule, resolveItemTypeRegistry, resolveRuntimeFieldRegistry, EXIT_CODE, resolveTelemetryErrorCategory, PmCliError, asRecordOrNull, printError, printResult, maybeRunFirstUseTelemetryPrompt, emitTelemetryErrorEvent, startTelemetryCommand, deriveTelemetryCommandResolution, sentryCaptureCliError, sentryFinishCommandSpan, sentryFlush, sentryLogCliUsageError, sentrySetCommandContext, sentryStartCommandSpan, ensureSentryInit, getSettingsPath, resolvePmRoot, readSettings, readSettingsWithMetadata, runWithWorkspaceHarnessSignalDescriptors, createLazyModule, } from "../sdk/runtime-primitives.js";
|
|
9
9
|
import { resolveSubcommandFlagContractsForCommand } from "../sdk/cli-contracts.js";
|
|
@@ -1598,6 +1598,7 @@ function attachProgramLifecycleHooks(rootProgram) {
|
|
|
1598
1598
|
outputBudget: rawGlobalOptions.outputBudget,
|
|
1599
1599
|
outputFormat: rawGlobalOptions.outputFormat,
|
|
1600
1600
|
outputSession: rawGlobalOptions.outputSession,
|
|
1601
|
+
outputCursor: rawGlobalOptions.outputCursor,
|
|
1601
1602
|
});
|
|
1602
1603
|
forwardReadOutputIncludeModes(actionCommand, commandPath, globalOptions, commandOptions);
|
|
1603
1604
|
await maybeRunFirstUseTelemetryPrompt(commandPath, globalOptions);
|
|
@@ -2511,4 +2512,4 @@ export const _testOnly = {
|
|
|
2511
2512
|
wrapThrownErrorForSentry,
|
|
2512
2513
|
};
|
|
2513
2514
|
//# sourceMappingURL=main.js.map
|
|
2514
|
-
//# debugId=
|
|
2515
|
+
//# debugId=cf9d1c78-06f0-5330-8562-ac863c95ee86
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="2745d577-4f6c-5b9e-b54a-e1451e022d63")}catch(e){}}();
|
|
3
3
|
import { resolvePmRoot } from "../sdk/runtime-primitives.js";
|
|
4
|
-
import {
|
|
4
|
+
import { acknowledgeUnknownAuthorHistoryEventsFromTransport } from "../sdk/author-attribution.js";
|
|
5
5
|
import { collect, getGlobalOptions, printResult, readOptionString, } from "./registration-helpers.js";
|
|
6
6
|
async function runHistoryAuthorAcknowledgeAction(options, command) {
|
|
7
7
|
const globalOptions = getGlobalOptions(command);
|
|
8
8
|
const rawEvents = Array.isArray(options.event)
|
|
9
9
|
? options.event
|
|
10
10
|
: [];
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
const result = await acknowledgeUnknownAuthorHistoryEventsFromTransport(resolvePmRoot(process.cwd(), globalOptions.path), {
|
|
12
|
+
historyEvent: rawEvents,
|
|
13
|
+
allActionable: options.allActionable === true,
|
|
14
|
+
dryRun: options.dryRun === true,
|
|
15
|
+
planFingerprint: readOptionString(options, "planFingerprint"),
|
|
16
|
+
limit: options.limit,
|
|
17
|
+
attributedAuthor: readOptionString(options, "attributedAuthor"),
|
|
16
18
|
reviewer: readOptionString(options, "reviewer"),
|
|
17
19
|
reason: readOptionString(options, "reason"),
|
|
18
20
|
});
|
|
@@ -24,11 +26,14 @@ export function registerHistoryAuthorAcknowledgeCommand(program) {
|
|
|
24
26
|
.command("history-author-acknowledge")
|
|
25
27
|
.option("--event <item-id:line>", "Unknown-author event coordinate (repeatable)", collect)
|
|
26
28
|
.option("--all-actionable", "Select all actionable events")
|
|
27
|
-
.
|
|
28
|
-
.
|
|
29
|
-
.
|
|
29
|
+
.option("--dry-run", "Preview a deterministic source-bound plan")
|
|
30
|
+
.option("--plan-fingerprint <sha256>", "Apply the exact fingerprint returned by --dry-run")
|
|
31
|
+
.option("--limit <n>", "Maximum coordinate rows returned in the plan")
|
|
32
|
+
.option("--attributed-author <value>", "Reviewed principal attribution")
|
|
33
|
+
.option("--reviewer <value>", "Disposition reviewer")
|
|
34
|
+
.option("--reason <value>", "Review evidence")
|
|
30
35
|
.description("Append audited dispositions for immutable unknown-author events.")
|
|
31
36
|
.action(runHistoryAuthorAcknowledgeAction);
|
|
32
37
|
}
|
|
33
38
|
//# sourceMappingURL=register-history-author.js.map
|
|
34
|
-
//# debugId=
|
|
39
|
+
//# debugId=2745d577-4f6c-5b9e-b54a-e1451e022d63
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="60ee1ab9-00a0-50a7-839e-4938ecc6a48f")}catch(e){}}();
|
|
3
3
|
import { resolveBodyFileContent, EXIT_CODE, splitCommaList, PmCliError, createUnknownSubcommandError, } from "../sdk/runtime-primitives.js";
|
|
4
4
|
import { CREATE_COMMANDER_OPTION_REGISTRATION_CONTRACTS, PLAN_CREATE_METADATA_PARAMETER_KEYS, UPDATE_COMMANDER_OPTION_REGISTRATION_CONTRACTS, } from "../sdk/cli-contracts.js";
|
|
5
5
|
import { BUILTIN_ITEM_TYPE_VALUES } from "../types/index.js";
|
|
@@ -1670,6 +1670,7 @@ export function registerMutationCommands(program, registrationOptions = {}) {
|
|
|
1670
1670
|
.argument("[id]", "Item id (omit with --all)")
|
|
1671
1671
|
.option("--all", "Scan every stream for drift and repair each drifted stream in one audited pass")
|
|
1672
1672
|
.option("--dry-run", "Preview the re-anchor impact without writing the history file")
|
|
1673
|
+
.option("--normalize-provenance", "Remove invalid provenance; return aggregate-only evidence")
|
|
1673
1674
|
.option("--author <value>", "Mutation author")
|
|
1674
1675
|
.option("--message <value>", "Audit history message for the repair marker entry")
|
|
1675
1676
|
.option("--force", "Force ownership/lock override")
|
|
@@ -1684,6 +1685,7 @@ export function registerMutationCommands(program, registrationOptions = {}) {
|
|
|
1684
1685
|
author: typeof options.author === "string" ? options.author : undefined,
|
|
1685
1686
|
message: typeof options.message === "string" ? options.message : undefined,
|
|
1686
1687
|
force: Boolean(options.force),
|
|
1688
|
+
normalizeProvenance: options.normalizeProvenance === true,
|
|
1687
1689
|
};
|
|
1688
1690
|
// history-repair only re-anchors the audit stream; item content is untouched,
|
|
1689
1691
|
// so search caches do not need invalidation.
|
|
@@ -1838,4 +1840,4 @@ export function registerMutationCommands(program, registrationOptions = {}) {
|
|
|
1838
1840
|
.action(runDepsAction);
|
|
1839
1841
|
}
|
|
1840
1842
|
//# sourceMappingURL=register-mutation.js.map
|
|
1841
|
-
//# debugId=
|
|
1843
|
+
//# debugId=60ee1ab9-00a0-50a7-839e-4938ecc6a48f
|