@unbrained/pm-cli 2026.8.24 → 2026.8.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +13 -0
  3. package/dist/cli-bundle/bundle-manifest.json +152 -152
  4. package/dist/cli-bundle/chunks/{chunk-ZAVCS2GH.js → chunk-244MI4GS.js} +3 -3
  5. package/dist/cli-bundle/chunks/{chunk-NXBFO63A.js → chunk-2F3LUFMW.js} +2 -2
  6. package/dist/cli-bundle/chunks/{chunk-DJNJBWAQ.js → chunk-5I5RWIJC.js} +2 -2
  7. package/dist/cli-bundle/chunks/{chunk-X7WWQDYQ.js → chunk-65MHLHAA.js} +2 -2
  8. package/dist/cli-bundle/chunks/chunk-6C7GIMIL.js +13 -0
  9. package/dist/cli-bundle/chunks/{chunk-IW72J5FW.js → chunk-OWHNAR2B.js} +2 -2
  10. package/dist/cli-bundle/chunks/{chunk-TEQDR5KI.js → chunk-QKGMHGEI.js} +62 -62
  11. package/dist/cli-bundle/chunks/{chunk-L22NP5MA.js → chunk-QLUORNIB.js} +86 -86
  12. package/dist/cli-bundle/chunks/{chunk-AGUL3HUT.js → chunk-T2ENPRXF.js} +2 -2
  13. package/dist/cli-bundle/chunks/{chunk-I5Q7QSZX.js → chunk-TPQIBSL2.js} +2 -2
  14. package/dist/cli-bundle/chunks/chunk-YQMYF3YD.js +35 -0
  15. package/dist/cli-bundle/chunks/{register-list-query-37A4P6O4.js → register-list-query-XVN2ZLI7.js} +2 -2
  16. package/dist/cli-bundle/chunks/{register-mutation-TBJDHYIT.js → register-mutation-QCKAEGIJ.js} +3 -3
  17. package/dist/cli-bundle/chunks/{register-operations-WRZNEBUM.js → register-operations-SDEAXE7E.js} +2 -2
  18. package/dist/cli-bundle/chunks/{register-setup-H4PDLACD.js → register-setup-LXVBRCJ3.js} +2 -2
  19. package/dist/cli-bundle/focused-chunks/{chunk-CWCN5RLO.js → chunk-2UIWOP3O.js} +2 -2
  20. package/dist/cli-bundle/focused-chunks/chunk-42S3GGZ7.js +50 -0
  21. package/dist/cli-bundle/focused-chunks/{chunk-BFA6KKCI.js → chunk-7I23XGWO.js} +2 -2
  22. package/dist/cli-bundle/focused-chunks/{chunk-6Z24ZMU3.js → chunk-7YCDTCBC.js} +2 -2
  23. package/dist/cli-bundle/focused-chunks/{chunk-O4ZXNJMT.js → chunk-A644DUFQ.js} +2 -2
  24. package/dist/cli-bundle/focused-chunks/{chunk-4WP7LNE3.js → chunk-GQR3WH3F.js} +2 -2
  25. package/dist/cli-bundle/focused-chunks/{chunk-RASVBJX5.js → chunk-H5JZEIQV.js} +2 -2
  26. package/dist/cli-bundle/focused-chunks/chunk-IBZZZGK3.js +2 -0
  27. package/dist/cli-bundle/focused-chunks/chunk-LMKG3DFE.js +5 -0
  28. package/dist/cli-bundle/focused-chunks/{chunk-6MUTDXMP.js → chunk-N7W67YIG.js} +2 -2
  29. package/dist/cli-bundle/focused-chunks/{chunk-IMWTYKII.js → chunk-NOOZGIXP.js} +2 -2
  30. package/dist/cli-bundle/focused-chunks/{chunk-WZLSSGEU.js → chunk-OHIHZ7HS.js} +2 -2
  31. package/dist/cli-bundle/focused-chunks/chunk-ONYQCALA.js +19 -0
  32. package/dist/cli-bundle/focused-chunks/{chunk-QBP5FSBX.js → chunk-OVJL6NZE.js} +2 -2
  33. package/dist/cli-bundle/focused-chunks/chunk-RAFKLNZX.js +16 -0
  34. package/dist/cli-bundle/focused-chunks/{chunk-GJR6YEMR.js → chunk-VXWATRFL.js} +2 -2
  35. package/dist/cli-bundle/focused-chunks/{chunk-IZNRRCU3.js → chunk-XUQPEKRN.js} +2 -2
  36. package/dist/cli-bundle/focused-chunks/{chunk-MNPECIRL.js → chunk-YO3ZF3FI.js} +2 -2
  37. package/dist/cli-bundle/main.js +2 -2
  38. package/dist/cli-bundle/sdk-authoring.js +1 -1
  39. package/dist/cli-bundle/sdk-contracts.js +2 -2
  40. package/dist/cli-bundle/sdk-core.js +41 -41
  41. package/dist/cli-bundle/sdk-governance.js +1 -1
  42. package/dist/cli-bundle/sdk-graph.js +1 -1
  43. package/dist/cli-bundle/sdk-merge.js +32 -33
  44. package/dist/cli-bundle/sdk-query.js +1 -1
  45. package/dist/cli-bundle/sdk-runtime.js +1 -1
  46. package/dist/cli-bundle/sdk-testing.js +1 -1
  47. package/dist/cli-bundle/sdk.js +5 -5
  48. package/dist/core/diagnostics/remediation.js +17 -2
  49. package/dist/sdk/cli-contracts/runtime-contracts.d.ts +10 -0
  50. package/dist/sdk/cli-contracts/runtime-contracts.js +20 -3
  51. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +49 -25
  52. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +26 -2
  53. package/dist/sdk/governance/health.js +98 -11
  54. package/dist/sdk/governance/validate.js +15 -9
  55. package/dist/sdk/history-repair.d.ts +24 -0
  56. package/dist/sdk/history-repair.js +145 -4
  57. package/dist/sdk/merge/driver.js +25 -4
  58. package/dist/sdk/merge/receipt-file-boundary.d.ts +21 -0
  59. package/dist/sdk/merge/receipt-file-boundary.js +47 -0
  60. package/dist/sdk/merge/receipts.d.ts +24 -1
  61. package/dist/sdk/merge/receipts.js +342 -36
  62. package/dist/sdk/merge/reconcile.js +117 -47
  63. package/dist/sdk/read-output/continuation.d.ts +15 -2
  64. package/dist/sdk/read-output/continuation.js +86 -6
  65. package/dist/sdk/read-output-contracts.d.ts +4 -1
  66. package/dist/sdk/read-output-contracts.js +9 -6
  67. package/docs/MERGE_SAFETY.md +34 -5
  68. package/docs/OUTPUT_PROJECTION_CONTRACTS.md +13 -1
  69. package/docs/READ_OUTPUT_CONTRACTS.md +25 -2
  70. package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +7 -3
  71. package/marketplace.json +2 -2
  72. package/package.json +1 -1
  73. package/packages/pm-beads/package.json +1 -1
  74. package/packages/pm-calendar/package.json +1 -1
  75. package/packages/pm-command-kit/package.json +1 -1
  76. package/packages/pm-digital-twin/package.json +1 -1
  77. package/packages/pm-governance-audit/package.json +1 -1
  78. package/packages/pm-guide-shell/package.json +1 -1
  79. package/packages/pm-kanban/package.json +1 -1
  80. package/packages/pm-lifecycle-hooks/package.json +1 -1
  81. package/packages/pm-linked-test-adapters/package.json +1 -1
  82. package/packages/pm-search-advanced/package.json +1 -1
  83. package/packages/pm-templates/package.json +1 -1
  84. package/packages/pm-todos/package.json +1 -1
  85. package/packages/pm-vcs/package.json +1 -1
  86. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  87. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  88. package/sdk/public-surface.json +136 -15
  89. package/dist/cli-bundle/chunks/chunk-MKE6MD2K.js +0 -36
  90. package/dist/cli-bundle/chunks/chunk-YOLLRCLY.js +0 -13
  91. package/dist/cli-bundle/focused-chunks/chunk-FCTT4CZU.js +0 -5
  92. package/dist/cli-bundle/focused-chunks/chunk-Q63PSLO4.js +0 -2
  93. package/dist/cli-bundle/focused-chunks/chunk-QV5UP27O.js +0 -51
  94. package/dist/cli-bundle/focused-chunks/chunk-RPRLENVA.js +0 -16
  95. package/dist/cli-bundle/focused-chunks/chunk-TOFVXBWA.js +0 -19
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "aggregate_completeness": {
3
- "covered_symbols": 1793,
3
+ "covered_symbols": 1796,
4
4
  "excluded": [
5
5
  {
6
6
  "name": "_testOnlyCliContracts",
@@ -8,7 +8,7 @@
8
8
  }
9
9
  ],
10
10
  "missing": [],
11
- "required_symbols": 1794
11
+ "required_symbols": 1797
12
12
  },
