@unbrained/pm-cli 2026.8.8 → 2026.8.9

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 (144) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +19 -0
  3. package/dist/cli-bundle/bundle-manifest.json +154 -154
  4. package/dist/cli-bundle/chunks/chunk-2DTCZXSD.js +13 -0
  5. package/dist/cli-bundle/chunks/{chunk-ALDHXLPS.js → chunk-5JO6R4BS.js} +2 -2
  6. package/dist/cli-bundle/chunks/chunk-5KN4DZYV.js +194 -0
  7. package/dist/cli-bundle/chunks/chunk-EF43KODO.js +2 -0
  8. package/dist/cli-bundle/chunks/{chunk-NUXRRNAB.js → chunk-GMX5YOI3.js} +25 -25
  9. package/dist/cli-bundle/chunks/chunk-HUV2Z7IS.js +28 -0
  10. package/dist/cli-bundle/chunks/{chunk-SQ7QZFQ6.js → chunk-MHBVCUF2.js} +2 -2
  11. package/dist/cli-bundle/chunks/chunk-PYO5GZU6.js +5 -0
  12. package/dist/cli-bundle/chunks/{chunk-CBLA33YK.js → chunk-RJC7TPF4.js} +2 -2
  13. package/dist/cli-bundle/chunks/{chunk-2ZMXX3Q6.js → chunk-YC3UF2IO.js} +64 -64
  14. package/dist/cli-bundle/chunks/{register-list-query-WFZAMJHZ.js → register-list-query-BUE7PTCU.js} +2 -2
  15. package/dist/cli-bundle/chunks/{register-mutation-SOKKOTHQ.js → register-mutation-FC3XLVIK.js} +2 -2
  16. package/dist/cli-bundle/chunks/{register-operations-5XQETS6E.js → register-operations-YH2WAOXU.js} +2 -2
  17. package/dist/cli-bundle/chunks/{register-setup-2HL5ZHMK.js → register-setup-UQDTNTLJ.js} +2 -2
  18. package/dist/cli-bundle/focused-chunks/chunk-2VVP5RAA.js +153 -0
  19. package/dist/cli-bundle/focused-chunks/{chunk-IAS7PMLG.js → chunk-3GSFUDAI.js} +2 -2
  20. package/dist/cli-bundle/focused-chunks/chunk-3WVHTUAW.js +5 -0
  21. package/dist/cli-bundle/focused-chunks/chunk-4H6MVCK3.js +16 -0
  22. package/dist/cli-bundle/focused-chunks/{chunk-ZOLDTUU7.js → chunk-54TZJ4BM.js} +2 -2
  23. package/dist/cli-bundle/focused-chunks/{chunk-YKPE4PPY.js → chunk-5NK5TJ5D.js} +2 -2
  24. package/dist/cli-bundle/focused-chunks/{chunk-ANTMGYLI.js → chunk-6DO4YQWZ.js} +2 -2
  25. package/dist/cli-bundle/focused-chunks/chunk-73FIJONU.js +2 -0
  26. package/dist/cli-bundle/focused-chunks/{chunk-PL2EYDJK.js → chunk-C3GCHDSQ.js} +29 -27
  27. package/dist/cli-bundle/focused-chunks/{chunk-U646T7Z6.js → chunk-JGRSQZJT.js} +3 -3
  28. package/dist/cli-bundle/focused-chunks/{chunk-YSAHYUXX.js → chunk-KNEHLPBF.js} +2 -2
  29. package/dist/cli-bundle/focused-chunks/chunk-MRWVJ3ZG.js +2 -0
  30. package/dist/cli-bundle/focused-chunks/chunk-NL57J7BZ.js +4 -0
  31. package/dist/cli-bundle/focused-chunks/{chunk-DMKOMTTY.js → chunk-P6BBIQRG.js} +2 -2
  32. package/dist/cli-bundle/focused-chunks/{chunk-GWI6YIKJ.js → chunk-PZAGVQNN.js} +2 -2
  33. package/dist/cli-bundle/focused-chunks/chunk-QDAO3XEK.js +14 -0
  34. package/dist/cli-bundle/focused-chunks/{chunk-SM2PJGP3.js → chunk-T4IGQCSY.js} +2 -2
  35. package/dist/cli-bundle/focused-chunks/chunk-U46GQJNY.js +2 -0
  36. package/dist/cli-bundle/focused-chunks/{chunk-TCSAPH33.js → chunk-VRXJSGIT.js} +6 -6
  37. package/dist/cli-bundle/focused-chunks/{chunk-FI6DWU2M.js → chunk-XC2ZW3CJ.js} +2 -2
  38. package/dist/cli-bundle/focused-chunks/chunk-ZG54B4XG.js +2 -0
  39. package/dist/cli-bundle/main.js +2 -2
  40. package/dist/cli-bundle/sdk-authoring.js +1 -1
  41. package/dist/cli-bundle/sdk-contracts.js +1 -1
  42. package/dist/cli-bundle/sdk-core.js +29 -29
  43. package/dist/cli-bundle/sdk-governance.js +1 -1
  44. package/dist/cli-bundle/sdk-graph.js +1 -1
  45. package/dist/cli-bundle/sdk-merge.js +1 -1
  46. package/dist/cli-bundle/sdk-query.js +1 -1
  47. package/dist/cli-bundle/sdk-runtime.js +1 -1
  48. package/dist/cli-bundle/sdk-testing.js +1 -1
  49. package/dist/cli-bundle/sdk.js +2 -2
  50. package/dist/core/diagnostics/remediation.js +12 -2
  51. package/dist/core/history/history.js +13 -4
  52. package/dist/core/item/actionability.d.ts +7 -1
  53. package/dist/core/item/actionability.js +71 -15
  54. package/dist/core/shared/author.d.ts +25 -0
  55. package/dist/core/shared/author.js +114 -9
  56. package/dist/sdk/actionability.d.ts +1 -1
  57. package/dist/sdk/actionability.js +3 -3
  58. package/dist/sdk/cli-contracts/runtime-contracts.d.ts +8 -0
  59. package/dist/sdk/cli-contracts/runtime-contracts.js +17 -2
  60. package/dist/sdk/core-governance.d.ts +1 -1
  61. package/dist/sdk/core-governance.js +3 -3
  62. package/dist/sdk/dependencies.d.ts +2 -0
  63. package/dist/sdk/dependencies.js +7 -6
  64. package/dist/sdk/extension/bundled-catalog.js +19 -6
  65. package/dist/sdk/generated-error-code-catalog.js +38 -2
  66. package/dist/sdk/governance/health.js +29 -10
  67. package/dist/sdk/governance/provenance-health.d.ts +26 -0
  68. package/dist/sdk/governance/provenance-health.js +139 -0
  69. package/dist/sdk/governance/validate.js +13 -8
  70. package/dist/sdk/governance.d.ts +1 -0
  71. package/dist/sdk/governance.js +3 -2
  72. package/dist/sdk/graph/assembly.d.ts +4 -0
  73. package/dist/sdk/graph/assembly.js +22 -2
  74. package/dist/sdk/graph/run.d.ts +2 -0
  75. package/dist/sdk/graph/run.js +3 -2
  76. package/dist/sdk/lifecycle/close.js +13 -8
  77. package/dist/sdk/lifecycle/create.js +6 -12
  78. package/dist/sdk/lifecycle/plan.js +6 -3
  79. package/dist/sdk/lifecycle/update.js +6 -20
  80. package/dist/sdk/merge/driver.d.ts +2 -1
  81. package/dist/sdk/merge/driver.js +7 -4
  82. package/dist/sdk/merge/install.js +3 -3
  83. package/dist/sdk/merge/receipts.d.ts +14 -1
  84. package/dist/sdk/merge/receipts.js +36 -8
  85. package/dist/sdk/merge/reconcile.js +21 -4
  86. package/dist/sdk/merge/three-way.d.ts +6 -2
  87. package/dist/sdk/merge/three-way.js +24 -10
  88. package/dist/sdk/query/get.d.ts +11 -0
  89. package/dist/sdk/query/get.js +37 -3
  90. package/dist/sdk/read-output-contracts.d.ts +1 -1
  91. package/dist/sdk/read-output-contracts.js +23 -4
  92. package/dist/sdk/relationship-kinds/contract.d.ts +48 -0
  93. package/dist/sdk/relationship-kinds/contract.js +22 -0
  94. package/dist/sdk/relationships.d.ts +6 -41
  95. package/dist/sdk/relationships.js +12 -126
  96. package/dist/sdk/runtime-primitives.d.ts +1 -1
  97. package/dist/sdk/runtime-primitives.js +3 -3
  98. package/dist/sdk/similarity.d.ts +5 -0
  99. package/dist/sdk/similarity.js +40 -10
  100. package/dist/sdk/structured-mutations.js +5 -2
  101. package/dist/sdk/test/linked-command-detection.d.ts +2 -7
  102. package/dist/sdk/test/linked-command-detection.js +22 -9
  103. package/docs/AGENT_GUIDE.md +2 -1
  104. package/docs/COMMANDS.md +19 -1
  105. package/docs/DEPENDENCY_KIND_CONTRACT.md +29 -0
  106. package/docs/ITEM_READ_PROJECTIONS.md +26 -0
  107. package/docs/MERGE_SAFETY.md +10 -3
  108. package/docs/RELATIONSHIP_GRAPH.md +1 -1
  109. package/docs/SDK_AGENT_SESSION_CONTEXT.md +35 -2
  110. package/docs/SDK_CONTEXT_INTEGRITY.md +16 -1
  111. package/docs/SENTRY_CONTRACT_EPOCHS.md +20 -0
  112. package/docs/agent-task-token-baseline.json +2 -2
  113. package/marketplace.json +2 -2
  114. package/package.json +1 -1
  115. package/packages/pm-beads/package.json +1 -1
  116. package/packages/pm-calendar/package.json +1 -1
  117. package/packages/pm-command-kit/package.json +1 -1
  118. package/packages/pm-digital-twin/package.json +1 -1
  119. package/packages/pm-governance-audit/package.json +1 -1
  120. package/packages/pm-guide-shell/package.json +1 -1
  121. package/packages/pm-kanban/package.json +1 -1
  122. package/packages/pm-lifecycle-hooks/package.json +1 -1
  123. package/packages/pm-linked-test-adapters/package.json +1 -1
  124. package/packages/pm-search-advanced/package.json +1 -1
  125. package/packages/pm-templates/package.json +1 -1
  126. package/packages/pm-todos/package.json +1 -1
  127. package/packages/pm-vcs/package.json +1 -1
  128. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  129. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  130. package/sdk/public-surface.json +231 -27
  131. package/dist/cli-bundle/chunks/chunk-GKA54IJM.js +0 -5
  132. package/dist/cli-bundle/chunks/chunk-KRY7SRUO.js +0 -2
  133. package/dist/cli-bundle/chunks/chunk-MNJ4NNSY.js +0 -26
  134. package/dist/cli-bundle/chunks/chunk-OJPCFDDY.js +0 -13
  135. package/dist/cli-bundle/chunks/chunk-PFSD3DAN.js +0 -194
  136. package/dist/cli-bundle/focused-chunks/chunk-54EU2UVO.js +0 -2
  137. package/dist/cli-bundle/focused-chunks/chunk-5FLBTZJQ.js +0 -2
  138. package/dist/cli-bundle/focused-chunks/chunk-5GJ57YKN.js +0 -2
  139. package/dist/cli-bundle/focused-chunks/chunk-CMDS3KYT.js +0 -14
  140. package/dist/cli-bundle/focused-chunks/chunk-F5B3HBEZ.js +0 -5
  141. package/dist/cli-bundle/focused-chunks/chunk-FNOKJG6N.js +0 -16
  142. package/dist/cli-bundle/focused-chunks/chunk-FPDYXZBK.js +0 -4
  143. package/dist/cli-bundle/focused-chunks/chunk-HCUC62AB.js +0 -2
  144. package/dist/cli-bundle/focused-chunks/chunk-HGNKPSCB.js +0 -153
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "aggregate_completeness": {
3
- "covered_symbols": 1464,
3
+ "covered_symbols": 1477,
4
4
  "excluded": [
5
5
  {
6
6
  "name": "_testOnlyCliContracts",
@@ -8,7 +8,7 @@
8
8
  }
9
9
  ],
10
10
  "missing": [],
11
- "required_symbols": 1465
11
+ "required_symbols": 1478
12
12
  },
