@sema-agent/core 7.52.0 → 7.54.0

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 (357) hide show
  1. package/CHANGELOG.md +470 -0
  2. package/LICENSE +3 -1
  3. package/README.md +3 -1
  4. package/dist/agents/cross-session-envelope.d.ts +8 -0
  5. package/dist/agents/cross-session-envelope.js +6 -0
  6. package/dist/agents/cross-session-judge.d.ts +21 -1
  7. package/dist/agents/cross-session-judge.js +8 -0
  8. package/dist/agents/cross-session-ref.d.ts +5 -0
  9. package/dist/agents/cross-session-ref.js +1 -0
  10. package/dist/agents/org-delivery-gate.d.ts +122 -0
  11. package/dist/agents/org-delivery-gate.js +69 -0
  12. package/dist/agents/peer-held-queue.d.ts +9 -4
  13. package/dist/agents/peer-held-queue.js +6 -5
  14. package/dist/agents/peer-session-drain.d.ts +35 -6
  15. package/dist/agents/peer-session-drain.js +271 -182
  16. package/dist/agents/read-inbox-tool.d.ts +7 -0
  17. package/dist/agents/read-inbox-tool.js +5 -1
  18. package/dist/agents/send-message-tool.js +3 -4
  19. package/dist/agents/subagent.d.ts +6 -5
  20. package/dist/agents/subagent.js +117 -83
  21. package/dist/agents/tool-filter.d.ts +25 -4
  22. package/dist/agents/tool-filter.js +13 -3
  23. package/dist/brain/anthropic.d.ts +6 -1
  24. package/dist/brain/anthropic.js +4 -4
  25. package/dist/brain/model-presets.js +2 -1
  26. package/dist/brain/route-adjudicator.d.ts +6 -0
  27. package/dist/brain/routing.d.ts +24 -1
  28. package/dist/brain/routing.js +54 -19
  29. package/dist/brain/timeout.js +5 -4
  30. package/dist/core/a2a.d.ts +5 -2
  31. package/dist/core/a2a.js +33 -14
  32. package/dist/core/allow-entry.d.ts +3 -1
  33. package/dist/core/allow-entry.js +3 -2
  34. package/dist/core/approval-object.d.ts +87 -0
  35. package/dist/core/approval-object.js +85 -0
  36. package/dist/core/arg-summary.d.ts +3 -2
  37. package/dist/core/arg-summary.js +17 -11
  38. package/dist/core/ask-origin.d.ts +43 -27
  39. package/dist/core/ask-origin.js +20 -11
  40. package/dist/core/ask-question.d.ts +0 -1
  41. package/dist/core/ask-question.js +4 -67
  42. package/dist/core/ask-unresolvable-notice.d.ts +3 -2
  43. package/dist/core/auto-compaction.d.ts +106 -50
  44. package/dist/core/auto-compaction.js +69 -53
  45. package/dist/core/auto-mode-prompt.d.ts +4 -2
  46. package/dist/core/auto-mode-prompt.js +4 -3
  47. package/dist/core/canonical-json.d.ts +69 -0
  48. package/dist/core/canonical-json.js +130 -8
  49. package/dist/core/checkpoint-requirements.d.ts +13 -7
  50. package/dist/core/checkpoint-requirements.js +4 -1
  51. package/dist/core/checkpoint-store.d.ts +60 -36
  52. package/dist/core/checkpoint-store.js +7 -6
  53. package/dist/core/child-clamp-seats.d.ts +45 -6
  54. package/dist/core/child-clamp-seats.js +56 -4
  55. package/dist/core/compliance.js +3 -1
  56. package/dist/core/consolidate-scope.d.ts +1 -1
  57. package/dist/core/cross-boundary-taint.d.ts +213 -0
  58. package/dist/core/cross-boundary-taint.js +196 -0
  59. package/dist/core/decision-receipt.d.ts +44 -1
  60. package/dist/core/decision-receipt.js +16 -0
  61. package/dist/core/effective-path-target.d.ts +28 -6
  62. package/dist/core/effective-path-target.js +28 -2
  63. package/dist/core/engine-notice.d.ts +47 -4
  64. package/dist/core/engine-notice.js +17 -1
  65. package/dist/core/engine-storage-backend.d.ts +73 -0
  66. package/dist/core/engine-storage-backend.js +1 -0
  67. package/dist/core/file-history-store.d.ts +6 -2
  68. package/dist/core/file-history-store.js +1 -0
  69. package/dist/core/gate-fold.js +13 -4
  70. package/dist/core/gate-lanes.js +41 -34
  71. package/dist/core/gate-outcome.d.ts +18 -9
  72. package/dist/core/governance-codes.d.ts +9 -2
  73. package/dist/core/governance-codes.js +9 -0
  74. package/dist/core/hands-band-screen.d.ts +7 -0
  75. package/dist/core/hands-band-screen.js +32 -0
  76. package/dist/core/hooks.d.ts +21 -19
  77. package/dist/core/hooks.js +6 -5
  78. package/dist/core/locked-config.d.ts +110 -31
  79. package/dist/core/locked-config.js +155 -42
  80. package/dist/core/lsp.d.ts +1 -1
  81. package/dist/core/mcp-probe.js +1 -1
  82. package/dist/core/mcp-server-spec.d.ts +152 -17
  83. package/dist/core/mcp-server-spec.js +223 -40
  84. package/dist/core/mcp.d.ts +21 -14
  85. package/dist/core/mcp.js +59 -54
  86. package/dist/core/memory-engine/engine.d.ts +14 -19
  87. package/dist/core/memory-engine/engine.js +9 -6
  88. package/dist/core/memory-engine/export-bundle.d.ts +1 -1
  89. package/dist/core/memory-engine/export-bundle.js +1 -1
  90. package/dist/core/memory-engine/file-backend.d.ts +2 -6
  91. package/dist/core/memory-engine/file-backend.js +1 -12
  92. package/dist/core/memory.d.ts +3 -3
  93. package/dist/core/mode-policy.d.ts +16 -26
  94. package/dist/core/mode-policy.js +5 -18
  95. package/dist/core/mods/kernel/dispatch.js +13 -15
  96. package/dist/core/mods/kernel/events.d.ts +9 -6
  97. package/dist/core/mods/kernel/events.js +2 -2
  98. package/dist/core/mods/kernel/receive.d.ts +41 -11
  99. package/dist/core/mods/kernel/receive.js +124 -54
  100. package/dist/core/mods/kernel/site-rules.d.ts +80 -15
  101. package/dist/core/mods/kernel/site-rules.js +232 -40
  102. package/dist/core/mods/stations.d.ts +0 -6
  103. package/dist/core/mods/stations.js +0 -7
  104. package/dist/core/mounted-mcp.d.ts +57 -0
  105. package/dist/core/mounted-mcp.js +71 -2
  106. package/dist/core/own-property-receipt.d.ts +13 -0
  107. package/dist/core/own-property-receipt.js +3 -1
  108. package/dist/core/parent-spec-seat.d.ts +12 -15
  109. package/dist/core/parent-spec-seat.js +14 -6
  110. package/dist/core/pause-registry.d.ts +35 -1
  111. package/dist/core/pause-registry.js +10 -0
  112. package/dist/core/permission-rule-consent.d.ts +18 -5
  113. package/dist/core/permission-rule-consent.js +13 -8
  114. package/dist/core/permission-rule-model.d.ts +87 -15
  115. package/dist/core/permission-rule-model.js +87 -8
  116. package/dist/core/permission-rule-org.d.ts +200 -33
  117. package/dist/core/permission-rule-org.js +217 -91
  118. package/dist/core/permission-rule-session.js +2 -2
  119. package/dist/core/permission-rule-store.d.ts +8 -0
  120. package/dist/core/permission-rule-store.js +1 -0
  121. package/dist/core/permission-rule-sync.js +3 -2
  122. package/dist/core/permission-rules.d.ts +7 -1
  123. package/dist/core/permission-rules.js +37 -8
  124. package/dist/core/read-only-shell.d.ts +1 -1
  125. package/dist/core/read-only-shell.js +30 -9
  126. package/dist/core/remote-env.d.ts +41 -1
  127. package/dist/core/remote-env.js +18 -0
  128. package/dist/core/resume-startup-cause.d.ts +18 -0
  129. package/dist/core/resume-startup-cause.js +12 -0
  130. package/dist/core/retention.js +7 -2
  131. package/dist/core/retired-keys.d.ts +8 -2
  132. package/dist/core/retired-keys.js +12 -1
  133. package/dist/core/roles.js +60 -10
  134. package/dist/core/rule-lane-reads.js +1 -1
  135. package/dist/core/runner/approval-feedback.d.ts +46 -0
  136. package/dist/core/runner/approval-feedback.js +41 -0
  137. package/dist/core/runner/compaction-call-options.d.ts +3 -3
  138. package/dist/core/runner/compaction-call-options.js +2 -2
  139. package/dist/core/runner/contracts.d.ts +34 -41
  140. package/dist/core/runner/cross-boundary-lane.d.ts +87 -0
  141. package/dist/core/runner/cross-boundary-lane.js +190 -0
  142. package/dist/core/runner/decide-continuation.d.ts +4 -4
  143. package/dist/core/runner/decide-continuation.js +3 -1
  144. package/dist/core/runner/gate-exit.d.ts +32 -12
  145. package/dist/core/runner/gate-exit.js +77 -34
  146. package/dist/core/runner/inherited-ask-grants.js +2 -2
  147. package/dist/core/runner/mcp-redial.d.ts +52 -10
  148. package/dist/core/runner/mcp-redial.js +38 -9
  149. package/dist/core/runner/permission-rule-lanes.d.ts +5 -2
  150. package/dist/core/runner/permission-rule-lanes.js +22 -10
  151. package/dist/core/runner/person-path-rows.d.ts +5 -3
  152. package/dist/core/runner/person-path-rows.js +2 -2
  153. package/dist/core/runner/prepare-acquire-reconcile.d.ts +3 -4
  154. package/dist/core/runner/prepare-acquire-reconcile.js +3 -3
  155. package/dist/core/runner/prepare-ask-lane.js +3 -3
  156. package/dist/core/runner/prepare-caps-and-workflow.d.ts +6 -5
  157. package/dist/core/runner/prepare-caps-and-workflow.js +3 -3
  158. package/dist/core/runner/prepare-config-doors.d.ts +58 -15
  159. package/dist/core/runner/prepare-config-doors.js +167 -146
  160. package/dist/core/runner/prepare-context-lane.js +6 -3
  161. package/dist/core/runner/prepare-defer-classify.js +4 -7
  162. package/dist/core/runner/prepare-delegation-surface.d.ts +5 -4
  163. package/dist/core/runner/prepare-delegation-surface.js +8 -7
  164. package/dist/core/runner/prepare-execution-env.d.ts +1 -2
  165. package/dist/core/runner/prepare-execution-env.js +2 -1
  166. package/dist/core/runner/prepare-gate-stations.d.ts +2 -0
  167. package/dist/core/runner/prepare-gate-stations.js +4 -3
  168. package/dist/core/runner/prepare-hands-readface.d.ts +3 -3
  169. package/dist/core/runner/prepare-hands-readface.js +3 -2
  170. package/dist/core/runner/prepare-inherited-gate.d.ts +2 -0
  171. package/dist/core/runner/prepare-inherited-gate.js +3 -2
  172. package/dist/core/runner/prepare-listings.d.ts +1 -1
  173. package/dist/core/runner/prepare-listings.js +4 -2
  174. package/dist/core/runner/prepare-memory-engine-session.d.ts +0 -6
  175. package/dist/core/runner/prepare-memory-engine-session.js +19 -6
  176. package/dist/core/runner/prepare-memory.d.ts +3 -2
  177. package/dist/core/runner/prepare-memory.js +6 -2
  178. package/dist/core/runner/prepare-offload-wrappers.d.ts +4 -4
  179. package/dist/core/runner/prepare-offload-wrappers.js +2 -1
  180. package/dist/core/runner/prepare-park-ask.d.ts +1 -1
  181. package/dist/core/runner/prepare-park-ask.js +9 -3
  182. package/dist/core/runner/prepare-policy-chain.d.ts +1 -1
  183. package/dist/core/runner/prepare-policy-chain.js +14 -19
  184. package/dist/core/runner/prepare-project-context.d.ts +1 -1
  185. package/dist/core/runner/prepare-project-context.js +6 -4
  186. package/dist/core/runner/prepare-prompt-assembly.d.ts +1 -1
  187. package/dist/core/runner/prepare-prompt-assembly.js +20 -16
  188. package/dist/core/runner/prepare-prompt-inputs.d.ts +12 -6
  189. package/dist/core/runner/prepare-prompt-inputs.js +6 -3
  190. package/dist/core/runner/prepare-protocol-tools.d.ts +7 -5
  191. package/dist/core/runner/prepare-protocol-tools.js +19 -12
  192. package/dist/core/runner/prepare-question-face.d.ts +4 -2
  193. package/dist/core/runner/prepare-question-face.js +4 -3
  194. package/dist/core/runner/prepare-safety-scan.d.ts +7 -2
  195. package/dist/core/runner/prepare-safety-scan.js +34 -27
  196. package/dist/core/runner/prepare-suspend-saga.d.ts +2 -2
  197. package/dist/core/runner/prepare-suspend-saga.js +6 -2
  198. package/dist/core/runner/prepare-task.js +22 -19
  199. package/dist/core/runner/prepare-turn-wiring.d.ts +10 -5
  200. package/dist/core/runner/prepare-turn-wiring.js +14 -49
  201. package/dist/core/runner/prepare-wiring-manifest.d.ts +10 -5
  202. package/dist/core/runner/prepare-wiring-manifest.js +9 -6
  203. package/dist/core/runner/prepare-workspace-restore.js +2 -2
  204. package/dist/core/runner/resume-admission.d.ts +4 -1
  205. package/dist/core/runner/resume-admission.js +16 -14
  206. package/dist/core/runner/resume-apply.js +4 -4
  207. package/dist/core/runner/resume-internals-and-config.d.ts +3 -3
  208. package/dist/core/runner/resume-internals-and-config.js +3 -8
  209. package/dist/core/runner/resume-policy-outcome.d.ts +2 -2
  210. package/dist/core/runner/resume-policy-outcome.js +18 -15
  211. package/dist/core/runner/resume-preflight.js +2 -2
  212. package/dist/core/runner/resume-review-outcome.js +3 -3
  213. package/dist/core/runner/retired-runner-deps.d.ts +5 -6
  214. package/dist/core/runner/retired-runner-deps.js +1 -4
  215. package/dist/core/runner/run-leg.js +97 -43
  216. package/dist/core/runner/run-recovery-lanes.js +5 -3
  217. package/dist/core/runner/run-settle-and-teardown.js +2 -0
  218. package/dist/core/runner/run-terminal-adoption.js +21 -9
  219. package/dist/core/runner/run-turn-boundary.js +9 -3
  220. package/dist/core/runner/runtask.js +1 -1
  221. package/dist/core/runner/session-file-state-replay.d.ts +5 -2
  222. package/dist/core/runner/session-file-state-replay.js +3 -2
  223. package/dist/core/runner/skills-seat.d.ts +15 -0
  224. package/dist/core/runner/skills-seat.js +57 -0
  225. package/dist/core/runner/stream-steer-verb.js +2 -2
  226. package/dist/core/runner/sub-agent-deny-lists.d.ts +13 -11
  227. package/dist/core/runner/sub-agent-deny-lists.js +7 -5
  228. package/dist/core/runner/synthetic-tools.d.ts +5 -2
  229. package/dist/core/runner/synthetic-tools.js +2 -12
  230. package/dist/core/runner/tool-face-overlay.d.ts +24 -6
  231. package/dist/core/runner/tool-face-overlay.js +24 -15
  232. package/dist/core/runner-deps.d.ts +37 -22
  233. package/dist/core/session-policy-store.d.ts +19 -0
  234. package/dist/core/session-policy-store.js +22 -2
  235. package/dist/core/session-store.d.ts +35 -16
  236. package/dist/core/session-store.js +20 -12
  237. package/dist/core/{shell-lexer.d.ts → shell-run-candidates.d.ts} +36 -12
  238. package/dist/core/{shell-lexer.js → shell-run-candidates.js} +145 -225
  239. package/dist/core/shell-wrapper-table.d.ts +5 -3
  240. package/dist/core/shell-wrapper-table.js +1 -1
  241. package/dist/core/store-contracts/checkpoint-store-contract.js +2 -2
  242. package/dist/core/store-contracts/mailbox-store-contract.js +13 -0
  243. package/dist/core/store-contracts/session-store-contract.d.ts +49 -0
  244. package/dist/core/store-contracts/session-store-contract.js +639 -0
  245. package/dist/core/store-contracts/session-store-incarnation-contract.d.ts +12 -0
  246. package/dist/core/store-contracts/session-store-incarnation-contract.js +5 -2
  247. package/dist/core/task-event.d.ts +44 -6
  248. package/dist/core/task-notification.js +2 -2
  249. package/dist/core/task-registry-agent.js +1 -0
  250. package/dist/core/task-registry-shared.d.ts +5 -0
  251. package/dist/core/task-registry.d.ts +7 -0
  252. package/dist/core/task-registry.js +17 -0
  253. package/dist/core/task-result.d.ts +1 -1
  254. package/dist/core/task-spec.d.ts +7 -7
  255. package/dist/core/tighten-task-spec.d.ts +6 -4
  256. package/dist/core/tighten-task-spec.js +2 -2
  257. package/dist/core/tool-catalog-entries.d.ts +1 -1
  258. package/dist/core/tool-catalog-entries.js +52 -52
  259. package/dist/core/tool-face-reader.d.ts +49 -0
  260. package/dist/core/tool-face-reader.js +94 -0
  261. package/dist/core/tool-face.d.ts +17 -8
  262. package/dist/core/tool-face.js +1 -0
  263. package/dist/core/tool-policy.d.ts +67 -23
  264. package/dist/core/tool-policy.js +72 -60
  265. package/dist/core/tool-roster.d.ts +46 -28
  266. package/dist/core/tool-roster.js +91 -14
  267. package/dist/core/tool-spec-members.js +2 -2
  268. package/dist/core/tool-spec.d.ts +20 -4
  269. package/dist/core/tools.js +2 -0
  270. package/dist/core/trace.d.ts +24 -2
  271. package/dist/core/types.d.ts +3 -3
  272. package/dist/core/types.js +1 -1
  273. package/dist/core/untrusted-text.d.ts +23 -0
  274. package/dist/core/untrusted-text.js +10 -10
  275. package/dist/core/user-attachment.d.ts +56 -2
  276. package/dist/core/user-attachment.js +139 -56
  277. package/dist/core/wiring-manifest.d.ts +4 -2
  278. package/dist/engine/compaction/compaction.d.ts +2 -2
  279. package/dist/engine/compaction/utils.d.ts +2 -2
  280. package/dist/engine/harness/agent-harness.js +2 -1
  281. package/dist/engine/harness/types.d.ts +10 -4
  282. package/dist/engine/llm/types.d.ts +7 -2
  283. package/dist/engine/llm/types.js +2 -1
  284. package/dist/engine/loop/agent-loop.d.ts +12 -1
  285. package/dist/engine/loop/agent-loop.js +17 -5
  286. package/dist/engine/loop/types.d.ts +7 -1
  287. package/dist/engine/session/repo-utils.d.ts +5 -0
  288. package/dist/engine/session/repo-utils.js +9 -0
  289. package/dist/engine/session/storage-base.js +2 -2
  290. package/dist/index.d.ts +37 -17
  291. package/dist/index.js +31 -14
  292. package/dist/internal/harness.d.ts +1 -0
  293. package/dist/internal/harness.js +1 -0
  294. package/dist/internal/llm.d.ts +1 -1
  295. package/dist/internal/llm.js +1 -1
  296. package/dist/orchestration/goal.d.ts +24 -1
  297. package/dist/orchestration/goal.js +3 -2
  298. package/dist/orchestration/run-workflow-tool.d.ts +3 -0
  299. package/dist/orchestration/run-workflow-tool.js +1 -0
  300. package/dist/orchestration/workflow-governance.d.ts +1 -1
  301. package/dist/orchestration/workflow.d.ts +3 -0
  302. package/dist/orchestration/workflow.js +2 -1
  303. package/dist/prompt-assembly/artifact-store.d.ts +44 -9
  304. package/dist/prompt-assembly/artifact-store.js +38 -12
  305. package/dist/prompt-assembly/artifact.d.ts +12 -11
  306. package/dist/prompt-assembly/artifact.js +52 -21
  307. package/dist/prompt-assembly/assemble.d.ts +2 -0
  308. package/dist/prompt-assembly/assemble.js +2 -1
  309. package/dist/prompt-assembly/catalog/index.js +2 -1
  310. package/dist/prompt-assembly/catalog/memory.d.ts +13 -0
  311. package/dist/prompt-assembly/catalog/memory.js +6 -0
  312. package/dist/prompt-assembly/catalog/schema.d.ts +19 -2
  313. package/dist/prompt-assembly/catalog/schema.js +3 -0
  314. package/dist/prompt-assembly/composer.d.ts +2 -0
  315. package/dist/prompt-assembly/composer.js +1 -1
  316. package/dist/prompt-assembly/overlay.d.ts +21 -11
  317. package/dist/prompt-assembly/overlay.js +57 -19
  318. package/dist/prompt-assembly/select.d.ts +21 -6
  319. package/dist/prompt-assembly/select.js +41 -4
  320. package/dist/prompts/default.d.ts +1 -12
  321. package/dist/prompts/default.js +0 -3
  322. package/dist/shell/lex.d.ts +87 -8
  323. package/dist/shell/lex.js +283 -49
  324. package/dist/stores/file/index.d.ts +8 -6
  325. package/dist/stores/file/permission-rule-store.d.ts +1 -1
  326. package/dist/stores/file/permission-rule-store.js +2 -1
  327. package/dist/tools/artifact/artifact-tool.js +14 -3
  328. package/dist/tools/fs/bash-program-position.d.ts +3 -15
  329. package/dist/tools/fs/bash-program-position.js +3 -10
  330. package/dist/tools/fs/bash-readonly-classifier.js +2 -0
  331. package/dist/tools/fs/fs-bash.d.ts +3 -3
  332. package/dist/tools/fs/fs-bash.js +72 -101
  333. package/dist/tools/fs/fs-read.d.ts +12 -0
  334. package/dist/tools/fs/fs-read.js +10 -9
  335. package/dist/tools/fs/fs-shared.d.ts +27 -31
  336. package/dist/tools/fs/fs-shared.js +12 -15
  337. package/dist/tools/fs/fs-write.js +1 -1
  338. package/dist/tools/fs/index.js +2 -2
  339. package/dist/tools/fs/read-deny-home.d.ts +1 -1
  340. package/dist/tools/fs/read-deny-home.js +5 -4
  341. package/dist/tools/fs/read-deny.d.ts +16 -3
  342. package/dist/tools/fs/read-deny.js +12 -9
  343. package/dist/tools/fs/safety.d.ts +7 -6
  344. package/dist/tools/fs/shell-read-bindings.d.ts +5 -3
  345. package/dist/tools/fs/shell-read-bindings.js +15 -16
  346. package/dist/tools/fs/shell-read-device.js +1 -1
  347. package/dist/tools/fs/shell-read-plan.js +36 -47
  348. package/dist/tools/fs/shell-read-word.d.ts +1 -6
  349. package/dist/tools/fs/shell-read-word.js +2 -20
  350. package/dist/tools/fs/shell-reentry-text.js +1 -1
  351. package/dist/tools/web.d.ts +2 -2
  352. package/package.json +4 -1
  353. package/test/export-surface.snapshot.json +5651 -5457
  354. package/wire-changes/core@7.53.0.json +1968 -0
  355. package/wire-changes/core@7.54.0.json +2870 -0
  356. package/dist/core/shell-scan.d.ts +0 -60
  357. package/dist/core/shell-scan.js +0 -183