13
13
  "breaking_acknowledgements": [
14
14
  {
@@ -1181,6 +1181,81 @@
1181
1181
  ],
1182
1182
  "package_version": "2026.8.23",
1183
1183
  "reason": "Align history-compaction SDK ID inputs with bulk transport contracts and fail closed on invalid explicit selectors"
1184
+ },
1185
+ {
1186
+ "changes": [
1187
+ "signature ./sdk:ContractsResult",
1188
+ "signature ./sdk:PmReadOutputSurfaceContract",
1189
+ "signature ./sdk/contracts:PmReadOutputSurfaceContract",
1190
+ "signature ./sdk/core:PmReadOutputSurfaceContract",
1191
+ "signature ./sdk/runtime:ContractsResult",
1192
+ "signature ./sdk/runtime:PmReadOutputSurfaceContract"
1193
+ ],
1194
+ "package_version": "2026.8.24",
1195
+ "reason": "Additive optional runtime metadata and public helpers; no accepted input, export, or behavior was removed"
1196
+ },
1197
+ {
1198
+ "changes": [
1199
+ "signature ./sdk:PmReadOutputContinuationFingerprintPolicy",
1200
+ "signature ./sdk/contracts:PmReadOutputContinuationFingerprintPolicy"
1201
+ ],
1202
+ "package_version": "2026.8.24",
1203
+ "reason": "Pre-release continuation policy correction binds nonvolatile checks and dynamic telemetry row identity; no accepted input, export, or runtime command was removed"
1204
+ },
1205
+ {
1206
+ "changes": [
1207
+ "signature ./sdk:PmReadOutputContinuationFingerprintPolicy",
1208
+ "signature ./sdk/contracts:PmReadOutputContinuationFingerprintPolicy"
1209
+ ],
1210
+ "package_version": "2026.8.24",
1211
+ "reason": "Replace unreleased broad telemetry-detail exclusion with fail-closed field-scoped continuation policy v3 after security review"
1212
+ },
1213
+ {
1214
+ "changes": [
1215
+ "signature ./sdk:MergeDecisionReceipt",
1216
+ "signature ./sdk/merge:MergeDecisionReceipt"
1217
+ ],
1218
+ "package_version": "2026.8.24",
1219
+ "reason": "Add optional merged-field hash proofs to the unreleased receipt-attribution contract so health fails closed on stale or forged evidence."
1220
+ },
1221
+ {
1222
+ "changes": [
1223
+ "signature ./sdk:HistoryRepairCommandOptions",
1224
+ "signature ./sdk:HistoryRepairResult",
1225
+ "signature ./sdk:MergeDecisionReceipt",
1226
+ "signature ./sdk/merge:MergeDecisionReceipt"
1227
+ ],
1228
+ "package_version": "2026.8.24",
1229
+ "reason": "Add fail-closed clone-local receipt proof metadata and apply-boundary validation to the unreleased merge-reconciliation contract."
1230
+ },
1231
+ {
1232
+ "changes": [
1233
+ "signature ./sdk:HistoryRepairAllStreamResult"
1234
+ ],
1235
+ "package_version": "2026.8.24",
1236
+ "reason": "Expose receipt-scoped merge reconciliation proof in history repair stream contracts"
1237
+ },
1238
+ {
1239
+ "changes": [
1240
+ "signature ./sdk:HistoryRepairCommandOptions"
1241
+ ],
1242
+ "package_version": "2026.8.24",
1243
+ "reason": "Expose bounded per-item receipt proof indexing and receipt-scoped reconciliation results"
1244
+ },
1245
+ {
1246
+ "changes": [
1247
+ "signature ./sdk:MergeReceiptProofResult"
1248
+ ],
1249
+ "package_version": "2026.8.24",
1250
+ "reason": "Expose exact receipt-id sets for bounded multi-receipt reconciliation proof"
1251
+ },
1252
+ {
1253
+ "changes": [
1254
+ "signature ./sdk:markMergeReceiptReconciled",
1255
+ "signature ./sdk/merge:markMergeReceiptReconciled"
1256
+ ],
1257
+ "package_version": "2026.8.24",
1258
+ "reason": "Add strict requireExisting settlement mode while preserving default idempotency"
1184
1259
  }