13
13
  "breaking_acknowledgements": [
14
14
  {
@@ -94,6 +94,51 @@
94
94
  ],
95
95
  "package_version": "2026.8.7",
96
96
  "reason": "Extend project runtime inspection with optional stale-read diagnostics for pm-1eted6; existing result fields and behavior remain compatible."
97
+ },
98
+ {
99
+ "changes": [
100
+ "signature ./sdk:DuplicateClustersResult",
101
+ "signature ./sdk:ItemDocumentMergeResult",
102
+ "signature ./sdk:listMergeReceipts",
103
+ "signature ./sdk:MergeDecisionReceipt",
104
+ "signature ./sdk:MergeDecisionReceiptSummary",
105
+ "signature ./sdk:MergeDriverResult",
106
+ "signature ./sdk:mergeItemDocuments",
107
+ "signature ./sdk:PM_READ_OUTPUT_SURFACES",
108
+ "signature ./sdk/contracts:PM_READ_OUTPUT_SURFACES",
109
+ "signature ./sdk/governance:DuplicateClustersResult",
110
+ "signature ./sdk/merge:ItemDocumentMergeResult",
111
+ "signature ./sdk/merge:listMergeReceipts",
112
+ "signature ./sdk/merge:MergeDecisionReceipt",
113
+ "signature ./sdk/merge:MergeDecisionReceiptSummary",
114
+ "signature ./sdk/merge:MergeDriverResult",
115
+ "signature ./sdk/merge:mergeItemDocuments"
116
+ ],
117
+ "package_version": "2026.8.8",
118
+ "reason": "Truthful merge receipts, duplicate filters, and package read-output contracts"
119
+ },
120
+ {
121
+ "changes": [
122
+ "signature ./sdk:ContractsResult",
123
+ "signature ./sdk:DepsResult",
124
+ "signature ./sdk:GraphAuditResult",
125
+ "signature ./sdk:WorkspaceRelationshipAssembly",
126
+ "signature ./sdk/core:DepsResult",
127
+ "signature ./sdk/graph:GraphAuditResult",
128
+ "signature ./sdk/graph:WorkspaceRelationshipAssembly",
129
+ "signature ./sdk/runtime:ContractsResult",
130
+ "signature ./sdk/runtime:DepsResult"
131
+ ],
132
+ "package_version": "2026.8.8",
133
+ "reason": "Additive optional SDK result diagnostics and relationship ontology projections; established fields and function inputs remain compatible"
134
+ },
135
+ {
136
+ "changes": [
137
+ "signature ./sdk:WorkspaceRelationshipAssembly",
138
+ "signature ./sdk/graph:WorkspaceRelationshipAssembly"
139
+ ],
140
+ "package_version": "2026.8.8",
141
+ "reason": "Make the newly introduced legacyAliasCounts assembly field total so all public consumers receive a stable empty object instead of an impossible undefined state"
97
142
  }
98
143
  ],
