@sema-agent/core 7.52.0 → 7.53.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 (191) hide show
  1. package/CHANGELOG.md +194 -0
  2. package/README.md +3 -1
  3. package/dist/agents/cross-session-envelope.d.ts +8 -0
  4. package/dist/agents/cross-session-envelope.js +6 -0
  5. package/dist/agents/cross-session-judge.d.ts +21 -1
  6. package/dist/agents/cross-session-judge.js +8 -0
  7. package/dist/agents/cross-session-ref.d.ts +5 -0
  8. package/dist/agents/cross-session-ref.js +1 -0
  9. package/dist/agents/org-delivery-gate.d.ts +122 -0
  10. package/dist/agents/org-delivery-gate.js +69 -0
  11. package/dist/agents/peer-held-queue.d.ts +9 -4
  12. package/dist/agents/peer-held-queue.js +6 -5
  13. package/dist/agents/peer-session-drain.d.ts +35 -5
  14. package/dist/agents/peer-session-drain.js +271 -180
  15. package/dist/agents/read-inbox-tool.d.ts +7 -0
  16. package/dist/agents/read-inbox-tool.js +5 -1
  17. package/dist/agents/subagent.d.ts +3 -0
  18. package/dist/agents/subagent.js +99 -72
  19. package/dist/agents/tool-filter.d.ts +18 -0
  20. package/dist/agents/tool-filter.js +6 -0
  21. package/dist/brain/anthropic.d.ts +6 -1
  22. package/dist/brain/anthropic.js +4 -4
  23. package/dist/brain/model-presets.js +2 -1
  24. package/dist/brain/route-adjudicator.d.ts +6 -0
  25. package/dist/brain/routing.d.ts +24 -1
  26. package/dist/brain/routing.js +54 -19
  27. package/dist/brain/timeout.js +5 -4
  28. package/dist/core/a2a.d.ts +5 -2
  29. package/dist/core/a2a.js +30 -13
  30. package/dist/core/allow-entry.d.ts +2 -1
  31. package/dist/core/allow-entry.js +2 -2
  32. package/dist/core/auto-compaction.d.ts +57 -0
  33. package/dist/core/auto-compaction.js +28 -2
  34. package/dist/core/checkpoint-store.d.ts +29 -20
  35. package/dist/core/checkpoint-store.js +3 -3
  36. package/dist/core/compliance.js +3 -1
  37. package/dist/core/effective-path-target.d.ts +25 -6
  38. package/dist/core/effective-path-target.js +24 -2
  39. package/dist/core/engine-notice.d.ts +13 -2
  40. package/dist/core/gate-fold.js +3 -2
  41. package/dist/core/gate-lanes.js +11 -13
  42. package/dist/core/gate-outcome.d.ts +11 -6
  43. package/dist/core/governance-codes.d.ts +3 -1
  44. package/dist/core/governance-codes.js +3 -0
  45. package/dist/core/hands-band-screen.d.ts +7 -0
  46. package/dist/core/hands-band-screen.js +32 -0
  47. package/dist/core/hooks.d.ts +7 -5
  48. package/dist/core/hooks.js +5 -3
  49. package/dist/core/locked-config.d.ts +84 -32
  50. package/dist/core/locked-config.js +128 -42
  51. package/dist/core/mcp-probe.js +1 -1
  52. package/dist/core/mcp-server-spec.d.ts +88 -10
  53. package/dist/core/mcp-server-spec.js +183 -33
  54. package/dist/core/mcp.d.ts +21 -14
  55. package/dist/core/mcp.js +55 -51
  56. package/dist/core/memory-engine/engine.d.ts +14 -19
  57. package/dist/core/memory-engine/engine.js +7 -5
  58. package/dist/core/mode-policy.d.ts +3 -18
  59. package/dist/core/mode-policy.js +2 -16
  60. package/dist/core/mods/kernel/dispatch.js +13 -15
  61. package/dist/core/mods/kernel/events.d.ts +9 -6
  62. package/dist/core/mods/kernel/events.js +2 -2
  63. package/dist/core/mods/kernel/receive.d.ts +39 -10
  64. package/dist/core/mods/kernel/receive.js +119 -54
  65. package/dist/core/mods/kernel/site-rules.d.ts +80 -15
  66. package/dist/core/mods/kernel/site-rules.js +232 -40
  67. package/dist/core/mods/stations.d.ts +0 -6
  68. package/dist/core/mods/stations.js +0 -7
  69. package/dist/core/mounted-mcp.d.ts +57 -0
  70. package/dist/core/mounted-mcp.js +71 -2
  71. package/dist/core/own-property-receipt.d.ts +13 -0
  72. package/dist/core/own-property-receipt.js +3 -1
  73. package/dist/core/parent-spec-seat.d.ts +2 -2
  74. package/dist/core/permission-rule-model.d.ts +58 -9
  75. package/dist/core/permission-rule-model.js +81 -7
  76. package/dist/core/permission-rule-org.d.ts +163 -33
  77. package/dist/core/permission-rule-org.js +205 -71
  78. package/dist/core/permission-rules.d.ts +7 -1
  79. package/dist/core/permission-rules.js +37 -8
  80. package/dist/core/retention.js +7 -2
  81. package/dist/core/retired-keys.d.ts +8 -2
  82. package/dist/core/retired-keys.js +12 -1
  83. package/dist/core/roles.js +60 -10
  84. package/dist/core/rule-lane-reads.js +1 -1
  85. package/dist/core/runner/contracts.d.ts +1 -0
  86. package/dist/core/runner/gate-exit.js +4 -3
  87. package/dist/core/runner/mcp-redial.d.ts +52 -10
  88. package/dist/core/runner/mcp-redial.js +38 -9
  89. package/dist/core/runner/permission-rule-lanes.d.ts +5 -2
  90. package/dist/core/runner/permission-rule-lanes.js +22 -10
  91. package/dist/core/runner/person-path-rows.d.ts +3 -1
  92. package/dist/core/runner/person-path-rows.js +2 -2
  93. package/dist/core/runner/prepare-config-doors.d.ts +48 -2
  94. package/dist/core/runner/prepare-config-doors.js +161 -145
  95. package/dist/core/runner/prepare-defer-classify.js +4 -7
  96. package/dist/core/runner/prepare-delegation-surface.d.ts +2 -2
  97. package/dist/core/runner/prepare-delegation-surface.js +7 -5
  98. package/dist/core/runner/prepare-hands-readface.d.ts +1 -1
  99. package/dist/core/runner/prepare-hands-readface.js +2 -1
  100. package/dist/core/runner/prepare-inherited-gate.js +2 -2
  101. package/dist/core/runner/prepare-listings.d.ts +1 -1
  102. package/dist/core/runner/prepare-listings.js +4 -2
  103. package/dist/core/runner/prepare-memory-engine-session.d.ts +0 -6
  104. package/dist/core/runner/prepare-memory-engine-session.js +19 -6
  105. package/dist/core/runner/prepare-memory.d.ts +3 -2
  106. package/dist/core/runner/prepare-memory.js +6 -2
  107. package/dist/core/runner/prepare-offload-wrappers.d.ts +4 -4
  108. package/dist/core/runner/prepare-offload-wrappers.js +2 -1
  109. package/dist/core/runner/prepare-policy-chain.d.ts +1 -1
  110. package/dist/core/runner/prepare-policy-chain.js +12 -12
  111. package/dist/core/runner/prepare-project-context.d.ts +1 -1
  112. package/dist/core/runner/prepare-project-context.js +6 -4
  113. package/dist/core/runner/prepare-prompt-assembly.d.ts +1 -1
  114. package/dist/core/runner/prepare-prompt-assembly.js +20 -16
  115. package/dist/core/runner/prepare-prompt-inputs.d.ts +12 -6
  116. package/dist/core/runner/prepare-prompt-inputs.js +6 -3
  117. package/dist/core/runner/prepare-protocol-tools.d.ts +7 -5
  118. package/dist/core/runner/prepare-protocol-tools.js +19 -12
  119. package/dist/core/runner/prepare-question-face.d.ts +4 -2
  120. package/dist/core/runner/prepare-question-face.js +4 -3
  121. package/dist/core/runner/prepare-task.js +10 -10
  122. package/dist/core/runner/prepare-wiring-manifest.d.ts +8 -3
  123. package/dist/core/runner/prepare-wiring-manifest.js +8 -5
  124. package/dist/core/runner/resume-admission.d.ts +4 -1
  125. package/dist/core/runner/resume-admission.js +7 -5
  126. package/dist/core/runner/resume-internals-and-config.d.ts +3 -3
  127. package/dist/core/runner/resume-internals-and-config.js +3 -8
  128. package/dist/core/runner/retired-runner-deps.d.ts +5 -6
  129. package/dist/core/runner/retired-runner-deps.js +1 -4
  130. package/dist/core/runner/run-leg.js +42 -12
  131. package/dist/core/runner/run-recovery-lanes.js +5 -3
  132. package/dist/core/runner/run-terminal-adoption.js +6 -5
  133. package/dist/core/runner/run-turn-boundary.js +9 -3
  134. package/dist/core/runner/runtask.js +1 -1
  135. package/dist/core/runner/skills-seat.d.ts +15 -0
  136. package/dist/core/runner/skills-seat.js +57 -0
  137. package/dist/core/runner/sub-agent-deny-lists.d.ts +13 -11
  138. package/dist/core/runner/sub-agent-deny-lists.js +7 -5
  139. package/dist/core/runner/synthetic-tools.d.ts +5 -2
  140. package/dist/core/runner/synthetic-tools.js +2 -12
  141. package/dist/core/runner-deps.d.ts +29 -14
  142. package/dist/core/session-policy-store.d.ts +19 -0
  143. package/dist/core/session-policy-store.js +22 -2
  144. package/dist/core/store-contracts/mailbox-store-contract.js +13 -0
  145. package/dist/core/task-event.d.ts +38 -2
  146. package/dist/core/task-notification.js +2 -2
  147. package/dist/core/task-spec.d.ts +1 -1
  148. package/dist/core/tool-policy.d.ts +3 -0
  149. package/dist/core/tool-policy.js +10 -4
  150. package/dist/core/types.d.ts +2 -2
  151. package/dist/core/types.js +1 -1
  152. package/dist/core/untrusted-text.d.ts +16 -0
  153. package/dist/core/untrusted-text.js +7 -2
  154. package/dist/core/user-attachment.d.ts +13 -2
  155. package/dist/core/user-attachment.js +47 -41
  156. package/dist/core/wiring-manifest.d.ts +4 -2
  157. package/dist/engine/harness/agent-harness.js +2 -1
  158. package/dist/engine/harness/types.d.ts +3 -0
  159. package/dist/engine/loop/agent-loop.d.ts +12 -1
  160. package/dist/engine/loop/agent-loop.js +17 -5
  161. package/dist/engine/loop/types.d.ts +7 -1
  162. package/dist/index.d.ts +15 -9
  163. package/dist/index.js +12 -6
  164. package/dist/internal/harness.d.ts +1 -0
  165. package/dist/internal/harness.js +1 -0
  166. package/dist/orchestration/goal.d.ts +24 -1
  167. package/dist/orchestration/goal.js +3 -2
  168. package/dist/prompt-assembly/artifact-store.d.ts +44 -9
  169. package/dist/prompt-assembly/artifact-store.js +38 -12
  170. package/dist/prompt-assembly/artifact.d.ts +12 -11
  171. package/dist/prompt-assembly/artifact.js +52 -21
  172. package/dist/prompt-assembly/assemble.d.ts +2 -0
  173. package/dist/prompt-assembly/assemble.js +2 -1
  174. package/dist/prompt-assembly/catalog/index.js +2 -1
  175. package/dist/prompt-assembly/catalog/memory.d.ts +13 -0
  176. package/dist/prompt-assembly/catalog/memory.js +6 -0
  177. package/dist/prompt-assembly/catalog/schema.d.ts +16 -2
  178. package/dist/prompt-assembly/composer.d.ts +2 -0
  179. package/dist/prompt-assembly/composer.js +1 -1
  180. package/dist/prompt-assembly/overlay.d.ts +21 -11
  181. package/dist/prompt-assembly/overlay.js +55 -17
  182. package/dist/prompt-assembly/select.d.ts +21 -6
  183. package/dist/prompt-assembly/select.js +39 -2
  184. package/dist/prompts/default.d.ts +0 -11
  185. package/dist/prompts/default.js +0 -3
  186. package/dist/stores/file/permission-rule-store.d.ts +1 -1
  187. package/dist/stores/file/permission-rule-store.js +2 -1
  188. package/dist/tools/artifact/artifact-tool.js +4 -3
  189. package/package.json +1 -1
  190. package/test/export-surface.snapshot.json +65 -5
  191. package/wire-changes/core@7.53.0.json +1946 -0