1185
1260
  ],
1186
1261
  "entrypoints": {
@@ -4131,7 +4206,7 @@
4131
4206
  "classification": "advanced_export",
4132
4207
  "kind": "interface",
4133
4208
  "name": "ContractsResult",
4134
- "signature": "export interface ContractsResult { schema_version: string | null; schema_id: string | null; selected: { action: string | null; command: string | null; summary: boolean; schema_only: boolean; flags_only: boolean; availability_only: boolean; runtime_only: boolean; command_scoped: boolean; }; actions?: string[]; action_availability?: ContractsActionAvailability[]; commands: string[]; schema?: Record<string, unknown>; schema_omitted_reason?: string; command_flags_omitted_reason?: string; commander_aliases_omitted_reason?: string; command_flags?: CommandFlagSurface[]; list_projections?: ListCommandProjectionSurface[]; command_aliases?: CommandAliasSurface[]; grammar_contracts?: { nouns: readonly string[]; shared_verbs: readonly string[]; scope_before_verb: boolean; visible_top_level_ceiling: number; ceiling_raise_requires_pm_item: boolean; positional_shape_budget: number; positional_shape_count: number; positional_action_count: number; positional_action_parents: readonly string[]; positional_signatures?: readonly PmCommandPositionalContract[]; destinations?: readonly PmCommandDestinationContract[]; }; commander_aliases?: Record<string, CommanderOptionAliasContract[]>; extension_commands?: ExtensionCommandContract[]; command_summaries?: CommandSummarySurface[]; output_policy?: { token_estimate: \"ceil(utf8_bytes / 4)\"; degradation_ladder: string[]; allows_unbounded_opt_out: boolean; }; runtime_schema?: { statuses: string[]; open_status: string; close_status: string; canceled_status: string; types: string[]; fields_by_command: Record<string, string[]>; }; relationship_kind_contracts?: Array<{ canonical: string; aliases: string[]; inverse?: string; ordering: boolean; hierarchy: boolean; }>; extension_contracts?: { capabilities: string[]; services: string[]; policy_modes: string[]; policy_mode_scope: \"extensions.policy.mode\"; policy_surfaces: string[]; trust_modes: string[]; trust_mode_scope: \"extensions.policy.trust_mode\"; sandbox_profiles: string[]; manifest_versions: number[]; compatibility: { current: string; previous: string[]; breaking_strategy: string; }; }; governance_contracts?: { ownership_enforcement_modes: string[]; create_modes: string[]; close_validation_modes: string[]; workflow_enforcement_modes: string[]; }; assurance_contracts?: { measurement_source_kinds: readonly string[]; gate_triggers: readonly string[]; }; mcp_tools?: McpToolContract[]; context_intents?: readonly PmContextIntentContract[]; read_output_dimensions?: readonly PmReadOutputSurfaceContract[]; error_codes?: readonly PmErrorCodeContract[]; command_output_contracts?: Array<{ budget: PmCommandOutputBudgetContract; envelope: PmCommandOutputEnvelopeContract; }>; diagnostic_output_contracts?: readonly PmDiagnosticOutputBudgetContract[]; command_exit_contracts?: { vocabulary: readonly PmCommandExitOutcomeContract[]; command_sets: Array<{ commands: string[]; exit_codes: PmCommandExitContract[\"exit_codes\"]; }>; }; }"
4209
+ "signature": "export interface ContractsResult { schema_version: string | null; schema_id: string | null; selected: { action: string | null; command: string | null; summary: boolean; schema_only: boolean; flags_only: boolean; availability_only: boolean; runtime_only: boolean; command_scoped: boolean; }; actions?: string[]; action_availability?: ContractsActionAvailability[]; commands: string[]; schema?: Record<string, unknown>; schema_omitted_reason?: string; command_flags_omitted_reason?: string; commander_aliases_omitted_reason?: string; command_flags?: CommandFlagSurface[]; list_projections?: ListCommandProjectionSurface[]; command_aliases?: CommandAliasSurface[]; grammar_contracts?: { nouns: readonly string[]; shared_verbs: readonly string[]; scope_before_verb: boolean; visible_top_level_ceiling: number; ceiling_raise_requires_pm_item: boolean; positional_shape_budget: number; positional_shape_count: number; positional_action_count: number; positional_action_parents: readonly string[]; positional_signatures?: readonly PmCommandPositionalContract[]; destinations?: readonly PmCommandDestinationContract[]; }; commander_aliases?: Record<string, CommanderOptionAliasContract[]>; extension_commands?: ExtensionCommandContract[]; command_summaries?: CommandSummarySurface[]; output_policy?: { token_estimate: \"ceil(utf8_bytes / 4)\"; degradation_ladder: string[]; allows_unbounded_opt_out: boolean; }; output_projection_contracts?: { global_ladder_field: \"output_policy.degradation_ladder\"; global_ladder_scope: \"union_not_per_command\"; discovery: \"pm contracts --command <command> --summary\"; commands?: Array<{ command: string; modes: string[]; }>; }; runtime_schema?: { statuses: string[]; open_status: string; close_status: string; canceled_status: string; types: string[]; fields_by_command: Record<string, string[]>; }; relationship_kind_contracts?: Array<{ canonical: string; aliases: string[]; inverse?: string; ordering: boolean; hierarchy: boolean; }>; extension_contracts?: { capabilities: string[]; services: string[]; policy_modes: string[]; policy_mode_scope: \"extensions.policy.mode\"; policy_surfaces: string[]; trust_modes: string[]; trust_mode_scope: \"extensions.policy.trust_mode\"; sandbox_profiles: string[]; manifest_versions: number[]; compatibility: { current: string; previous: string[]; breaking_strategy: string; }; }; governance_contracts?: { ownership_enforcement_modes: string[]; create_modes: string[]; close_validation_modes: string[]; workflow_enforcement_modes: string[]; }; assurance_contracts?: { measurement_source_kinds: readonly string[]; gate_triggers: readonly string[]; }; mcp_tools?: McpToolContract[]; context_intents?: readonly PmContextIntentContract[]; read_output_dimensions?: readonly PmReadOutputSurfaceContract[]; error_codes?: readonly PmErrorCodeContract[]; command_output_contracts?: Array<{ budget: PmCommandOutputBudgetContract; envelope: PmCommandOutputEnvelopeContract; }>; diagnostic_output_contracts?: readonly PmDiagnosticOutputBudgetContract[]; command_exit_contracts?: { vocabulary: readonly PmCommandExitOutcomeContract[]; command_sets: Array<{ commands: string[]; exit_codes: PmCommandExitContract[\"exit_codes\"]; }>; }; }"
4135
4210
  },