99
144
  "entrypoints": {
@@ -214,6 +259,12 @@
214
259
  "name": "acquireLock",
215
260
  "signature": "(pmRoot: string, id: string, ttlSeconds: number, owner: string, force?: boolean, forceRequiredForStaleLock?: boolean, waitMs?: number) => Promise<() => Promise<void>> | calls: (pmRoot: string, id: string, ttlSeconds: number, owner: string, force?: boolean, forceRequiredForStaleLock?: boolean, waitMs?: number) => Promise<() => Promise<void>>"
216
261
  },
262
+ {
263
+ "classification": "supported",
264
+ "kind": "value",
265
+ "name": "ACTIONABILITY_ORDERING_KINDS",
266
+ "signature": "readonly string[]"
267
+ },
217
268
  {
218
269
  "classification": "supported",
219
270
  "kind": "interface",
@@ -364,6 +415,12 @@
364
415
  "name": "AgentProvenance",
365
416
  "signature": "export type AgentProvenance = Readonly<Record<string, AgentProvenanceObservation | null>>;"
366
417
  },
418
+ {
419
+ "classification": "supported",
420
+ "kind": "type",
421
+ "name": "AgentProvenanceAbsenceReason",
422
+ "signature": "export type AgentProvenanceAbsenceReason = \"harness_unavailable\" | \"resolver_failed\" | \"resolver_not_configured\" | \"probes_disabled\" | \"invalid_value\";"
423
+ },
367
424
  {
368
425
  "classification": "supported",
369
426
  "kind": "interface",
@@ -382,6 +439,12 @@
382
439
  "name": "AgentProvenanceObservation",
383
440
  "signature": "export interface AgentProvenanceObservation { value: string; source: AgentModelSource; }"
384
441
  },
442
+ {
443
+ "classification": "supported",
444
+ "kind": "interface",
445
+ "name": "AgentProvenanceOutcome",
446
+ "signature": "export interface AgentProvenanceOutcome { status: \"resolved\" | \"unavailable\" | \"failed\"; reason?: AgentProvenanceAbsenceReason; resolver?: AgentProvenanceResolver; rule_version: \"v1\"; }"
447
+ },
385
448
  {
386
449
  "classification": "supported",
387
450
  "kind": "interface",
@@ -1222,6 +1285,12 @@
1222
1285
  "name": "BUILTIN_PROFILES",
1223
1286
  "signature": "Record<\"agile\" | \"ops\" | \"research\", ProjectProfileDefinition>"
1224
1287
  },
1288
+ {
1289
+ "classification": "supported",
1290
+ "kind": "value",
1291
+ "name": "BUILTIN_RELATIONSHIP_KINDS",
1292
+ "signature": "readonly RelationshipKindDefinition[]"
1293
+ },
1225
1294
  {
1226
1295
  "classification": "advanced_export",
1227
1296
  "kind": "type",
@@ -1330,6 +1399,12 @@
1330
1399
  "name": "canonicalizeCommandOptionKey",
1331
1400
  "signature": "(command: CommandOptionPolicyCommand, rawOption: string) => string | undefined | calls: (command: CommandOptionPolicyCommand, rawOption: string) => string | undefined"
1332
1401
  },
1402
+ {
1403
+ "classification": "supported",
1404
+ "kind": "function",
1405
+ "name": "canonicalizeRelationshipKind",
1406
+ "signature": "(kind: string) => string | calls: (kind: string) => string"
1407
+ },
1333
1408
  {
1334
1409
  "classification": "supported",
1335
1410
  "kind": "function",
@@ -1540,6 +1615,12 @@
1540
1615
  "name": "collectBlockedByIds",
1541
1616
  "signature": "(item: Pick<ItemMetadata, \"blocked_by\" | \"dependencies\">) => string[] | calls: (item: Pick<ItemMetadata, \"blocked_by\" | \"dependencies\">) => string[]"
1542
1617
  },
1618
+ {
1619
+ "classification": "supported",
1620
+ "kind": "function",
1621
+ "name": "collectBlockedByIdsFromCorpus",
1622
+ "signature": "(item: ItemMetadata, corpus: readonly ItemMetadata[]) => string[] | calls: (item: ItemMetadata, corpus: readonly ItemMetadata[]) => string[]"
1623
+ },
1543
1624
  {
1544
1625
  "classification": "supported",
1545
1626
  "kind": "function",
@@ -2306,7 +2387,7 @@
2306
2387
  "classification": "advanced_export",
2307
2388
  "kind": "interface",
2308
2389
  "name": "ContractsResult",
2309
- "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[]; 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[]>; }; 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[]; }; mcp_tools?: McpToolContract[]; context_intents?: readonly PmContextIntentContract[]; read_output_dimensions?: readonly PmReadOutputSurfaceContract[]; error_codes?: readonly PmErrorCodeContract[]; command_output_contracts?: Array<{ budget: PmCommandOutputBudgetContract; envelope: PmCommandOutputEnvelopeContract; }>; command_exit_contracts?: { vocabulary: readonly PmCommandExitOutcomeContract[]; command_sets: Array<{ commands: string[]; exit_codes: PmCommandExitContract[\"exit_codes\"]; }>; }; }"
2390
+ "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[]; 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[]; }; mcp_tools?: McpToolContract[]; context_intents?: readonly PmContextIntentContract[]; read_output_dimensions?: readonly PmReadOutputSurfaceContract[]; error_codes?: readonly PmErrorCodeContract[]; command_output_contracts?: Array<{ budget: PmCommandOutputBudgetContract; envelope: PmCommandOutputEnvelopeContract; }>; command_exit_contracts?: { vocabulary: readonly PmCommandExitOutcomeContract[]; command_sets: Array<{ commands: string[]; exit_codes: PmCommandExitContract[\"exit_codes\"]; }>; }; }"
2310
2391
  },
2311
2392
  {
2312
2393
  "classification": "supported",
@@ -2972,7 +3053,7 @@
2972
3053
  "classification": "supported",
2973
3054
  "kind": "interface",
2974
3055
  "name": "DepsResult",
2975
- "signature": "export interface DepsResult { id: string; format: DepsFormat; node_count: number; edge_count: number; edge_basis: \"deduplicated_directed\"; missing_count: number; missing_scope?: \"traversal\"; missing_reference_count?: number; missing_references?: DanglingDependencyReference[]; truncation?: { reasons: Array<\"max_depth\" | \"node_limit\" | \"edge_limit\" | \"token_budget\">; limits: { max_depth: number; node_limit: number; edge_limit: number; token_budget: number; }; estimated_tokens: number; total_node_count: number; total_edge_count: number; omitted_node_count: number; omitted_edge_count: number; }; tree?: DepsTreeNode; graph?: DepsGraphResult; context?: RelationshipContextResult; projection: OutputProjectionDeclaration; }"
3056
+ "signature": "export interface DepsResult { id: string; format: DepsFormat; node_count: number; edge_count: number; edge_basis: \"deduplicated_directed\"; legacy_alias_counts?: Record<string, number>; missing_count: number; missing_scope?: \"traversal\"; missing_reference_count?: number; missing_references?: DanglingDependencyReference[]; truncation?: { reasons: Array<\"max_depth\" | \"node_limit\" | \"edge_limit\" | \"token_budget\">; limits: { max_depth: number; node_limit: number; edge_limit: number; token_budget: number; }; estimated_tokens: number; total_node_count: number; total_edge_count: number; omitted_node_count: number; omitted_edge_count: number; }; tree?: DepsTreeNode; graph?: DepsGraphResult; context?: RelationshipContextResult; projection: OutputProjectionDeclaration; }"
2976
3057
  },
2977
3058
  {
2978
3059
  "classification": "advanced_export",
@@ -3076,6 +3157,18 @@
3076
3157
  "name": "detectRelationshipCommunities",
3077
3158
  "signature": "(graph: RelationshipGraph, options?: GraphCommunityOptions) => RelationshipQueryResult<RelationshipCommunityAnalysis> | calls: (graph: RelationshipGraph, options?: GraphCommunityOptions) => RelationshipQueryResult<RelationshipCommunityAnalysis>"
3078
3159
  },
