@sema-agent/core 7.33.8 → 7.35.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 (228) hide show
  1. package/CHANGELOG.md +462 -3
  2. package/dist/agents/cross-session-judge.d.ts +16 -7
  3. package/dist/agents/cross-session-judge.js +18 -15
  4. package/dist/agents/peer-session-drain.d.ts +4 -0
  5. package/dist/agents/peer-session-drain.js +5 -2
  6. package/dist/agents/repair-loop.d.ts +1 -1
  7. package/dist/agents/subagent.d.ts +3 -0
  8. package/dist/agents/subagent.js +12 -3
  9. package/dist/brain/anthropic.js +1 -0
  10. package/dist/brain/errors.d.ts +23 -1
  11. package/dist/brain/errors.js +19 -2
  12. package/dist/brain/open-responses.js +1 -0
  13. package/dist/brain/openai.js +1 -0
  14. package/dist/brain/status-sink.d.ts +7 -1
  15. package/dist/brain/stream-engine.d.ts +3 -0
  16. package/dist/brain/stream-engine.js +2 -1
  17. package/dist/brain/stream-shared.d.ts +3 -1
  18. package/dist/brain/stream-shared.js +16 -4
  19. package/dist/core/a2a.d.ts +3 -1
  20. package/dist/core/a2a.js +1 -1
  21. package/dist/core/ask-origin.d.ts +379 -154
  22. package/dist/core/ask-origin.js +224 -45
  23. package/dist/core/ask-question.js +2 -1
  24. package/dist/core/ask-unresolvable-notice.d.ts +5 -2
  25. package/dist/core/ask-unresolvable-notice.js +4 -3
  26. package/dist/core/auto-mode-arming.d.ts +17 -4
  27. package/dist/core/auto-mode-arming.js +31 -6
  28. package/dist/core/auto-mode-defaults.d.ts +16 -7
  29. package/dist/core/auto-mode-defaults.js +2 -1
  30. package/dist/core/auto-mode-directive.d.ts +18 -30
  31. package/dist/core/auto-mode-directive.js +9 -18
  32. package/dist/core/auto-mode-prompt.d.ts +62 -1
  33. package/dist/core/auto-mode-prompt.js +42 -4
  34. package/dist/core/auto-mode-rebuild.d.ts +2 -1
  35. package/dist/core/auto-mode-rebuild.js +1 -0
  36. package/dist/core/auto-mode.d.ts +32 -3
  37. package/dist/core/auto-mode.js +80 -41
  38. package/dist/core/checkpoint-store.d.ts +54 -35
  39. package/dist/core/checkpoint-store.js +58 -3
  40. package/dist/core/child-clamp-seats.js +1 -0
  41. package/dist/core/classifier-unavailable-arm.d.ts +57 -0
  42. package/dist/core/classifier-unavailable-arm.js +17 -0
  43. package/dist/core/effective-path-target.d.ts +12 -0
  44. package/dist/core/effective-path-target.js +18 -7
  45. package/dist/core/engine-notice.d.ts +53 -2
  46. package/dist/core/fs-write-gate-policy.d.ts +5 -1
  47. package/dist/core/fs-write-gate-policy.js +4 -1
  48. package/dist/core/gate-fold.js +19 -3
  49. package/dist/core/gate-lanes.js +116 -50
  50. package/dist/core/gate-outcome.d.ts +40 -7
  51. package/dist/core/gate-outcome.js +26 -4
  52. package/dist/core/governance-codes.d.ts +18 -2
  53. package/dist/core/governance-codes.js +23 -1
  54. package/dist/core/hooks.d.ts +53 -29
  55. package/dist/core/hooks.js +1 -3
  56. package/dist/core/mcp.js +1 -1
  57. package/dist/core/message-utils.d.ts +2 -1
  58. package/dist/core/message-utils.js +2 -1
  59. package/dist/core/mode-policy.d.ts +185 -0
  60. package/dist/core/mode-policy.js +184 -0
  61. package/dist/core/oracle-isolation.d.ts +3 -3
  62. package/dist/core/permission-rule-model.d.ts +20 -3
  63. package/dist/core/permission-rule-model.js +40 -3
  64. package/dist/core/permission-rule-provider.d.ts +22 -11
  65. package/dist/core/permission-rule-provider.js +17 -7
  66. package/dist/core/permission-rules.d.ts +23 -1
  67. package/dist/core/permission-rules.js +56 -9
  68. package/dist/core/persisted-rule-arms.d.ts +14 -10
  69. package/dist/core/persisted-rule-arms.js +13 -6
  70. package/dist/core/present-plan-tool.d.ts +1 -1
  71. package/dist/core/present-plan-tool.js +3 -3
  72. package/dist/core/read-only-shell.d.ts +19 -19
  73. package/dist/core/read-only-shell.js +38 -12
  74. package/dist/core/retired-keys.d.ts +9 -3
  75. package/dist/core/retired-keys.js +5 -1
  76. package/dist/core/runner/active-skill-scope.js +5 -4
  77. package/dist/core/runner/assemble-result.js +2 -2
  78. package/dist/core/runner/classifier-ladder.d.ts +43 -1
  79. package/dist/core/runner/classifier-ladder.js +29 -0
  80. package/dist/core/runner/contracts.d.ts +62 -38
  81. package/dist/core/runner/denial-limit-arms.d.ts +35 -7
  82. package/dist/core/runner/denial-limit-arms.js +15 -9
  83. package/dist/core/runner/env-capability-census.js +1 -1
  84. package/dist/core/runner/file-history-request.d.ts +26 -0
  85. package/dist/core/runner/file-history-request.js +90 -0
  86. package/dist/core/runner/gate-exit.d.ts +30 -4
  87. package/dist/core/runner/gate-exit.js +28 -7
  88. package/dist/core/runner/permission-rule-lanes.d.ts +11 -6
  89. package/dist/core/runner/permission-rule-lanes.js +55 -48
  90. package/dist/core/runner/persisted-path-rows.d.ts +64 -0
  91. package/dist/core/runner/persisted-path-rows.js +89 -0
  92. package/dist/core/runner/prepare-artifact.d.ts +5 -1
  93. package/dist/core/runner/prepare-artifact.js +9 -3
  94. package/dist/core/runner/prepare-ask-lane.d.ts +6 -4
  95. package/dist/core/runner/prepare-ask-lane.js +3 -3
  96. package/dist/core/runner/prepare-caps-and-workflow.d.ts +39 -13
  97. package/dist/core/runner/prepare-caps-and-workflow.js +58 -29
  98. package/dist/core/runner/prepare-file-history.d.ts +9 -3
  99. package/dist/core/runner/prepare-file-history.js +4 -90
  100. package/dist/core/runner/prepare-gate-stations.d.ts +37 -9
  101. package/dist/core/runner/prepare-gate-stations.js +46 -29
  102. package/dist/core/runner/prepare-hands-readface.d.ts +40 -17
  103. package/dist/core/runner/prepare-hands-readface.js +64 -53
  104. package/dist/core/runner/prepare-inherited-gate.d.ts +30 -23
  105. package/dist/core/runner/prepare-inherited-gate.js +45 -25
  106. package/dist/core/runner/prepare-park-ask.d.ts +6 -4
  107. package/dist/core/runner/prepare-park-ask.js +7 -5
  108. package/dist/core/runner/prepare-policy-chain.d.ts +25 -4
  109. package/dist/core/runner/prepare-policy-chain.js +203 -180
  110. package/dist/core/runner/prepare-protocol-tools.d.ts +28 -0
  111. package/dist/core/runner/prepare-protocol-tools.js +13 -3
  112. package/dist/core/runner/prepare-run-refs.d.ts +6 -6
  113. package/dist/core/runner/prepare-run-refs.js +9 -4
  114. package/dist/core/runner/prepare-safety-scan.d.ts +5 -0
  115. package/dist/core/runner/prepare-safety-scan.js +19 -3
  116. package/dist/core/runner/prepare-suspend-saga.d.ts +5 -5
  117. package/dist/core/runner/prepare-suspend-saga.js +6 -6
  118. package/dist/core/runner/prepare-task.js +56 -24
  119. package/dist/core/runner/prepare-wiring-manifest.d.ts +10 -6
  120. package/dist/core/runner/prepare-wiring-manifest.js +5 -3
  121. package/dist/core/runner/read-root-grant.d.ts +9 -0
  122. package/dist/core/runner/read-root-grant.js +12 -0
  123. package/dist/core/runner/retired-runner-deps.js +1 -0
  124. package/dist/core/runner/run-brain-sinks.js +3 -1
  125. package/dist/core/runner/run-identity-wiring.js +1 -1
  126. package/dist/core/runner/run-leg.js +29 -18
  127. package/dist/core/runner/run-notification-lane.d.ts +3 -0
  128. package/dist/core/runner/run-notification-lane.js +3 -1
  129. package/dist/core/runner/run-telemetry-and-budget-seats.d.ts +2 -2
  130. package/dist/core/runner/run-telemetry-and-budget-seats.js +1 -1
  131. package/dist/core/runner/run-turn-boundary.js +1 -1
  132. package/dist/core/runner/runtask.d.ts +1 -0
  133. package/dist/core/runner/runtask.js +8 -11
  134. package/dist/core/runner/session-mode-seats.d.ts +48 -0
  135. package/dist/core/runner/session-mode-seats.js +73 -0
  136. package/dist/core/runner/session-rule-policy.js +3 -2
  137. package/dist/core/runner/stream-mode-verb.d.ts +27 -0
  138. package/dist/core/runner/stream-mode-verb.js +19 -0
  139. package/dist/core/runner/turn-attachments.d.ts +3 -3
  140. package/dist/core/runner/turn-attachments.js +1 -1
  141. package/dist/core/runner/write-protection-station.d.ts +7 -1
  142. package/dist/core/runner/write-protection-station.js +6 -3
  143. package/dist/core/runner-deps.d.ts +31 -34
  144. package/dist/core/runtime-caps.d.ts +12 -3
  145. package/dist/core/safety-axis-vocab.d.ts +2 -2
  146. package/dist/core/safety-axis-vocab.js +1 -1
  147. package/dist/core/secret-env.d.ts +30 -58
  148. package/dist/core/secret-env.js +149 -586
  149. package/dist/core/sensitive-path-policy.d.ts +4 -2
  150. package/dist/core/sensitive-path-policy.js +41 -31
  151. package/dist/core/store-contracts/checkpoint-store-contract.js +2 -1
  152. package/dist/core/task-event.d.ts +1 -1
  153. package/dist/core/task-result.d.ts +1 -1
  154. package/dist/core/task-spec.d.ts +41 -89
  155. package/dist/core/task-stream.d.ts +16 -0
  156. package/dist/core/terminal-cause.js +1 -0
  157. package/dist/core/tighten-task-spec.d.ts +2 -2
  158. package/dist/core/tighten-task-spec.js +12 -14
  159. package/dist/core/tool-catalog-entries.js +4 -3
  160. package/dist/core/tool-policy.d.ts +84 -30
  161. package/dist/core/tool-policy.js +76 -16
  162. package/dist/core/tool-registry.d.ts +38 -0
  163. package/dist/core/tool-registry.js +25 -1
  164. package/dist/core/tool-roster.d.ts +17 -2
  165. package/dist/core/tool-roster.js +11 -1
  166. package/dist/core/tool-spec.d.ts +8 -9
  167. package/dist/core/trace.d.ts +18 -6
  168. package/dist/core/types.d.ts +2 -1
  169. package/dist/core/wiring-manifest.d.ts +31 -5
  170. package/dist/core/wiring-manifest.js +28 -1
  171. package/dist/core/write-protect.d.ts +11 -1
  172. package/dist/core/write-protect.js +26 -15
  173. package/dist/engine/execution-env/node-execution-env.d.ts +6 -1
  174. package/dist/engine/execution-env/node-execution-env.js +16 -3
  175. package/dist/engine/harness/agent-harness.js +2 -1
  176. package/dist/engine/harness/types.d.ts +6 -7
  177. package/dist/engine/llm/types.d.ts +2 -4
  178. package/dist/engine/loop/types.d.ts +7 -0
  179. package/dist/engine/lsp/node-lsp-manager.js +1 -1
  180. package/dist/index.d.ts +18 -8
  181. package/dist/index.js +15 -6
  182. package/dist/orchestration/workflow-governance.js +1 -1
  183. package/dist/orchestration/workflow-primitives.d.ts +1 -1
  184. package/dist/orchestration/workflow-size-guideline.js +2 -2
  185. package/dist/stores/file/index.d.ts +5 -3
  186. package/dist/stores/file/session-store.d.ts +8 -2
  187. package/dist/stores/file/session-store.js +5 -5
  188. package/dist/tools/artifact/artifact-tool.d.ts +17 -0
  189. package/dist/tools/artifact/artifact-tool.js +16 -1
  190. package/dist/tools/fs/bash-readonly-classifier.d.ts +28 -7
  191. package/dist/tools/fs/bash-readonly-classifier.js +88 -0
  192. package/dist/tools/fs/containment-face.d.ts +9 -3
  193. package/dist/tools/fs/containment-face.js +2 -0
  194. package/dist/tools/fs/file-read-check.d.ts +50 -0
  195. package/dist/tools/fs/file-read-check.js +79 -0
  196. package/dist/tools/fs/fs-bash.d.ts +3 -3
  197. package/dist/tools/fs/fs-read.d.ts +1 -0
  198. package/dist/tools/fs/fs-search-tools.d.ts +2 -2
  199. package/dist/tools/fs/fs-search-tools.js +4 -4
  200. package/dist/tools/fs/fs-shared.js +20 -6
  201. package/dist/tools/fs/fs-write.d.ts +4 -3
  202. package/dist/tools/fs/fs-write.js +9 -9
  203. package/dist/tools/fs/index.d.ts +39 -3
  204. package/dist/tools/fs/index.js +38 -15
  205. package/dist/tools/fs/read-deny-home.d.ts +93 -0
  206. package/dist/tools/fs/read-deny-home.js +225 -0
  207. package/dist/tools/fs/read-deny.d.ts +176 -34
  208. package/dist/tools/fs/read-deny.js +268 -61
  209. package/dist/tools/fs/safety.d.ts +6 -1
  210. package/dist/tools/fs/safety.js +18 -5
  211. package/dist/tools/fs/search.d.ts +3 -0
  212. package/dist/tools/fs/search.js +47 -9
  213. package/dist/tools/fs/shell-read-check.d.ts +52 -13
  214. package/dist/tools/fs/shell-read-check.js +199 -20
  215. package/dist/tools/fs/shell-read-establish.d.ts +7 -3
  216. package/dist/tools/fs/shell-read-establish.js +134 -21
  217. package/dist/tools/fs/shell-read-identity.d.ts +7 -0
  218. package/dist/tools/fs/shell-read-identity.js +21 -0
  219. package/dist/tools/fs/shell-read-judge.d.ts +92 -32
  220. package/dist/tools/fs/shell-read-judge.js +43 -18
  221. package/dist/tools/fs/shell-read-plan.d.ts +4 -0
  222. package/dist/tools/fs/shell-read-plan.js +26 -4
  223. package/dist/tools/fs/shell-read-write-targets.d.ts +73 -0
  224. package/dist/tools/fs/shell-read-write-targets.js +173 -0
  225. package/package.json +1 -1
  226. package/test/export-surface.snapshot.json +117 -11
  227. package/wire-changes/core@7.34.0.json +2621 -0
  228. package/wire-changes/core@7.35.0.json +584 -0