4136
4211
  {
4137
4212
  "classification": "supported",
@@ -7347,13 +7422,13 @@
7347
7422
  "classification": "advanced_export",
7348
7423
  "kind": "interface",
7349
7424
  "name": "HistoryRepairAllStreamResult",
7350
- "signature": "export interface HistoryRepairAllStreamResult { id: string; outcome: \"repaired\" | \"skipped_clean\" | \"failed\"; entries_rehashed?: number; entries_patch_repaired?: number; reconciled_with_item?: boolean; reconciliation?: HistoryRepairReconciliationReport; warnings?: string[]; error?: string; }"
7425
+ "signature": "export interface HistoryRepairAllStreamResult { id: string; outcome: \"repaired\" | \"skipped_clean\" | \"failed\"; entries_rehashed?: number; entries_patch_repaired?: number; reconciled_with_item?: boolean; reconciliation?: HistoryRepairReconciliationReport; merge_receipt_proof?: MergeReceiptProofResult; warnings?: string[]; error?: string; }"
7351
7426
  },
7352
7427
  {
7353
7428
  "classification": "advanced_export",
7354
7429
  "kind": "interface",
7355
7430
  "name": "HistoryRepairCommandOptions",
7356
- "signature": "export interface HistoryRepairCommandOptions { dryRun?: boolean; author?: string; message?: string; force?: boolean; auditOperation?: string; auditContext?: Record<string, unknown>; auditContextById?: Record<string, Record<string, unknown>>; forceAuditEntry?: boolean; normalizeProvenance?: boolean; }"
7431
+ "signature": "export interface HistoryRepairCommandOptions { dryRun?: boolean; author?: string; message?: string; force?: boolean; auditOperation?: string; auditContext?: Record<string, unknown>; auditContextById?: Record<string, Record<string, unknown>>; forceAuditEntry?: boolean; normalizeProvenance?: boolean; mergeReceiptProof?: { gitWorkspaceRoot: string | null; receipts: MergeDecisionReceipt[]; }; mergeReceiptProofById?: Record<string, { gitWorkspaceRoot: string | null; receipts: MergeDecisionReceipt[]; }>; }"
7357
7432
  },
7358
7433
  {
7359
7434
  "classification": "advanced_export",
@@ -7371,7 +7446,7 @@
7371
7446
  "classification": "advanced_export",
7372
7447
  "kind": "interface",
7373
7448
  "name": "HistoryRepairResult",
7374
- "signature": "export interface HistoryRepairResult { id: string; dry_run: boolean; changed: boolean; history: { path: string; entries_scanned: number; chain_drift_before: boolean; entries_rehashed: number; entries_patch_repaired: number; converted_replace_to_add: number; skipped_ops: number; reconciled_with_item: boolean; audit_entry_added: boolean; verify_ok: boolean; verify_errors: string[]; item_hash_version_before: number | null; item_hash_version_after: number; version_disposition: \"preserved\" | \"selected_for_ambiguous_stream\"; }; item: { exists: boolean; path: string | null; matched_chain_before: boolean | null; }; provenance_normalization: ProvenanceNormalizationReceipt & { requested: boolean; }; reconciliation?: HistoryRepairReconciliationReport; warnings: string[]; generated_at: string; }"
7449
+ "signature": "export interface HistoryRepairResult { id: string; dry_run: boolean; changed: boolean; history: { path: string; entries_scanned: number; chain_drift_before: boolean; entries_rehashed: number; entries_patch_repaired: number; converted_replace_to_add: number; skipped_ops: number; reconciled_with_item: boolean; audit_entry_added: boolean; verify_ok: boolean; verify_errors: string[]; item_hash_version_before: number | null; item_hash_version_after: number; version_disposition: \"preserved\" | \"selected_for_ambiguous_stream\"; }; item: { exists: boolean; path: string | null; matched_chain_before: boolean | null; }; provenance_normalization: ProvenanceNormalizationReceipt & { requested: boolean; }; reconciliation?: HistoryRepairReconciliationReport; merge_receipt_proof?: MergeReceiptProofResult; warnings: string[]; generated_at: string; }"
7375
7450
  },