3160
+ {
3161
+ "classification": "supported",
3162
+ "kind": "function",
3163
+ "name": "diagnoseAgentIdentity",
3164
+ "signature": "(signals?: HarnessDetectionSignals) => DiagnosedAgentIdentity | calls: (signals?: HarnessDetectionSignals) => DiagnosedAgentIdentity"
3165
+ },
3166
+ {
3167
+ "classification": "supported",
3168
+ "kind": "interface",
3169
+ "name": "DiagnosedAgentIdentity",
3170
+ "signature": "export interface DiagnosedAgentIdentity extends DetectedAgentIdentity { provenance_outcomes: Readonly<Record<string, AgentProvenanceOutcome>>; }"
3171
+ },
3079
3172
  {
3080
3173
  "classification": "supported",
3081
3174
  "kind": "function",
@@ -3146,7 +3239,7 @@
3146
3239
  "classification": "supported",
3147
3240
  "kind": "interface",
3148
3241
  "name": "DuplicateClustersResult",
3149
- "signature": "export interface DuplicateClustersResult { clusters: DuplicateCluster[]; count: number; threshold: number; source: \"metadata_scan\"; cost: { item_count: number; candidate_pairs: number; scored_pairs: number; }; }"
3242
+ "signature": "export interface DuplicateClustersResult { clusters: DuplicateCluster[]; count: number; threshold: number; source: \"metadata_scan\"; filters: { statuses: string[] | null; since: string | null; }; cost: { item_count: number; candidate_pairs: number; scored_pairs: number; }; }"
3150
3243
  },
3151
3244
  {
3152
3245
  "classification": "supported",
@@ -4604,7 +4697,7 @@
4604
4697
  "classification": "supported",
4605
4698
  "kind": "interface",
4606
4699
  "name": "GraphAuditResult",
4607
- "signature": "export interface GraphAuditResult { subcommand: \"audit\"; finding_count: number; findings_by_severity: Record<string, number>; findings_by_code: Record<string, number>; affected_subjects_by_severity: Record<string, number>; affected_subjects_by_code: Record<string, number>; profile: RelationshipAuditReport[\"profile\"]; findings?: RelationshipAuditReport[\"findings\"]; baseline?: RelationshipAuditDelta; cache?: GraphCacheMetadata; }"
4700
+ "signature": "export interface GraphAuditResult { subcommand: \"audit\"; finding_count: number; findings_by_severity: Record<string, number>; findings_by_code: Record<string, number>; affected_subjects_by_severity: Record<string, number>; affected_subjects_by_code: Record<string, number>; profile: RelationshipAuditReport[\"profile\"]; legacy_alias_counts?: Record<string, number>; findings?: RelationshipAuditReport[\"findings\"]; baseline?: RelationshipAuditDelta; cache?: GraphCacheMetadata; }"
4608
4701
  },
4609
4702
  {
4610
4703
  "classification": "supported",
@@ -5272,6 +5365,12 @@
5272
5365
  "name": "ImprovementTrend",
5273
5366
  "signature": "export interface ImprovementTrend { metric: string; direction: ImprovementDirection; baseline: ImprovementObservation; latest: ImprovementObservation; delta: number; improved: boolean; sample_count: number; }"
5274
5367
  },
5368
+ {
5369
+ "classification": "supported",
5370
+ "kind": "function",
5371
+ "name": "indexBlockedByIds",
5372
+ "signature": "(corpus: readonly ItemMetadata[]) => Map<string, string[]> | calls: (corpus: readonly ItemMetadata[]) => Map<string, string[]>"
5373
+ },
5275
5374
  {
5276
5375
  "classification": "supported",
5277
5376
  "kind": "interface",
@@ -5624,7 +5723,7 @@
5624
5723
  "classification": "supported",
5625
5724
  "kind": "interface",
5626
5725
  "name": "ItemDocumentMergeResult",
5627
- "signature": "export interface ItemDocumentMergeResult { merged: string; conflict_fields: string[]; fields_from_theirs: string[]; union_fields: string[]; conflict_decisions: ItemMergeConflictDecision[]; preferred: MergePreferredSide; }"
5726
+ "signature": "export interface ItemDocumentMergeResult { merged: string; conflict_fields: string[]; fields_from_theirs: string[]; union_fields: string[]; conflict_decisions: ItemMergeConflictDecision[]; preferred: MergePreferredSide; conflict_resolution: \"preferred_side\" | \"stable_value_order\"; }"
5628
5727
  },
5629
5728
  {
5630
5729
  "classification": "advanced_export",
@@ -5984,7 +6083,7 @@
5984
6083
  "classification": "supported",
5985
6084
  "kind": "function",
5986
6085
  "name": "listMergeReceipts",
5987
- "signature": "(cwd: string, options?: { includeReconciled?: boolean; }) => Promise<MergeDecisionReceipt[]> | calls: (cwd: string, options?: { includeReconciled?: boolean; }) => Promise<MergeDecisionReceipt[]>"
6086
+ "signature": "(cwd: string, options?: { includeReconciled?: boolean; includeLossless?: boolean; }) => Promise<MergeDecisionReceipt[]> | calls: (cwd: string, options?: { includeReconciled?: boolean; includeLossless?: boolean; }) => Promise<MergeDecisionReceipt[]>"
5988
6087
  },
5989
6088
  {
5990
6089
  "classification": "supported",
@@ -6242,13 +6341,13 @@
6242
6341
  "classification": "supported",
6243
6342
  "kind": "interface",
6244
6343
  "name": "MergeDecisionReceipt",
6245
- "signature": "export interface MergeDecisionReceipt { version: 1; id: string; item_path: string; item_id: string; preferred: MergePreferredSide; fields_from_theirs: string[]; union_fields: string[]; decisions: ItemMergeConflictDecision[]; state: \"pending\" | \"reconciled\"; created_at: string; reconciled_at?: string; }"
6344
+ "signature": "export interface MergeDecisionReceipt { version: 1; id: string; item_path: string; item_id: string; 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; }"
6246
6345
  },
6247
6346
  {
6248
6347
  "classification": "supported",
6249
6348
  "kind": "interface",
6250
6349
  "name": "MergeDecisionReceiptSummary",
6251
- "signature": "export interface MergeDecisionReceiptSummary { receipt_id: string; item_id: string; item_path: string; conflict_fields: string[]; fields_from_theirs: string[]; union_fields: string[]; preferred: MergePreferredSide; decisions: Array<{ field: string; retained_hash: string; discarded_hash: string; }>; }"
6350
+ "signature": "export interface MergeDecisionReceiptSummary { receipt_id: string; item_id: string; item_path: string; conflict_fields: string[]; fields_from_theirs: string[]; union_fields: string[]; preferred: MergePreferredSide; conflict_resolution: \"preferred_side\" | \"stable_value_order\"; decisions: Array<{ field: string; retained_hash: string; discarded_hash: string; }>; }"
6252
6351
  },
