@unbrained/pm-cli 2026.8.8 → 2026.8.10
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 +59 -0
- package/dist/cli/commander-usage.js +17 -12
- package/dist/cli/help-json-payload.js +51 -16
- package/dist/cli/main.js +7 -6
- package/dist/cli-bundle/bundle-manifest.json +162 -162
- package/dist/cli-bundle/chunks/chunk-2QYH4QMI.js +30 -0
- package/dist/cli-bundle/chunks/{chunk-2ZMXX3Q6.js → chunk-EBO7OUUE.js} +70 -70
- package/dist/cli-bundle/chunks/{chunk-NUXRRNAB.js → chunk-ETML5C6H.js} +48 -48
- package/dist/cli-bundle/chunks/chunk-JUDU4RO4.js +194 -0
- package/dist/cli-bundle/chunks/chunk-JZSNADRR.js +5 -0
- package/dist/cli-bundle/chunks/chunk-MENWVGJW.js +2 -0
- package/dist/cli-bundle/chunks/{chunk-ALDHXLPS.js → chunk-S4EITGLA.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-TIGKWVLA.js +13 -0
- package/dist/cli-bundle/chunks/{chunk-CBLA33YK.js → chunk-TRWXF476.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-TSLDTJLQ.js +2 -0
- package/dist/cli-bundle/chunks/{register-list-query-WFZAMJHZ.js → register-list-query-OJ6ZXKV4.js} +2 -2
- package/dist/cli-bundle/chunks/{register-mutation-SOKKOTHQ.js → register-mutation-DKI7QC7O.js} +2 -2
- package/dist/cli-bundle/chunks/register-operations-P5OGMT6I.js +2 -0
- package/dist/cli-bundle/chunks/{register-setup-2HL5ZHMK.js → register-setup-S3KT2LTH.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-ANTMGYLI.js → chunk-2COZ67XT.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-2EXI2DKR.js +4 -0
- package/dist/cli-bundle/focused-chunks/{chunk-YSAHYUXX.js → chunk-34SX654S.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-36FTZ2NT.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-3CQECMKR.js +16 -0
- package/dist/cli-bundle/focused-chunks/chunk-75774JWP.js +6 -0
- package/dist/cli-bundle/focused-chunks/chunk-7UN6BHHO.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-TCSAPH33.js → chunk-CHIBMEZR.js} +6 -6
- package/dist/cli-bundle/focused-chunks/chunk-DZGAHZZV.js +3 -0
- package/dist/cli-bundle/focused-chunks/chunk-FF4MNAYB.js +153 -0
- package/dist/cli-bundle/focused-chunks/chunk-GHTN2ILR.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-I4YM2I7S.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-IMDTEN7K.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-IW43E4XL.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-JMVA4HKR.js +5 -0
- package/dist/cli-bundle/focused-chunks/{chunk-PL2EYDJK.js → chunk-KR5RVXLQ.js} +31 -29
- package/dist/cli-bundle/focused-chunks/chunk-KSNJG4KI.js +16 -0
- package/dist/cli-bundle/focused-chunks/chunk-M6RPIXKC.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-MXYSIQ56.js +18 -0
- package/dist/cli-bundle/focused-chunks/chunk-RIIN5V4N.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-RKWSCYYN.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 +38 -38
- 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 +1 -1
- 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 +19 -9
- package/dist/core/fs/fs-utils.d.ts +10 -0
- package/dist/core/fs/fs-utils.js +16 -4
- package/dist/core/history/history.js +13 -4
- package/dist/core/item/actionability.d.ts +7 -1
- package/dist/core/item/actionability.js +71 -15
- package/dist/core/item/item-format.js +3 -32
- package/dist/core/schema/fields-file.d.ts +1 -2
- package/dist/core/schema/fields-file.js +4 -11
- package/dist/core/schema/runtime-schema.js +3 -10
- package/dist/core/schema/status-defs-file.d.ts +1 -2
- package/dist/core/schema/status-defs-file.js +4 -32
- package/dist/core/schema/status-token.d.ts +2 -0
- package/dist/core/schema/status-token.js +32 -0
- package/dist/core/schema/type-workflows.d.ts +1 -2
- package/dist/core/schema/type-workflows.js +4 -11
- package/dist/core/shared/author.d.ts +25 -0
- package/dist/core/shared/author.js +128 -10
- package/dist/core/shared/errors.d.ts +4 -0
- package/dist/core/shared/errors.js +2 -2
- package/dist/core/shared/text-normalization.d.ts +1 -1
- package/dist/core/shared/text-normalization.js +2 -2
- package/dist/sdk/actionability.d.ts +1 -1
- package/dist/sdk/actionability.js +3 -3
- package/dist/sdk/agent/command-recovery.d.ts +4 -0
- package/dist/sdk/agent/command-recovery.js +52 -0
- package/dist/sdk/agent/command-suggestions.d.ts +4 -0
- package/dist/sdk/agent/command-suggestions.js +67 -0
- package/dist/sdk/agent/create-option-policy.d.ts +12 -0
- package/dist/sdk/agent/create-option-policy.js +32 -0
- package/dist/sdk/agent/item-addressing.d.ts +19 -0
- package/dist/sdk/agent/item-addressing.js +208 -0
- package/dist/sdk/cli-bootstrap.d.ts +1 -1
- package/dist/sdk/cli-bootstrap.js +20 -5
- package/dist/sdk/cli-contracts/commander-mutation-options.js +16 -4
- package/dist/sdk/cli-contracts/flag-contracts.js +62 -21
- package/dist/sdk/cli-contracts/registration-helpers.js +10 -2
- package/dist/sdk/cli-contracts/runtime-contracts.d.ts +8 -0
- package/dist/sdk/cli-contracts/runtime-contracts.js +20 -3
- package/dist/sdk/cli-contracts/tool-option-contracts.d.ts +6 -0
- package/dist/sdk/cli-contracts/tool-option-contracts.js +4 -2
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +19 -4
- package/dist/sdk/cli-contracts/tool-schema.js +17 -4
- package/dist/sdk/context-intent-runtime.js +8 -5
- package/dist/sdk/context-signal-store.d.ts +34 -0
- package/dist/sdk/context-signal-store.js +24 -2
- package/dist/sdk/core-governance.d.ts +1 -1
- package/dist/sdk/core-governance.js +3 -3
- package/dist/sdk/dependencies.d.ts +2 -0
- package/dist/sdk/dependencies.js +7 -6
- package/dist/sdk/dependency-flag-validation.d.ts +15 -1
- package/dist/sdk/dependency-flag-validation.js +54 -2
- package/dist/sdk/extension/bundled-catalog.js +19 -6
- package/dist/sdk/generated-error-code-catalog.js +110 -2
- package/dist/sdk/governance/health.js +38 -12
- package/dist/sdk/governance/provenance-health.d.ts +39 -0
- package/dist/sdk/governance/provenance-health.js +185 -0
- package/dist/sdk/governance/validate-item-reader.d.ts +13 -0
- package/dist/sdk/governance/validate-item-reader.js +18 -0
- package/dist/sdk/governance/validate.d.ts +2 -2
- package/dist/sdk/governance/validate.js +25 -11
- package/dist/sdk/governance.d.ts +1 -0
- package/dist/sdk/governance.js +3 -2
- package/dist/sdk/graph/assembly.d.ts +4 -0
- package/dist/sdk/graph/assembly.js +22 -2
- package/dist/sdk/graph/run.d.ts +2 -0
- package/dist/sdk/graph/run.js +3 -2
- package/dist/sdk/index.d.ts +4 -0
- package/dist/sdk/index.js +6 -2
- package/dist/sdk/lifecycle/close.js +27 -19
- package/dist/sdk/lifecycle/create.d.ts +2 -0
- package/dist/sdk/lifecycle/create.js +66 -19
- package/dist/sdk/lifecycle/plan.js +6 -3
- package/dist/sdk/lifecycle/update-many.js +39 -27
- package/dist/sdk/lifecycle/update.d.ts +6 -1
- package/dist/sdk/lifecycle/update.js +51 -28
- package/dist/sdk/merge/driver.d.ts +2 -1
- package/dist/sdk/merge/driver.js +7 -4
- package/dist/sdk/merge/index.d.ts +1 -1
- package/dist/sdk/merge/index.js +3 -3
- package/dist/sdk/merge/install.d.ts +4 -0
- package/dist/sdk/merge/install.js +29 -17
- package/dist/sdk/merge/receipts.d.ts +17 -1
- package/dist/sdk/merge/receipts.js +112 -20
- package/dist/sdk/merge/reconcile.js +21 -4
- package/dist/sdk/merge/three-way.d.ts +6 -2
- package/dist/sdk/merge/three-way.js +24 -10
- package/dist/sdk/output-projection.js +24 -4
- package/dist/sdk/query/context.d.ts +2 -0
- package/dist/sdk/query/context.js +7 -4
- package/dist/sdk/query/get.d.ts +11 -0
- package/dist/sdk/query/get.js +37 -3
- package/dist/sdk/query/light-metadata.d.ts +3 -0
- package/dist/sdk/query/light-metadata.js +19 -0
- package/dist/sdk/read-output-contracts.d.ts +1 -1
- package/dist/sdk/read-output-contracts.js +23 -4
- package/dist/sdk/relationship-kinds/contract.d.ts +48 -0
- package/dist/sdk/relationship-kinds/contract.js +22 -0
- package/dist/sdk/relationships.d.ts +6 -41
- package/dist/sdk/relationships.js +12 -126
- package/dist/sdk/runtime-primitives.d.ts +1 -1
- package/dist/sdk/runtime-primitives.js +3 -3
- package/dist/sdk/runtime.d.ts +4 -1
- package/dist/sdk/runtime.js +8 -3
- package/dist/sdk/schema-migration.js +7 -9
- package/dist/sdk/similarity-scoring.d.ts +1 -2
- package/dist/sdk/similarity-scoring.js +4 -16
- package/dist/sdk/similarity.d.ts +5 -0
- package/dist/sdk/similarity.js +40 -10
- package/dist/sdk/structured-mutations.js +5 -2
- package/dist/sdk/test/linked-command-detection.d.ts +2 -7
- package/dist/sdk/test/linked-command-detection.js +22 -9
- package/dist/sdk/workspace-snapshot.d.ts +4 -0
- package/dist/sdk/workspace-snapshot.js +24 -11
- package/docs/AGENT_GUIDE.md +5 -2
- package/docs/COMMANDS.md +27 -6
- package/docs/DEPENDENCY_KIND_CONTRACT.md +29 -0
- package/docs/ITEM_READ_PROJECTIONS.md +26 -0
- package/docs/MERGE_SAFETY.md +17 -8
- package/docs/README.md +2 -5
- package/docs/READ_OUTPUT_CONTRACTS.md +2 -2
- package/docs/RELATIONSHIP_GRAPH.md +1 -1
- package/docs/SDK.md +33 -8
- package/docs/SDK_AGENT_SESSION_CONTEXT.md +36 -2
- package/docs/SDK_CONTEXT.md +97 -0
- package/docs/SDK_CONTEXT_INTEGRITY.md +33 -3
- package/docs/SENTRY_CONTRACT_EPOCHS.md +20 -0
- package/docs/agent-task-token-baseline.json +2 -2
- package/marketplace.json +2 -2
- package/package.json +5 -4
- 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 +415 -43
- package/dist/cli-bundle/chunks/chunk-GKA54IJM.js +0 -5
- package/dist/cli-bundle/chunks/chunk-KRY7SRUO.js +0 -2
- package/dist/cli-bundle/chunks/chunk-MNJ4NNSY.js +0 -26
- package/dist/cli-bundle/chunks/chunk-OJPCFDDY.js +0 -13
- package/dist/cli-bundle/chunks/chunk-PFSD3DAN.js +0 -194
- package/dist/cli-bundle/chunks/chunk-SQ7QZFQ6.js +0 -2
- package/dist/cli-bundle/chunks/register-operations-5XQETS6E.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-54EU2UVO.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-5FLBTZJQ.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-5GJ57YKN.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-CMDS3KYT.js +0 -14
- package/dist/cli-bundle/focused-chunks/chunk-DMKOMTTY.js +0 -6
- package/dist/cli-bundle/focused-chunks/chunk-F5B3HBEZ.js +0 -5
- package/dist/cli-bundle/focused-chunks/chunk-FI6DWU2M.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-FNOKJG6N.js +0 -16
- package/dist/cli-bundle/focused-chunks/chunk-FPDYXZBK.js +0 -4
- package/dist/cli-bundle/focused-chunks/chunk-GWI6YIKJ.js +0 -3
- package/dist/cli-bundle/focused-chunks/chunk-HCUC62AB.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-HGNKPSCB.js +0 -153
- package/dist/cli-bundle/focused-chunks/chunk-IAS7PMLG.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-SM2PJGP3.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-U646T7Z6.js +0 -18
- package/dist/cli-bundle/focused-chunks/chunk-YKPE4PPY.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-ZOLDTUU7.js +0 -2
|
@@ -60,8 +60,8 @@ also fixes the expected unique-fact shape:
|
|
|
60
60
|
|
|
61
61
|
| Tracker tier | Group spend / budget | Seen items | Suppressed repeats | Delivered bytes |
|
|
62
62
|
| ------------ | -------------------- | ---------- | ------------------ | --------------- |
|
|
63
|
-
| 2 items | 3,
|
|
64
|
-
| 2,243 items |
|
|
63
|
+
| 2 items | 3,820 / 20,000 | 2 | 3 | 15,274 |
|
|
64
|
+
| 2,243 items | 10,156 / 20,000 | 106 | 7 | 40,614 |
|
|
65
65
|
|
|
66
66
|
These are deterministic synthetic-corpus measurements from
|
|
67
67
|
`scripts/release/context-intent-calibration.json`; they contain no hosted
|
|
@@ -16,7 +16,7 @@ Ordering-cycle validation considers only kinds whose registry definition sets `o
|
|
|
16
16
|
|
|
17
17
|
SDK queries are deterministic, bounded, cancellation-aware, and return explicit visited-node, inspected-edge, truncation, and continuation metadata. The graph kernel supplies adjacency, incoming and outgoing traversal, closure, shortest path, reverse impact through incoming traversal, and induced subgraphs. The in-memory index is rebuildable directly from item metadata; durable large-workspace indexes remain an interchangeable storage implementation.
|
|
18
18
|
|
|
19
|
-
Ordering kinds also declare precedence. `source_before_target` means the source must execute first; `target_before_source` models dependency-shaped edges such as `blocked_by`. Custom kinds default to source-first for compatibility, but domain packages should declare the direction explicitly. Analytics consume this field and never infer execution meaning from the label.
|
|
19
|
+
Ordering kinds also declare precedence. `source_before_target` means the source must execute first; `target_before_source` models dependency-shaped edges such as `blocked_by`. Custom kinds default to source-first for compatibility, but domain packages should declare the direction explicitly. Analytics consume this field and never infer execution meaning from the label. Built-in canonical spellings, compatibility aliases, and inverse actionability are defined in [Dependency-kind contract](DEPENDENCY_KIND_CONTRACT.md).
|
|
20
20
|
|
|
21
21
|
Hierarchy kinds likewise declare which endpoint is the structural parent. `source_parent` supports domain edges such as company `owns` asset, while `target_parent` preserves item-shaped child `parent` parent storage. Custom hierarchy kinds default to `source_parent`; packages should declare the orientation explicitly when their persisted edge shape differs. Context explanations use this contract instead of inferring ancestry from a kind name.
|
|
22
22
|
|
package/docs/SDK.md
CHANGED
|
@@ -35,6 +35,14 @@ ownership are tracked by [pm-ig5cfe](../.agents/pm/issues/pm-ig5cfe.toon),
|
|
|
35
35
|
[pm-495lkc](../.agents/pm/issues/pm-495lkc.toon), and
|
|
36
36
|
[pm-miy5k6](../.agents/pm/issues/pm-miy5k6.toon).
|
|
37
37
|
|
|
38
|
+
Shared item addressing, lossless recovery, explicit-empty create policy,
|
|
39
|
+
semantic command discovery, and append-stable linked tests are tracked by
|
|
40
|
+
[pm-mkinft](../.agents/pm/issues/pm-mkinft.toon),
|
|
41
|
+
[pm-p316vn](../.agents/pm/issues/pm-p316vn.toon),
|
|
42
|
+
[pm-st7wgu](../.agents/pm/issues/pm-st7wgu.toon),
|
|
43
|
+
[pm-g543](../.agents/pm/issues/pm-g543.toon), and
|
|
44
|
+
[pm-x2vx](../.agents/pm/issues/pm-x2vx.toon).
|
|
45
|
+
|
|
38
46
|
Use it for extension authoring, package authoring, command/action contract discovery, and deterministic app or CI automation. Do not import private `src/core/...` modules from external integrations or packages.
|
|
39
47
|
|
|
40
48
|
## Install
|
|
@@ -309,6 +317,7 @@ Command/action contract exports:
|
|
|
309
317
|
- Execution and diagnostics engines: `runTest`, `runLinkedTests`, `runTestAll`, `runStartBackgroundRun`, `runTestRunsList`, `runTestRunsStatus`, `runTestRunsLogs`, `runTestRunsStop`, `runTestRunsResume`, `runTestRunsWorker`, `runEval`, `runTelemetry`, and `runStats`. Their CLI modules are compatibility re-exports of SDK-owned implementations.
|
|
310
318
|
- Execution and diagnostics contracts: `TestCommandOptions` / `TestResult` / `TestRunResult`, `TestAllCommandOptions` / `TestAllResult`, `StartBackgroundRunCommandOptions` / `StartBackgroundRunResult`, `TestRuns*CommandOptions`, `EvalOptions` / `EvalResult`, `TelemetryCommandOptions` / `TelemetrySubcommand`, and `StatsCommandOptions` / `StatsResult`.
|
|
311
319
|
- Linked-test authoring primitives: `parseLinkedTestJsonEntries`, the `parseLinkedTest*` field parsers, `LINKED_TEST_PM_CONTEXT_MODE_VALUES`, `LINKED_TEST_PROTECTED_ENV_KEYS`, `classifyLinkedTestFailure`, `countFailureCategories`, and `summarizeContextPreflight` let custom hosts validate, execute, classify, and report linked tests without duplicating CLI policy.
|
|
320
|
+
- Agent command primitives: `normalizeItemAddressInvocation` and `supportsItemIdAlias` project one item-id grammar across CLI adapters; `renderMissingOptionRetry` and `resolveMissingOptionPlaceholder` preserve attempted argv while deriving enum, boolean, and scalar recovery arity from flag contracts; `rankCommandPaths` and `scoreCommandPathMatch` provide deterministic synonym/edit-distance/substring ranking; `resolveCreateExplicitEmptyFlag` and `supportsCreateExplicitEmpty` model a considered-but-empty strict repeatable input without inventing metadata or graph edges.
|
|
312
321
|
- Typed plan workflow primitives on `PmClient`: `plan`, `planCreate`, `planShow`, `planAddStep`, `planUpdateStep`, `planCompleteStep`, `planBlockStep`, `planReorderStep`, `planRemoveStep`, `planLink`, `planUnlink`, `planDecision`, `planDiscovery`, `planValidation`, `planResume`, `planApprove`, and `planMaterialize`
|
|
313
322
|
- Plan contracts: `PlanSubcommand`, `PlanCommandOptions`, `PlanCommandResult`, `PlanResultPlan`, `PlanStepSummary`, `PlanShowDepth`, and `PlanTemplateName`
|
|
314
323
|
- Typed package and extension lifecycle primitives on `PmClient`: `extension`, `extensionList`, `extensionActivate`, `extensionDeactivate`, `package`, `packageList`, `packageInstall`, `packageUninstall`, `packageDoctor`, `packageManage`, `packageDescribe`, `packageReload`, `packageCatalog`, `packageActivate`, `packageDeactivate`, `packageMigrate`, and `upgrade`; one-shot `extensionMigrate` and `packageMigrate` helpers mirror those lifecycle actions.
|
|
@@ -1272,11 +1281,21 @@ const result = await commitItemMutations({
|
|
|
1272
1281
|
`commitWorkspaceTransaction` remains the escape hatch for arbitrary domains
|
|
1273
1282
|
(relationship events, foreign stores, mixed-step plans); `commitItemMutations`
|
|
1274
1283
|
covers the item-mutation 90% case with correct-by-construction wiring.
|
|
1275
|
-
Update mutation options use the same acceptance-criteria
|
|
1276
|
-
CLI: criteria are stored in one string with semicolons as boundaries
|
|
1277
|
-
each `addAc`/`removeAc` entry must be semicolon-free
|
|
1278
|
-
|
|
1279
|
-
|
|
1284
|
+
Update mutation options use the same lossless acceptance-criteria contract as
|
|
1285
|
+
the CLI: criteria are stored in one string with semicolons as boundaries, so
|
|
1286
|
+
each `addAc`/`removeAc` entry must be semicolon-free. Every removal must match or
|
|
1287
|
+
the complete mutation rejects with `acceptance_criteria_remove_unmatched` and
|
|
1288
|
+
structured `unmatched` recovery data. Whole-value `acceptanceCriteria`
|
|
1289
|
+
replacement is mutually exclusive with additive edits and returns an
|
|
1290
|
+
`acceptance_criteria_replaced:<before-count>:<after-count>` warning when it
|
|
1291
|
+
changes existing criteria.
|
|
1292
|
+
|
|
1293
|
+
Create and update mutation options also resolve every newly supplied local
|
|
1294
|
+
dependency target before persistence. Use `source_kind: "external"` for a
|
|
1295
|
+
cross-workspace endpoint. A staged local import must opt in with
|
|
1296
|
+
`allowUnresolvedDeps: true`; successful results then retain one
|
|
1297
|
+
`dependency_target_unresolved:<id>` warning per missing target. Bulk dry-runs
|
|
1298
|
+
perform the identical validation before producing a plan.
|
|
1280
1299
|
|
|
1281
1300
|
`parseItemMutationBatch` is the strict legacy JSON boundary for that primitive. It
|
|
1282
1301
|
accepts either a non-empty mutation array or `{ "mutations": [...] }`, derives
|
|
@@ -3258,9 +3277,15 @@ For SDK and automation consumers, the key runtime change is the optional `recove
|
|
|
3258
3277
|
- `suggested_retry`
|
|
3259
3278
|
|
|
3260
3279
|
Treat `recovery.suggested_retry` as the first-choice deterministic replay
|
|
3261
|
-
command when present.
|
|
3262
|
-
|
|
3263
|
-
|
|
3280
|
+
command when present. Generic missing-option retries preserve every original
|
|
3281
|
+
argv token, insert only absent real flags before the first `--` argument
|
|
3282
|
+
terminator while leaving that terminator in place, and derive placeholders from
|
|
3283
|
+
the declared flag domain (`<off|warn|strict>` for enum values and no placeholder
|
|
3284
|
+
for booleans). It is emitted only from structured recovery metadata or flags
|
|
3285
|
+
declared on the invoked command; prose that merely mentions another flag is not
|
|
3286
|
+
interpreted as a missing input. Strict close validation reports missing
|
|
3287
|
+
resolution fields first and suggests a targeted `pm update` before retrying the
|
|
3288
|
+
original close invocation.
|
|
3264
3289
|
|
|
3265
3290
|
## Authoring Pattern
|
|
3266
3291
|
|
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Tracker references: [pm-9wbiye](../.agents/pm/issues/pm-9wbiye.toon),
|
|
4
4
|
[pm-rbg1qo](../.agents/pm/issues/pm-rbg1qo.toon), and
|
|
5
|
-
[pm-oqo9l2](../.agents/pm/features/pm-oqo9l2.toon)
|
|
5
|
+
[pm-oqo9l2](../.agents/pm/features/pm-oqo9l2.toon),
|
|
6
|
+
[pm-3zgh2c](../.agents/pm/features/pm-3zgh2c.toon),
|
|
7
|
+
[pm-eq9dlw](../.agents/pm/issues/pm-eq9dlw.toon), and
|
|
8
|
+
[pm-lu6sca](../.agents/pm/features/pm-lu6sca.toon).
|
|
6
9
|
|
|
7
10
|
Project management is context management. The public SDK therefore carries a
|
|
8
11
|
session's purpose and episode boundary through the same immutable history that
|
|
@@ -59,7 +62,7 @@ import { spawn } from "node:child_process";
|
|
|
59
62
|
import { agentSessionEnvironment } from "@unbrained/pm-cli/sdk";
|
|
60
63
|
|
|
61
64
|
const session = {
|
|
62
|
-
provenance: { role: "
|
|
65
|
+
provenance: { role: "release-operator", topic: "package acceptance" },
|
|
63
66
|
episode: { id: "package-acceptance", label: "Package acceptance" },
|
|
64
67
|
};
|
|
65
68
|
|
|
@@ -75,6 +78,37 @@ The environment contract is `PM_AGENT_SESSION_ROLE`,
|
|
|
75
78
|
context keys, distinct from intentional per-observation overrides such as
|
|
76
79
|
`PM_AGENT_MODEL`.
|
|
77
80
|
|
|
81
|
+
Roles use the controlled values `implementer`, `implementation`,
|
|
82
|
+
`investigator`, `orchestrator`, `planner`, `release-operator`, and `reviewer`.
|
|
83
|
+
Case, spaces, and underscores normalize to lowercase hyphenated values. Other
|
|
84
|
+
values are ignored instead of polluting analytics. Presence-only harness flags,
|
|
85
|
+
including `CLAUDE_CODE_CHILD_SESSION=1`, are detection evidence and are never
|
|
86
|
+
persisted as semantic roles.
|
|
87
|
+
|
|
88
|
+
For ordinary CLI mutations, the detector can infer an `implementer` or
|
|
89
|
+
`reviewer` role from the bounded command verb and a topic from an explicit
|
|
90
|
+
`pm-...` item argument. Explicit overrides, session declarations, and trusted
|
|
91
|
+
host declarations retain precedence over this inference.
|
|
92
|
+
|
|
93
|
+
## Diagnose missing provenance
|
|
94
|
+
|
|
95
|
+
`diagnoseAgentIdentity()` is the additive diagnostic companion to
|
|
96
|
+
`detectAgentIdentity()`. It returns the same privacy-safe identity plus a
|
|
97
|
+
`provenance_outcomes` row for every built-in dimension. Each row is
|
|
98
|
+
`resolved`, `unavailable`, `not_configured`, or `failed`, carries rule version `v1`, and may name
|
|
99
|
+
the bounded built-in resolver. It never contains environment values, session
|
|
100
|
+
paths, prompts, or file contents.
|
|
101
|
+
|
|
102
|
+
New mutation history records failed resolver outcomes under
|
|
103
|
+
`context.agent_provenance_outcomes`; ordinary unavailable dimensions retain
|
|
104
|
+
the compact legacy-compatible null projection. A resolver is only counted as
|
|
105
|
+
attempted when its required input belongs to the detected harness; a foreign
|
|
106
|
+
host's shared `AI_AGENT` value is not Codex input. Consequently `pm health` can report
|
|
107
|
+
`provenance_resolver_zero_success:<harness>:<dimension>:<resolver>:<attempts>`
|
|
108
|
+
without confusing an unavailable harness signal with a failed resolver. The
|
|
109
|
+
warning is advisory and the storage check includes the bounded attempt and
|
|
110
|
+
success counters for diagnosis.
|
|
111
|
+
|
|
78
112
|
## Cross an MCP boundary
|
|
79
113
|
|
|
80
114
|
An embedding MCP client can add bounded `provenance` and `episode` fields to
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# SDK context platform
|
|
2
|
+
|
|
3
|
+
Tracker: [pm-9hv1o7](../.agents/pm/issues/pm-9hv1o7.toon).
|
|
4
|
+
|
|
5
|
+
`pm` treats project management as context management. This task-oriented entry
|
|
6
|
+
point routes SDK hosts, package authors, CLI integrators, and agents to the
|
|
7
|
+
smallest authoritative context primitive.
|
|
8
|
+
|
|
9
|
+
## Choose the smallest authoritative read
|
|
10
|
+
|
|
11
|
+
- Use `PmClient.context()` for ranked working context and bounded workspace memory.
|
|
12
|
+
- Use `PmClient.listAllItemMetadataLight()` or
|
|
13
|
+
`listAllItemMetadataLight(pmRoot)` for whole-project scalar metadata without
|
|
14
|
+
bodies or heavy annotation/evidence collections.
|
|
15
|
+
- Use `PmClient.get(id, { depth: "deep" })` when one item needs its complete
|
|
16
|
+
collections. Shallower reads carry an omission receipt naming every withheld
|
|
17
|
+
group and the exact `--fields` restoration.
|
|
18
|
+
- Use mutation events for changes since a cursor instead of repeatedly loading
|
|
19
|
+
a full workspace.
|
|
20
|
+
|
|
21
|
+
The root package, `sdk/runtime`, and `PmClient` expose the lightweight reader.
|
|
22
|
+
It distinguishes an empty tracker from a missing or invalid root and preserves
|
|
23
|
+
custom item-type folders from workspace settings.
|
|
24
|
+
|
|
25
|
+
## Rank and pack context
|
|
26
|
+
|
|
27
|
+
Context ranking combines recency, activity, graph proximity, priority, risk,
|
|
28
|
+
knowledge density, structural fit, and caller affinity. Derived signal snapshots
|
|
29
|
+
are rebuildable; item documents and history remain authoritative. Invalid,
|
|
30
|
+
stale, or unwritable snapshots return a stable warning, its meaning, an
|
|
31
|
+
executable recovery command, and the expected effect. Re-running `pm context`
|
|
32
|
+
confirms a successful rebuild as fresh.
|
|
33
|
+
|
|
34
|
+
See [Context relevance and packing](CONTEXT_RELEVANCE.md) for signal and token
|
|
35
|
+
budgets, and [context coordination](SDK_CONTEXT_COORDINATION.md) for cursored
|
|
36
|
+
events and duplicate governance.
|
|
37
|
+
|
|
38
|
+
## Preserve truth at boundaries
|
|
39
|
+
|
|
40
|
+
Bounded reads disclose omissions. Bounded annotation mutations return the
|
|
41
|
+
changed entry instead of replaying complete history. Unknown-author findings
|
|
42
|
+
route directly to append-only attribution. Diagnostics remain read-only unless
|
|
43
|
+
a mutation is explicitly selected.
|
|
44
|
+
|
|
45
|
+
See [context integrity](SDK_CONTEXT_INTEGRITY.md) for output selectors,
|
|
46
|
+
annotation receipts, attribution coordinates, provider boundaries, and
|
|
47
|
+
replication enforcement; see [truth contracts](SDK_CONTEXT_TRUTH_CONTRACTS.md)
|
|
48
|
+
for tracker-root and merge-driver distinctions.
|
|
49
|
+
|
|
50
|
+
## Build package workflows
|
|
51
|
+
|
|
52
|
+
Use the root SDK for application workflows and `sdk/runtime` for dependency-light
|
|
53
|
+
host primitives. Runtime contracts are authoritative for active flags and
|
|
54
|
+
package-contributed commands:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
pm <command> --help --json
|
|
58
|
+
pm contracts --command <command> --flags-only --json
|
|
59
|
+
pm contracts --runtime-only --json
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Use `findSimilarItems` for one proposal, `findDuplicateClusters` for a bounded
|
|
63
|
+
whole-tracker sweep, and `prepareSimilarityText` with
|
|
64
|
+
`scorePreparedItemSimilarity` for custom pipelines. All paths share one
|
|
65
|
+
canonical Jaccard implementation and one canonical status-token normalizer.
|
|
66
|
+
|
|
67
|
+
See [context integrity primitives](SDK_CONTEXT_INTEGRITY_PRIMITIVES.md) for
|
|
68
|
+
duplicate batches, structured errors, Plan evidence, tombstones, linked-test
|
|
69
|
+
output, and extension output ownership.
|
|
70
|
+
|
|
71
|
+
## Validate and recover
|
|
72
|
+
|
|
73
|
+
Fast health projections use light metadata. Validation materializes collections
|
|
74
|
+
needed by evidence and relationship checks, but loads bodies only for strict
|
|
75
|
+
history-drift verification. Unknown-author remediation is shared:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
pm health --verbose-author-events --json
|
|
79
|
+
pm history-author-acknowledge --all-actionable \
|
|
80
|
+
--attributed-author "<principal>" \
|
|
81
|
+
--reviewer "<reviewer>" \
|
|
82
|
+
--reason "<evidence>"
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Run repository gates after public SDK changes:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
pnpm build
|
|
89
|
+
pnpm typecheck
|
|
90
|
+
pnpm quality:surface-replication
|
|
91
|
+
pnpm sdk:surface:check
|
|
92
|
+
node scripts/run-tests.mjs coverage
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
The replication gate reports an AST-derived denominator of repeated named rule
|
|
96
|
+
bodies and enforces a non-decreasing detector floor, so deleting declarations
|
|
97
|
+
cannot make recurring implementation rules disappear from governance reports.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# SDK Context Integrity
|
|
2
2
|
|
|
3
|
-
Tracker: [pm-0k19l7](../.agents/pm/issues/pm-0k19l7.toon), [pm-9stazf](../.agents/pm/issues/pm-9stazf.toon), [pm-tu71](../.agents/pm/issues/pm-tu71.toon), [pm-0xmajx](../.agents/pm/issues/pm-0xmajx.toon), [pm-7rrqsk](../.agents/pm/issues/pm-7rrqsk.toon),
|
|
3
|
+
Tracker: [pm-0k19l7](../.agents/pm/issues/pm-0k19l7.toon), [pm-9stazf](../.agents/pm/issues/pm-9stazf.toon), [pm-tu71](../.agents/pm/issues/pm-tu71.toon), [pm-0xmajx](../.agents/pm/issues/pm-0xmajx.toon), [pm-7rrqsk](../.agents/pm/issues/pm-7rrqsk.toon), [pm-ety1qc](../.agents/pm/issues/pm-ety1qc.toon), and [pm-lu6sca](../.agents/pm/features/pm-lu6sca.toon).
|
|
4
4
|
|
|
5
5
|
## Agent Quick Context
|
|
6
6
|
|
|
@@ -18,6 +18,19 @@ pm get pm-a1b2 --output-include item,claim_state
|
|
|
18
18
|
|
|
19
19
|
An unknown selector is a usage refusal that lists the valid vocabulary. Selecting the complete `item` object together with an item field is also refused because the two selectors express conflicting projection depths. Every successful projection carries an `omission_receipt` with the exact selectors needed to restore withheld item fields or sections.
|
|
20
20
|
|
|
21
|
+
Automatic receipts cover every heavy item collection (`comments`, `notes`,
|
|
22
|
+
`learnings`, `files`, `tests`, `docs`, `reminders`, and `events`) plus `body`,
|
|
23
|
+
`children`, `claim_state`, `linked`, and `schedule`. Empty included collections
|
|
24
|
+
are distinguishable from omitted collections because inclusion is derived from
|
|
25
|
+
property presence, not collection length.
|
|
26
|
+
|
|
27
|
+
Standard and brief item reads expose the stable `collection_counts` selector;
|
|
28
|
+
full reads retain those counts and normalize every supported collection key to
|
|
29
|
+
an array. `--output-include item.collection_counts` therefore uses the same
|
|
30
|
+
selector grammar and omission receipts as any other SDK-owned item field.
|
|
31
|
+
|
|
32
|
+
The same SDK-owned read-output registry now declares `package manage` as a first-class read surface. Package authors can resolve either `package manage` or `package-manage` to its canonical contract and discover the universal include, amount, cost, and encoding dimensions without copying CLI knowledge.
|
|
33
|
+
|
|
21
34
|
## Bounded annotation mutations
|
|
22
35
|
|
|
23
36
|
Adding, editing, or deleting a comment, note, or learning returns the changed entry plus mutation and omission receipts. The reply size therefore stays independent of the item’s existing annotation history. Pass `--full-history` when a human or integration genuinely needs the complete post-mutation collection:
|
|
@@ -42,12 +55,27 @@ pm history-author-acknowledge \
|
|
|
42
55
|
--reason "Verified workspace provenance"
|
|
43
56
|
```
|
|
44
57
|
|
|
45
|
-
The SDK exposes `resolveUnknownAuthorAcknowledgmentSelector` and `parseUnknownAuthorHistoryEventCoordinates` so packages never need a private copy of this grammar.
|
|
58
|
+
The SDK exposes `resolveUnknownAuthorAcknowledgmentSelector` and `parseUnknownAuthorHistoryEventCoordinates` so packages never need a private copy of this grammar. Health and validate map actionable unknown-author warnings directly to this append-only acknowledgment command instead of sending callers through another diagnostic loop.
|
|
46
59
|
|
|
47
60
|
## Health provider boundary
|
|
48
61
|
|
|
49
62
|
`pm health` is read-only by default and never refreshes embeddings merely because a semantic provider is configured. Provider I/O requires `--refresh-vectors`; `--skip-vectors` or `--no-refresh` records the explicit non-provider path. Provider requests remain bounded by the configured embedding timeout, and a failed refresh reports the responsible vector diagnostic plus the skip remediation.
|
|
50
63
|
|
|
64
|
+
Storage integrity is evaluated independently of that provider boundary. Lossless merge receipts remain visible as provenance, while only receipts containing discarded scalar values produce `merge_decisions_unreviewed` guidance; neither classification enables vector refresh or remote provider I/O.
|
|
65
|
+
|
|
66
|
+
Brief and summary check-only health projections use the scalar-only metadata
|
|
67
|
+
reader. Validation uses collection-bearing metadata for evidence and
|
|
68
|
+
relationship checks and materializes bodies only when strict history-drift
|
|
69
|
+
verification is requested.
|
|
70
|
+
|
|
71
|
+
The storage check also reads at most 10,000 local immutable events for bounded
|
|
72
|
+
agent-provenance resolver outcomes. This scan performs no network or provider
|
|
73
|
+
I/O, tolerates malformed streams already owned by integrity diagnostics, and
|
|
74
|
+
reports an advisory warning only when a resolver was actually attempted but
|
|
75
|
+
never succeeded. The same bounded pass classifies bare boolean and single-digit
|
|
76
|
+
values across every recorded provenance dimension, publishes only aggregate
|
|
77
|
+
harness/dimension/kind counts, and never echoes the historical value.
|
|
78
|
+
|
|
51
79
|
## Replication and refusal gate
|
|
52
80
|
|
|
53
81
|
`scripts/release/surface-replication-sets.json` declares replicated SDK, CLI, MCP, documentation, and test members. `pnpm quality:surface-replication` activates sets from the Git changeset, verifies every member invariant, and reports:
|
|
@@ -55,7 +83,9 @@ The SDK exposes `resolveUnknownAuthorAcknowledgmentSelector` and `parseUnknownAu
|
|
|
55
83
|
- active set recurrence density;
|
|
56
84
|
- the largest source member’s utilization of the mandatory file-size cap;
|
|
57
85
|
- every remaining CLI-owned `PmCliError`, grouped by an explicit adapter-level disposition;
|
|
58
|
-
- applied waivers, including their PM owner and expiry
|
|
86
|
+
- applied waivers, including their PM owner and expiry;
|
|
87
|
+
- an AST-derived denominator of identical named rule bodies, declared coverage,
|
|
88
|
+
and a non-decreasing detected-cluster floor.
|
|
59
89
|
|
|
60
90
|
Query waivers directly with:
|
|
61
91
|
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Sentry Error Contract Epochs
|
|
2
|
+
|
|
3
|
+
Tracker reference: [pm-h75tjh](../.agents/pm/issues/pm-h75tjh.toon).
|
|
4
|
+
|
|
5
|
+
The release reliability gate declares `2026.8.7` as the minimum producer
|
|
6
|
+
version for canonical `pm.error_code` and `pm.exit_code` tags. An unresolved
|
|
7
|
+
event with a known older release is reported as `legacy_pre_contract`; it does
|
|
8
|
+
not block a current release merely because it cannot satisfy a future
|
|
9
|
+
producer contract.
|
|
10
|
+
|
|
11
|
+
Events from the minimum producer or newer remain blocking when they are
|
|
12
|
+
unexpected faults or lack the required tags. Events with no parseable producer
|
|
13
|
+
version are also blocking. JSON output includes the minimum version,
|
|
14
|
+
`legacy_pre_contract_total`, bounded legacy ids, and a bounded blocking-reason
|
|
15
|
+
row for each current issue. Expected handled usage, not-found, and conflict
|
|
16
|
+
errors remain a separate non-blocking class.
|
|
17
|
+
|
|
18
|
+
This epoch rule only changes gate classification. It does not resolve, delete,
|
|
19
|
+
or hide Sentry issues, and it does not weaken fatal or error thresholds for
|
|
20
|
+
current producers.
|
|
@@ -14,12 +14,12 @@
|
|
|
14
14
|
},
|
|
15
15
|
{
|
|
16
16
|
"id": "returning-agent",
|
|
17
|
-
"max_estimated_tokens":
|
|
17
|
+
"max_estimated_tokens": 597
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
20
|
"id": "failing-command",
|
|
21
21
|
"max_estimated_tokens": 197
|
|
22
22
|
}
|
|
23
23
|
],
|
|
24
|
-
"composite_max_estimated_tokens":
|
|
24
|
+
"composite_max_estimated_tokens": 2651
|
|
25
25
|
}
|
package/marketplace.json
CHANGED
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
},
|
|
7
7
|
"metadata": {
|
|
8
8
|
"description": "Official marketplace for pm CLI — native git-based project management for Claude Code and AI coding agents.",
|
|
9
|
-
"version": "2026.8.
|
|
9
|
+
"version": "2026.8.10"
|
|
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.10",
|
|
17
17
|
"author": {
|
|
18
18
|
"name": "unbrained",
|
|
19
19
|
"url": "https://github.com/unbraind/pm-cli"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unbrained/pm-cli",
|
|
3
|
-
"version": "2026.8.
|
|
3
|
+
"version": "2026.8.10",
|
|
4
4
|
"description": "Git-native project management CLI for humans and agents.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "pnpm@11.10.0",
|
|
@@ -120,7 +120,7 @@
|
|
|
120
120
|
"lint:complexity:baseline": "eslint . --suppress-rule complexity --suppress-rule sonarjs/cognitive-complexity",
|
|
121
121
|
"lint:duplicates": "jscpd --config .jscpd.json",
|
|
122
122
|
"lint:codefactor": "pnpm quality:static",
|
|
123
|
-
"quality:static": "pnpm build && pnpm exec tsx scripts/release/static-quality-gate.mts --max-eslint-suppressions 114 --max-coverage-ignore-pragmas 477 --min-docstring-coverage 100 --min-exported-docstring-coverage 100 --min-member-docstring-coverage 100 && node scripts/release/audit-package-boundary.mjs && node scripts/release/package-sdk-contract-parity.mjs && node scripts/release/surface-replication-gate.mjs && node scripts/release/token-budget-gate.mjs && node scripts/release/context-intent-calibration-gate.mjs && node scripts/release/tracker-measurement-gate.mjs && node scripts/release/gate-registry.mjs && node scripts/sdk-surface-snapshot.mjs --check && node scripts/bench/sdk-entrypoint-costs.mjs --check && node scripts/bench/cli-transport-floor.mjs --check",
|
|
123
|
+
"quality:static": "pnpm build && pnpm exec tsx scripts/release/static-quality-gate.mts --max-eslint-suppressions 114 --max-coverage-ignore-pragmas 477 --min-docstring-coverage 100 --min-exported-docstring-coverage 100 --min-member-docstring-coverage 100 && node scripts/release/audit-package-boundary.mjs && node scripts/release/package-sdk-contract-parity.mjs && node scripts/release/surface-replication-gate.mjs && node scripts/release/absence-tolerance-gate.mjs && node scripts/release/token-budget-gate.mjs && node scripts/release/context-intent-calibration-gate.mjs && node scripts/release/tracker-measurement-gate.mjs && node scripts/release/gate-registry.mjs && node scripts/sdk-surface-snapshot.mjs --check && node scripts/bench/sdk-entrypoint-costs.mjs --check && node scripts/bench/cli-transport-floor.mjs --check",
|
|
124
124
|
"quality:token-budget": "node scripts/release/token-budget-gate.mjs",
|
|
125
125
|
"quality:token-surface": "node scripts/measure-agent-token-surface.mjs --check",
|
|
126
126
|
"quality:token-surface:update": "pnpm build && node scripts/measure-agent-token-surface.mjs --update",
|
|
@@ -133,6 +133,7 @@
|
|
|
133
133
|
"quality:tracker-measurements": "pnpm build && node scripts/release/tracker-measurement-gate.mjs",
|
|
134
134
|
"quality:package-artifact": "pnpm build && node scripts/release/package-artifact-gate.mjs",
|
|
135
135
|
"quality:surface-replication": "node scripts/release/surface-replication-gate.mjs",
|
|
136
|
+
"quality:absence-tolerance": "node scripts/release/absence-tolerance-gate.mjs",
|
|
136
137
|
"quality:docs-skills": "node scripts/release/docs-skills-gate.mjs",
|
|
137
138
|
"quality:docs-links": "node scripts/release/docs-skills-gate.mjs --links-only",
|
|
138
139
|
"quality:hosted-analysis": "node scripts/release/hosted-analysis-gate.mjs",
|
|
@@ -160,8 +161,8 @@
|
|
|
160
161
|
"version:next": "node scripts/release-version.mjs next",
|
|
161
162
|
"version:sync": "node scripts/sync-versions.mjs apply",
|
|
162
163
|
"changelog:pm:install": "node dist/cli.js install npm:pm-changelog --project",
|
|
163
|
-
"changelog:pm": "pnpm changelog:pm:install && node dist/cli.js changelog generate --output CHANGELOG.md --title \"Changelog\" --mode replace --all-release-tags --status closed --item-url-base https://github.com/unbraind/pm-cli/blob/main/.agents/pm",
|
|
164
|
-
"changelog:pm:check": "pnpm changelog:pm:install && node dist/cli.js changelog generate --output CHANGELOG.md --title \"Changelog\" --mode replace --all-release-tags --status closed --item-url-base https://github.com/unbraind/pm-cli/blob/main/.agents/pm --check",
|
|
164
|
+
"changelog:pm": "pnpm changelog:pm:install && node dist/cli.js changelog generate --output CHANGELOG.md --title \"Changelog\" --mode replace --all-release-tags --status closed --exclude-tag changelog-exclude --item-url-base https://github.com/unbraind/pm-cli/blob/main/.agents/pm",
|
|
165
|
+
"changelog:pm:check": "pnpm changelog:pm:install && node dist/cli.js changelog generate --output CHANGELOG.md --title \"Changelog\" --mode replace --all-release-tags --status closed --exclude-tag changelog-exclude --item-url-base https://github.com/unbraind/pm-cli/blob/main/.agents/pm --check",
|
|
165
166
|
"release:notes": "node scripts/generate-release-notes.mjs",
|
|
166
167
|
"release:gates": "node scripts/release/run-gates.mjs --telemetry-mode best-effort",
|
|
167
168
|
"verify:preflight": "node scripts/release/run-gates.mjs --telemetry-mode best-effort",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unbrained/pm-digital-twin",
|
|
3
|
-
"version": "2026.8.
|
|
3
|
+
"version": "2026.8.10",
|
|
4
4
|
"private": true,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Beyond-PM exemplar: a temporal production-facility digital twin built entirely on public pm SDK and extension primitives.",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pm-claude",
|
|
3
3
|
"description": "Native pm CLI integration for Claude Code — 28 MCP tools, 5 workflow skills, 14 slash commands, 4 subagents (coordinator, delivery-chain, triage, verification), hybrid TUI task tracking (pm as persistent store + Claude Code task panel as live view), session context injection, and full git-based project management without leaving Claude Code.",
|
|
4
|
-
"version": "2026.8.
|
|
4
|
+
"version": "2026.8.10",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "unbrained",
|
|
7
7
|
"url": "https://github.com/unbraind/pm-cli"
|