7376
7451
  {
7377
7452
  "classification": "supported",
@@ -8535,7 +8610,7 @@
8535
8610
  "classification": "supported",
8536
8611
  "kind": "function",
8537
8612
  "name": "markMergeReceiptReconciled",
8538
- "signature": "(cwd: string, receipt: MergeDecisionReceipt) => Promise<void> | calls: (cwd: string, receipt: MergeDecisionReceipt) => Promise<void>"
8613
+ "signature": "(cwd: string, receipt: MergeDecisionReceipt, options?: { requireExisting?: boolean; }) => Promise<void> | calls: (cwd: string, receipt: MergeDecisionReceipt, options?: { requireExisting?: boolean; }) => Promise<void>"
8539
8614
  },
8540
8615
  {
8541
8616
  "classification": "advanced_export",
@@ -8607,7 +8682,7 @@
8607
8682
  "classification": "supported",
8608
8683
  "kind": "interface",
8609
8684
  "name": "MergeDecisionReceipt",
8610
- "signature": "export interface MergeDecisionReceipt { version: 1; id: string; item_path: string; item_id: string; requested_preference?: MergePreferredSide; preferred?: MergePreferredSide; conflict_resolution: \"preferred_side\" | \"stable_value_order\"; fields_from_theirs: string[]; union_fields: string[]; decisions: ItemMergeConflictDecision[]; state: \"pending\" | \"reconciled\"; created_at: string; reconciled_at?: string; value_availability?: \"clone_local\" | \"hash_only\"; }"
8685
+ "signature": "export interface MergeDecisionReceipt { version: 1; id: string; item_path: string; item_id: string; requested_preference?: MergePreferredSide; preferred?: MergePreferredSide; conflict_resolution: \"preferred_side\" | \"stable_value_order\"; fields_from_theirs: string[]; union_fields: string[]; merged_field_hashes?: Record<string, string>; decisions: ItemMergeConflictDecision[]; state: \"pending\" | \"reconciled\"; created_at: string; reconciled_at?: string; value_availability?: \"clone_local\" | \"hash_only\"; evidence_source?: \"clone_local\" | \"durable\"; }"
8611
8686
  },
8612
8687
  {
8613
8688
  "classification": "supported",
@@ -8705,6 +8780,12 @@
8705
8780
  "name": "MergePreferredSide",
8706
8781
  "signature": "export type MergePreferredSide = \"ours\" | \"theirs\";"
8707
8782
  },
8783
+ {
8784
+ "classification": "advanced_export",
8785
+ "kind": "interface",
8786
+ "name": "MergeReceiptProofResult",
8787
+ "signature": "export interface MergeReceiptProofResult { trusted: boolean; reason: \"trusted_clone_local_driver_evidence\" | \"git_workspace_unavailable\" | \"item_path_unavailable\" | \"no_item_receipts\" | \"no_receipt_set_proves_snapshot\"; receipt_ids: string[]; }"
8788
+ },
8708
8789
  {
8709
8790
  "classification": "supported",
8710
8791
  "kind": "interface",
@@ -10199,6 +10280,12 @@
10199
10280
  "name": "PM_READ_OUTPUT_COMPOSITION_OPTION_FLAGS",
10200
10281
  "signature": "readonly [\"--output-session\", \"--output-cursor\", \"--output-row-contract\"]"
10201
10282
  },
10283
+ {
10284
+ "classification": "contract_data",
10285
+ "kind": "value",
10286
+ "name": "PM_READ_OUTPUT_CONTINUATION_FINGERPRINT_POLICIES",
10287
+ "signature": "Readonly<Partial<Record<\"activity\" | \"aggregate\" | \"assurance\" | \"comments-audit\" | \"comments\" | \"context\" | \"contracts\" | \"deps\" | \"docs\" | \"duplicates\" | \"events\" | \"files\" | \"get\" | \"graph\" | \"health\" | \"history\" | \"list\" | \"next\" | \"notes\" | \"package-catalog\" | \"package-manage\" | \"search\" | \"stats\" | \"validate\", PmReadOutputContinuationFingerprintPolicy>>>"
10288
+ },
10202
10289
  {
10203
10290
  "classification": "supported",
10204
10291
  "kind": "value",
@@ -11021,6 +11108,12 @@
11021
11108
  "name": "PmReadOutputContinuation",
11022
11109
  "signature": "export interface PmReadOutputContinuation { path: string; cursor: string; retained_rows: number; remaining_rows: number; total_rows: number; }"
11023
11110
  },