6253
6352
  {
6254
6353
  "classification": "supported",
@@ -6272,7 +6371,7 @@
6272
6371
  "classification": "supported",
6273
6372
  "kind": "interface",
6274
6373
  "name": "MergeDriverResult",
6275
- "signature": "export interface MergeDriverResult { ok: boolean; artifact: MergeDriverArtifact; output_path: string; preferred: MergePreferredSide; conflicts: string[]; history?: { strategy: string; common_entries: number; entries_from_ours: number; entries_from_theirs: number; entries_total: number; reanchored: boolean; }; relationship?: { strategy: string; common_entries: number; entries_from_ours: number; entries_from_theirs: number; entries_total: number; reanchored: boolean; }; item?: { fields_from_theirs: string[]; union_fields: string[]; }; json?: { paths_from_theirs: string[]; }; receipt?: MergeDecisionReceiptSummary; guidance: string[]; generated_at: string; }"
6374
+ "signature": "export interface MergeDriverResult { ok: boolean; artifact: MergeDriverArtifact; output_path: string; preferred: MergePreferredSide; conflicts: string[]; history?: { strategy: string; common_entries: number; entries_from_ours: number; entries_from_theirs: number; entries_total: number; reanchored: boolean; }; relationship?: { strategy: string; common_entries: number; entries_from_ours: number; entries_from_theirs: number; entries_total: number; reanchored: boolean; }; item?: { fields_from_theirs: string[]; union_fields: string[]; conflict_resolution: \"stable_value_order\"; }; json?: { paths_from_theirs: string[]; }; receipt?: MergeDecisionReceiptSummary; guidance: string[]; generated_at: string; }"
6276
6375
  },
6277
6376
  {
6278
6377
  "classification": "supported",
@@ -6320,7 +6419,7 @@
6320
6419
  "classification": "supported",
6321
6420
  "kind": "function",
6322
6421
  "name": "mergeItemDocuments",
6323
- "signature": "(baseRaw: string, oursRaw: string, theirsRaw: string, options?: ItemDocumentFormatOptions & { preferred?: MergePreferredSide; }) => ItemDocumentMergeResult | calls: (baseRaw: string, oursRaw: string, theirsRaw: string, options?: ItemDocumentFormatOptions & { preferred?: MergePreferredSide; }) => ItemDocumentMergeResult"
6422
+ "signature": "(baseRaw: string, oursRaw: string, theirsRaw: string, options?: ItemDocumentFormatOptions & { preferred?: MergePreferredSide; conflictResolution?: \"preferred_side\" | \"stable_value_order\"; }) => ItemDocumentMergeResult | calls: (baseRaw: string, oursRaw: string, theirsRaw: string, options?: ItemDocumentFormatOptions & { preferred?: MergePreferredSide; conflictResolution?: \"preferred_side\" | \"stable_value_order\"; }) => ItemDocumentMergeResult"
6324
6423
  },
6325
6424
  {
6326
6425
  "classification": "supported",
@@ -7646,7 +7745,7 @@
7646
7745
  "classification": "contract_data",
7647
7746
  "kind": "value",
7648
7747
  "name": "PM_READ_OUTPUT_SURFACES",
7649
- "signature": "readonly [\"list\", \"context\", \"search\", \"get\", \"next\", \"health\", \"deps\", \"graph\", \"history\", \"activity\", \"validate\", \"events\", \"contracts\", \"comments\", \"notes\", \"files\", \"docs\", \"stats\", \"aggregate\"]"
7748
+ "signature": "readonly [\"list\", \"context\", \"search\", \"get\", \"next\", \"health\", \"deps\", \"graph\", \"history\", \"activity\", \"validate\", \"events\", \"contracts\", \"comments\", \"notes\", \"files\", \"docs\", \"stats\", \"aggregate\", \"package-manage\"]"
7650
7749
  },
7651
7750
  {
7652
7751
  "classification": "advanced_export",
@@ -8668,6 +8767,18 @@
8668
8767
  "name": "ProvenanceCoverageAnalytics",
8669
8768
  "signature": "export interface ProvenanceCoverageAnalytics { descriptors: AgentProvenanceDescriptorCoverage[]; observations: AgentProvenanceDimensionCoverage[]; inert: Array<{ harness: string; dimension: string; explicit_samples: number; }>; undeclared: string[]; warnings: string[]; window: HistoryAnalyticsWindowReceipt; }"
8670
8769
  },
8770
+ {
8771
+ "classification": "supported",
8772
+ "kind": "interface",
8773
+ "name": "ProvenanceResolverHealthOutcome",
8774
+ "signature": "export interface ProvenanceResolverHealthOutcome { harness: string; dimension: string; resolver: string; attempts: number; successes: number; }"
8775
+ },
8776
+ {
8777
+ "classification": "supported",
8778
+ "kind": "interface",
8779
+ "name": "ProvenanceResolverHealthScan",
8780
+ "signature": "export interface ProvenanceResolverHealthScan { outcomes: ProvenanceResolverHealthOutcome[]; warnings: string[]; events_read: number; truncated: boolean; }"
8781
+ },
8671
8782
  {
8672
8783
  "classification": "advanced_export",
8673
8784
  "kind": "function",
@@ -9946,6 +10057,12 @@
9946
10057
  "name": "resolveCanonicalPmErrorCodeContract",
9947
10058
  "signature": "(code: string, catalog: readonly PmErrorCodeContract[]) => PmErrorCodeContract | calls: (code: string, catalog: readonly PmErrorCodeContract[]) => PmErrorCodeContract"
9948
10059
  },
10060
+ {
10061
+ "classification": "supported",
10062
+ "kind": "function",
10063
+ "name": "resolveCanonicalRelationshipKind",
10064
+ "signature": "(kind: unknown) => string | undefined | calls: (kind: unknown) => string | undefined"
10065
+ },
9949
10066
  {
9950
10067
  "classification": "advanced_export",
9951
10068
  "kind": "function",
@@ -11320,6 +11437,12 @@
11320
11437
  "name": "scanMutationSecrets",
11321
11438
  "signature": "(payload: unknown) => SecretGuardFinding[] | calls: (payload: unknown) => SecretGuardFinding[]"
11322
11439
  },
11440
+ {
11441
+ "classification": "supported",
11442
+ "kind": "function",
11443
+ "name": "scanProvenanceResolverHealth",
11444
+ "signature": "(pmRoot: string, eventLimit?: number) => Promise<ProvenanceResolverHealthScan> | calls: (pmRoot: string, eventLimit?: number) => Promise<ProvenanceResolverHealthScan>"
11445
+ },
11323
11446
  {
11324
11447
  "classification": "supported",
11325
11448
  "kind": "function",
@@ -13346,7 +13469,7 @@
13346
13469
  "classification": "supported",
13347
13470
  "kind": "interface",
13348
13471
  "name": "WorkspaceRelationshipAssembly",
13349
- "signature": "export interface WorkspaceRelationshipAssembly { graph: RelationshipGraph; details: WorkspaceRelationshipNodeDetails[]; missingIdSet: Set<string>; dangling: DanglingDependencyReferenceSummary; duplicateRows: DuplicateDependencyRow[]; }"
13472
+ "signature": "export interface WorkspaceRelationshipAssembly { graph: RelationshipGraph; details: WorkspaceRelationshipNodeDetails[]; missingIdSet: Set<string>; dangling: DanglingDependencyReferenceSummary; duplicateRows: DuplicateDependencyRow[]; legacyAliasCounts: Record<string, number>; }"
13350
13473
  },
13351
13474
  {
13352
13475
  "classification": "supported",
@@ -15728,7 +15851,7 @@
15728
15851
  "classification": "contract_data",
15729
15852
  "kind": "value",
15730
15853
  "name": "PM_READ_OUTPUT_SURFACES",
15731
- "signature": "readonly [\"list\", \"context\", \"search\", \"get\", \"next\", \"health\", \"deps\", \"graph\", \"history\", \"activity\", \"validate\", \"events\", \"contracts\", \"comments\", \"notes\", \"files\", \"docs\", \"stats\", \"aggregate\"]"
15854
+ "signature": "readonly [\"list\", \"context\", \"search\", \"get\", \"next\", \"health\", \"deps\", \"graph\", \"history\", \"activity\", \"validate\", \"events\", \"contracts\", \"comments\", \"notes\", \"files\", \"docs\", \"stats\", \"aggregate\", \"package-manage\"]"
15732
15855
  },