@@ -0,0 +1,584 @@
1
+ {
2
+ "repo": "core",
3
+ "version": "7.35.0",
4
+ "from": "077c3b0af94b5fd58e64104974cae266ec4d5782",
5
+ "to": "v7.35.0",
6
+ "added": [
7
+ {
8
+ "name": "PROVIDER_ECHO_SHAPE",
9
+ "kind": "variable",
10
+ "tier": "advanced",
11
+ "at": [
12
+ "src/brain/errors.ts:118",
13
+ "src/index.ts:250"
14
+ ],
15
+ "criteriaCovered": false,
16
+ "breaking": false
17
+ },
18
+ {
19
+ "name": "TOOL_DECLARATION_CODES",
20
+ "kind": "variable",
21
+ "tier": "advanced",
22
+ "at": [
23
+ "src/core/governance-codes.ts:244",
24
+ "src/index.ts:440"
25
+ ],
26
+ "criteriaCovered": false,
27
+ "breaking": false
28
+ },
29
+ {
30
+ "name": "ToolDeclarationCode",
31
+ "kind": "type",
32
+ "tier": "advanced",
33
+ "at": [
34
+ "src/core/governance-codes.ts:257",
35
+ "src/index.ts:440"
36
+ ],
37
+ "criteriaCovered": false,
38
+ "breaking": false
39
+ },
40
+ {
41
+ "name": "isProviderEchoShape",
42
+ "kind": "function",
43
+ "tier": "advanced",
44
+ "at": [
45
+ "src/brain/errors.ts:121",
46
+ "src/index.ts:250"
47
+ ],
48
+ "criteriaCovered": false,
49
+ "breaking": false
50
+ },
51
+ {
52
+ "name": "rosterToolName",
53
+ "kind": "function",
54
+ "tier": "advanced",
55
+ "at": [
56
+ "src/core/tool-roster.ts:191",
57
+ "src/index.ts:1080"
58
+ ],
59
+ "criteriaCovered": false,
60
+ "breaking": false
61
+ },
62
+ {
63
+ "name": "ruleNamesOf",
64
+ "kind": "function",
65
+ "tier": "advanced",
66
+ "at": [
67
+ "src/core/tool-registry.ts:111",
68
+ "src/core/tool-roster.ts:202",
69
+ "src/index.ts:1081"
70
+ ],
71
+ "criteriaCovered": false,
72
+ "breaking": false
73
+ },
74
+ {
75
+ "name": "wrapToolPolicy",
76
+ "kind": "function",
77
+ "tier": "advanced",
78
+ "at": [
79
+ "src/core/tool-policy.ts:750",
80
+ "src/index.ts:1393"
81
+ ],
82
+ "criteriaCovered": false,
83
+ "breaking": false
84
+ }
85
+ ],
86
+ "removed": [],
87
+ "changed": [],
88
+ "narrowed": [
89
+ {
90
+ "id": "F3",
91
+ "source": "behaviorFlips.summary",
92
+ "text": "narrowing: every non-exempt variable's value is read, and a credential-carrying value withholds the variable"
93
+ },
94
+ {
95
+ "id": "F5",
96
+ "source": "behaviorFlips.summary",
97
+ "text": "narrowing: every `OTEL_*` variable is withheld by prefix"
98
+ }
99
+ ],
100
+ "closedSetMembers": [
101
+ {
102
+ "set": "ExactEnvNameVerdict",
103
+ "at": [
104
+ "src/core/secret-env.ts:864"
105
+ ],
106
+ "newSet": false,
107
+ "added": [],
108
+ "removed": [
109
+ "credential",
110
+ "exempt",
111
+ "unknown"
112
+ ],
113
+ "persistedBy": "none",
114
+ "breaking": true,
115
+ "criteriaCovered": false
116
+ },
117
+ {
118
+ "set": "SecretEnvFindingKind",
119
+ "at": [
120
+ "src/core/secret-env.ts:207"
121
+ ],
122
+ "newSet": false,
123
+ "added": [
124
+ "name-rule",
125
+ "prefix-rule",
126
+ "value-rule"
127
+ ],
128
+ "removed": [
129
+ "family-rule",
130
+ "suffix-rule"
131
+ ],
132
+ "persistedBy": "none",
133
+ "breaking": true,
134
+ "criteriaCovered": false
135
+ },
136
+ {
137
+ "set": "TOOL_DECLARATION_CODES",
138
+ "at": [
139
+ "src/core/governance-codes.ts:244"
140
+ ],
141
+ "newSet": true,
142
+ "added": [
143
+ "config.egress_requires_write_effect",
144
+ "config.reserved_tool_name",
145
+ "config.tool_contract_too_long",
146
+ "config.tool_face_invalid",
147
+ "config.tool_mount_denied",
148
+ "config.tool_name_invalid",
149
+ "config.tool_name_too_long",
150
+ "config.tool_roster_bound",
151
+ "config.tool_schema_bound"
152
+ ],
153
+ "removed": [],
154
+ "breaking": false,
155
+ "criteriaCovered": false
156
+ },
157
+ {
158
+ "set": "ToolDeclarationCode",
159
+ "at": [
160
+ "src/core/governance-codes.ts:257",
161
+ "src/index.ts:440"
162
+ ],
163
+ "newSet": true,
164
+ "added": [
165
+ "config.egress_requires_write_effect",
166
+ "config.reserved_tool_name",
167
+ "config.tool_contract_too_long",
168
+ "config.tool_face_invalid",
169
+ "config.tool_mount_denied",
170
+ "config.tool_name_invalid",
171
+ "config.tool_name_too_long",
172
+ "config.tool_roster_bound",
173
+ "config.tool_schema_bound"
174
+ ],
175
+ "removed": [],
176
+ "breaking": false,
177
+ "criteriaCovered": false
178
+ }
179
+ ],
180
+ "closedSetsUnreadable": [],
181
+ "typeKeys": [
182
+ {
183
+ "type": "ModeArbitrationRow",
184
+ "at": [
185
+ "src/core/ask-origin.ts:599"
186
+ ],
187
+ "added": [
188
+ "hookAskFloor"
189
+ ],
190
+ "addedDetail": [
191
+ {
192
+ "key": "hookAskFloor",
193
+ "optional": false
194
+ }
195
+ ],
196
+ "addedRequired": [
197
+ "hookAskFloor"
198
+ ],
199
+ "removed": [],
200
+ "breaking": true,
201
+ "criteriaCovered": true
202
+ },
203
+ {
204
+ "type": "PendingAction",
205
+ "at": [
206
+ "src/core/checkpoint-store.ts:961"
207
+ ],
208
+ "added": [
209
+ "tool_approval.names"
210
+ ],
211
+ "addedDetail": [
212
+ {
213
+ "key": "tool_approval.names",
214
+ "optional": true
215
+ }
216
+ ],
217
+ "addedRequired": [],
218
+ "removed": [],
219
+ "breaking": false,
220
+ "criteriaCovered": false
221
+ },
222
+ {
223
+ "type": "Prepared",
224
+ "at": [
225
+ "src/core/runner/contracts.ts:244"
226
+ ],
227
+ "via": "Runner.SuspendReap.env",
228
+ "added": [
229
+ "endModeCeiling"
230
+ ],
231
+ "addedDetail": [
232
+ {
233
+ "key": "endModeCeiling",
234
+ "optional": false
235
+ }
236
+ ],
237
+ "addedRequired": [
238
+ "endModeCeiling"
239
+ ],
240
+ "removed": [],
241
+ "breaking": true,
242
+ "criteriaCovered": false
243
+ },
244
+ {
245
+ "type": "RunInternals",
246
+ "at": [
247
+ "src/core/runner/contracts.ts:1406"
248
+ ],
249
+ "added": [
250
+ "sessionModeSeats"
251
+ ],
252
+ "addedDetail": [
253
+ {
254
+ "key": "sessionModeSeats",
255
+ "optional": true
256
+ }
257
+ ],
258
+ "addedRequired": [],
259
+ "removed": [],
260
+ "breaking": false,
261
+ "criteriaCovered": false
262
+ },
263
+ {
264
+ "type": "ToolCallFace",
265
+ "at": [
266
+ "src/core/tool-policy.ts:25"
267
+ ],
268
+ "added": [
269
+ "names"
270
+ ],
271
+ "addedDetail": [
272
+ {
273
+ "key": "names",
274
+ "optional": true
275
+ }
276
+ ],
277
+ "addedRequired": [],
278
+ "removed": [],
279
+ "breaking": false,
280
+ "criteriaCovered": true
281
+ },
282
+ {
283
+ "type": "ToolPolicy",
284
+ "at": [
285
+ "src/core/tool-policy.ts:688"
286
+ ],
287
+ "added": [
288
+ "nameSets"
289
+ ],
290
+ "addedDetail": [
291
+ {
292
+ "key": "nameSets",
293
+ "optional": true
294
+ }
295
+ ],
296
+ "addedRequired": [],
297
+ "removed": [],
298
+ "breaking": false,
299
+ "criteriaCovered": true
300
+ },
301
+ {
302
+ "type": "TraceEvent",
303
+ "at": [
304
+ "src/core/trace.ts:60"
305
+ ],
306
+ "added": [
307
+ "brain.echo_dropped.field",
308
+ "brain.echo_dropped.kind",
309
+ "brain.echo_dropped.taskId",
310
+ "brain.echo_dropped.ts",
311
+ "brain.echo_dropped.version"
312
+ ],
313
+ "addedDetail": [
314
+ {
315
+ "key": "brain.echo_dropped.field",
316
+ "optional": false
317
+ },
318
+ {
319
+ "key": "brain.echo_dropped.kind",
320
+ "optional": false
321
+ },
322
+ {
323
+ "key": "brain.echo_dropped.taskId",
324
+ "optional": false
325
+ },
326
+ {
327
+ "key": "brain.echo_dropped.ts",
328
+ "optional": false
329
+ },
330
+ {
331
+ "key": "brain.echo_dropped.version",
332
+ "optional": false
333
+ }
334
+ ],
335
+ "addedRequired": [],
336
+ "removed": [],
337
+ "breaking": false,
338
+ "criteriaCovered": false
339
+ }
340
+ ],
341
+ "typeKeysUnreadableArms": [],
342
+ "typeKeysFlattenedCount": 219,
343
+ "declarationMoves": [],
344
+ "mintMoves": [
345
+ {
346
+ "code": "config.tool_name_too_long",
347
+ "from": [
348
+ "src/core/runner/prepare-protocol-tools.ts",
349
+ "src/core/tool-roster.ts"
350
+ ],
351
+ "to": [
352
+ "src/core/runner/prepare-protocol-tools.ts"
353
+ ]
354
+ }
355
+ ],
356
+ "criteriaObserves": [
357
+ {
358
+ "kind": "engineNoticeCode",
359
+ "name": "config.permission_mode_unavailable",
360
+ "assertions": [
361
+ "G11.b"
362
+ ]
363
+ },
364
+ {
365
+ "kind": "engineNoticeCode",
366
+ "name": "config.secret_env_scrubbed",
367
+ "assertions": [
368
+ "G4.a"
369
+ ]
370
+ },
371
+ {
372
+ "kind": "taskEventField",
373
+ "name": "tool_end.gate",
374
+ "assertions": [
375
+ "G7.e",
376
+ "G7.f",
377
+ "G7.i",
378
+ "G8.b",
379
+ "G9.a"
380
+ ]
381
+ },
382
+ {
383
+ "kind": "taskEventField",
384
+ "name": "turn_end.responseModel",
385
+ "assertions": [
386
+ "G14.a"
387
+ ]
388
+ },
389
+ {
390
+ "kind": "typeMember",
391
+ "name": "AskRequest.toolName",
392
+ "assertions": [
393
+ "G7.b",
394
+ "G12.a"
395
+ ]
396
+ },
397
+ {
398
+ "kind": "typeMember",
399
+ "name": "FileStorageCorruptReadInfo.sessionId",
400
+ "assertions": [
401
+ "G15.a"
402
+ ]
403
+ },
404
+ {
405
+ "kind": "typeMember",
406
+ "name": "ModeArbitrationRow.hookAskFloor",
407
+ "assertions": [
408
+ "G9.a",
409
+ "G9.b"
410
+ ]
411
+ },
412
+ {
413
+ "kind": "typeMember",
414
+ "name": "OracleGateSpec.inheritEnv",
415
+ "assertions": [
416
+ "G3.a",
417
+ "G5.a",
418
+ "G16.a"
419
+ ]
420
+ },
421
+ {
422
+ "kind": "typeMember",
423
+ "name": "SecretEnvFinding.confidence",
424
+ "assertions": [
425
+ "G1.a",
426
+ "G1.d"
427
+ ]
428
+ },
429
+ {
430
+ "kind": "typeMember",
431
+ "name": "SecretEnvFinding.key",
432
+ "assertions": [
433
+ "G3.b",
434
+ "G6.a"
435
+ ]
436
+ },
437
+ {
438
+ "kind": "typeMember",
439
+ "name": "SecretEnvFinding.kind",
440
+ "assertions": [
441
+ "G1.a",
442
+ "G1.b",
443
+ "G1.c",
444
+ "G1.d",
445
+ "G2.a",
446
+ "G2.b",
447
+ "G2.c",
448
+ "G6.a"
449
+ ]
450
+ },
451
+ {
452
+ "kind": "typeMember",
453
+ "name": "TaskResult.apiFailure",
454
+ "assertions": [
455
+ "G14.a",
456
+ "G14.b"
457
+ ]
458
+ },
459
+ {
460
+ "kind": "typeMember",
461
+ "name": "TaskResult.responseModel",
462
+ "assertions": [
463
+ "G14.a",
464
+ "G14.b"
465
+ ]
466
+ },
467
+ {
468
+ "kind": "typeMember",
469
+ "name": "TaskResult.terminal",
470
+ "assertions": [
471
+ "G7.g"
472
+ ]
473
+ },
474
+ {
475
+ "kind": "typeMember",
476
+ "name": "TaskResult.terminal.code",
477
+ "assertions": [
478
+ "G10.a",
479
+ "G13.a",
480
+ "G13.b"
481
+ ]
482
+ },
483
+ {
484
+ "kind": "typeMember",
485
+ "name": "TaskSpec.backgroundScope",
486
+ "assertions": [
487
+ "G11.a"
488
+ ]
489
+ },
490
+ {
491
+ "kind": "typeMember",
492
+ "name": "TaskSpec.permissionMode",
493
+ "assertions": [
494
+ "G11.a"
495
+ ]
496
+ },
497
+ {
498
+ "kind": "typeMember",
499
+ "name": "ToolCallFace.names",
500
+ "assertions": [
501
+ "G7.a",
502
+ "G7.c",
503
+ "G7.d",
504
+ "G7.e",
505
+ "G7.f",
506
+ "G7.g",
507
+ "G7.h",
508
+ "G7.i"
509
+ ]
510
+ },
511
+ {
512
+ "kind": "typeMember",
513
+ "name": "ToolCallRequest.toolName",
514
+ "assertions": [
515
+ "G7.a",
516
+ "G7.b"
517
+ ]
518
+ },
519
+ {
520
+ "kind": "typeMember",
521
+ "name": "ToolPolicy.nameSets",
522
+ "assertions": [
523
+ "G8.c"
524
+ ]
525
+ },
526
+ {
527
+ "kind": "typeMember",
528
+ "name": "ToolPolicy.pathDenyRules",
529
+ "assertions": [
530
+ "G8.a",
531
+ "G8.c"
532
+ ]
533
+ },
534
+ {
535
+ "kind": "typeMember",
536
+ "name": "ToolPolicy.projection",
537
+ "assertions": [
538
+ "G8.a"
539
+ ]
540
+ },
541
+ {
542
+ "kind": "typeMember",
543
+ "name": "ToolPolicy.writeTargetGuard",
544
+ "assertions": [
545
+ "G8.a"
546
+ ]
547
+ }
548
+ ],
549
+ "consumersHint": {
550
+ "cli": [
551
+ "PendingAction",
552
+ "Prepared",
553
+ "RunInternals",
554
+ "SecretEnvFindingKind",
555
+ "ToolPolicy",
556
+ "TraceEvent",
557
+ "ruleNamesOf"
558
+ ],
559
+ "server": [
560
+ "PROVIDER_ECHO_SHAPE",
561
+ "PendingAction",
562
+ "Prepared",
563
+ "RunInternals",
564
+ "SecretEnvFindingKind",
565
+ "ToolPolicy",
566
+ "TraceEvent",
567
+ "isProviderEchoShape"
568
+ ],
569
+ "sdk": [
570
+ "PendingAction",
571
+ "ToolPolicy",
572
+ "TraceEvent"
573
+ ],
574
+ "note": "scanned cli@6b6025f7 server@25d6b7a6 sdk@e8f6f0d — 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: 1 name(s) matched ONLY in bookkeeping files and were set aside (ToolCallFace)"
575
+ },
576
+ "breakingCount": 4,
577
+ "breakingItems": [
578
+ "closed set lost members: ExactEnvNameVerdict -credential,exempt,unknown",
579
+ "closed set lost members: SecretEnvFindingKind -family-rule,suffix-rule",
580
+ "type gained required keys: ModeArbitrationRow +hookAskFloor",
581
+ "type gained required keys: Prepared +endModeCeiling"
582
+ ],
583
+ "toResolvedAt": "51449eb96681f4c7416454d10d1a0ef443163116"
584
+ }