11111
+ {
11112
+ "classification": "contract_data",
11113
+ "kind": "interface",
11114
+ "name": "PmReadOutputContinuationFingerprintPolicy",
11115
+ "signature": "export interface PmReadOutputContinuationFingerprintPolicy { version: 3; paths: readonly string[]; ignored_detail_field_names_by_row: Readonly<Record<string, readonly string[]>>; guarantee: \"nonvolatile_snapshot_and_stable_configuration\"; }"
11116
+ },
11024
11117
  {
11025
11118
  "classification": "supported",
11026
11119
  "kind": "interface",
@@ -11121,7 +11214,7 @@
11121
11214
  "classification": "supported",
11122
11215
  "kind": "interface",
11123
11216
  "name": "PmReadOutputSurfaceContract",
11124
- "signature": "export interface PmReadOutputSurfaceContract { command: PmReadOutputSurface; dimensions: Record<PmReadOutputDimension, PmReadOutputDimensionContract>; precedence: readonly [ \"canonical\", \"legacy\", \"intent\", \"default\" ]; budget_retention_policy: \"ordered_prefix\" | \"verdict_priority\"; }"
11217
+ "signature": "export interface PmReadOutputSurfaceContract { command: PmReadOutputSurface; dimensions: Record<PmReadOutputDimension, PmReadOutputDimensionContract>; precedence: readonly [ \"canonical\", \"legacy\", \"intent\", \"default\" ]; budget_retention_policy: \"ordered_prefix\" | \"verdict_priority\"; projection_modes?: readonly string[]; }"
11125
11218
  },
11126
11219
  {
11127
11220
  "classification": "contract_data",
@@ -12035,6 +12128,12 @@
12035
12128
  "name": "readOutputBudgetCollections",
12036
12129
  "signature": "(result: Record<string, unknown>) => PmReadOutputRowCollection[] | calls: (result: Record<string, unknown>) => PmReadOutputRowCollection[]"
12037
12130
  },
12131
+ {
12132
+ "classification": "contract_data",
12133
+ "kind": "function",
12134
+ "name": "readOutputCollectionFingerprint",
12135
+ "signature": "(path: string, value: unknown[] | Record<string, unknown>, command?: PmReadOutputSurface) => string | calls: (path: string, value: unknown[] | Record<string, unknown>, command?: PmReadOutputSurface) => string"
12136
+ },
12038
12137
  {
12039
12138
  "classification": "advanced_export",
12040
12139
  "kind": "function",
@@ -19787,6 +19886,12 @@
19787
19886
  "name": "PM_READ_OUTPUT_COMPOSITION_OPTION_FLAGS",
19788
19887
  "signature": "readonly [\"--output-session\", \"--output-cursor\", \"--output-row-contract\"]"
19789
19888
  },
19889
+ {
19890
+ "classification": "contract_data",
19891
+ "kind": "value",
19892
+ "name": "PM_READ_OUTPUT_CONTINUATION_FINGERPRINT_POLICIES",
19893
+ "signature": "Readonly<Partial<Record<\"activity\" | \"aggregate\" | \"assurance\" | \"comments-audit\" | \"comments\" | \"context\" | \"contracts\" | \"deps\" | \"docs\" | \"duplicates\" | \"events\" | \"files\" | \"get\" | \"graph\" | \"health\" | \"history\" | \"list\" | \"next\" | \"notes\" | \"package-catalog\" | \"package-manage\" | \"search\" | \"stats\" | \"validate\", PmReadOutputContinuationFingerprintPolicy>>>"
19894
+ },
19790
19895
  {
19791
19896
  "classification": "contract_data",
19792
19897
  "kind": "value",
@@ -20273,6 +20378,12 @@
20273
20378
  "name": "PmReadOutputContinuation",
20274
20379
  "signature": "export interface PmReadOutputContinuation { path: string; cursor: string; retained_rows: number; remaining_rows: number; total_rows: number; }"
20275
20380
  },
20381
+ {
20382
+ "classification": "contract_data",
20383
+ "kind": "interface",
20384
+ "name": "PmReadOutputContinuationFingerprintPolicy",
20385
+ "signature": "export interface PmReadOutputContinuationFingerprintPolicy { version: 3; paths: readonly string[]; ignored_detail_field_names_by_row: Readonly<Record<string, readonly string[]>>; guarantee: \"nonvolatile_snapshot_and_stable_configuration\"; }"
20386
+ },
20276
20387
  {
20277
20388
  "classification": "contract_data",
20278
20389
  "kind": "interface",
@@ -20361,7 +20472,7 @@
20361
20472
  "classification": "contract_data",
20362
20473
  "kind": "interface",
20363
20474
  "name": "PmReadOutputSurfaceContract",
20364
- "signature": "export interface PmReadOutputSurfaceContract { command: PmReadOutputSurface; dimensions: Record<PmReadOutputDimension, PmReadOutputDimensionContract>; precedence: readonly [ \"canonical\", \"legacy\", \"intent\", \"default\" ]; budget_retention_policy: \"ordered_prefix\" | \"verdict_priority\"; }"
20475
+ "signature": "export interface PmReadOutputSurfaceContract { command: PmReadOutputSurface; dimensions: Record<PmReadOutputDimension, PmReadOutputDimensionContract>; precedence: readonly [ \"canonical\", \"legacy\", \"intent\", \"default\" ]; budget_retention_policy: \"ordered_prefix\" | \"verdict_priority\"; projection_modes?: readonly string[]; }"
20365
20476
  },
20366
20477
  {
20367
20478
  "classification": "contract_data",
@@ -20513,6 +20624,12 @@
20513
20624
  "name": "readFirstValueFromCommanderOptions",
20514
20625
  "signature": "(options: Record<string, unknown>, contract: CommanderOptionAliasContract) => unknown | calls: (options: Record<string, unknown>, contract: CommanderOptionAliasContract) => unknown"
20515
20626
  },