15733
15856
  {
15734
15857
  "classification": "contract_data",
@@ -16570,6 +16693,12 @@
16570
16693
  "name": "AgentProvenance",
16571
16694
  "signature": "export type AgentProvenance = Readonly<Record<string, AgentProvenanceObservation | null>>;"
16572
16695
  },
16696
+ {
16697
+ "classification": "supported",
16698
+ "kind": "type",
16699
+ "name": "AgentProvenanceAbsenceReason",
16700
+ "signature": "export type AgentProvenanceAbsenceReason = \"harness_unavailable\" | \"resolver_failed\" | \"resolver_not_configured\" | \"probes_disabled\" | \"invalid_value\";"
16701
+ },
16573
16702
  {
16574
16703
  "classification": "supported",
16575
16704
  "kind": "interface",
@@ -16588,6 +16717,12 @@
16588
16717
  "name": "AgentProvenanceObservation",
16589
16718
  "signature": "export interface AgentProvenanceObservation { value: string; source: AgentModelSource; }"
16590
16719
  },
16720
+ {
16721
+ "classification": "supported",
16722
+ "kind": "interface",
16723
+ "name": "AgentProvenanceOutcome",
16724
+ "signature": "export interface AgentProvenanceOutcome { status: \"resolved\" | \"unavailable\" | \"failed\"; reason?: AgentProvenanceAbsenceReason; resolver?: AgentProvenanceResolver; rule_version: \"v1\"; }"
16725
+ },
16591
16726
  {
16592
16727
  "classification": "supported",
16593
16728
  "kind": "interface",
@@ -16868,7 +17003,7 @@
16868
17003
  "classification": "supported",
16869
17004
  "kind": "interface",
16870
17005
  "name": "DepsResult",
16871
- "signature": "export interface DepsResult { id: string; format: DepsFormat; node_count: number; edge_count: number; edge_basis: \"deduplicated_directed\"; missing_count: number; missing_scope?: \"traversal\"; missing_reference_count?: number; missing_references?: DanglingDependencyReference[]; truncation?: { reasons: Array<\"max_depth\" | \"node_limit\" | \"edge_limit\" | \"token_budget\">; limits: { max_depth: number; node_limit: number; edge_limit: number; token_budget: number; }; estimated_tokens: number; total_node_count: number; total_edge_count: number; omitted_node_count: number; omitted_edge_count: number; }; tree?: DepsTreeNode; graph?: DepsGraphResult; context?: RelationshipContextResult; projection: OutputProjectionDeclaration; }"
17006
+ "signature": "export interface DepsResult { id: string; format: DepsFormat; node_count: number; edge_count: number; edge_basis: \"deduplicated_directed\"; legacy_alias_counts?: Record<string, number>; missing_count: number; missing_scope?: \"traversal\"; missing_reference_count?: number; missing_references?: DanglingDependencyReference[]; truncation?: { reasons: Array<\"max_depth\" | \"node_limit\" | \"edge_limit\" | \"token_budget\">; limits: { max_depth: number; node_limit: number; edge_limit: number; token_budget: number; }; estimated_tokens: number; total_node_count: number; total_edge_count: number; omitted_node_count: number; omitted_edge_count: number; }; tree?: DepsTreeNode; graph?: DepsGraphResult; context?: RelationshipContextResult; projection: OutputProjectionDeclaration; }"
16872
17007
  },
16873
17008
  {
16874
17009
  "classification": "supported",
@@ -16888,6 +17023,18 @@
16888
17023
  "name": "detectHarnessIdentity",
16889
17024
  "signature": "(signals?: HarnessDetectionSignals) => string | undefined | calls: (signals?: HarnessDetectionSignals) => string | undefined"
16890
17025
  },
17026
+ {
17027
+ "classification": "supported",
17028
+ "kind": "function",
17029
+ "name": "diagnoseAgentIdentity",
17030
+ "signature": "(signals?: HarnessDetectionSignals) => DiagnosedAgentIdentity | calls: (signals?: HarnessDetectionSignals) => DiagnosedAgentIdentity"
17031
+ },
17032
+ {
17033
+ "classification": "supported",
17034
+ "kind": "interface",
17035
+ "name": "DiagnosedAgentIdentity",
17036
+ "signature": "export interface DiagnosedAgentIdentity extends DetectedAgentIdentity { provenance_outcomes: Readonly<Record<string, AgentProvenanceOutcome>>; }"
17037
+ },
16891
17038
  {
16892
17039
  "classification": "supported",
16893
17040
  "kind": "function",
@@ -17594,7 +17741,7 @@
17594
17741
  "classification": "supported",
17595
17742
  "kind": "interface",
17596
17743
  "name": "DuplicateClustersResult",
17597
- "signature": "export interface DuplicateClustersResult { clusters: DuplicateCluster[]; count: number; threshold: number; source: \"metadata_scan\"; cost: { item_count: number; candidate_pairs: number; scored_pairs: number; }; }"
17744
+ "signature": "export interface DuplicateClustersResult { clusters: DuplicateCluster[]; count: number; threshold: number; source: \"metadata_scan\"; filters: { statuses: string[] | null; since: string | null; }; cost: { item_count: number; candidate_pairs: number; scored_pairs: number; }; }"
17598
17745
  },
17599
17746
  {
17600
17747
  "classification": "supported",
@@ -17812,6 +17959,18 @@
17812
17959
  "name": "projectValidateCounts",
17813
17960
  "signature": "(result: ValidateResult) => ValidateCountsResult | calls: (result: ValidateResult) => ValidateCountsResult"
17814
17961
  },
17962
+ {
17963
+ "classification": "supported",
17964
+ "kind": "interface",
17965
+ "name": "ProvenanceResolverHealthOutcome",
17966
+ "signature": "export interface ProvenanceResolverHealthOutcome { harness: string; dimension: string; resolver: string; attempts: number; successes: number; }"
17967
+ },
17968
+ {
17969
+ "classification": "supported",
17970
+ "kind": "interface",
17971
+ "name": "ProvenanceResolverHealthScan",
17972
+ "signature": "export interface ProvenanceResolverHealthScan { outcomes: ProvenanceResolverHealthOutcome[]; warnings: string[]; events_read: number; truncated: boolean; }"
17973
+ },
17815
17974
  {
17816
17975
  "classification": "supported",
17817
17976
  "kind": "interface",
@@ -17884,6 +18043,12 @@
17884
18043
  "name": "scanMutationSecrets",
17885
18044
  "signature": "(payload: unknown) => SecretGuardFinding[] | calls: (payload: unknown) => SecretGuardFinding[]"
17886
18045
  },