@@ -0,0 +1,1946 @@
1
+ {
2
+ "repo": "core",
3
+ "version": "7.53.0",
4
+ "from": "3bc7848a9cde7d860bfcbcc53eefb79bbaa68c16",
5
+ "to": "3c775d132a25dda585e76b0daa7d5796e0501df6",
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
+ "closedSetMembers": [
425
+ {
426
+ "set": "CHECKPOINT_CONFIG_REFUSAL_CODES",
427
+ "at": [
428
+ "src/core/checkpoint-store.ts:2485"
429
+ ],
430
+ "newSet": false,
431
+ "added": [
432
+ "config.attachment_invalid",
433
+ "config.auto_consolidation",
434
+ "config.brain_call_guardrail_invalid",
435
+ "config.deps_retired_key",
436
+ "config.invalid_argument",
437
+ "config.invalid_checkpoint_store",
438
+ "config.limit_invalid",
439
+ "config.limit_unknown_key",
440
+ "config.locked_key",
441
+ "config.locked_registry",
442
+ "config.mcp_content_class",
443
+ "config.memory_capture_policy",
444
+ "config.memory_delegation_evidence",
445
+ "config.memory_persistence_invalid",
446
+ "config.memory_provenance",
447
+ "config.microcompact_invalid",
448
+ "config.peer_presence_invalid",
449
+ "config.prompt_selector_invalid",
450
+ "config.read_face_invalid",
451
+ "config.retention_capability",
452
+ "config.retention_policy",
453
+ "config.skill_base_dir_invalid",
454
+ "config.skill_listing_budget_invalid",
455
+ "config.tool_materialize_invalid",
456
+ "config.tool_materialize_unreachable",
457
+ "config.tool_model_gate_invalid",
458
+ "config.unknown_role",
459
+ "config.usage_window_invalid",
460
+ "config.write_face_invalid",
461
+ "resume_at.conflicts_resume",
462
+ "resume_at.mode_without_target"
463
+ ],
464
+ "removed": [],
465
+ "breaking": false,
466
+ "criteriaCovered": false
467
+ },
468
+ {
469
+ "set": "CROSS_SESSION_HOLD_CAUSES",
470
+ "at": [
471
+ "src/agents/cross-session-judge.ts:160"
472
+ ],
473
+ "newSet": false,
474
+ "added": [
475
+ "cross-principal-default"
476
+ ],
477
+ "removed": [],
478
+ "breaking": false,
479
+ "criteriaCovered": false
480
+ },
481
+ {
482
+ "set": "CheckpointError.detail.field",
483
+ "at": [
484
+ "src/core/checkpoint-store.ts:2676"
485
+ ],
486
+ "newSet": false,
487
+ "added": [
488
+ "deps"
489
+ ],
490
+ "removed": [],
491
+ "breaking": false,
492
+ "criteriaCovered": false
493
+ },
494
+ {
495
+ "set": "CheckpointErrorReason",
496
+ "at": [
497
+ "src/core/checkpoint-store.ts:2427"
498
+ ],
499
+ "newSet": false,
500
+ "added": [
501
+ "not_a_model_ref",
502
+ "unknown_model_ref"
503
+ ],
504
+ "removed": [],
505
+ "breaking": false,
506
+ "criteriaCovered": false
507
+ },
508
+ {
509
+ "set": "CrossSessionHoldCause",
510
+ "at": [
511
+ "src/agents/cross-session-judge.ts:148"
512
+ ],
513
+ "newSet": false,
514
+ "added": [
515
+ "cross-principal-default"
516
+ ],
517
+ "removed": [],
518
+ "breaking": false,
519
+ "criteriaCovered": false
520
+ },
521
+ {
522
+ "set": "ENGINE_NOTICE_CODES",
523
+ "at": [
524
+ "src/core/governance-codes.ts:362"
525
+ ],
526
+ "newSet": false,
527
+ "added": [
528
+ "config.session_rules_earlier_grammar"
529
+ ],
530
+ "removed": [],
531
+ "breaking": false,
532
+ "criteriaCovered": true
533
+ },
534
+ {
535
+ "set": "EarlierGrammarReader",
536
+ "at": [
537
+ "src/core/session-policy-store.ts:466"
538
+ ],
539
+ "newSet": true,
540
+ "added": [
541
+ "named_no_tool",
542
+ "no_rule"
543
+ ],
544
+ "removed": [],
545
+ "breaking": false,
546
+ "criteriaCovered": false
547
+ },
548
+ {
549
+ "set": "ORG_DELIVERY_REFUSAL_CODES",
550
+ "at": [
551
+ "src/agents/org-delivery-gate.ts:101"
552
+ ],
553
+ "newSet": true,
554
+ "added": [
555
+ "org_delivery.inbox_full",
556
+ "org_delivery.not_member",
557
+ "org_delivery.rate_limited",
558
+ "org_delivery.recipient_tombstoned"
559
+ ],
560
+ "removed": [],
561
+ "breaking": false,
562
+ "criteriaCovered": false
563
+ },
564
+ {
565
+ "set": "ORG_ROW_POLICY_MEMBERS",
566
+ "at": [
567
+ "src/core/permission-rule-org.ts:623"
568
+ ],
569
+ "newSet": true,
570
+ "added": [
571
+ "behavior",
572
+ "rule"
573
+ ],
574
+ "removed": [],
575
+ "breaking": false,
576
+ "criteriaCovered": false
577
+ },
578
+ {
579
+ "set": "OrgDeliveryRefusalCode",
580
+ "at": [
581
+ "src/agents/org-delivery-gate.ts:102",
582
+ "src/index.ts:3254"
583
+ ],
584
+ "newSet": true,
585
+ "added": [
586
+ "org_delivery.inbox_full",
587
+ "org_delivery.not_member",
588
+ "org_delivery.rate_limited",
589
+ "org_delivery.recipient_tombstoned"
590
+ ],
591
+ "removed": [],
592
+ "breaking": false,
593
+ "criteriaCovered": false
594
+ },
595
+ {
596
+ "set": "OrgRowReach",
597
+ "at": [
598
+ "src/core/permission-rule-org.ts:551"
599
+ ],
600
+ "newSet": true,
601
+ "added": [
602
+ "every"
603
+ ],
604
+ "removed": [],
605
+ "breaking": false,
606
+ "criteriaCovered": false
607
+ },
608
+ {
609
+ "set": "PRINCIPAL_INBOX_TRIAGE_POLICIES",
610
+ "at": [
611
+ "src/agents/org-delivery-gate.ts:171"
612
+ ],
613
+ "newSet": true,
614
+ "added": [
615
+ "decline",
616
+ "draft_for_approval",
617
+ "triage_readonly"
618
+ ],
619
+ "removed": [],
620
+ "breaking": false,
621
+ "criteriaCovered": false
622
+ },
623
+ {
624
+ "set": "PeerInboundHoldCause",
625
+ "at": [
626
+ "src/agents/peer-held-queue.ts:26"
627
+ ],
628
+ "newSet": false,
629
+ "added": [
630
+ "cross-principal-default"
631
+ ],
632
+ "removed": [],
633
+ "breaking": false,
634
+ "criteriaCovered": false
635
+ },
636
+ {
637
+ "set": "PrincipalInboxTriagePolicy",
638
+ "at": [
639
+ "src/agents/org-delivery-gate.ts:172",
640
+ "src/index.ts:3255"
641
+ ],
642
+ "newSet": true,
643
+ "added": [
644
+ "decline",
645
+ "draft_for_approval",
646
+ "triage_readonly"
647
+ ],
648
+ "removed": [],
649
+ "breaking": false,
650
+ "criteriaCovered": false
651
+ },
652
+ {
653
+ "set": "RunnerDeps.principalInboxConsumer",
654
+ "at": [
655
+ "src/core/runner-deps.ts:959"
656
+ ],
657
+ "newSet": true,
658
+ "added": [
659
+ "terminals"
660
+ ],
661
+ "removed": [],
662
+ "breaking": false,
663
+ "criteriaCovered": false
664
+ },
665
+ {
666
+ "set": "TaskEvent.type",
667
+ "at": [
668
+ "src/core/task-event.ts:290",
669
+ "src/core/task-event.ts:312",
670
+ "src/core/task-event.ts:315",
671
+ "src/core/task-event.ts:317",
672
+ "src/core/task-event.ts:358",
673
+ "src/core/task-event.ts:390",
674
+ "src/core/task-event.ts:622",
675
+ "src/core/task-event.ts:636",
676
+ "src/core/task-event.ts:701",
677
+ "src/core/task-event.ts:795",
678
+ "src/core/task-event.ts:826",
679
+ "src/core/task-event.ts:860",
680
+ "src/core/task-event.ts:872",
681
+ "src/core/task-event.ts:900",
682
+ "src/core/task-event.ts:922",
683
+ "src/core/task-event.ts:966",
684
+ "src/core/task-event.ts:974",
685
+ "src/core/task-event.ts:1013",
686
+ "src/core/task-event.ts:1060",
687
+ "src/core/task-event.ts:1165",
688
+ "src/core/task-event.ts:1186",
689
+ "src/core/task-event.ts:1197",
690
+ "src/core/task-event.ts:1209",
691
+ "src/core/task-event.ts:1217"
692
+ ],
693
+ "newSet": false,
694
+ "added": [
695
+ "compaction_started"
696
+ ],
697
+ "removed": [],
698
+ "breaking": false,
699
+ "criteriaCovered": false
700
+ },
701
+ {
702
+ "set": "ToolAxesSurface",
703
+ "at": [
704
+ "src/core/mcp-server-spec.ts:179"
705
+ ],
706
+ "newSet": true,
707
+ "added": [
708
+ "a2a",
709
+ "mcp"
710
+ ],
711
+ "removed": [],
712
+ "breaking": false,
713
+ "criteriaCovered": false
714
+ }
715
+ ],
716
+ "closedSetsUnreadable": [],
717
+ "typeKeys": [
718
+ {
719
+ "type": "CrossSessionInboundInput",
720
+ "at": [
721
+ "src/agents/cross-session-judge.ts:209"
722
+ ],
723
+ "added": [
724
+ "sender.fromScope"
725
+ ],
726
+ "addedDetail": [
727
+ {
728
+ "key": "sender.fromScope",
729
+ "optional": true
730
+ }
731
+ ],
732
+ "addedRequired": [],
733
+ "removed": [],
734
+ "breaking": false,
735
+ "criteriaCovered": false
736
+ },
737
+ {
738
+ "type": "GoalResult",
739
+ "at": [
740
+ "src/orchestration/goal.ts:113"
741
+ ],
742
+ "added": [
743
+ "suspendGate"
744
+ ],
745
+ "addedDetail": [
746
+ {
747
+ "key": "suspendGate",
748
+ "optional": true
749
+ }
750
+ ],
751
+ "addedRequired": [],
752
+ "removed": [],
753
+ "breaking": false,
754
+ "criteriaCovered": true
755
+ },
756
+ {
757
+ "type": "MaybeCompactOptions",
758
+ "at": [
759
+ "src/core/auto-compaction.ts:351"
760
+ ],
761
+ "added": [
762
+ "onStarted"
763
+ ],
764
+ "addedDetail": [
765
+ {
766
+ "key": "onStarted",
767
+ "optional": true
768
+ }
769
+ ],
770
+ "addedRequired": [],
771
+ "removed": [],
772
+ "breaking": false,
773
+ "criteriaCovered": false
774
+ },
775
+ {
776
+ "type": "McpRefreshResult",
777
+ "at": [
778
+ "src/core/mcp.ts:310"
779
+ ],
780
+ "added": [
781
+ "instructions"
782
+ ],
783
+ "addedDetail": [
784
+ {
785
+ "key": "instructions",
786
+ "optional": true
787
+ }
788
+ ],
789
+ "addedRequired": [],
790
+ "removed": [],
791
+ "breaking": false,
792
+ "criteriaCovered": true
793
+ },
794
+ {
795
+ "type": "PromptOverlay",
796
+ "at": [
797
+ "src/prompt-assembly/overlay.ts:47"
798
+ ],
799
+ "added": [],
800
+ "addedDetail": [],
801
+ "addedRequired": [],
802
+ "removed": [
803
+ "scope",
804
+ "scope.binding"
805
+ ],
806
+ "breaking": true,
807
+ "criteriaCovered": false
808
+ },
809
+ {
810
+ "type": "PromptVariantWhen",
811
+ "at": [
812
+ "src/prompt-assembly/catalog/schema.ts:111"
813
+ ],
814
+ "added": [
815
+ "binding"
816
+ ],
817
+ "addedDetail": [
818
+ {
819
+ "key": "binding",
820
+ "optional": true
821
+ }
822
+ ],
823
+ "addedRequired": [],
824
+ "removed": [],
825
+ "breaking": false,
826
+ "criteriaCovered": true
827
+ },
828
+ {
829
+ "type": "ReadInboxToolOptions",
830
+ "at": [
831
+ "src/agents/read-inbox-tool.ts:28"
832
+ ],
833
+ "added": [
834
+ "coversPrincipalInbox"
835
+ ],
836
+ "addedDetail": [
837
+ {
838
+ "key": "coversPrincipalInbox",
839
+ "optional": true
840
+ }
841
+ ],
842
+ "addedRequired": [],
843
+ "removed": [],
844
+ "breaking": false,
845
+ "criteriaCovered": false
846
+ },
847
+ {
848
+ "type": "RunnerDeps",
849
+ "at": [
850
+ "src/core/runner-deps.ts:105"
851
+ ],
852
+ "added": [
853
+ "principalInboxConsumer",
854
+ "principalInboxConsumer.assistant"
855
+ ],
856
+ "addedDetail": [
857
+ {
858
+ "key": "principalInboxConsumer",
859
+ "optional": true
860
+ },
861
+ {
862
+ "key": "principalInboxConsumer.assistant",
863
+ "optional": false
864
+ }
865
+ ],
866
+ "addedRequired": [],
867
+ "removed": [],
868
+ "breaking": false,
869
+ "criteriaCovered": true
870
+ },
871
+ {
872
+ "type": "TaskEvent",
873
+ "at": [
874
+ "src/core/task-event.ts:289"
875
+ ],
876
+ "added": [
877
+ "compacted.pass",
878
+ "compaction_outcome.pass",
879
+ "compaction_started.pass",
880
+ "compaction_started.startedAt",
881
+ "compaction_started.trigger",
882
+ "compaction_started.type"
883
+ ],
884
+ "addedDetail": [
885
+ {
886
+ "key": "compacted.pass",
887
+ "optional": true
888
+ },
889
+ {
890
+ "key": "compaction_outcome.pass",
891
+ "optional": true
892
+ },
893
+ {
894
+ "key": "compaction_started.pass",
895
+ "optional": false
896
+ },
897
+ {
898
+ "key": "compaction_started.startedAt",
899
+ "optional": false
900
+ },
901
+ {
902
+ "key": "compaction_started.trigger",
903
+ "optional": false
904
+ },
905
+ {
906
+ "key": "compaction_started.type",
907
+ "optional": false
908
+ }
909
+ ],
910
+ "addedRequired": [],
911
+ "removed": [],
912
+ "breaking": false,
913
+ "criteriaCovered": true
914
+ },
915
+ {
916
+ "type": "ToolGateInput",
917
+ "at": [
918
+ "src/core/hooks.ts:886"
919
+ ],
920
+ "via": "runToolGate.ToolGateInput",
921
+ "added": [
922
+ "event.readArguments"
923
+ ],
924
+ "addedDetail": [
925
+ {
926
+ "key": "event.readArguments",
927
+ "optional": true
928
+ }
929
+ ],
930
+ "addedRequired": [],
931
+ "removed": [],
932
+ "breaking": false,
933
+ "criteriaCovered": false
934
+ }
935
+ ],
936
+ "typeKeysUnreadableArms": [
937
+ {
938
+ "type": "TaskEvent",
939
+ "at": "src/core/task-event.ts:289",
940
+ "reasons": [
941
+ "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"
942
+ ]
943
+ }
944
+ ],
945
+ "typeKeysFlattenedCount": 234,
946
+ "signatures": [
947
+ {
948
+ "name": "CenterPromptSource.constructor",
949
+ "at": [
950
+ "src/prompt-assembly/artifact-store.ts:243"
951
+ ],
952
+ "from": [
953
+ "(opts: { store: PromptArtifactStore; stateStore?: PromptSourceStateStore; })"
954
+ ],
955
+ "to": [
956
+ "(opts: { store: PromptArtifactStore; stateStore?: PromptSourceStateStore; onError?: RunnerDeps[\"onError\"]; })"
957
+ ],
958
+ "changes": [
959
+ {
960
+ "aspect": "param",
961
+ "detail": "param 1 `opts` type widened: …PromptSourceStateStore; [ -> onError?: RunnerDeps[\"onError\"]; ]}",
962
+ "breaking": false
963
+ }
964
+ ],
965
+ "breaking": false,
966
+ "criteriaCovered": false
967
+ },
968
+ {
969
+ "name": "CenterPromptSource.get",
970
+ "at": [
971
+ "src/prompt-assembly/artifact-store.ts:253"
972
+ ],
973
+ "from": [
974
+ "(artifactDigest: string): Promise<PromptArtifact | undefined>"
975
+ ],
976
+ "to": [
977
+ "(artifactDigest: string, onRefused?: OnArtifactRefused): Promise<PromptArtifact | undefined>"
978
+ ],
979
+ "changes": [
980
+ {
981
+ "aspect": "param",
982
+ "detail": "+optional param `onRefused?: OnArtifactRefused`",
983
+ "breaking": false
984
+ }
985
+ ],
986
+ "breaking": false,
987
+ "criteriaCovered": false
988
+ },
989
+ {
990
+ "name": "CheckpointError.constructor",
991
+ "at": [
992
+ "src/core/checkpoint-store.ts:2491"
993
+ ],
994
+ "from": [
995
+ "(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[]; })"
996
+ ],
997
+ "to": [
998
+ "(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[]; })"
999
+ ],
1000
+ "changes": [
1001
+ {
1002
+ "aspect": "param",
1003
+ "detail": "param 3 `detail` type widened: …over\" | \"taskConfig\" | \"[ -> deps\" | \"]inheritedGate\"; code?: C…",
1004
+ "breaking": false
1005
+ }
1006
+ ],
1007
+ "breaking": false,
1008
+ "criteriaCovered": false
1009
+ },
1010
+ {
1011
+ "name": "FilePromptArtifactStore.get",
1012
+ "at": [
1013
+ "src/prompt-assembly/artifact-store.ts:107"
1014
+ ],
1015
+ "from": [
1016
+ "(artifactDigest: string): Promise<PublishedPromptArtifact | undefined>"
1017
+ ],
1018
+ "to": [
1019
+ "(artifactDigest: string, onRefused?: OnArtifactRefused): Promise<PublishedPromptArtifact | undefined>"
1020
+ ],
1021
+ "changes": [
1022
+ {
1023
+ "aspect": "param",
1024
+ "detail": "+optional param `onRefused?: OnArtifactRefused`",
1025
+ "breaking": false
1026
+ }
1027
+ ],
1028
+ "breaking": false,
1029
+ "criteriaCovered": false
1030
+ },
1031
+ {
1032
+ "name": "MemoryPromptArtifactStore.get",
1033
+ "at": [
1034
+ "src/prompt-assembly/artifact-store.ts:81"
1035
+ ],
1036
+ "from": [
1037
+ "(artifactDigest: string): Promise<PublishedPromptArtifact | undefined>"
1038
+ ],
1039
+ "to": [
1040
+ "(artifactDigest: string, onRefused?: OnArtifactRefused): Promise<PublishedPromptArtifact | undefined>"
1041
+ ],
1042
+ "changes": [
1043
+ {
1044
+ "aspect": "param",
1045
+ "detail": "+optional param `onRefused?: OnArtifactRefused`",
1046
+ "breaking": false
1047
+ }
1048
+ ],
1049
+ "breaking": false,
1050
+ "criteriaCovered": false
1051
+ },
1052
+ {
1053
+ "name": "PromptArtifactSource.get",
1054
+ "at": [
1055
+ "src/prompt-assembly/artifact-store.ts:195"
1056
+ ],
1057
+ "from": [
1058
+ "(artifactDigest: string): Promise<PromptArtifact | undefined>"
1059
+ ],
1060
+ "to": [
1061
+ "(artifactDigest: string, onRefused?: OnArtifactRefused): Promise<PromptArtifact | undefined>"
1062
+ ],
1063
+ "changes": [
1064
+ {
1065
+ "aspect": "param",
1066
+ "detail": "+optional param `onRefused?: OnArtifactRefused`",
1067
+ "breaking": false
1068
+ }
1069
+ ],
1070
+ "breaking": false,
1071
+ "criteriaCovered": false
1072
+ },
1073
+ {
1074
+ "name": "PromptArtifactStore.get",
1075
+ "at": [
1076
+ "src/prompt-assembly/artifact-store.ts:50"
1077
+ ],
1078
+ "from": [
1079
+ "(artifactDigest: string): Promise<PublishedPromptArtifact | undefined>"
1080
+ ],
1081
+ "to": [
1082
+ "(artifactDigest: string, onRefused?: OnArtifactRefused): Promise<PublishedPromptArtifact | undefined>"
1083
+ ],
1084
+ "changes": [
1085
+ {
1086
+ "aspect": "param",
1087
+ "detail": "+optional param `onRefused?: OnArtifactRefused`",
1088
+ "breaking": false
1089
+ }
1090
+ ],
1091
+ "breaking": false,
1092
+ "criteriaCovered": false
1093
+ },
1094
+ {
1095
+ "name": "materializeMcpTools",
1096
+ "at": [
1097
+ "src/core/mcp.ts:1971"
1098
+ ],
1099
+ "from": [
1100
+ "(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>"
1101
+ ],
1102
+ "to": [
1103
+ "(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>"
1104
+ ],
1105
+ "changes": [
1106
+ {
1107
+ "aspect": "param",
1108
+ "detail": "+optional param `dialable?: (spec: McpServerSpec) => boolean`",
1109
+ "breaking": false
1110
+ }
1111
+ ],
1112
+ "breaking": false,
1113
+ "criteriaCovered": false
1114
+ },
1115
+ {
1116
+ "name": "maybeCompact",
1117
+ "at": [
1118
+ "src/core/auto-compaction.ts:775"
1119
+ ],
1120
+ "from": [
1121
+ "(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\"; }>"
1122
+ ],
1123
+ "to": [
1124
+ "(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\"; }>"
1125
+ ],
1126
+ "changes": [
1127
+ {
1128
+ "aspect": "returns",
1129
+ "detail": "return type gained members pass?",
1130
+ "breaking": false
1131
+ }
1132
+ ],
1133
+ "breaking": false,
1134
+ "criteriaCovered": false
1135
+ },
1136
+ {
1137
+ "name": "orgRuleVerdictFor",
1138
+ "at": [
1139
+ "src/core/permission-rule-org.ts:873"
1140
+ ],
1141
+ "from": [
1142
+ "(rules: readonly OrgPermissionRule[], call: { tool: string; command: string; }): OrgRuleVerdict | undefined"
1143
+ ],
1144
+ "to": [
1145
+ "(rules: readonly OrgPermissionRule[], call: OrgRuleCall): OrgRuleVerdict | undefined"
1146
+ ],
1147
+ "changes": [
1148
+ {
1149
+ "aspect": "param",
1150
+ "detail": "param 2 `call` type changed, direction not read: [{ tool: string; command: string; } -> OrgRuleCall]",
1151
+ "breaking": true,
1152
+ "uncertain": true
1153
+ }
1154
+ ],
1155
+ "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",
1156
+ "breaking": true,
1157
+ "criteriaCovered": false
1158
+ },
1159
+ {
1160
+ "name": "peerHeldQueueFor",
1161
+ "at": [
1162
+ "src/agents/peer-held-queue.ts:392"
1163
+ ],
1164
+ "from": [
1165
+ "(scope: string, sessionId: string, opts?: { cap?: number; clock?: PeerClock; }): PeerHeldQueue"
1166
+ ],
1167
+ "to": [
1168
+ "(scope: string, sessionId: string, opts?: { cap?: number; clock?: PeerClock; box?: string; }): PeerHeldQueue"
1169
+ ],
1170
+ "changes": [
1171
+ {
1172
+ "aspect": "param",
1173
+ "detail": "param 3 `opts` type widened: …ber; clock?: PeerClock; [ -> box?: string; ]}",
1174
+ "breaking": false
1175
+ }
1176
+ ],
1177
+ "breaking": false,
1178
+ "criteriaCovered": false
1179
+ },
1180
+ {
1181
+ "name": "peerHeldQueueIfAny",
1182
+ "at": [
1183
+ "src/agents/peer-held-queue.ts:404"
1184
+ ],
1185
+ "from": [
1186
+ "(scope: string, sessionId: string): PeerHeldQueue | undefined"
1187
+ ],
1188
+ "to": [
1189
+ "(scope: string, sessionId: string, box?: string): PeerHeldQueue | undefined"
1190
+ ],
1191
+ "changes": [
1192
+ {
1193
+ "aspect": "param",
1194
+ "detail": "+optional param `box?: string`",
1195
+ "breaking": false
1196
+ }
1197
+ ],
1198
+ "breaking": false,
1199
+ "criteriaCovered": false
1200
+ },
1201
+ {
1202
+ "name": "peerHeldQueueKey",
1203
+ "at": [
1204
+ "src/agents/peer-held-queue.ts:385"
1205
+ ],
1206
+ "from": [
1207
+ "(scope: string, sessionId: string): string"
1208
+ ],
1209
+ "to": [
1210
+ "(scope: string, sessionId: string, box?: string): string"
1211
+ ],
1212
+ "changes": [
1213
+ {
1214
+ "aspect": "param",
1215
+ "detail": "+optional param `box?: string`",
1216
+ "breaking": false
1217
+ }
1218
+ ],
1219
+ "breaking": false,
1220
+ "criteriaCovered": false
1221
+ },
1222
+ {
1223
+ "name": "readMcpToolAxes",
1224
+ "at": [
1225
+ "src/core/mcp-server-spec.ts:491"
1226
+ ],
1227
+ "from": [
1228
+ "(declared: unknown): McpToolAxesRead"
1229
+ ],
1230
+ "to": [
1231
+ "(declared: unknown): ToolAxesRead"
1232
+ ],
1233
+ "changes": [
1234
+ {
1235
+ "aspect": "returns",
1236
+ "detail": "return type [Mcp -> ]ToolAxesRead",
1237
+ "breaking": true
1238
+ }
1239
+ ],
1240
+ "breaking": true,
1241
+ "criteriaCovered": false
1242
+ }
1243
+ ],
1244
+ "declarationMoves": [
1245
+ {
1246
+ "name": "admitRouteRequest",
1247
+ "kind": "function",
1248
+ "onSurface": true,
1249
+ "from": [
1250
+ "src/brain/route-adjudicator.ts"
1251
+ ],
1252
+ "to": [
1253
+ "src/brain/route-adjudicator.ts",
1254
+ "src/index.ts"
1255
+ ]
1256
+ },
1257
+ {
1258
+ "name": "refuseResumeDoors",
1259
+ "kind": null,
1260
+ "onSurface": false,
1261
+ "from": [
1262
+ "src/core/mode-policy.ts"
1263
+ ],
1264
+ "to": [
1265
+ "src/core/runner/prepare-config-doors.ts"
1266
+ ]
1267
+ }
1268
+ ],
1269
+ "mintMoves": [
1270
+ {
1271
+ "code": "config.session_rules_earlier_grammar",
1272
+ "from": [
1273
+ "src/core/runner/prepare-policy-chain.ts"
1274
+ ],
1275
+ "to": [
1276
+ "src/core/session-policy-store.ts"
1277
+ ]
1278
+ }
1279
+ ],
1280
+ "criteriaObserves": [
1281
+ {
1282
+ "kind": "engineNoticeCode",
1283
+ "name": "config.session_rules_earlier_grammar",
1284
+ "assertions": [
1285
+ "G25.a"
1286
+ ]
1287
+ },
1288
+ {
1289
+ "kind": "engineNoticeCode",
1290
+ "name": "mcp.server_redialed",
1291
+ "assertions": [
1292
+ "G17.a"
1293
+ ]
1294
+ },
1295
+ {
1296
+ "kind": "engineNoticeCode",
1297
+ "name": "memory.session_polluted",
1298
+ "assertions": [
1299
+ "G22.a"
1300
+ ]
1301
+ },
1302
+ {
1303
+ "kind": "engineNoticeCode",
1304
+ "name": "permission.allowed_tool_not_granted",
1305
+ "assertions": [
1306
+ "G5.b"
1307
+ ]
1308
+ },
1309
+ {
1310
+ "kind": "engineNoticeCode",
1311
+ "name": "permission.rule_row_dropped",
1312
+ "assertions": [
1313
+ "G5.b"
1314
+ ]
1315
+ },
1316
+ {
1317
+ "kind": "engineNoticeCode",
1318
+ "name": "route.credential_origin_mismatch",
1319
+ "assertions": [
1320
+ "G23.a"
1321
+ ]
1322
+ },
1323
+ {
1324
+ "kind": "taskEventField",
1325
+ "name": "compacted.pass",
1326
+ "assertions": [
1327
+ "G21.a"
1328
+ ]
1329
+ },
1330
+ {
1331
+ "kind": "taskEventField",
1332
+ "name": "compaction_outcome.outcome",
1333
+ "assertions": [
1334
+ "G21.b"
1335
+ ]
1336
+ },
1337
+ {
1338
+ "kind": "taskEventField",
1339
+ "name": "compaction_outcome.pass",
1340
+ "assertions": [
1341
+ "G21.a"
1342
+ ]
1343
+ },
1344
+ {
1345
+ "kind": "taskEventField",
1346
+ "name": "compaction_started.pass",
1347
+ "assertions": [
1348
+ "G21.a",
1349
+ "G21.b"
1350
+ ]
1351
+ },
1352
+ {
1353
+ "kind": "taskEventField",
1354
+ "name": "compaction_started.startedAt",
1355
+ "assertions": [
1356
+ "G21.a"
1357
+ ]
1358
+ },
1359
+ {
1360
+ "kind": "taskEventField",
1361
+ "name": "compaction_started.trigger",
1362
+ "assertions": [
1363
+ "G21.a"
1364
+ ]
1365
+ },
1366
+ {
1367
+ "kind": "taskEventField",
1368
+ "name": "context_usage.compactAtTokens",
1369
+ "assertions": [
1370
+ "G7.b"
1371
+ ]
1372
+ },
1373
+ {
1374
+ "kind": "taskEventField",
1375
+ "name": "context_usage.windowTokens",
1376
+ "assertions": [
1377
+ "G7.b"
1378
+ ]
1379
+ },
1380
+ {
1381
+ "kind": "taskEventField",
1382
+ "name": "tool_end.isError",
1383
+ "assertions": [
1384
+ "G13.a"
1385
+ ]
1386
+ },
1387
+ {
1388
+ "kind": "taskEventField",
1389
+ "name": "tool_end.notExecuted",
1390
+ "assertions": [
1391
+ "G13.a"
1392
+ ]
1393
+ },
1394
+ {
1395
+ "kind": "taskEventField",
1396
+ "name": "tool_end.output",
1397
+ "assertions": [
1398
+ "G9.a",
1399
+ "G22.b",
1400
+ "G22.c"
1401
+ ]
1402
+ },
1403
+ {
1404
+ "kind": "taskEventField",
1405
+ "name": "tool_end.structured",
1406
+ "assertions": [
1407
+ "G22.b"
1408
+ ]
1409
+ },
1410
+ {
1411
+ "kind": "taskEventField",
1412
+ "name": "wiring_manifest.manifest",
1413
+ "assertions": [
1414
+ "G17.a"
1415
+ ]
1416
+ },
1417
+ {
1418
+ "kind": "typeMember",
1419
+ "name": "A2aServerSpec.headers",
1420
+ "assertions": [
1421
+ "G3.f"
1422
+ ]
1423
+ },
1424
+ {
1425
+ "kind": "typeMember",
1426
+ "name": "A2aServerSpec.toolAxes",
1427
+ "assertions": [
1428
+ "G2.a"
1429
+ ]
1430
+ },
1431
+ {
1432
+ "kind": "typeMember",
1433
+ "name": "ArtifactVerifyResult.code",
1434
+ "assertions": [
1435
+ "G14.a"
1436
+ ]
1437
+ },
1438
+ {
1439
+ "kind": "typeMember",
1440
+ "name": "AskRequest.askClass",
1441
+ "assertions": [
1442
+ "G8.a"
1443
+ ]
1444
+ },
1445
+ {
1446
+ "kind": "typeMember",
1447
+ "name": "AskRequest.probeReason",
1448
+ "assertions": [
1449
+ "G5.a"
1450
+ ]
1451
+ },
1452
+ {
1453
+ "kind": "typeMember",
1454
+ "name": "AskRequest.requiresRealApproval",
1455
+ "assertions": [
1456
+ "G11.a"
1457
+ ]
1458
+ },
1459
+ {
1460
+ "kind": "typeMember",
1461
+ "name": "AskRequest.ruleOffers",
1462
+ "assertions": [
1463
+ "G8.a"
1464
+ ]
1465
+ },
1466
+ {
1467
+ "kind": "typeMember",
1468
+ "name": "AskRequest.ruleOffersAbsence",
1469
+ "assertions": [
1470
+ "G8.a"
1471
+ ]
1472
+ },
1473
+ {
1474
+ "kind": "typeMember",
1475
+ "name": "AssistantMessage.errorMessage",
1476
+ "assertions": [
1477
+ "G1.a"
1478
+ ]
1479
+ },
1480
+ {
1481
+ "kind": "typeMember",
1482
+ "name": "AssistantMessage.stopReason",
1483
+ "assertions": [
1484
+ "G1.a"
1485
+ ]
1486
+ },
1487
+ {
1488
+ "kind": "typeMember",
1489
+ "name": "Checkpoint.status",
1490
+ "assertions": [
1491
+ "G20.a"
1492
+ ]
1493
+ },
1494
+ {
1495
+ "kind": "typeMember",
1496
+ "name": "CheckpointError.code",
1497
+ "assertions": [
1498
+ "G20.a"
1499
+ ]
1500
+ },
1501
+ {
1502
+ "kind": "typeMember",
1503
+ "name": "CheckpointError.detail.code",
1504
+ "assertions": [
1505
+ "G3.a",
1506
+ "G3.e",
1507
+ "G20.a"
1508
+ ]
1509
+ },
1510
+ {
1511
+ "kind": "typeMember",
1512
+ "name": "CheckpointError.detail.field",
1513
+ "assertions": [
1514
+ "G20.a"
1515
+ ]
1516
+ },
1517
+ {
1518
+ "kind": "typeMember",
1519
+ "name": "Context.systemPrompt",
1520
+ "assertions": [
1521
+ "G7.a",
1522
+ "G14.a",
1523
+ "G19.a"
1524
+ ]
1525
+ },
1526
+ {
1527
+ "kind": "typeMember",
1528
+ "name": "EngineNotice.detail",
1529
+ "assertions": [
1530
+ "G5.b",
1531
+ "G5.d",
1532
+ "G22.a",
1533
+ "G25.a"
1534
+ ]
1535
+ },
1536
+ {
1537
+ "kind": "typeMember",
1538
+ "name": "FileDurableRulePartitionProvider.orgStatePersistence",
1539
+ "assertions": [
1540
+ "G12.c",
1541
+ "G12.e"
1542
+ ]
1543
+ },
1544
+ {
1545
+ "kind": "typeMember",
1546
+ "name": "GateOutcome.disposition",
1547
+ "assertions": [
1548
+ "G8.a",
1549
+ "G10.a",
1550
+ "G10.b",
1551
+ "G10.c",
1552
+ "G10.d",
1553
+ "G10.e",
1554
+ "G11.a",
1555
+ "G11.b",
1556
+ "G12.a",
1557
+ "G13.a",
1558
+ "G15.e"
1559
+ ]
1560
+ },
1561
+ {
1562
+ "kind": "typeMember",
1563
+ "name": "GoalResult.status",
1564
+ "assertions": [
1565
+ "G6.a"
1566
+ ]
1567
+ },
1568
+ {
1569
+ "kind": "typeMember",
1570
+ "name": "GoalResult.suspendGate",
1571
+ "assertions": [
1572
+ "G6.a"
1573
+ ]
1574
+ },
1575
+ {
1576
+ "kind": "typeMember",
1577
+ "name": "MaterializedA2a.warnings",
1578
+ "assertions": [
1579
+ "G2.a"
1580
+ ]
1581
+ },
1582
+ {
1583
+ "kind": "typeMember",
1584
+ "name": "MaterializedMcp.warnings",
1585
+ "assertions": [
1586
+ "G18.a"
1587
+ ]
1588
+ },
1589
+ {
1590
+ "kind": "typeMember",
1591
+ "name": "McpReconnectResult.toolCount",
1592
+ "assertions": [
1593
+ "G17.a"
1594
+ ]
1595
+ },
1596
+ {
1597
+ "kind": "typeMember",
1598
+ "name": "McpReconnectResult.tools",
1599
+ "assertions": [
1600
+ "G17.a"
1601
+ ]
1602
+ },
1603
+ {
1604
+ "kind": "typeMember",
1605
+ "name": "McpRefreshResult.instructions",
1606
+ "assertions": [
1607
+ "G19.a",
1608
+ "G19.d"
1609
+ ]
1610
+ },
1611
+ {
1612
+ "kind": "typeMember",
1613
+ "name": "McpRefreshResult.status",
1614
+ "assertions": [
1615
+ "G19.b",
1616
+ "G19.c",
1617
+ "G19.d"
1618
+ ]
1619
+ },
1620
+ {
1621
+ "kind": "typeMember",
1622
+ "name": "McpServerSpec.allowTools",
1623
+ "assertions": [
1624
+ "G3.c"
1625
+ ]
1626
+ },
1627
+ {
1628
+ "kind": "typeMember",
1629
+ "name": "McpServerSpec.name",
1630
+ "assertions": [
1631
+ "G3.f"
1632
+ ]
1633
+ },
1634
+ {
1635
+ "kind": "typeMember",
1636
+ "name": "McpServerSpec.toolAxes",
1637
+ "assertions": [
1638
+ "G3.b",
1639
+ "G3.d",
1640
+ "G4.a"
1641
+ ]
1642
+ },
1643
+ {
1644
+ "kind": "typeMember",
1645
+ "name": "McpServerSpec.transport",
1646
+ "assertions": [
1647
+ "G3.a",
1648
+ "G3.e"
1649
+ ]
1650
+ },
1651
+ {
1652
+ "kind": "typeMember",
1653
+ "name": "McpServerStatus.status",
1654
+ "assertions": [
1655
+ "G18.a",
1656
+ "G18.b",
1657
+ "G18.c"
1658
+ ]
1659
+ },
1660
+ {
1661
+ "kind": "typeMember",
1662
+ "name": "ModStation.failure",
1663
+ "assertions": [
1664
+ "G15.a",
1665
+ "G15.b",
1666
+ "G15.d",
1667
+ "G15.e",
1668
+ "G15.g",
1669
+ "G15.i"
1670
+ ]
1671
+ },
1672
+ {
1673
+ "kind": "typeMember",
1674
+ "name": "Model.baseUrl",
1675
+ "assertions": [
1676
+ "G5.c"
1677
+ ]
1678
+ },
1679
+ {
1680
+ "kind": "typeMember",
1681
+ "name": "OrgPermissionRule.behavior",
1682
+ "assertions": [
1683
+ "G10.d"
1684
+ ]
1685
+ },
1686
+ {
1687
+ "kind": "typeMember",
1688
+ "name": "OrgPermissionRule.rule",
1689
+ "assertions": [
1690
+ "G10.e",
1691
+ "G12.a"
1692
+ ]
1693
+ },
1694
+ {
1695
+ "kind": "typeMember",
1696
+ "name": "OrgRuleResolution.disclosures",
1697
+ "assertions": [
1698
+ "G10.a"
1699
+ ]
1700
+ },
1701
+ {
1702
+ "kind": "typeMember",
1703
+ "name": "OrgRuleResolution.rules",
1704
+ "assertions": [
1705
+ "G12.b"
1706
+ ]
1707
+ },
1708
+ {
1709
+ "kind": "typeMember",
1710
+ "name": "OrgRuleResolution.status",
1711
+ "assertions": [
1712
+ "G10.a",
1713
+ "G10.c",
1714
+ "G12.b",
1715
+ "G12.d",
1716
+ "G12.e"
1717
+ ]
1718
+ },
1719
+ {
1720
+ "kind": "typeMember",
1721
+ "name": "OrgRuleSnapshot.revision",
1722
+ "assertions": [
1723
+ "G12.c",
1724
+ "G12.d"
1725
+ ]
1726
+ },
1727
+ {
1728
+ "kind": "typeMember",
1729
+ "name": "OrgRuleVerdict.behavior",
1730
+ "assertions": [
1731
+ "G11.b"
1732
+ ]
1733
+ },
1734
+ {
1735
+ "kind": "typeMember",
1736
+ "name": "OrgRuleVerdict.unreadable",
1737
+ "assertions": [
1738
+ "G10.b"
1739
+ ]
1740
+ },
1741
+ {
1742
+ "kind": "typeMember",
1743
+ "name": "PermissionRuleIssue.code",
1744
+ "assertions": [
1745
+ "G8.a"
1746
+ ]
1747
+ },
1748
+ {
1749
+ "kind": "typeMember",
1750
+ "name": "PromptArtifactPayload.schemaVersion",
1751
+ "assertions": [
1752
+ "G14.a"
1753
+ ]
1754
+ },
1755
+ {
1756
+ "kind": "typeMember",
1757
+ "name": "PromptVariantWhen.binding",
1758
+ "assertions": [
1759
+ "G14.a"
1760
+ ]
1761
+ },
1762
+ {
1763
+ "kind": "typeMember",
1764
+ "name": "RouteRefusalDetail.boundOrigin",
1765
+ "assertions": [
1766
+ "G23.a"
1767
+ ]
1768
+ },
1769
+ {
1770
+ "kind": "typeMember",
1771
+ "name": "RouteRefusalDetail.requestOrigin",
1772
+ "assertions": [
1773
+ "G23.a"
1774
+ ]
1775
+ },
1776
+ {
1777
+ "kind": "typeMember",
1778
+ "name": "RunnerDeps.mods",
1779
+ "assertions": [
1780
+ "G15.b",
1781
+ "G15.c",
1782
+ "G15.f",
1783
+ "G15.h"
1784
+ ]
1785
+ },
1786
+ {
1787
+ "kind": "typeMember",
1788
+ "name": "RunnerDeps.onError",
1789
+ "assertions": [
1790
+ "G15.a",
1791
+ "G15.d",
1792
+ "G25.a"
1793
+ ]
1794
+ },
1795
+ {
1796
+ "kind": "typeMember",
1797
+ "name": "RunnerDeps.principalInboxConsumer",
1798
+ "assertions": [
1799
+ "G16.a"
1800
+ ]
1801
+ },
1802
+ {
1803
+ "kind": "typeMember",
1804
+ "name": "StoredArtifactRefusal.code",
1805
+ "assertions": [
1806
+ "G14.a"
1807
+ ]
1808
+ },
1809
+ {
1810
+ "kind": "typeMember",
1811
+ "name": "SubagentToolOptions.extraToolNames",
1812
+ "assertions": [
1813
+ "G22.c"
1814
+ ]
1815
+ },
1816
+ {
1817
+ "kind": "typeMember",
1818
+ "name": "SubagentToolOptions.onExtraToolsError",
1819
+ "assertions": [
1820
+ "G22.c"
1821
+ ]
1822
+ },
1823
+ {
1824
+ "kind": "typeMember",
1825
+ "name": "TaskResult.terminal.code",
1826
+ "assertions": [
1827
+ "G2.a",
1828
+ "G3.a",
1829
+ "G3.b",
1830
+ "G3.d",
1831
+ "G4.a",
1832
+ "G16.a",
1833
+ "G20.b",
1834
+ "G24.a",
1835
+ "G26.a"
1836
+ ]
1837
+ },
1838
+ {
1839
+ "kind": "typeMember",
1840
+ "name": "TaskResult.terminal.detail",
1841
+ "assertions": [
1842
+ "G16.a",
1843
+ "G20.b",
1844
+ "G24.a",
1845
+ "G26.a"
1846
+ ]
1847
+ },
1848
+ {
1849
+ "kind": "typeMember",
1850
+ "name": "TaskResult.terminal.message",
1851
+ "assertions": [
1852
+ "G1.a",
1853
+ "G2.a",
1854
+ "G3.a",
1855
+ "G3.c",
1856
+ "G3.f",
1857
+ "G4.a"
1858
+ ]
1859
+ },
1860
+ {
1861
+ "kind": "typeMember",
1862
+ "name": "TaskSpec.memoryPersistenceCapable",
1863
+ "assertions": [
1864
+ "G7.a"
1865
+ ]
1866
+ },
1867
+ {
1868
+ "kind": "typeMember",
1869
+ "name": "TaskSpec.toolPolicy",
1870
+ "assertions": [
1871
+ "G20.b"
1872
+ ]
1873
+ },
1874
+ {
1875
+ "kind": "typeMember",
1876
+ "name": "TaskSpec.userAttachments",
1877
+ "assertions": [
1878
+ "G24.a"
1879
+ ]
1880
+ },
1881
+ {
1882
+ "kind": "typeMember",
1883
+ "name": "TaskStream.halt",
1884
+ "assertions": [
1885
+ "G9.a"
1886
+ ]
1887
+ },
1888
+ {
1889
+ "kind": "typeMember",
1890
+ "name": "ToolSpec.name",
1891
+ "assertions": [
1892
+ "G26.a"
1893
+ ]
1894
+ }
1895
+ ],
1896
+ "consumersHint": {
1897
+ "cli": [
1898
+ "CHECKPOINT_CONFIG_REFUSAL_CODES",
1899
+ "CheckpointError",
1900
+ "CheckpointErrorReason",
1901
+ "ENGINE_NOTICE_CODES",
1902
+ "MaybeCompactOptions",
1903
+ "McpRefreshResult",
1904
+ "NO_PERSISTENT_MEMORY_NOTICE",
1905
+ "RunnerDeps",
1906
+ "TaskEvent",
1907
+ "ToolGateInput",
1908
+ "brainLaneOf",
1909
+ "readMcpToolAxes"
1910
+ ],
1911
+ "server": [
1912
+ "CHECKPOINT_CONFIG_REFUSAL_CODES",
1913
+ "CenterPromptSource",
1914
+ "CheckpointError",
1915
+ "CheckpointErrorReason",
1916
+ "ENGINE_NOTICE_CODES",
1917
+ "FilePromptArtifactStore",
1918
+ "GoalResult",
1919
+ "McpToolAxesRead",
1920
+ "MemoryPromptArtifactStore",
1921
+ "NO_PERSISTENT_MEMORY_NOTICE",
1922
+ "RunnerDeps",
1923
+ "TaskEvent",
1924
+ "ToolGateInput",
1925
+ "materializeMcpTools",
1926
+ "maybeCompact",
1927
+ "readMcpToolAxes"
1928
+ ],
1929
+ "sdk": [
1930
+ "CheckpointError",
1931
+ "CheckpointErrorReason",
1932
+ "ENGINE_NOTICE_CODES",
1933
+ "RunnerDeps",
1934
+ "TaskEvent"
1935
+ ],
1936
+ "note": "scanned cli@9fe4ef4e server@c600e1f0 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)"
1937
+ },
1938
+ "breakingCount": 5,
1939
+ "breakingItems": [
1940
+ "export removed: McpToolAxesRead (type)",
1941
+ "export removed: NO_PERSISTENT_MEMORY_NOTICE (variable)",
1942
+ "signature changed: orgRuleVerdictFor — param 2 `call` type changed, direction not read: [{ tool: string; command: string; } -> OrgRuleCall]",
1943
+ "signature changed: readMcpToolAxes — return type [Mcp -> ]ToolAxesRead",
1944
+ "type lost keys: PromptOverlay -scope,scope.binding"
1945
+ ]
1946
+ }