20627
+ {
20628
+ "classification": "contract_data",
20629
+ "kind": "function",
20630
+ "name": "readOutputCollectionFingerprint",
20631
+ "signature": "(path: string, value: unknown[] | Record<string, unknown>, command?: PmReadOutputSurface) => string | calls: (path: string, value: unknown[] | Record<string, unknown>, command?: PmReadOutputSurface) => string"
20632
+ },
20516
20633
  {
20517
20634
  "classification": "contract_data",
20518
20635
  "kind": "function",
@@ -21945,7 +22062,7 @@
21945
22062
  "classification": "supported",
21946
22063
  "kind": "interface",
21947
22064
  "name": "PmReadOutputSurfaceContract",
21948
- "signature": "export interface PmReadOutputSurfaceContract { command: PmReadOutputSurface; dimensions: Record<PmReadOutputDimension, PmReadOutputDimensionContract>; precedence: readonly [ \"canonical\", \"legacy\", \"intent\", \"default\" ]; budget_retention_policy: \"ordered_prefix\" | \"verdict_priority\"; }"
22065
+ "signature": "export interface PmReadOutputSurfaceContract { command: PmReadOutputSurface; dimensions: Record<PmReadOutputDimension, PmReadOutputDimensionContract>; precedence: readonly [ \"canonical\", \"legacy\", \"intent\", \"default\" ]; budget_retention_policy: \"ordered_prefix\" | \"verdict_priority\"; projection_modes?: readonly string[]; }"
21949
22066
  },
21950
22067
  {
21951
22068
  "classification": "supported",
@@ -25131,7 +25248,7 @@
25131
25248
  "classification": "supported",
25132
25249
  "kind": "function",
25133
25250
  "name": "markMergeReceiptReconciled",
25134
- "signature": "(cwd: string, receipt: MergeDecisionReceipt) => Promise<void> | calls: (cwd: string, receipt: MergeDecisionReceipt) => Promise<void>"
25251
+ "signature": "(cwd: string, receipt: MergeDecisionReceipt, options?: { requireExisting?: boolean; }) => Promise<void> | calls: (cwd: string, receipt: MergeDecisionReceipt, options?: { requireExisting?: boolean; }) => Promise<void>"
25135
25252
  },
25136
25253
  {
25137
25254
  "classification": "supported",
@@ -25143,7 +25260,7 @@
25143
25260
  "classification": "supported",
25144
25261
  "kind": "interface",
25145
25262
  "name": "MergeDecisionReceipt",
25146
- "signature": "export interface MergeDecisionReceipt { version: 1; id: string; item_path: string; item_id: string; requested_preference?: MergePreferredSide; preferred?: MergePreferredSide; conflict_resolution: \"preferred_side\" | \"stable_value_order\"; fields_from_theirs: string[]; union_fields: string[]; decisions: ItemMergeConflictDecision[]; state: \"pending\" | \"reconciled\"; created_at: string; reconciled_at?: string; value_availability?: \"clone_local\" | \"hash_only\"; }"
25263
+ "signature": "export interface MergeDecisionReceipt { version: 1; id: string; item_path: string; item_id: string; requested_preference?: MergePreferredSide; preferred?: MergePreferredSide; conflict_resolution: \"preferred_side\" | \"stable_value_order\"; fields_from_theirs: string[]; union_fields: string[]; merged_field_hashes?: Record<string, string>; decisions: ItemMergeConflictDecision[]; state: \"pending\" | \"reconciled\"; created_at: string; reconciled_at?: string; value_availability?: \"clone_local\" | \"hash_only\"; evidence_source?: \"clone_local\" | \"durable\"; }"
25147
25264
  },