18046
+ {
18047
+ "classification": "supported",
18048
+ "kind": "function",
18049
+ "name": "scanProvenanceResolverHealth",
18050
+ "signature": "(pmRoot: string, eventLimit?: number) => Promise<ProvenanceResolverHealthScan> | calls: (pmRoot: string, eventLimit?: number) => Promise<ProvenanceResolverHealthScan>"
18051
+ },
17887
18052
  {
17888
18053
  "classification": "supported",
17889
18054
  "kind": "function",
@@ -18082,6 +18247,12 @@
18082
18247
  "./sdk/graph": {
18083
18248
  "classification": "supported",
18084
18249
  "symbols": [
18250
+ {
18251
+ "classification": "supported",
18252
+ "kind": "value",
18253
+ "name": "ACTIONABILITY_ORDERING_KINDS",
18254
+ "signature": "readonly string[]"
18255
+ },
18085
18256
  {
18086
18257
  "classification": "supported",
18087
18258
  "kind": "interface",
@@ -18154,6 +18325,18 @@
18154
18325
  "name": "buildRelationshipContext",
18155
18326
  "signature": "(graph: RelationshipGraph, rootId: string, details: readonly RelationshipContextNodeDetails[], options?: RelationshipContextOptions) => RelationshipContextResult | calls: (graph: RelationshipGraph, rootId: string, details: readonly RelationshipContextNodeDetails[], options?: RelationshipContextOptions) => RelationshipContextResult"
18156
18327
  },
18328
+ {
18329
+ "classification": "supported",
18330
+ "kind": "value",
18331
+ "name": "BUILTIN_RELATIONSHIP_KINDS",
18332
+ "signature": "readonly RelationshipKindDefinition[]"
18333
+ },
18334
+ {
18335
+ "classification": "supported",
18336
+ "kind": "function",
18337
+ "name": "canonicalizeRelationshipKind",
18338
+ "signature": "(kind: string) => string | calls: (kind: string) => string"
18339
+ },
18157
18340
  {
18158
18341
  "classification": "supported",
18159
18342
  "kind": "function",
@@ -18166,6 +18349,12 @@
18166
18349
  "name": "collectBlockedByIds",
18167
18350
  "signature": "(item: Pick<ItemMetadata, \"blocked_by\" | \"dependencies\">) => string[] | calls: (item: Pick<ItemMetadata, \"blocked_by\" | \"dependencies\">) => string[]"
18168
18351
  },
18352
+ {
18353
+ "classification": "supported",
18354
+ "kind": "function",
18355
+ "name": "collectBlockedByIdsFromCorpus",
18356
+ "signature": "(item: ItemMetadata, corpus: readonly ItemMetadata[]) => string[] | calls: (item: ItemMetadata, corpus: readonly ItemMetadata[]) => string[]"
18357
+ },
18169
18358
  {
18170
18359
  "classification": "supported",
18171
18360
  "kind": "function",
@@ -18416,7 +18605,7 @@
18416
18605
  "classification": "supported",
18417
18606
  "kind": "interface",
18418
18607
  "name": "GraphAuditResult",
18419
- "signature": "export interface GraphAuditResult { subcommand: \"audit\"; finding_count: number; findings_by_severity: Record<string, number>; findings_by_code: Record<string, number>; affected_subjects_by_severity: Record<string, number>; affected_subjects_by_code: Record<string, number>; profile: RelationshipAuditReport[\"profile\"]; findings?: RelationshipAuditReport[\"findings\"]; baseline?: RelationshipAuditDelta; cache?: GraphCacheMetadata; }"
18608
+ "signature": "export interface GraphAuditResult { subcommand: \"audit\"; finding_count: number; findings_by_severity: Record<string, number>; findings_by_code: Record<string, number>; affected_subjects_by_severity: Record<string, number>; affected_subjects_by_code: Record<string, number>; profile: RelationshipAuditReport[\"profile\"]; legacy_alias_counts?: Record<string, number>; findings?: RelationshipAuditReport[\"findings\"]; baseline?: RelationshipAuditDelta; cache?: GraphCacheMetadata; }"
18420
18609
  },
18421
18610
  {
18422
18611
  "classification": "supported",
@@ -18628,6 +18817,12 @@
18628
18817
  "name": "hierarchyDescendants",
18629
18818
  "signature": "(graph: RelationshipGraph, id: string, options?: GraphTraversalOptions) => RelationshipQueryResult<string[]> | calls: (graph: RelationshipGraph, id: string, options?: GraphTraversalOptions) => RelationshipQueryResult<string[]>"
18630
18819
  },
18820
+ {
18821
+ "classification": "supported",
18822
+ "kind": "function",
18823
+ "name": "indexBlockedByIds",
18824
+ "signature": "(corpus: readonly ItemMetadata[]) => Map<string, string[]> | calls: (corpus: readonly ItemMetadata[]) => Map<string, string[]>"
18825
+ },
18631
18826
  {
18632
18827
  "classification": "supported",
18633
18828
  "kind": "function",
@@ -19222,6 +19417,12 @@
19222
19417
  "name": "resetWorkspaceGraphCache",
19223
19418
  "signature": "() => void | calls: () => void"
19224
19419
  },
19420
+ {
19421
+ "classification": "supported",
19422
+ "kind": "function",
19423
+ "name": "resolveCanonicalRelationshipKind",
19424
+ "signature": "(kind: unknown) => string | undefined | calls: (kind: unknown) => string | undefined"
19425
+ },
19225
19426
  {
19226
19427
  "classification": "supported",
19227
19428
  "kind": "interface",
@@ -19286,7 +19487,7 @@
19286
19487
  "classification": "supported",
19287
19488
  "kind": "interface",
19288
19489
  "name": "WorkspaceRelationshipAssembly",
19289
- "signature": "export interface WorkspaceRelationshipAssembly { graph: RelationshipGraph; details: WorkspaceRelationshipNodeDetails[]; missingIdSet: Set<string>; dangling: DanglingDependencyReferenceSummary; duplicateRows: DuplicateDependencyRow[]; }"
19490
+ "signature": "export interface WorkspaceRelationshipAssembly { graph: RelationshipGraph; details: WorkspaceRelationshipNodeDetails[]; missingIdSet: Set<string>; dangling: DanglingDependencyReferenceSummary; duplicateRows: DuplicateDependencyRow[]; legacyAliasCounts: Record<string, number>; }"
19290
19491
  },
19291
19492
  {
19292
19493
  "classification": "supported",
@@ -19364,7 +19565,7 @@
19364
19565
  "classification": "supported",
19365
19566
  "kind": "interface",
19366
19567
  "name": "ItemDocumentMergeResult",
19367
- "signature": "export interface ItemDocumentMergeResult { merged: string; conflict_fields: string[]; fields_from_theirs: string[]; union_fields: string[]; conflict_decisions: ItemMergeConflictDecision[]; preferred: MergePreferredSide; }"
19568
+ "signature": "export interface ItemDocumentMergeResult { merged: string; conflict_fields: string[]; fields_from_theirs: string[]; union_fields: string[]; conflict_decisions: ItemMergeConflictDecision[]; preferred: MergePreferredSide; conflict_resolution: \"preferred_side\" | \"stable_value_order\"; }"
19368
19569
  },
19369
19570
  {
19370
19571
  "classification": "supported",
@@ -19382,7 +19583,7 @@
19382
19583
  "classification": "supported",
19383
19584
  "kind": "function",
19384
19585
  "name": "listMergeReceipts",
19385
- "signature": "(cwd: string, options?: { includeReconciled?: boolean; }) => Promise<MergeDecisionReceipt[]> | calls: (cwd: string, options?: { includeReconciled?: boolean; }) => Promise<MergeDecisionReceipt[]>"
19586
+ "signature": "(cwd: string, options?: { includeReconciled?: boolean; includeLossless?: boolean; }) => Promise<MergeDecisionReceipt[]> | calls: (cwd: string, options?: { includeReconciled?: boolean; includeLossless?: boolean; }) => Promise<MergeDecisionReceipt[]>"
19386
19587
  },
19387
19588
  {
19388
19589
  "classification": "supported",
@@ -19400,13 +19601,13 @@
19400
19601
  "classification": "supported",
19401
19602
  "kind": "interface",
19402
19603
  "name": "MergeDecisionReceipt",
19403
- "signature": "export interface MergeDecisionReceipt { version: 1; id: string; item_path: string; item_id: string; preferred: MergePreferredSide; fields_from_theirs: string[]; union_fields: string[]; decisions: ItemMergeConflictDecision[]; state: \"pending\" | \"reconciled\"; created_at: string; reconciled_at?: string; }"
19604
+ "signature": "export interface MergeDecisionReceipt { version: 1; id: string; item_path: string; item_id: string; 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; }"
19404
19605
  },
19405
19606
  {
19406
19607
  "classification": "supported",
19407
19608
  "kind": "interface",
19408
19609
  "name": "MergeDecisionReceiptSummary",
19409
- "signature": "export interface MergeDecisionReceiptSummary { receipt_id: string; item_id: string; item_path: string; conflict_fields: string[]; fields_from_theirs: string[]; union_fields: string[]; preferred: MergePreferredSide; decisions: Array<{ field: string; retained_hash: string; discarded_hash: string; }>; }"
19610
+ "signature": "export interface MergeDecisionReceiptSummary { receipt_id: string; item_id: string; item_path: string; conflict_fields: string[]; fields_from_theirs: string[]; union_fields: string[]; preferred: MergePreferredSide; conflict_resolution: \"preferred_side\" | \"stable_value_order\"; decisions: Array<{ field: string; retained_hash: string; discarded_hash: string; }>; }"
19410
19611
  },
19411
19612
  {
19412
19613
  "classification": "supported",
@@ -19430,7 +19631,7 @@
19430
19631
  "classification": "supported",
19431
19632
  "kind": "interface",
19432
19633
  "name": "MergeDriverResult",
19433
- "signature": "export interface MergeDriverResult { ok: boolean; artifact: MergeDriverArtifact; output_path: string; preferred: MergePreferredSide; conflicts: string[]; history?: { strategy: string; common_entries: number; entries_from_ours: number; entries_from_theirs: number; entries_total: number; reanchored: boolean; }; relationship?: { strategy: string; common_entries: number; entries_from_ours: number; entries_from_theirs: number; entries_total: number; reanchored: boolean; }; item?: { fields_from_theirs: string[]; union_fields: string[]; }; json?: { paths_from_theirs: string[]; }; receipt?: MergeDecisionReceiptSummary; guidance: string[]; generated_at: string; }"
19634
+ "signature": "export interface MergeDriverResult { ok: boolean; artifact: MergeDriverArtifact; output_path: string; preferred: MergePreferredSide; conflicts: string[]; history?: { strategy: string; common_entries: number; entries_from_ours: number; entries_from_theirs: number; entries_total: number; reanchored: boolean; }; relationship?: { strategy: string; common_entries: number; entries_from_ours: number; entries_from_theirs: number; entries_total: number; reanchored: boolean; }; item?: { fields_from_theirs: string[]; union_fields: string[]; conflict_resolution: \"stable_value_order\"; }; json?: { paths_from_theirs: string[]; }; receipt?: MergeDecisionReceiptSummary; guidance: string[]; generated_at: string; }"
19434
19635
  },
19435
19636
  {
19436
19637
  "classification": "supported",
@@ -19472,7 +19673,7 @@
19472
19673
  "classification": "supported",
19473
19674
  "kind": "function",
19474
19675
  "name": "mergeItemDocuments",
19475
- "signature": "(baseRaw: string, oursRaw: string, theirsRaw: string, options?: ItemDocumentFormatOptions & { preferred?: MergePreferredSide; }) => ItemDocumentMergeResult | calls: (baseRaw: string, oursRaw: string, theirsRaw: string, options?: ItemDocumentFormatOptions & { preferred?: MergePreferredSide; }) => ItemDocumentMergeResult"
19676
+ "signature": "(baseRaw: string, oursRaw: string, theirsRaw: string, options?: ItemDocumentFormatOptions & { preferred?: MergePreferredSide; conflictResolution?: \"preferred_side\" | \"stable_value_order\"; }) => ItemDocumentMergeResult | calls: (baseRaw: string, oursRaw: string, theirsRaw: string, options?: ItemDocumentFormatOptions & { preferred?: MergePreferredSide; conflictResolution?: \"preferred_side\" | \"stable_value_order\"; }) => ItemDocumentMergeResult"
19476
19677
  },
19477
19678
  {
19478
19679
  "classification": "supported",
@@ -21422,7 +21623,7 @@
21422
21623
  "classification": "advanced_export",
21423
21624
  "kind": "interface",
21424
21625
  "name": "ContractsResult",
21425
- "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[]; 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[]>; }; 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[]; }; mcp_tools?: McpToolContract[]; context_intents?: readonly PmContextIntentContract[]; read_output_dimensions?: readonly PmReadOutputSurfaceContract[]; error_codes?: readonly PmErrorCodeContract[]; command_output_contracts?: Array<{ budget: PmCommandOutputBudgetContract; envelope: PmCommandOutputEnvelopeContract; }>; command_exit_contracts?: { vocabulary: readonly PmCommandExitOutcomeContract[]; command_sets: Array<{ commands: string[]; exit_codes: PmCommandExitContract[\"exit_codes\"]; }>; }; }"
21626
+ "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[]; 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[]; }; mcp_tools?: McpToolContract[]; context_intents?: readonly PmContextIntentContract[]; read_output_dimensions?: readonly PmReadOutputSurfaceContract[]; error_codes?: readonly PmErrorCodeContract[]; command_output_contracts?: Array<{ budget: PmCommandOutputBudgetContract; envelope: PmCommandOutputEnvelopeContract; }>; command_exit_contracts?: { vocabulary: readonly PmCommandExitOutcomeContract[]; command_sets: Array<{ commands: string[]; exit_codes: PmCommandExitContract[\"exit_codes\"]; }>; }; }"
21426
21627
  },
21427
21628
  {
21428
21629
  "classification": "supported",
@@ -21536,7 +21737,7 @@
21536
21737
  "classification": "supported",
21537
21738
  "kind": "interface",
21538
21739
  "name": "DepsResult",
21539
- "signature": "export interface DepsResult { id: string; format: DepsFormat; node_count: number; edge_count: number; edge_basis: \"deduplicated_directed\"; missing_count: number; missing_scope?: \"traversal\"; missing_reference_count?: number; missing_references?: DanglingDependencyReference[]; truncation?: { reasons: Array<\"max_depth\" | \"node_limit\" | \"edge_limit\" | \"token_budget\">; limits: { max_depth: number; node_limit: number; edge_limit: number; token_budget: number; }; estimated_tokens: number; total_node_count: number; total_edge_count: number; omitted_node_count: number; omitted_edge_count: number; }; tree?: DepsTreeNode; graph?: DepsGraphResult; context?: RelationshipContextResult; projection: OutputProjectionDeclaration; }"
21740
+ "signature": "export interface DepsResult { id: string; format: DepsFormat; node_count: number; edge_count: number; edge_basis: \"deduplicated_directed\"; legacy_alias_counts?: Record<string, number>; missing_count: number; missing_scope?: \"traversal\"; missing_reference_count?: number; missing_references?: DanglingDependencyReference[]; truncation?: { reasons: Array<\"max_depth\" | \"node_limit\" | \"edge_limit\" | \"token_budget\">; limits: { max_depth: number; node_limit: number; edge_limit: number; token_budget: number; }; estimated_tokens: number; total_node_count: number; total_edge_count: number; omitted_node_count: number; omitted_edge_count: number; }; tree?: DepsTreeNode; graph?: DepsGraphResult; context?: RelationshipContextResult; projection: OutputProjectionDeclaration; }"
21540
21741
  },
21541
21742
  {
21542
21743
  "classification": "supported",
@@ -24370,7 +24571,9 @@
24370
24571
  "malformed_plan_step_evidence",
24371
24572
  "manifest_capabilities_absent",
24372
24573
  "merge_conflict_markers_detected",
24574
+ "merge_decisions_unreviewed",
24373
24575
  "merge_git_config_unwritable",
24576
+ "merge_reconcile_discards_require_acceptance",
24374
24577
  "merge_root_not_found",
24375
24578
  "missing_directory",
24376
24579
  "missing_lifecycle_target",
@@ -24461,6 +24664,7 @@
24461
24664
  "validate_lifecycle_dependency_cycles",
24462
24665
  "validate_lifecycle_dependency_cycles_error",
24463
24666
  "validate_lifecycle_stale_blockers",
24667
+ "validate_merge_decisions_unreviewed",
24464
24668
  "validate_merge_fence_drift",
24465
24669
  "validate_metadata_custom_profile_missing_required_fields",
24466
24670
  "validate_metadata_duplicate_issue_codes",