@@ -0,0 +1,1968 @@
1
+ {
2
+ "repo": "core",
3
+ "version": "7.53.0",
4
+ "from": "3bc7848a9cde7d860bfcbcc53eefb79bbaa68c16",
5
+ "to": "d1d7d4b6712ddedd92e0d6457be34e4ff2a97dd6",
6
+ "added": [
7
+ {
8
+ "name": "ANTHROPIC_DEFAULT_BASE_URL",
9
+ "kind": "variable",
10
+ "tier": "advanced",
11
+ "at": [
12
+ "src/brain/anthropic.ts:413",
13
+ "src/index.ts:3373"
14
+ ],
15
+ "criteriaCovered": false,
16
+ "breaking": false
17
+ },
18
+ {
19
+ "name": "CROSS_PRINCIPAL_MESSAGE_NOTICE",
20
+ "kind": "variable",
21
+ "tier": "advanced",
22
+ "at": [
23
+ "src/agents/cross-session-envelope.ts:76",
24
+ "src/index.ts:3258"
25
+ ],
26
+ "criteriaCovered": false,
27
+ "breaking": false
28
+ },
29
+ {
30
+ "name": "CompactionPassStart",
31
+ "kind": "interface",
32
+ "tier": "advanced",
33
+ "at": [
34
+ "src/core/auto-compaction.ts:343",
35
+ "src/index.ts:964"
36
+ ],
37
+ "criteriaCovered": false,
38
+ "breaking": false
39
+ },
40
+ {
41
+ "name": "CrossPrincipalBody",
42
+ "kind": "interface",
43
+ "tier": "advanced",
44
+ "at": [
45
+ "src/agents/org-delivery-gate.ts:88",
46
+ "src/index.ts:3252"
47
+ ],
48
+ "criteriaCovered": false,
49
+ "breaking": false
50
+ },
51
+ {
52
+ "name": "ORG_DELIVERY_REFUSAL_CODES",
53
+ "kind": "variable",
54
+ "tier": "advanced",
55
+ "at": [
56
+ "src/agents/org-delivery-gate.ts:101",
57
+ "src/index.ts:3240"
58
+ ],
59
+ "criteriaCovered": false,
60
+ "breaking": false
61
+ },
62
+ {
63
+ "name": "OnArtifactRefused",
64
+ "kind": "type",
65
+ "tier": "advanced",
66
+ "at": [
67
+ "src/index.ts:2664",
68
+ "src/prompt-assembly/artifact-store.ts:27"
69
+ ],
70
+ "criteriaCovered": false,
71
+ "breaking": false
72
+ },
73
+ {
74
+ "name": "OrgAuthenticatedSender",
75
+ "kind": "interface",
76
+ "tier": "advanced",
77
+ "at": [
78
+ "src/agents/org-delivery-gate.ts:82",
79
+ "src/index.ts:3251"
80
+ ],
81
+ "criteriaCovered": false,
82
+ "breaking": false
83
+ },
84
+ {
85
+ "name": "OrgDeliveryGate",
86
+ "kind": "interface",
87
+ "tier": "advanced",
88
+ "at": [
89
+ "src/agents/org-delivery-gate.ts:118",
90
+ "src/index.ts:3250"
91
+ ],
92
+ "criteriaCovered": false,
93
+ "breaking": false
94
+ },
95
+ {
96
+ "name": "OrgDeliveryOutcome",
97
+ "kind": "type",
98
+ "tier": "advanced",
99
+ "at": [
100
+ "src/agents/org-delivery-gate.ts:108",
101
+ "src/index.ts:3253"
102
+ ],
103
+ "criteriaCovered": false,
104
+ "breaking": false
105
+ },
106
+ {
107
+ "name": "OrgDeliveryRefusalCode",
108
+ "kind": "type",
109
+ "tier": "advanced",
110
+ "at": [
111
+ "src/agents/org-delivery-gate.ts:102",
112
+ "src/index.ts:3254"
113
+ ],
114
+ "criteriaCovered": false,
115
+ "breaking": false
116
+ },
117
+ {
118
+ "name": "PRINCIPAL_INBOX_CONSUMER_INVALID_CODE",
119
+ "kind": "variable",
120
+ "tier": "advanced",
121
+ "at": [
122
+ "src/agents/org-delivery-gate.ts:26",
123
+ "src/index.ts:3248"
124
+ ],
125
+ "criteriaCovered": false,
126
+ "breaking": false
127
+ },
128
+ {
129
+ "name": "PRINCIPAL_INBOX_HANDLE",
130
+ "kind": "variable",
131
+ "tier": "advanced",
132
+ "at": [
133
+ "src/agents/cross-session-ref.ts:90",
134
+ "src/index.ts:3257"
135
+ ],
136
+ "criteriaCovered": false,
137
+ "breaking": false
138
+ },
139
+ {
140
+ "name": "PRINCIPAL_INBOX_TRIAGE_POLICIES",
141
+ "kind": "variable",
142
+ "tier": "advanced",
143
+ "at": [
144
+ "src/agents/org-delivery-gate.ts:171",
145
+ "src/index.ts:3244"
146
+ ],
147
+ "criteriaCovered": false,
148
+ "breaking": false
149
+ },
150
+ {
151
+ "name": "PRINCIPAL_INBOX_UNMINTED_CAUSE",
152
+ "kind": "variable",
153
+ "tier": "advanced",
154
+ "at": [
155
+ "src/agents/peer-session-drain.ts:54",
156
+ "src/index.ts:3260"
157
+ ],
158
+ "criteriaCovered": false,
159
+ "breaking": false
160
+ },
161
+ {
162
+ "name": "PROMPT_BINDING_LIST_MAX",
163
+ "kind": "variable",
164
+ "tier": "advanced",
165
+ "at": [
166
+ "src/index.ts:2588",
167
+ "src/prompt-assembly/overlay.ts:181"
168
+ ],
169
+ "criteriaCovered": false,
170
+ "breaking": false
171
+ },
172
+ {
173
+ "name": "PROMPT_BINDING_MAX_CHARS",
174
+ "kind": "variable",
175
+ "tier": "advanced",
176
+ "at": [
177
+ "src/index.ts:2588",
178
+ "src/prompt-assembly/overlay.ts:179"
179
+ ],
180
+ "criteriaCovered": false,
181
+ "breaking": false
182
+ },
183
+ {
184
+ "name": "PrincipalInboxConsumer",
185
+ "kind": "type",
186
+ "tier": "advanced",
187
+ "at": [
188
+ "src/agents/org-delivery-gate.ts:30",
189
+ "src/index.ts:3249"
190
+ ],
191
+ "criteriaCovered": false,
192
+ "breaking": false
193
+ },
194
+ {
195
+ "name": "PrincipalInboxTriagePolicy",
196
+ "kind": "type",
197
+ "tier": "advanced",
198
+ "at": [
199
+ "src/agents/org-delivery-gate.ts:172",
200
+ "src/index.ts:3255"
201
+ ],
202
+ "criteriaCovered": false,
203
+ "breaking": false
204
+ },
205
+ {
206
+ "name": "StoredArtifactRefusal",
207
+ "kind": "interface",
208
+ "tier": "advanced",
209
+ "at": [
210
+ "src/index.ts:2669",
211
+ "src/prompt-assembly/artifact-store.ts:21"
212
+ ],
213
+ "criteriaCovered": true,
214
+ "breaking": false
215
+ },
216
+ {
217
+ "name": "ToolAxesRead",
218
+ "kind": "type",
219
+ "tier": "advanced",
220
+ "at": [
221
+ "src/core/mcp-server-spec.ts:211",
222
+ "src/core/types.ts:32",
223
+ "src/index.ts:3607"
224
+ ],
225
+ "criteriaCovered": false,
226
+ "breaking": false
227
+ },
228
+ {
229
+ "name": "ToolAxesSurface",
230
+ "kind": "type",
231
+ "tier": "advanced",
232
+ "at": [
233
+ "src/core/mcp-server-spec.ts:179",
234
+ "src/core/types.ts:32",
235
+ "src/index.ts:3607"
236
+ ],
237
+ "criteriaCovered": false,
238
+ "breaking": false
239
+ },
240
+ {
241
+ "name": "admitRouteRequest",
242
+ "kind": "function",
243
+ "tier": "advanced",
244
+ "at": [
245
+ "src/brain/route-adjudicator.ts:842",
246
+ "src/index.ts:3415"
247
+ ],
248
+ "criteriaCovered": false,
249
+ "breaking": false
250
+ },
251
+ {
252
+ "name": "brainLaneOf",
253
+ "kind": "function",
254
+ "tier": "advanced",
255
+ "at": [
256
+ "src/brain/routing.ts:69",
257
+ "src/index.ts:3380"
258
+ ],
259
+ "criteriaCovered": false,
260
+ "breaking": false
261
+ },
262
+ {
263
+ "name": "isGateMintedRecord",
264
+ "kind": "function",
265
+ "tier": "advanced",
266
+ "at": [
267
+ "src/agents/org-delivery-gate.ts:158",
268
+ "src/index.ts:3243"
269
+ ],
270
+ "criteriaCovered": false,
271
+ "breaking": false
272
+ },
273
+ {
274
+ "name": "isMintableProbeReason",
275
+ "kind": "function",
276
+ "tier": "advanced",
277
+ "at": [
278
+ "src/core/untrusted-text.ts:1161",
279
+ "src/index.ts:584"
280
+ ],
281
+ "criteriaCovered": false,
282
+ "breaking": false
283
+ },
284
+ {
285
+ "name": "isOrgDeliveryRefusalCode",
286
+ "kind": "function",
287
+ "tier": "advanced",
288
+ "at": [
289
+ "src/agents/org-delivery-gate.ts:103",
290
+ "src/index.ts:3241"
291
+ ],
292
+ "criteriaCovered": false,
293
+ "breaking": false
294
+ },
295
+ {
296
+ "name": "mintCrossPrincipalRecord",
297
+ "kind": "function",
298
+ "tier": "advanced",
299
+ "at": [
300
+ "src/agents/org-delivery-gate.ts:138",
301
+ "src/index.ts:3242"
302
+ ],
303
+ "criteriaCovered": false,
304
+ "breaking": false
305
+ },
306
+ {
307
+ "name": "principalInboundLayers",
308
+ "kind": "function",
309
+ "tier": "advanced",
310
+ "at": [
311
+ "src/agents/cross-session-judge.ts:134",
312
+ "src/index.ts:3259"
313
+ ],
314
+ "criteriaCovered": false,
315
+ "breaking": false
316
+ },
317
+ {
318
+ "name": "principalInboxConsumerOf",
319
+ "kind": "function",
320
+ "tier": "advanced",
321
+ "at": [
322
+ "src/agents/org-delivery-gate.ts:43",
323
+ "src/index.ts:3247"
324
+ ],
325
+ "criteriaCovered": false,
326
+ "breaking": false
327
+ },
328
+ {
329
+ "name": "principalInboxSideEffectKey",
330
+ "kind": "function",
331
+ "tier": "advanced",
332
+ "at": [
333
+ "src/agents/org-delivery-gate.ts:196",
334
+ "src/index.ts:3246"
335
+ ],
336
+ "criteriaCovered": false,
337
+ "breaking": false
338
+ },
339
+ {
340
+ "name": "principalInboxTriagePolicy",
341
+ "kind": "function",
342
+ "tier": "advanced",
343
+ "at": [
344
+ "src/agents/org-delivery-gate.ts:174",
345
+ "src/index.ts:3245"
346
+ ],
347
+ "criteriaCovered": false,
348
+ "breaking": false
349
+ },
350
+ {
351
+ "name": "readToolAxes",
352
+ "kind": "function",
353
+ "tier": "advanced",
354
+ "at": [
355
+ "src/core/mcp-server-spec.ts:463",
356
+ "src/core/types.ts:33",
357
+ "src/index.ts:3606"
358
+ ],
359
+ "criteriaCovered": false,
360
+ "breaking": false
361
+ }
362
+ ],
363
+ "removed": [
364
+ {
365
+ "name": "McpToolAxesRead",
366
+ "kind": "type",
367
+ "tier": "advanced",
368
+ "at": [
369
+ "src/core/mcp-server-spec.ts:177",
370
+ "src/core/types.ts:32",
371
+ "src/index.ts:3574"
372
+ ],
373
+ "breaking": true
374
+ },
375
+ {
376
+ "name": "NO_PERSISTENT_MEMORY_NOTICE",
377
+ "kind": "variable",
378
+ "tier": "advanced",
379
+ "at": [
380
+ "src/index.ts:2566",
381
+ "src/prompts/default.ts:92"
382
+ ],
383
+ "breaking": true
384
+ }
385
+ ],
386
+ "changed": [],
387
+ "narrowed": [
388
+ {
389
+ "id": "F1",
390
+ "source": "behaviorFlips.summary",
391
+ "text": "#1842 (behavior narrowing, open to veto): a route mounted under a model's word whose value is not a brain fails that request with an error terminal naming the route; a model with no string route word is served by the fallback."
392
+ },
393
+ {
394
+ "id": "F2",
395
+ "source": "behaviorFlips.summary",
396
+ "text": "#1835 (behavior narrowing, open to veto): an A2A peer whose `toolAxes` the engine cannot read refuses the whole prepare, as an MCP server's does."
397
+ },
398
+ {
399
+ "id": "F3",
400
+ "source": "behaviorFlips.summary",
401
+ "text": "#1835 / #1842d / #1989 / #2019 / #2046 (behavior narrowing, open to veto): an MCP or A2A declaration that is not plain data to its depth is refused whole, naming the member."
402
+ },
403
+ {
404
+ "id": "F8",
405
+ "source": "behaviorFlips.summary",
406
+ "text": "#2017 (behavior narrowing): an MCP / A2A declaration nested more than 1 000 levels below the declaration is refused in the bound's sentence on every platform; the reader's member path is bounded."
407
+ },
408
+ {
409
+ "id": "F12",
410
+ "source": "behaviorFlips.summary",
411
+ "text": "#740 (behavior narrowing ×5, open to veto): `<` / `>` refused in a path / name / host ALLOW; a globbed or unknown Artifact action refused in a caller policy; an action-less Artifact call refused by any action deny / ask; an unreadable rule partition puts every Artifact call to a person; an org row of another grammar stands at its strictest reading."
412
+ },
413
+ {
414
+ "id": "F16",
415
+ "source": "behaviorFlips.summary",
416
+ "text": "#1974 (security P1, behavior narrowing, open to veto): every rewrite of a call is read the tool's way before it is judged, and the loop runs exactly the gate's output."
417
+ },
418
+ {
419
+ "id": "F20",
420
+ "source": "behaviorFlips.summary",
421
+ "text": "#1971 (behavior narrowing, open to veto): every station that asks what the tool valve leaves mounted reads the one valve predicate, and \"how many of a server's tools are mounted\" is one count read off the roster."
422
+ },
423
+ {
424
+ "id": "F28",
425
+ "source": "behaviorFlips.summary",
426
+ "text": "#2062 (behavior narrowing, open to veto): an org rules list longer than the one rules-table bound (`DEFAULT_CAPS.maxRules`, 256) is refused whole before it is received — no row is built for a sparse or oversized list."
427
+ }
428
+ ],
429
+ "closedSetMembers": [
430
+ {
431
+ "set": "CHECKPOINT_CONFIG_REFUSAL_CODES",
432
+ "at": [
433
+ "src/core/checkpoint-store.ts:2485"
434
+ ],
435
+ "newSet": false,
436
+ "added": [
437
+ "config.attachment_invalid",
438
+ "config.auto_consolidation",
439
+ "config.brain_call_guardrail_invalid",
440
+ "config.deps_retired_key",
441
+ "config.invalid_argument",
442
+ "config.invalid_checkpoint_store",
443
+ "config.limit_invalid",
444
+ "config.limit_unknown_key",
445
+ "config.locked_key",
446
+ "config.locked_registry",
447
+ "config.mcp_content_class",
448
+ "config.memory_capture_policy",
449
+ "config.memory_delegation_evidence",
450
+ "config.memory_persistence_invalid",
451
+ "config.memory_provenance",
452
+ "config.microcompact_invalid",
453
+ "config.peer_presence_invalid",
454
+ "config.prompt_selector_invalid",
455
+ "config.read_face_invalid",
456
+ "config.retention_capability",
457
+ "config.retention_policy",
458
+ "config.skill_base_dir_invalid",
459
+ "config.skill_listing_budget_invalid",
460
+ "config.tool_materialize_invalid",
461
+ "config.tool_materialize_unreachable",
462
+ "config.tool_model_gate_invalid",
463
+ "config.unknown_role",
464
+ "config.usage_window_invalid",
465
+ "config.write_face_invalid",
466
+ "resume_at.conflicts_resume",
467
+ "resume_at.mode_without_target"
468
+ ],
469
+ "removed": [],
470
+ "breaking": false,
471
+ "criteriaCovered": false
472
+ },
473
+ {
474
+ "set": "CROSS_SESSION_HOLD_CAUSES",
475
+ "at": [
476
+ "src/agents/cross-session-judge.ts:160"
477
+ ],
478
+ "newSet": false,
479
+ "added": [
480
+ "cross-principal-default"
481
+ ],
482
+ "removed": [],
483
+ "breaking": false,
484
+ "criteriaCovered": false
485
+ },
486
+ {
487
+ "set": "CheckpointError.detail.field",
488
+ "at": [
489
+ "src/core/checkpoint-store.ts:2676"
490
+ ],
491
+ "newSet": false,
492
+ "added": [
493
+ "deps"
494
+ ],
495
+ "removed": [],
496
+ "breaking": false,
497
+ "criteriaCovered": false
498
+ },
499
+ {
500
+ "set": "CheckpointErrorReason",
501
+ "at": [
502
+ "src/core/checkpoint-store.ts:2427"
503
+ ],
504
+ "newSet": false,
505
+ "added": [
506
+ "not_a_model_ref",
507
+ "unknown_model_ref"
508
+ ],
509
+ "removed": [],
510
+ "breaking": false,
511
+ "criteriaCovered": false
512
+ },
513
+ {
514
+ "set": "CrossSessionHoldCause",
515
+ "at": [
516
+ "src/agents/cross-session-judge.ts:148"
517
+ ],
518
+ "newSet": false,
519
+ "added": [
520
+ "cross-principal-default"
521
+ ],
522
+ "removed": [],
523
+ "breaking": false,
524
+ "criteriaCovered": false
525
+ },
526
+ {
527
+ "set": "ENGINE_NOTICE_CODES",
528
+ "at": [
529
+ "src/core/governance-codes.ts:362"
530
+ ],
531
+ "newSet": false,
532
+ "added": [
533
+ "config.session_rules_earlier_grammar"
534
+ ],
535
+ "removed": [],
536
+ "breaking": false,
537
+ "criteriaCovered": true
538
+ },
539
+ {
540
+ "set": "EarlierGrammarReader",
541
+ "at": [
542
+ "src/core/session-policy-store.ts:466"
543
+ ],
544
+ "newSet": true,
545
+ "added": [
546
+ "named_no_tool",
547
+ "no_rule"
548
+ ],
549
+ "removed": [],
550
+ "breaking": false,
551
+ "criteriaCovered": false
552
+ },
553
+ {
554
+ "set": "ORG_DELIVERY_REFUSAL_CODES",
555
+ "at": [
556
+ "src/agents/org-delivery-gate.ts:101"
557
+ ],
558
+ "newSet": true,
559
+ "added": [
560
+ "org_delivery.inbox_full",
561
+ "org_delivery.not_member",
562
+ "org_delivery.rate_limited",
563
+ "org_delivery.recipient_tombstoned"
564
+ ],
565
+ "removed": [],
566
+ "breaking": false,
567
+ "criteriaCovered": false
568
+ },
569
+ {
570
+ "set": "ORG_ROW_POLICY_MEMBERS",
571
+ "at": [
572
+ "src/core/permission-rule-org.ts:634"
573
+ ],
574
+ "newSet": true,
575
+ "added": [
576
+ "behavior",
577
+ "rule"
578
+ ],
579
+ "removed": [],
580
+ "breaking": false,
581
+ "criteriaCovered": false
582
+ },
583
+ {
584
+ "set": "OrgDeliveryRefusalCode",
585
+ "at": [
586
+ "src/agents/org-delivery-gate.ts:102",
587
+ "src/index.ts:3254"
588
+ ],
589
+ "newSet": true,
590
+ "added": [
591
+ "org_delivery.inbox_full",
592
+ "org_delivery.not_member",
593
+ "org_delivery.rate_limited",
594
+ "org_delivery.recipient_tombstoned"
595
+ ],
596
+ "removed": [],
597
+ "breaking": false,
598
+ "criteriaCovered": false
599
+ },
600
+ {
601
+ "set": "OrgRowReach",
602
+ "at": [
603
+ "src/core/permission-rule-org.ts:553"
604
+ ],
605
+ "newSet": true,
606
+ "added": [
607
+ "every"
608
+ ],
609
+ "removed": [],
610
+ "breaking": false,
611
+ "criteriaCovered": false
612
+ },
613
+ {
614
+ "set": "PRINCIPAL_INBOX_TRIAGE_POLICIES",
615
+ "at": [
616
+ "src/agents/org-delivery-gate.ts:171"
617
+ ],
618
+ "newSet": true,
619
+ "added": [
620
+ "decline",
621
+ "draft_for_approval",
622
+ "triage_readonly"
623
+ ],
624
+ "removed": [],
625
+ "breaking": false,
626
+ "criteriaCovered": false
627
+ },
628
+ {
629
+ "set": "PeerInboundHoldCause",
630
+ "at": [
631
+ "src/agents/peer-held-queue.ts:26"
632
+ ],
633
+ "newSet": false,
634
+ "added": [
635
+ "cross-principal-default"
636
+ ],
637
+ "removed": [],
638
+ "breaking": false,
639
+ "criteriaCovered": false
640
+ },
641
+ {
642
+ "set": "PrincipalInboxTriagePolicy",
643
+ "at": [
644
+ "src/agents/org-delivery-gate.ts:172",
645
+ "src/index.ts:3255"
646
+ ],
647
+ "newSet": true,
648
+ "added": [
649
+ "decline",
650
+ "draft_for_approval",
651
+ "triage_readonly"
652
+ ],
653
+ "removed": [],
654
+ "breaking": false,
655
+ "criteriaCovered": false
656
+ },
657
+ {
658
+ "set": "RunnerDeps.principalInboxConsumer",
659
+ "at": [
660
+ "src/core/runner-deps.ts:959"
661
+ ],
662
+ "newSet": true,
663
+ "added": [
664
+ "terminals"
665
+ ],
666
+ "removed": [],
667
+ "breaking": false,
668
+ "criteriaCovered": false
669
+ },
670
+ {
671
+ "set": "TaskEvent.type",
672
+ "at": [
673
+ "src/core/task-event.ts:290",
674
+ "src/core/task-event.ts:312",
675
+ "src/core/task-event.ts:315",
676
+ "src/core/task-event.ts:317",
677
+ "src/core/task-event.ts:358",
678
+ "src/core/task-event.ts:390",
679
+ "src/core/task-event.ts:622",
680
+ "src/core/task-event.ts:636",
681
+ "src/core/task-event.ts:701",
682
+ "src/core/task-event.ts:795",
683
+ "src/core/task-event.ts:826",
684
+ "src/core/task-event.ts:860",
685
+ "src/core/task-event.ts:872",
686
+ "src/core/task-event.ts:900",
687
+ "src/core/task-event.ts:922",
688
+ "src/core/task-event.ts:966",
689
+ "src/core/task-event.ts:974",
690
+ "src/core/task-event.ts:1013",
691
+ "src/core/task-event.ts:1060",
692
+ "src/core/task-event.ts:1165",
693
+ "src/core/task-event.ts:1186",
694
+ "src/core/task-event.ts:1197",
695
+ "src/core/task-event.ts:1209",
696
+ "src/core/task-event.ts:1217"
697
+ ],
698
+ "newSet": false,
699
+ "added": [
700
+ "compaction_started"
701
+ ],
702
+ "removed": [],
703
+ "breaking": false,
704
+ "criteriaCovered": false
705
+ },
706
+ {
707
+ "set": "ToolAxesSurface",
708
+ "at": [
709
+ "src/core/mcp-server-spec.ts:179"
710
+ ],
711
+ "newSet": true,
712
+ "added": [
713
+ "a2a",
714
+ "mcp"
715
+ ],
716
+ "removed": [],
717
+ "breaking": false,
718
+ "criteriaCovered": false
719
+ }
720
+ ],
721
+ "closedSetsUnreadable": [],
722
+ "typeKeys": [
723
+ {
724
+ "type": "CrossSessionInboundInput",
725
+ "at": [
726
+ "src/agents/cross-session-judge.ts:209"
727
+ ],
728
+ "added": [
729
+ "sender.fromScope"
730
+ ],
731
+ "addedDetail": [
732
+ {
733
+ "key": "sender.fromScope",
734
+ "optional": true
735
+ }
736
+ ],
737
+ "addedRequired": [],
738
+ "removed": [],
739
+ "breaking": false,
740
+ "criteriaCovered": false
741
+ },
742
+ {
743
+ "type": "GoalResult",
744
+ "at": [
745
+ "src/orchestration/goal.ts:113"
746
+ ],
747
+ "added": [
748
+ "suspendGate"
749
+ ],
750
+ "addedDetail": [
751
+ {
752
+ "key": "suspendGate",
753
+ "optional": true
754
+ }
755
+ ],
756
+ "addedRequired": [],
757
+ "removed": [],
758
+ "breaking": false,
759
+ "criteriaCovered": true
760
+ },
761
+ {
762
+ "type": "MaybeCompactOptions",
763
+ "at": [
764
+ "src/core/auto-compaction.ts:351"
765
+ ],
766
+ "added": [
767
+ "onStarted"
768
+ ],
769
+ "addedDetail": [
770
+ {
771
+ "key": "onStarted",
772
+ "optional": true
773
+ }
774
+ ],
775
+ "addedRequired": [],
776
+ "removed": [],
777
+ "breaking": false,
778
+ "criteriaCovered": false
779
+ },
780
+ {
781
+ "type": "McpRefreshResult",
782
+ "at": [
783
+ "src/core/mcp.ts:310"
784
+ ],
785
+ "added": [
786
+ "instructions"
787
+ ],
788
+ "addedDetail": [
789
+ {
790
+ "key": "instructions",
791
+ "optional": true
792
+ }
793
+ ],
794
+ "addedRequired": [],
795
+ "removed": [],
796
+ "breaking": false,
797
+ "criteriaCovered": true
798
+ },
799
+ {
800
+ "type": "PromptOverlay",
801
+ "at": [
802
+ "src/prompt-assembly/overlay.ts:47"
803
+ ],
804
+ "added": [],
805
+ "addedDetail": [],
806
+ "addedRequired": [],
807
+ "removed": [
808
+ "scope",
809
+ "scope.binding"
810
+ ],
811
+ "breaking": true,
812
+ "criteriaCovered": false
813
+ },
814
+ {
815
+ "type": "PromptVariantWhen",
816
+ "at": [
817
+ "src/prompt-assembly/catalog/schema.ts:111"
818
+ ],
819
+ "added": [
820
+ "binding"
821
+ ],
822
+ "addedDetail": [
823
+ {
824
+ "key": "binding",
825
+ "optional": true
826
+ }
827
+ ],
828
+ "addedRequired": [],
829
+ "removed": [],
830
+ "breaking": false,
831
+ "criteriaCovered": true
832
+ },
833
+ {
834
+ "type": "ReadInboxToolOptions",
835
+ "at": [
836
+ "src/agents/read-inbox-tool.ts:28"
837
+ ],
838
+ "added": [
839
+ "coversPrincipalInbox"
840
+ ],
841
+ "addedDetail": [
842
+ {
843
+ "key": "coversPrincipalInbox",
844
+ "optional": true
845
+ }
846
+ ],
847
+ "addedRequired": [],
848
+ "removed": [],
849
+ "breaking": false,
850
+ "criteriaCovered": false
851
+ },
852
+ {
853
+ "type": "RunnerDeps",
854
+ "at": [
855
+ "src/core/runner-deps.ts:105"
856
+ ],
857
+ "added": [
858
+ "principalInboxConsumer",
859
+ "principalInboxConsumer.assistant"
860
+ ],
861
+ "addedDetail": [
862
+ {
863
+ "key": "principalInboxConsumer",
864
+ "optional": true
865
+ },
866
+ {
867
+ "key": "principalInboxConsumer.assistant",
868
+ "optional": false
869
+ }
870
+ ],
871
+ "addedRequired": [],
872
+ "removed": [],
873
+ "breaking": false,
874
+ "criteriaCovered": true
875
+ },
876
+ {
877
+ "type": "TaskEvent",
878
+ "at": [
879
+ "src/core/task-event.ts:289"
880
+ ],
881
+ "added": [
882
+ "compacted.pass",
883
+ "compaction_outcome.pass",
884
+ "compaction_started.pass",
885
+ "compaction_started.startedAt",
886
+ "compaction_started.trigger",
887
+ "compaction_started.type"
888
+ ],
889
+ "addedDetail": [
890
+ {
891
+ "key": "compacted.pass",
892
+ "optional": true
893
+ },
894
+ {
895
+ "key": "compaction_outcome.pass",
896
+ "optional": true
897
+ },
898
+ {
899
+ "key": "compaction_started.pass",
900
+ "optional": false
901
+ },
902
+ {
903
+ "key": "compaction_started.startedAt",
904
+ "optional": false
905
+ },
906
+ {
907
+ "key": "compaction_started.trigger",
908
+ "optional": false
909
+ },
910
+ {
911
+ "key": "compaction_started.type",
912
+ "optional": false
913
+ }
914
+ ],
915
+ "addedRequired": [],
916
+ "removed": [],
917
+ "breaking": false,
918
+ "criteriaCovered": true
919
+ },
920
+ {
921
+ "type": "ToolGateInput",
922
+ "at": [
923
+ "src/core/hooks.ts:886"
924
+ ],
925
+ "via": "runToolGate.ToolGateInput",
926
+ "added": [
927
+ "event.readArguments"
928
+ ],
929
+ "addedDetail": [
930
+ {
931
+ "key": "event.readArguments",
932
+ "optional": true
933
+ }
934
+ ],
935
+ "addedRequired": [],
936
+ "removed": [],
937
+ "breaking": false,
938
+ "criteriaCovered": false
939
+ }
940
+ ],
941
+ "typeKeysUnreadableArms": [
942
+ {
943
+ "type": "TaskEvent",
944
+ "at": "src/core/task-event.ts:289",
945
+ "reasons": [
946
+ "a union carrying 2 arm(s) whose keys this reader does not follow (a qualified reference (`TaskEventIdentity`); a qualified reference (`BrainStatus`)) — a key missing from this type at `to` is still reported REMOVED, carrying `uncertain` so the writer checks whether it moved there"
947
+ ]
948
+ }
949
+ ],
950
+ "typeKeysFlattenedCount": 234,
951
+ "signatures": [
952
+ {
953
+ "name": "CenterPromptSource.constructor",
954
+ "at": [
955
+ "src/prompt-assembly/artifact-store.ts:243"
956
+ ],
957
+ "from": [
958
+ "(opts: { store: PromptArtifactStore; stateStore?: PromptSourceStateStore; })"
959
+ ],
960
+ "to": [
961
+ "(opts: { store: PromptArtifactStore; stateStore?: PromptSourceStateStore; onError?: RunnerDeps[\"onError\"]; })"
962
+ ],
963
+ "changes": [
964
+ {
965
+ "aspect": "param",
966
+ "detail": "param 1 `opts` type widened: …PromptSourceStateStore; [ -> onError?: RunnerDeps[\"onError\"]; ]}",
967
+ "breaking": false
968
+ }
969
+ ],
970
+ "breaking": false,
971
+ "criteriaCovered": false
972
+ },
973
+ {
974
+ "name": "CenterPromptSource.get",
975
+ "at": [
976
+ "src/prompt-assembly/artifact-store.ts:253"
977
+ ],
978
+ "from": [
979
+ "(artifactDigest: string): Promise<PromptArtifact | undefined>"
980
+ ],
981
+ "to": [
982
+ "(artifactDigest: string, onRefused?: OnArtifactRefused): Promise<PromptArtifact | undefined>"
983
+ ],
984
+ "changes": [
985
+ {
986
+ "aspect": "param",
987
+ "detail": "+optional param `onRefused?: OnArtifactRefused`",
988
+ "breaking": false
989
+ }
990
+ ],
991
+ "breaking": false,
992
+ "criteriaCovered": false
993
+ },
994
+ {
995
+ "name": "CheckpointError.constructor",
996
+ "at": [
997
+ "src/core/checkpoint-store.ts:2491"
998
+ ],
999
+ "from": [
1000
+ "(code: \"checkpoint.already_exists\" | \"checkpoint.already_resolved\" | \"checkpoint.config_refused\" | \"checkpoint.cwd_conflicts_restore\" | \"checkpoint.execution_outcome_conflict\" | \"checkpoint.gate_mismatch\" | \"checkpoint.invalid_outcome\" | \"checkpoint.not_found\" | \"checkpoint.reopen_failed\" | \"checkpoint.reopen_revote\" | \"checkpoint.reopened_concurrently\" | \"checkpoint.resume_aborted\" | \"checkpoint.unsupported_version\" | \"checkpoint.walltime_axis_retired\" | \"resume.constraint_rejected\" | \"resume.constraint_unprojectable\" | \"resume.parent_constraint_mismatch\" | \"resume.parent_constraint_missing\" | \"resume.placement_mismatch\" | \"resume.preflight_rejected\" | \"resume.principal_mismatch\" | \"resume.usage_window_exhausted\" | \"steering.blocked_by_hook\" | \"steering.duplicate_input_id\" | \"steering.invalid_content\" | \"steering.queue_full\" | \"wake.gate_pending\" | \"wake.nothing_to_deliver\", message: string, detail?: { field?: \"boundCallId\" | \"boundInputHash\" | \"boundGrantDigest\" | \"answer\" | \"hostDecision\" | \"approver\" | \"taskConfig\" | \"inheritedGate\"; code?: CheckpointConfigRefusalCode; retryAfterMs?: number; reason?: CheckpointErrorReason; requires?: readonly string[]; differs?: readonly SteerReplayFacet[]; })"
1001
+ ],
1002
+ "to": [
1003
+ "(code: \"checkpoint.already_exists\" | \"checkpoint.already_resolved\" | \"checkpoint.config_refused\" | \"checkpoint.cwd_conflicts_restore\" | \"checkpoint.execution_outcome_conflict\" | \"checkpoint.gate_mismatch\" | \"checkpoint.invalid_outcome\" | \"checkpoint.not_found\" | \"checkpoint.reopen_failed\" | \"checkpoint.reopen_revote\" | \"checkpoint.reopened_concurrently\" | \"checkpoint.resume_aborted\" | \"checkpoint.unsupported_version\" | \"checkpoint.walltime_axis_retired\" | \"resume.constraint_rejected\" | \"resume.constraint_unprojectable\" | \"resume.parent_constraint_mismatch\" | \"resume.parent_constraint_missing\" | \"resume.placement_mismatch\" | \"resume.preflight_rejected\" | \"resume.principal_mismatch\" | \"resume.usage_window_exhausted\" | \"steering.blocked_by_hook\" | \"steering.duplicate_input_id\" | \"steering.invalid_content\" | \"steering.queue_full\" | \"wake.gate_pending\" | \"wake.nothing_to_deliver\", message: string, detail?: { field?: \"boundCallId\" | \"boundInputHash\" | \"boundGrantDigest\" | \"answer\" | \"hostDecision\" | \"approver\" | \"taskConfig\" | \"deps\" | \"inheritedGate\"; code?: CheckpointConfigRefusalCode; retryAfterMs?: number; reason?: CheckpointErrorReason; requires?: readonly string[]; differs?: readonly SteerReplayFacet[]; })"
1004
+ ],
1005
+ "changes": [
1006
+ {
1007
+ "aspect": "param",
1008
+ "detail": "param 3 `detail` type widened: …over\" | \"taskConfig\" | \"[ -> deps\" | \"]inheritedGate\"; code?: C…",
1009
+ "breaking": false
1010
+ }
1011
+ ],
1012
+ "breaking": false,
1013
+ "criteriaCovered": false
1014
+ },
1015
+ {
1016
+ "name": "FilePromptArtifactStore.get",
1017
+ "at": [
1018
+ "src/prompt-assembly/artifact-store.ts:107"
1019
+ ],
1020
+ "from": [
1021
+ "(artifactDigest: string): Promise<PublishedPromptArtifact | undefined>"
1022
+ ],
1023
+ "to": [
1024
+ "(artifactDigest: string, onRefused?: OnArtifactRefused): Promise<PublishedPromptArtifact | undefined>"
1025
+ ],
1026
+ "changes": [
1027
+ {
1028
+ "aspect": "param",
1029
+ "detail": "+optional param `onRefused?: OnArtifactRefused`",
1030
+ "breaking": false
1031
+ }
1032
+ ],
1033
+ "breaking": false,
1034
+ "criteriaCovered": false
1035
+ },
1036
+ {
1037
+ "name": "MemoryPromptArtifactStore.get",
1038
+ "at": [
1039
+ "src/prompt-assembly/artifact-store.ts:81"
1040
+ ],
1041
+ "from": [
1042
+ "(artifactDigest: string): Promise<PublishedPromptArtifact | undefined>"
1043
+ ],
1044
+ "to": [
1045
+ "(artifactDigest: string, onRefused?: OnArtifactRefused): Promise<PublishedPromptArtifact | undefined>"
1046
+ ],
1047
+ "changes": [
1048
+ {
1049
+ "aspect": "param",
1050
+ "detail": "+optional param `onRefused?: OnArtifactRefused`",
1051
+ "breaking": false
1052
+ }
1053
+ ],
1054
+ "breaking": false,
1055
+ "criteriaCovered": false
1056
+ },
1057
+ {
1058
+ "name": "PromptArtifactSource.get",
1059
+ "at": [
1060
+ "src/prompt-assembly/artifact-store.ts:195"
1061
+ ],
1062
+ "from": [
1063
+ "(artifactDigest: string): Promise<PromptArtifact | undefined>"
1064
+ ],
1065
+ "to": [
1066
+ "(artifactDigest: string, onRefused?: OnArtifactRefused): Promise<PromptArtifact | undefined>"
1067
+ ],
1068
+ "changes": [
1069
+ {
1070
+ "aspect": "param",
1071
+ "detail": "+optional param `onRefused?: OnArtifactRefused`",
1072
+ "breaking": false
1073
+ }
1074
+ ],
1075
+ "breaking": false,
1076
+ "criteriaCovered": false
1077
+ },
1078
+ {
1079
+ "name": "PromptArtifactStore.get",
1080
+ "at": [
1081
+ "src/prompt-assembly/artifact-store.ts:50"
1082
+ ],
1083
+ "from": [
1084
+ "(artifactDigest: string): Promise<PublishedPromptArtifact | undefined>"
1085
+ ],
1086
+ "to": [
1087
+ "(artifactDigest: string, onRefused?: OnArtifactRefused): Promise<PublishedPromptArtifact | undefined>"
1088
+ ],
1089
+ "changes": [
1090
+ {
1091
+ "aspect": "param",
1092
+ "detail": "+optional param `onRefused?: OnArtifactRefused`",
1093
+ "breaking": false
1094
+ }
1095
+ ],
1096
+ "breaking": false,
1097
+ "criteriaCovered": false
1098
+ },
1099
+ {
1100
+ "name": "materializeMcpTools",
1101
+ "at": [
1102
+ "src/core/mcp.ts:1971"
1103
+ ],
1104
+ "from": [
1105
+ "(specs: McpServerSpec[], principal?: string, onElicit?: OnElicit, imageResizer?: McpImageResizer, reminderDisclosure?: { reminderMark?: string; counts?: ReminderDisclosureCounts; }, mcpRevocations?: McpRevocationLedger & { onProbeFailure?: (error: unknown) => void; }, poolOpts?: { pool: McpConnectionPool; ownsPool?: boolean; }, promptSections?: PromptSectionDisposer): Promise<MaterializedMcp>"
1106
+ ],
1107
+ "to": [
1108
+ "(specs: McpServerSpec[], principal?: string, onElicit?: OnElicit, imageResizer?: McpImageResizer, reminderDisclosure?: { reminderMark?: string; counts?: ReminderDisclosureCounts; }, mcpRevocations?: McpRevocationLedger & { onProbeFailure?: (error: unknown) => void; }, poolOpts?: { pool: McpConnectionPool; ownsPool?: boolean; }, promptSections?: PromptSectionDisposer, dialable?: (spec: McpServerSpec) => boolean): Promise<MaterializedMcp>"
1109
+ ],
1110
+ "changes": [
1111
+ {
1112
+ "aspect": "param",
1113
+ "detail": "+optional param `dialable?: (spec: McpServerSpec) => boolean`",
1114
+ "breaking": false
1115
+ }
1116
+ ],
1117
+ "breaking": false,
1118
+ "criteriaCovered": false
1119
+ },
1120
+ {
1121
+ "name": "maybeCompact",
1122
+ "at": [
1123
+ "src/core/auto-compaction.ts:775"
1124
+ ],
1125
+ "from": [
1126
+ "(opts: MaybeCompactOptions): Promise<{ compacted: boolean; blocked?: boolean; disabled?: boolean; noop?: true; tokensBefore?: number; freedTokens?: number; triggerTokens?: number; postTriggerTokens?: number; firstKeptEntryId?: string; reused?: boolean; attachedFiles?: Array<{ path: string; chars: number; truncated: boolean; }>; naturalTrigger?: boolean; postOverThreshold?: boolean; durationMs?: number; phaseDurations?: CompactionPhaseDurations; suppressedByFloor?: { estTokens: number; floor: number; }; unevaluableWindow?: { estTokens: number; windowField: \"autoCompactTokens\" | \"contextTokens\" | \"contextWindow\"; windowValue?: number; modelId?: string; }; contextUsage?: { usedTokens: number; windowTokens: number; compactAtTokens: number; }; modelFallback?: true; fallbackReason?: \"window\"; clampedRatio?: number; clampReason?: \"budget\" | \"tolerance\"; }>"
1127
+ ],
1128
+ "to": [
1129
+ "(opts: MaybeCompactOptions): Promise<{ compacted: boolean; blocked?: boolean; disabled?: boolean; noop?: true; pass?: string; tokensBefore?: number; freedTokens?: number; triggerTokens?: number; postTriggerTokens?: number; firstKeptEntryId?: string; reused?: boolean; attachedFiles?: Array<{ path: string; chars: number; truncated: boolean; }>; naturalTrigger?: boolean; postOverThreshold?: boolean; durationMs?: number; phaseDurations?: CompactionPhaseDurations; suppressedByFloor?: { estTokens: number; floor: number; }; unevaluableWindow?: { estTokens: number; windowField: \"autoCompactTokens\" | \"contextTokens\" | \"contextWindow\"; windowValue?: number; modelId?: string; }; contextUsage?: { usedTokens: number; windowTokens: number; compactAtTokens: number; }; modelFallback?: true; fallbackReason?: \"window\"; clampedRatio?: number; clampReason?: \"budget\" | \"tolerance\"; }>"
1130
+ ],
1131
+ "changes": [
1132
+ {
1133
+ "aspect": "returns",
1134
+ "detail": "return type gained members pass?",
1135
+ "breaking": false
1136
+ }
1137
+ ],
1138
+ "breaking": false,
1139
+ "criteriaCovered": false
1140
+ },
1141
+ {
1142
+ "name": "orgRuleVerdictFor",
1143
+ "at": [
1144
+ "src/core/permission-rule-org.ts:908"
1145
+ ],
1146
+ "from": [
1147
+ "(rules: readonly OrgPermissionRule[], call: { tool: string; command: string; }): OrgRuleVerdict | undefined"
1148
+ ],
1149
+ "to": [
1150
+ "(rules: readonly OrgPermissionRule[], call: OrgRuleCall): OrgRuleVerdict | undefined"
1151
+ ],
1152
+ "changes": [
1153
+ {
1154
+ "aspect": "param",
1155
+ "detail": "param 2 `call` type changed, direction not read: [{ tool: string; command: string; } -> OrgRuleCall]",
1156
+ "breaking": true,
1157
+ "uncertain": true
1158
+ }
1159
+ ],
1160
+ "uncertain": "param 2 `call` type changed, direction not read: [{ tool: string; command: string; } -> OrgRuleCall] — the direction of a type change is not read syntactically, so it is reported breaking: check whether existing call sites still type-check before writing the BREAKING line",
1161
+ "breaking": true,
1162
+ "criteriaCovered": false
1163
+ },
1164
+ {
1165
+ "name": "peerHeldQueueFor",
1166
+ "at": [
1167
+ "src/agents/peer-held-queue.ts:392"
1168
+ ],
1169
+ "from": [
1170
+ "(scope: string, sessionId: string, opts?: { cap?: number; clock?: PeerClock; }): PeerHeldQueue"
1171
+ ],
1172
+ "to": [
1173
+ "(scope: string, sessionId: string, opts?: { cap?: number; clock?: PeerClock; box?: string; }): PeerHeldQueue"
1174
+ ],
1175
+ "changes": [
1176
+ {
1177
+ "aspect": "param",
1178
+ "detail": "param 3 `opts` type widened: …ber; clock?: PeerClock; [ -> box?: string; ]}",
1179
+ "breaking": false
1180
+ }
1181
+ ],
1182
+ "breaking": false,
1183
+ "criteriaCovered": false
1184
+ },
1185
+ {
1186
+ "name": "peerHeldQueueIfAny",
1187
+ "at": [
1188
+ "src/agents/peer-held-queue.ts:404"
1189
+ ],
1190
+ "from": [
1191
+ "(scope: string, sessionId: string): PeerHeldQueue | undefined"
1192
+ ],
1193
+ "to": [
1194
+ "(scope: string, sessionId: string, box?: string): PeerHeldQueue | undefined"
1195
+ ],
1196
+ "changes": [
1197
+ {
1198
+ "aspect": "param",
1199
+ "detail": "+optional param `box?: string`",
1200
+ "breaking": false
1201
+ }
1202
+ ],
1203
+ "breaking": false,
1204
+ "criteriaCovered": false
1205
+ },
1206
+ {
1207
+ "name": "peerHeldQueueKey",
1208
+ "at": [
1209
+ "src/agents/peer-held-queue.ts:385"
1210
+ ],
1211
+ "from": [
1212
+ "(scope: string, sessionId: string): string"
1213
+ ],
1214
+ "to": [
1215
+ "(scope: string, sessionId: string, box?: string): string"
1216
+ ],
1217
+ "changes": [
1218
+ {
1219
+ "aspect": "param",
1220
+ "detail": "+optional param `box?: string`",
1221
+ "breaking": false
1222
+ }
1223
+ ],
1224
+ "breaking": false,
1225
+ "criteriaCovered": false
1226
+ },
1227
+ {
1228
+ "name": "readMcpToolAxes",
1229
+ "at": [
1230
+ "src/core/mcp-server-spec.ts:491"
1231
+ ],
1232
+ "from": [
1233
+ "(declared: unknown): McpToolAxesRead"
1234
+ ],
1235
+ "to": [
1236
+ "(declared: unknown): ToolAxesRead"
1237
+ ],
1238
+ "changes": [
1239
+ {
1240
+ "aspect": "returns",
1241
+ "detail": "return type [Mcp -> ]ToolAxesRead",
1242
+ "breaking": true
1243
+ }
1244
+ ],
1245
+ "breaking": true,
1246
+ "criteriaCovered": false
1247
+ }
1248
+ ],
1249
+ "declarationMoves": [
1250
+ {
1251
+ "name": "admitRouteRequest",
1252
+ "kind": "function",
1253
+ "onSurface": true,
1254
+ "from": [
1255
+ "src/brain/route-adjudicator.ts"
1256
+ ],
1257
+ "to": [
1258
+ "src/brain/route-adjudicator.ts",
1259
+ "src/index.ts"
1260
+ ]
1261
+ },
1262
+ {
1263
+ "name": "refuseResumeDoors",
1264
+ "kind": null,
1265
+ "onSurface": false,
1266
+ "from": [
1267
+ "src/core/mode-policy.ts"
1268
+ ],
1269
+ "to": [
1270
+ "src/core/runner/prepare-config-doors.ts"
1271
+ ]
1272
+ }
1273
+ ],
1274
+ "mintMoves": [
1275
+ {
1276
+ "code": "config.session_rules_earlier_grammar",
1277
+ "from": [
1278
+ "src/core/runner/prepare-policy-chain.ts"
1279
+ ],
1280
+ "to": [
1281
+ "src/core/session-policy-store.ts"
1282
+ ]
1283
+ }
1284
+ ],
1285
+ "criteriaObserves": [
1286
+ {
1287
+ "kind": "engineNoticeCode",
1288
+ "name": "config.session_rules_earlier_grammar",
1289
+ "assertions": [
1290
+ "G25.a"
1291
+ ]
1292
+ },
1293
+ {
1294
+ "kind": "engineNoticeCode",
1295
+ "name": "mcp.server_redialed",
1296
+ "assertions": [
1297
+ "G17.a"
1298
+ ]
1299
+ },
1300
+ {
1301
+ "kind": "engineNoticeCode",
1302
+ "name": "memory.session_polluted",
1303
+ "assertions": [
1304
+ "G22.a"
1305
+ ]
1306
+ },
1307
+ {
1308
+ "kind": "engineNoticeCode",
1309
+ "name": "permission.allowed_tool_not_granted",
1310
+ "assertions": [
1311
+ "G5.b"
1312
+ ]
1313
+ },
1314
+ {
1315
+ "kind": "engineNoticeCode",
1316
+ "name": "permission.rule_row_dropped",
1317
+ "assertions": [
1318
+ "G5.b"
1319
+ ]
1320
+ },
1321
+ {
1322
+ "kind": "engineNoticeCode",
1323
+ "name": "route.credential_origin_mismatch",
1324
+ "assertions": [
1325
+ "G23.a"
1326
+ ]
1327
+ },
1328
+ {
1329
+ "kind": "taskEventField",
1330
+ "name": "compacted.pass",
1331
+ "assertions": [
1332
+ "G21.a"
1333
+ ]
1334
+ },
1335
+ {
1336
+ "kind": "taskEventField",
1337
+ "name": "compaction_outcome.outcome",
1338
+ "assertions": [
1339
+ "G21.b"
1340
+ ]
1341
+ },
1342
+ {
1343
+ "kind": "taskEventField",
1344
+ "name": "compaction_outcome.pass",
1345
+ "assertions": [
1346
+ "G21.a"
1347
+ ]
1348
+ },
1349
+ {
1350
+ "kind": "taskEventField",
1351
+ "name": "compaction_started.pass",
1352
+ "assertions": [
1353
+ "G21.a",
1354
+ "G21.b"
1355
+ ]
1356
+ },
1357
+ {
1358
+ "kind": "taskEventField",
1359
+ "name": "compaction_started.startedAt",
1360
+ "assertions": [
1361
+ "G21.a"
1362
+ ]
1363
+ },
1364
+ {
1365
+ "kind": "taskEventField",
1366
+ "name": "compaction_started.trigger",
1367
+ "assertions": [
1368
+ "G21.a"
1369
+ ]
1370
+ },
1371
+ {
1372
+ "kind": "taskEventField",
1373
+ "name": "context_usage.compactAtTokens",
1374
+ "assertions": [
1375
+ "G7.b"
1376
+ ]
1377
+ },
1378
+ {
1379
+ "kind": "taskEventField",
1380
+ "name": "context_usage.windowTokens",
1381
+ "assertions": [
1382
+ "G7.b"
1383
+ ]
1384
+ },
1385
+ {
1386
+ "kind": "taskEventField",
1387
+ "name": "tool_end.isError",
1388
+ "assertions": [
1389
+ "G13.a"
1390
+ ]
1391
+ },
1392
+ {
1393
+ "kind": "taskEventField",
1394
+ "name": "tool_end.notExecuted",
1395
+ "assertions": [
1396
+ "G13.a"
1397
+ ]
1398
+ },
1399
+ {
1400
+ "kind": "taskEventField",
1401
+ "name": "tool_end.output",
1402
+ "assertions": [
1403
+ "G9.a",
1404
+ "G22.b",
1405
+ "G22.c"
1406
+ ]
1407
+ },
1408
+ {
1409
+ "kind": "taskEventField",
1410
+ "name": "tool_end.structured",
1411
+ "assertions": [
1412
+ "G22.b"
1413
+ ]
1414
+ },
1415
+ {
1416
+ "kind": "taskEventField",
1417
+ "name": "wiring_manifest.manifest",
1418
+ "assertions": [
1419
+ "G17.a"
1420
+ ]
1421
+ },
1422
+ {
1423
+ "kind": "typeMember",
1424
+ "name": "A2aServerSpec.headers",
1425
+ "assertions": [
1426
+ "G3.f"
1427
+ ]
1428
+ },
1429
+ {
1430
+ "kind": "typeMember",
1431
+ "name": "A2aServerSpec.toolAxes",
1432
+ "assertions": [
1433
+ "G2.a"
1434
+ ]
1435
+ },
1436
+ {
1437
+ "kind": "typeMember",
1438
+ "name": "ArtifactVerifyResult.code",
1439
+ "assertions": [
1440
+ "G14.a"
1441
+ ]
1442
+ },
1443
+ {
1444
+ "kind": "typeMember",
1445
+ "name": "AskRequest.askClass",
1446
+ "assertions": [
1447
+ "G8.a"
1448
+ ]
1449
+ },
1450
+ {
1451
+ "kind": "typeMember",
1452
+ "name": "AskRequest.probeReason",
1453
+ "assertions": [
1454
+ "G5.a"
1455
+ ]
1456
+ },
1457
+ {
1458
+ "kind": "typeMember",
1459
+ "name": "AskRequest.requiresRealApproval",
1460
+ "assertions": [
1461
+ "G11.a"
1462
+ ]
1463
+ },
1464
+ {
1465
+ "kind": "typeMember",
1466
+ "name": "AskRequest.ruleOffers",
1467
+ "assertions": [
1468
+ "G8.a"
1469
+ ]
1470
+ },
1471
+ {
1472
+ "kind": "typeMember",
1473
+ "name": "AskRequest.ruleOffersAbsence",
1474
+ "assertions": [
1475
+ "G8.a"
1476
+ ]
1477
+ },
1478
+ {
1479
+ "kind": "typeMember",
1480
+ "name": "AssistantMessage.errorMessage",
1481
+ "assertions": [
1482
+ "G1.a"
1483
+ ]
1484
+ },
1485
+ {
1486
+ "kind": "typeMember",
1487
+ "name": "AssistantMessage.stopReason",
1488
+ "assertions": [
1489
+ "G1.a"
1490
+ ]
1491
+ },
1492
+ {
1493
+ "kind": "typeMember",
1494
+ "name": "Checkpoint.status",
1495
+ "assertions": [
1496
+ "G20.a"
1497
+ ]
1498
+ },
1499
+ {
1500
+ "kind": "typeMember",
1501
+ "name": "CheckpointError.code",
1502
+ "assertions": [
1503
+ "G20.a"
1504
+ ]
1505
+ },
1506
+ {
1507
+ "kind": "typeMember",
1508
+ "name": "CheckpointError.detail.code",
1509
+ "assertions": [
1510
+ "G3.a",
1511
+ "G3.e",
1512
+ "G20.a"
1513
+ ]
1514
+ },
1515
+ {
1516
+ "kind": "typeMember",
1517
+ "name": "CheckpointError.detail.field",
1518
+ "assertions": [
1519
+ "G20.a"
1520
+ ]
1521
+ },
1522
+ {
1523
+ "kind": "typeMember",
1524
+ "name": "Context.systemPrompt",
1525
+ "assertions": [
1526
+ "G7.a",
1527
+ "G14.a",
1528
+ "G19.a"
1529
+ ]
1530
+ },
1531
+ {
1532
+ "kind": "typeMember",
1533
+ "name": "EngineNotice.detail",
1534
+ "assertions": [
1535
+ "G5.b",
1536
+ "G5.d",
1537
+ "G22.a",
1538
+ "G25.a"
1539
+ ]
1540
+ },
1541
+ {
1542
+ "kind": "typeMember",
1543
+ "name": "FileDurableRulePartitionProvider.orgStatePersistence",
1544
+ "assertions": [
1545
+ "G12.c",
1546
+ "G12.e"
1547
+ ]
1548
+ },
1549
+ {
1550
+ "kind": "typeMember",
1551
+ "name": "GateOutcome.disposition",
1552
+ "assertions": [
1553
+ "G8.a",
1554
+ "G10.a",
1555
+ "G10.b",
1556
+ "G10.c",
1557
+ "G10.d",
1558
+ "G10.e",
1559
+ "G11.a",
1560
+ "G11.b",
1561
+ "G12.a",
1562
+ "G13.a",
1563
+ "G15.e"
1564
+ ]
1565
+ },
1566
+ {
1567
+ "kind": "typeMember",
1568
+ "name": "GoalResult.status",
1569
+ "assertions": [
1570
+ "G6.a"
1571
+ ]
1572
+ },
1573
+ {
1574
+ "kind": "typeMember",
1575
+ "name": "GoalResult.suspendGate",
1576
+ "assertions": [
1577
+ "G6.a"
1578
+ ]
1579
+ },
1580
+ {
1581
+ "kind": "typeMember",
1582
+ "name": "MaterializedA2a.warnings",
1583
+ "assertions": [
1584
+ "G2.a"
1585
+ ]
1586
+ },
1587
+ {
1588
+ "kind": "typeMember",
1589
+ "name": "MaterializedMcp.warnings",
1590
+ "assertions": [
1591
+ "G18.a"
1592
+ ]
1593
+ },
1594
+ {
1595
+ "kind": "typeMember",
1596
+ "name": "McpReconnectResult.toolCount",
1597
+ "assertions": [
1598
+ "G17.a"
1599
+ ]
1600
+ },
1601
+ {
1602
+ "kind": "typeMember",
1603
+ "name": "McpReconnectResult.tools",
1604
+ "assertions": [
1605
+ "G17.a"
1606
+ ]
1607
+ },
1608
+ {
1609
+ "kind": "typeMember",
1610
+ "name": "McpRefreshResult.instructions",
1611
+ "assertions": [
1612
+ "G19.a",
1613
+ "G19.d"
1614
+ ]
1615
+ },
1616
+ {
1617
+ "kind": "typeMember",
1618
+ "name": "McpRefreshResult.status",
1619
+ "assertions": [
1620
+ "G19.b",
1621
+ "G19.c",
1622
+ "G19.d"
1623
+ ]
1624
+ },
1625
+ {
1626
+ "kind": "typeMember",
1627
+ "name": "McpServerSpec.allowTools",
1628
+ "assertions": [
1629
+ "G3.c"
1630
+ ]
1631
+ },
1632
+ {
1633
+ "kind": "typeMember",
1634
+ "name": "McpServerSpec.name",
1635
+ "assertions": [
1636
+ "G3.f"
1637
+ ]
1638
+ },
1639
+ {
1640
+ "kind": "typeMember",
1641
+ "name": "McpServerSpec.toolAxes",
1642
+ "assertions": [
1643
+ "G3.b",
1644
+ "G3.d",
1645
+ "G4.a"
1646
+ ]
1647
+ },
1648
+ {
1649
+ "kind": "typeMember",
1650
+ "name": "McpServerSpec.transport",
1651
+ "assertions": [
1652
+ "G3.a",
1653
+ "G3.e"
1654
+ ]
1655
+ },
1656
+ {
1657
+ "kind": "typeMember",
1658
+ "name": "McpServerStatus.status",
1659
+ "assertions": [
1660
+ "G18.a",
1661
+ "G18.b",
1662
+ "G18.c"
1663
+ ]
1664
+ },
1665
+ {
1666
+ "kind": "typeMember",
1667
+ "name": "ModRegistration.tier",
1668
+ "assertions": [
1669
+ "G28.a"
1670
+ ]
1671
+ },
1672
+ {
1673
+ "kind": "typeMember",
1674
+ "name": "ModStation.failure",
1675
+ "assertions": [
1676
+ "G15.a",
1677
+ "G15.b",
1678
+ "G15.d",
1679
+ "G15.e",
1680
+ "G15.g",
1681
+ "G15.i"
1682
+ ]
1683
+ },
1684
+ {
1685
+ "kind": "typeMember",
1686
+ "name": "Model.baseUrl",
1687
+ "assertions": [
1688
+ "G5.c"
1689
+ ]
1690
+ },
1691
+ {
1692
+ "kind": "typeMember",
1693
+ "name": "OrgPermissionRule.behavior",
1694
+ "assertions": [
1695
+ "G10.d"
1696
+ ]
1697
+ },
1698
+ {
1699
+ "kind": "typeMember",
1700
+ "name": "OrgPermissionRule.rule",
1701
+ "assertions": [
1702
+ "G10.e",
1703
+ "G12.a"
1704
+ ]
1705
+ },
1706
+ {
1707
+ "kind": "typeMember",
1708
+ "name": "OrgRuleResolution.disclosures",
1709
+ "assertions": [
1710
+ "G10.a",
1711
+ "G27.a"
1712
+ ]
1713
+ },
1714
+ {
1715
+ "kind": "typeMember",
1716
+ "name": "OrgRuleResolution.rules",
1717
+ "assertions": [
1718
+ "G12.b"
1719
+ ]
1720
+ },
1721
+ {
1722
+ "kind": "typeMember",
1723
+ "name": "OrgRuleResolution.status",
1724
+ "assertions": [
1725
+ "G10.a",
1726
+ "G10.c",
1727
+ "G12.b",
1728
+ "G12.d",
1729
+ "G12.e",
1730
+ "G27.a"
1731
+ ]
1732
+ },
1733
+ {
1734
+ "kind": "typeMember",
1735
+ "name": "OrgRuleSnapshot.revision",
1736
+ "assertions": [
1737
+ "G12.c",
1738
+ "G12.d"
1739
+ ]
1740
+ },
1741
+ {
1742
+ "kind": "typeMember",
1743
+ "name": "OrgRuleVerdict.behavior",
1744
+ "assertions": [
1745
+ "G11.b"
1746
+ ]
1747
+ },
1748
+ {
1749
+ "kind": "typeMember",
1750
+ "name": "OrgRuleVerdict.unreadable",
1751
+ "assertions": [
1752
+ "G10.b"
1753
+ ]
1754
+ },
1755
+ {
1756
+ "kind": "typeMember",
1757
+ "name": "PermissionRuleIssue.code",
1758
+ "assertions": [
1759
+ "G8.a"
1760
+ ]
1761
+ },
1762
+ {
1763
+ "kind": "typeMember",
1764
+ "name": "PromptArtifactPayload.schemaVersion",
1765
+ "assertions": [
1766
+ "G14.a"
1767
+ ]
1768
+ },
1769
+ {
1770
+ "kind": "typeMember",
1771
+ "name": "PromptVariantWhen.binding",
1772
+ "assertions": [
1773
+ "G14.a"
1774
+ ]
1775
+ },
1776
+ {
1777
+ "kind": "typeMember",
1778
+ "name": "RouteRefusalDetail.boundOrigin",
1779
+ "assertions": [
1780
+ "G23.a"
1781
+ ]
1782
+ },
1783
+ {
1784
+ "kind": "typeMember",
1785
+ "name": "RouteRefusalDetail.requestOrigin",
1786
+ "assertions": [
1787
+ "G23.a"
1788
+ ]
1789
+ },
1790
+ {
1791
+ "kind": "typeMember",
1792
+ "name": "RunnerDeps.mods",
1793
+ "assertions": [
1794
+ "G15.b",
1795
+ "G15.c",
1796
+ "G15.f",
1797
+ "G15.h"
1798
+ ]
1799
+ },
1800
+ {
1801
+ "kind": "typeMember",
1802
+ "name": "RunnerDeps.onError",
1803
+ "assertions": [
1804
+ "G15.a",
1805
+ "G15.d",
1806
+ "G25.a"
1807
+ ]
1808
+ },
1809
+ {
1810
+ "kind": "typeMember",
1811
+ "name": "RunnerDeps.principalInboxConsumer",
1812
+ "assertions": [
1813
+ "G16.a",
1814
+ "G29.a"
1815
+ ]
1816
+ },
1817
+ {
1818
+ "kind": "typeMember",
1819
+ "name": "StoredArtifactRefusal.code",
1820
+ "assertions": [
1821
+ "G14.a"
1822
+ ]
1823
+ },
1824
+ {
1825
+ "kind": "typeMember",
1826
+ "name": "SubagentToolOptions.extraToolNames",
1827
+ "assertions": [
1828
+ "G22.c"
1829
+ ]
1830
+ },
1831
+ {
1832
+ "kind": "typeMember",
1833
+ "name": "SubagentToolOptions.onExtraToolsError",
1834
+ "assertions": [
1835
+ "G22.c"
1836
+ ]
1837
+ },
1838
+ {
1839
+ "kind": "typeMember",
1840
+ "name": "TaskResult.terminal.code",
1841
+ "assertions": [
1842
+ "G2.a",
1843
+ "G3.a",
1844
+ "G3.b",
1845
+ "G3.d",
1846
+ "G4.a",
1847
+ "G16.a",
1848
+ "G20.b",
1849
+ "G24.a",
1850
+ "G26.a"
1851
+ ]
1852
+ },
1853
+ {
1854
+ "kind": "typeMember",
1855
+ "name": "TaskResult.terminal.detail",
1856
+ "assertions": [
1857
+ "G16.a",
1858
+ "G20.b",
1859
+ "G24.a",
1860
+ "G26.a"
1861
+ ]
1862
+ },
1863
+ {
1864
+ "kind": "typeMember",
1865
+ "name": "TaskResult.terminal.message",
1866
+ "assertions": [
1867
+ "G1.a",
1868
+ "G2.a",
1869
+ "G3.a",
1870
+ "G3.c",
1871
+ "G3.f",
1872
+ "G4.a"
1873
+ ]
1874
+ },
1875
+ {
1876
+ "kind": "typeMember",
1877
+ "name": "TaskSpec.memoryPersistenceCapable",
1878
+ "assertions": [
1879
+ "G7.a"
1880
+ ]
1881
+ },
1882
+ {
1883
+ "kind": "typeMember",
1884
+ "name": "TaskSpec.mods",
1885
+ "assertions": [
1886
+ "G28.a"
1887
+ ]
1888
+ },
1889
+ {
1890
+ "kind": "typeMember",
1891
+ "name": "TaskSpec.toolPolicy",
1892
+ "assertions": [
1893
+ "G20.b"
1894
+ ]
1895
+ },
1896
+ {
1897
+ "kind": "typeMember",
1898
+ "name": "TaskSpec.userAttachments",
1899
+ "assertions": [
1900
+ "G24.a"
1901
+ ]
1902
+ },
1903
+ {
1904
+ "kind": "typeMember",
1905
+ "name": "TaskStream.halt",
1906
+ "assertions": [
1907
+ "G9.a"
1908
+ ]
1909
+ },
1910
+ {
1911
+ "kind": "typeMember",
1912
+ "name": "ToolSpec.name",
1913
+ "assertions": [
1914
+ "G26.a"
1915
+ ]
1916
+ }
1917
+ ],
1918
+ "consumersHint": {
1919
+ "cli": [
1920
+ "CHECKPOINT_CONFIG_REFUSAL_CODES",
1921
+ "CheckpointError",
1922
+ "CheckpointErrorReason",
1923
+ "ENGINE_NOTICE_CODES",
1924
+ "MaybeCompactOptions",
1925
+ "McpRefreshResult",
1926
+ "NO_PERSISTENT_MEMORY_NOTICE",
1927
+ "RunnerDeps",
1928
+ "TaskEvent",
1929
+ "ToolGateInput",
1930
+ "brainLaneOf",
1931
+ "readMcpToolAxes"
1932
+ ],
1933
+ "server": [
1934
+ "CHECKPOINT_CONFIG_REFUSAL_CODES",
1935
+ "CenterPromptSource",
1936
+ "CheckpointError",
1937
+ "CheckpointErrorReason",
1938
+ "ENGINE_NOTICE_CODES",
1939
+ "FilePromptArtifactStore",
1940
+ "GoalResult",
1941
+ "McpToolAxesRead",
1942
+ "MemoryPromptArtifactStore",
1943
+ "NO_PERSISTENT_MEMORY_NOTICE",
1944
+ "RunnerDeps",
1945
+ "TaskEvent",
1946
+ "ToolGateInput",
1947
+ "materializeMcpTools",
1948
+ "maybeCompact",
1949
+ "readMcpToolAxes"
1950
+ ],
1951
+ "sdk": [
1952
+ "CheckpointError",
1953
+ "CheckpointErrorReason",
1954
+ "ENGINE_NOTICE_CODES",
1955
+ "RunnerDeps",
1956
+ "TaskEvent"
1957
+ ],
1958
+ "note": "scanned cli@30347020 server@b2b1cde7 sdk@f0d5817 — a name listed is MENTIONED there today, which is evidence of consumption, not proof of it. Ledger files (**/docs/core-consumption/**, **/docs/wire-consumption/**, **/*LEDGER*.json) are not evidence of use — server: 15 name(s) matched ONLY in bookkeeping files and were set aside (CROSS_SESSION_HOLD_CAUSES, CrossSessionHoldCause, CrossSessionInboundInput, MaybeCompactOptions, McpRefreshResult, PeerInboundHoldCause, PromptArtifactSource, PromptArtifactStore, PromptOverlay, PromptVariantWhen, ReadInboxToolOptions, orgRuleVerdictFor, peerHeldQueueFor, peerHeldQueueIfAny, peerHeldQueueKey)"
1959
+ },
1960
+ "breakingCount": 5,
1961
+ "breakingItems": [
1962
+ "export removed: McpToolAxesRead (type)",
1963
+ "export removed: NO_PERSISTENT_MEMORY_NOTICE (variable)",
1964
+ "signature changed: orgRuleVerdictFor — param 2 `call` type changed, direction not read: [{ tool: string; command: string; } -> OrgRuleCall]",
1965
+ "signature changed: readMcpToolAxes — return type [Mcp -> ]ToolAxesRead",
1966
+ "type lost keys: PromptOverlay -scope,scope.binding"
1967
+ ]
1968
+ }