25148
25265
  {
25149
25266
  "classification": "supported",
@@ -27333,7 +27450,7 @@
27333
27450
  "classification": "advanced_export",
27334
27451
  "kind": "interface",
27335
27452
  "name": "ContractsResult",
27336
- "signature": "export interface ContractsResult { schema_version: string | null; schema_id: string | null; selected: { action: string | null; command: string | null; summary: boolean; schema_only: boolean; flags_only: boolean; availability_only: boolean; runtime_only: boolean; command_scoped: boolean; }; actions?: string[]; action_availability?: ContractsActionAvailability[]; commands: string[]; schema?: Record<string, unknown>; schema_omitted_reason?: string; command_flags_omitted_reason?: string; commander_aliases_omitted_reason?: string; command_flags?: CommandFlagSurface[]; list_projections?: ListCommandProjectionSurface[]; command_aliases?: CommandAliasSurface[]; grammar_contracts?: { nouns: readonly string[]; shared_verbs: readonly string[]; scope_before_verb: boolean; visible_top_level_ceiling: number; ceiling_raise_requires_pm_item: boolean; positional_shape_budget: number; positional_shape_count: number; positional_action_count: number; positional_action_parents: readonly string[]; positional_signatures?: readonly PmCommandPositionalContract[]; destinations?: readonly PmCommandDestinationContract[]; }; commander_aliases?: Record<string, CommanderOptionAliasContract[]>; extension_commands?: ExtensionCommandContract[]; command_summaries?: CommandSummarySurface[]; output_policy?: { token_estimate: \"ceil(utf8_bytes / 4)\"; degradation_ladder: string[]; allows_unbounded_opt_out: boolean; }; runtime_schema?: { statuses: string[]; open_status: string; close_status: string; canceled_status: string; types: string[]; fields_by_command: Record<string, string[]>; }; relationship_kind_contracts?: Array<{ canonical: string; aliases: string[]; inverse?: string; ordering: boolean; hierarchy: boolean; }>; extension_contracts?: { capabilities: string[]; services: string[]; policy_modes: string[]; policy_mode_scope: \"extensions.policy.mode\"; policy_surfaces: string[]; trust_modes: string[]; trust_mode_scope: \"extensions.policy.trust_mode\"; sandbox_profiles: string[]; manifest_versions: number[]; compatibility: { current: string; previous: string[]; breaking_strategy: string; }; }; governance_contracts?: { ownership_enforcement_modes: string[]; create_modes: string[]; close_validation_modes: string[]; workflow_enforcement_modes: string[]; }; assurance_contracts?: { measurement_source_kinds: readonly string[]; gate_triggers: readonly string[]; }; mcp_tools?: McpToolContract[]; context_intents?: readonly PmContextIntentContract[]; read_output_dimensions?: readonly PmReadOutputSurfaceContract[]; error_codes?: readonly PmErrorCodeContract[]; command_output_contracts?: Array<{ budget: PmCommandOutputBudgetContract; envelope: PmCommandOutputEnvelopeContract; }>; diagnostic_output_contracts?: readonly PmDiagnosticOutputBudgetContract[]; command_exit_contracts?: { vocabulary: readonly PmCommandExitOutcomeContract[]; command_sets: Array<{ commands: string[]; exit_codes: PmCommandExitContract[\"exit_codes\"]; }>; }; }"
27453
+ "signature": "export interface ContractsResult { schema_version: string | null; schema_id: string | null; selected: { action: string | null; command: string | null; summary: boolean; schema_only: boolean; flags_only: boolean; availability_only: boolean; runtime_only: boolean; command_scoped: boolean; }; actions?: string[]; action_availability?: ContractsActionAvailability[]; commands: string[]; schema?: Record<string, unknown>; schema_omitted_reason?: string; command_flags_omitted_reason?: string; commander_aliases_omitted_reason?: string; command_flags?: CommandFlagSurface[]; list_projections?: ListCommandProjectionSurface[]; command_aliases?: CommandAliasSurface[]; grammar_contracts?: { nouns: readonly string[]; shared_verbs: readonly string[]; scope_before_verb: boolean; visible_top_level_ceiling: number; ceiling_raise_requires_pm_item: boolean; positional_shape_budget: number; positional_shape_count: number; positional_action_count: number; positional_action_parents: readonly string[]; positional_signatures?: readonly PmCommandPositionalContract[]; destinations?: readonly PmCommandDestinationContract[]; }; commander_aliases?: Record<string, CommanderOptionAliasContract[]>; extension_commands?: ExtensionCommandContract[]; command_summaries?: CommandSummarySurface[]; output_policy?: { token_estimate: \"ceil(utf8_bytes / 4)\"; degradation_ladder: string[]; allows_unbounded_opt_out: boolean; }; output_projection_contracts?: { global_ladder_field: \"output_policy.degradation_ladder\"; global_ladder_scope: \"union_not_per_command\"; discovery: \"pm contracts --command <command> --summary\"; commands?: Array<{ command: string; modes: string[]; }>; }; runtime_schema?: { statuses: string[]; open_status: string; close_status: string; canceled_status: string; types: string[]; fields_by_command: Record<string, string[]>; }; relationship_kind_contracts?: Array<{ canonical: string; aliases: string[]; inverse?: string; ordering: boolean; hierarchy: boolean; }>; extension_contracts?: { capabilities: string[]; services: string[]; policy_modes: string[]; policy_mode_scope: \"extensions.policy.mode\"; policy_surfaces: string[]; trust_modes: string[]; trust_mode_scope: \"extensions.policy.trust_mode\"; sandbox_profiles: string[]; manifest_versions: number[]; compatibility: { current: string; previous: string[]; breaking_strategy: string; }; }; governance_contracts?: { ownership_enforcement_modes: string[]; create_modes: string[]; close_validation_modes: string[]; workflow_enforcement_modes: string[]; }; assurance_contracts?: { measurement_source_kinds: readonly string[]; gate_triggers: readonly string[]; }; mcp_tools?: McpToolContract[]; context_intents?: readonly PmContextIntentContract[]; read_output_dimensions?: readonly PmReadOutputSurfaceContract[]; error_codes?: readonly PmErrorCodeContract[]; command_output_contracts?: Array<{ budget: PmCommandOutputBudgetContract; envelope: PmCommandOutputEnvelopeContract; }>; diagnostic_output_contracts?: readonly PmDiagnosticOutputBudgetContract[]; command_exit_contracts?: { vocabulary: readonly PmCommandExitOutcomeContract[]; command_sets: Array<{ commands: string[]; exit_codes: PmCommandExitContract[\"exit_codes\"]; }>; }; }"
27337
27454
  },
27338
27455
  {
27339
27456
  "classification": "supported",
@@ -28611,7 +28728,7 @@
28611
28728
  "classification": "supported",
28612
28729
  "kind": "interface",
28613
28730
  "name": "PmReadOutputSurfaceContract",
28614
- "signature": "export interface PmReadOutputSurfaceContract { command: PmReadOutputSurface; dimensions: Record<PmReadOutputDimension, PmReadOutputDimensionContract>; precedence: readonly [ \"canonical\", \"legacy\", \"intent\", \"default\" ]; budget_retention_policy: \"ordered_prefix\" | \"verdict_priority\"; }"
28731
+ "signature": "export interface PmReadOutputSurfaceContract { command: PmReadOutputSurface; dimensions: Record<PmReadOutputDimension, PmReadOutputDimensionContract>; precedence: readonly [ \"canonical\", \"legacy\", \"intent\", \"default\" ]; budget_retention_policy: \"ordered_prefix\" | \"verdict_priority\"; projection_modes?: readonly string[]; }"
28615
28732
  },
28616
28733
  {
28617
28734
  "classification": "supported",
@@ -30502,6 +30619,7 @@
30502
30619
  "history_author_acknowledge_target_unreadable",
30503
30620
  "history_drift_chain_mismatch",
30504
30621
  "history_drift_hash_mismatch",
30622
+ "history_drift_merge_receipt",
30505
30623
  "history_drift_missing_stream",
30506
30624
  "history_drift_unreadable_stream",
30507
30625
  "history_merge_conflict_markers_detected",
@@ -30571,7 +30689,10 @@
30571
30689
  "merge_conflict_markers_detected",
30572
30690
  "merge_decisions_unreviewed",
30573
30691
  "merge_git_config_unwritable",
30692
+ "merge_receipt_evidence_invalid",
30693
+ "merge_receipts_pending",
30574
30694
  "merge_reconcile_discards_require_acceptance",
30695
+ "merge_reconcile_receipt_evidence_untrusted",
30575
30696
  "merge_root_not_found",
30576
30697
  "missing_allowed_values",
30577
30698
  "missing_budget",