@sema-agent/core 7.38.3 → 7.39.1

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 (96) hide show
  1. package/CHANGELOG.md +191 -6
  2. package/dist/core/ask-origin.d.ts +16 -7
  3. package/dist/core/ask-origin.js +4 -2
  4. package/dist/core/auto-mode-directive.d.ts +114 -19
  5. package/dist/core/auto-mode-directive.js +67 -19
  6. package/dist/core/checkpoint-store.d.ts +72 -41
  7. package/dist/core/checkpoint-store.js +28 -48
  8. package/dist/core/classifier-unavailable-arm.js +2 -2
  9. package/dist/core/decision-receipt.d.ts +2 -0
  10. package/dist/core/decision-receipt.js +1 -1
  11. package/dist/core/engine-notice.d.ts +41 -17
  12. package/dist/core/engine-notice.js +26 -14
  13. package/dist/core/gate-outcome.d.ts +80 -42
  14. package/dist/core/gate-outcome.js +21 -6
  15. package/dist/core/governance-codes.d.ts +1 -3
  16. package/dist/core/governance-codes.js +0 -3
  17. package/dist/core/hooks.d.ts +1 -1
  18. package/dist/core/hooks.js +2 -2
  19. package/dist/core/human-input-projection.d.ts +12 -0
  20. package/dist/core/human-input-projection.js +12 -0
  21. package/dist/core/memory-engine/engine.js +11 -11
  22. package/dist/core/memory-engine/layout.d.ts +21 -2
  23. package/dist/core/memory-engine/layout.js +17 -5
  24. package/dist/core/mode-policy.d.ts +26 -0
  25. package/dist/core/mode-policy.js +37 -1
  26. package/dist/core/output-style.d.ts +21 -0
  27. package/dist/core/output-style.js +29 -0
  28. package/dist/core/real-approval.d.ts +25 -0
  29. package/dist/core/real-approval.js +27 -0
  30. package/dist/core/reminder-disclosure.d.ts +2 -2
  31. package/dist/core/reminder-mint.d.ts +6 -9
  32. package/dist/core/reminder-mint.js +3 -14
  33. package/dist/core/retired-keys.d.ts +2 -1
  34. package/dist/core/retired-keys.js +3 -1
  35. package/dist/core/runner/assemble-result.d.ts +2 -0
  36. package/dist/core/runner/assemble-result.js +1 -1
  37. package/dist/core/runner/compaction-restate.d.ts +45 -4
  38. package/dist/core/runner/compaction-restate.js +89 -11
  39. package/dist/core/runner/contracts.d.ts +6 -6
  40. package/dist/core/runner/denial-limit-arms.js +4 -4
  41. package/dist/core/runner/inherited-ask-grants.d.ts +4 -2
  42. package/dist/core/runner/inherited-ask-grants.js +0 -3
  43. package/dist/core/runner/permission-rule-lanes.d.ts +18 -0
  44. package/dist/core/runner/permission-rule-lanes.js +35 -25
  45. package/dist/core/runner/prepare-context-lane.d.ts +1 -0
  46. package/dist/core/runner/prepare-context-lane.js +6 -0
  47. package/dist/core/runner/prepare-inherited-gate.js +2 -9
  48. package/dist/core/runner/prepare-task.js +10 -24
  49. package/dist/core/runner/prepare-wiring-manifest.js +2 -2
  50. package/dist/core/runner/prompt-block.d.ts +9 -0
  51. package/dist/core/runner/prompt-block.js +8 -0
  52. package/dist/core/runner/resume-admission.js +4 -1
  53. package/dist/core/runner/resume-apply.js +28 -18
  54. package/dist/core/runner/resume-policy-outcome.js +10 -4
  55. package/dist/core/runner/run-attachment-seats.js +1 -1
  56. package/dist/core/runner/run-identity-wiring.js +9 -2
  57. package/dist/core/runner/run-leg.js +42 -31
  58. package/dist/core/runner/run-settle-and-teardown.js +4 -3
  59. package/dist/core/runner/run-turn-boundary.js +4 -3
  60. package/dist/core/runner/runtask.d.ts +4 -2
  61. package/dist/core/runner/steer-admission.d.ts +9 -0
  62. package/dist/core/runner/steer-admission.js +8 -0
  63. package/dist/core/runner/stream-steer-verb.js +16 -11
  64. package/dist/core/runner/synthetic-tools.d.ts +4 -0
  65. package/dist/core/runner/tool-turn-repair-seat.js +1 -1
  66. package/dist/core/runner/turn-attachments.d.ts +16 -22
  67. package/dist/core/runner/turn-attachments.js +3 -20
  68. package/dist/core/runner-deps.d.ts +1 -1
  69. package/dist/core/store-contracts/checkpoint-store-contract.d.ts +8 -0
  70. package/dist/core/store-contracts/checkpoint-store-contract.js +23 -0
  71. package/dist/core/task-event.d.ts +7 -2
  72. package/dist/core/task-spec.d.ts +29 -7
  73. package/dist/core/terminal-cause.d.ts +44 -3
  74. package/dist/core/terminal-cause.js +5 -0
  75. package/dist/core/tool-policy.d.ts +55 -29
  76. package/dist/core/tool-policy.js +42 -31
  77. package/dist/core/types.d.ts +1 -1
  78. package/dist/core/types.js +1 -1
  79. package/dist/core/wiring-manifest.d.ts +17 -3
  80. package/dist/core/wiring-manifest.js +8 -3
  81. package/dist/engine/harness/agent-harness.d.ts +10 -0
  82. package/dist/engine/harness/agent-harness.js +12 -1
  83. package/dist/engine/llm/tool-turns.d.ts +15 -2
  84. package/dist/engine/llm/tool-turns.js +2 -2
  85. package/dist/index.d.ts +4 -3
  86. package/dist/index.js +4 -3
  87. package/dist/prompt-assembly/event-registry.js +2 -1
  88. package/dist/tools/fs/index.d.ts +2 -1
  89. package/dist/tools/fs/read-deny-home.d.ts +3 -2
  90. package/dist/tools/fs/read-deny-home.js +6 -4
  91. package/dist/tools/fs/shell-read-check.d.ts +10 -3
  92. package/dist/tools/fs/shell-read-check.js +2 -2
  93. package/package.json +1 -1
  94. package/test/export-surface.snapshot.json +21 -1
  95. package/wire-changes/core@7.39.0.json +999 -0
  96. package/wire-changes/core@7.39.1.json +74 -0
@@ -0,0 +1,999 @@
1
+ {
2
+ "repo": "core",
3
+ "version": "7.39.0",
4
+ "from": "15e648df80bf6608cba34a9cd30db2fd8d12f27c",
5
+ "to": "3331eac4d74548b93be523aca78e4c4ffb73389f",
6
+ "added": [
7
+ {
8
+ "name": "OUTPUT_STYLE_NAME_MAX",
9
+ "kind": "variable",
10
+ "tier": "advanced",
11
+ "at": [
12
+ "src/core/output-style.ts:20",
13
+ "src/index.ts:2587"
14
+ ],
15
+ "criteriaCovered": false,
16
+ "breaking": false
17
+ },
18
+ {
19
+ "name": "PROMPT_BLOCK_CAUSES",
20
+ "kind": "variable",
21
+ "tier": "advanced",
22
+ "at": [
23
+ "src/core/terminal-cause.ts:166",
24
+ "src/index.ts:365"
25
+ ],
26
+ "criteriaCovered": false,
27
+ "breaking": false
28
+ },
29
+ {
30
+ "name": "PromptBlockCause",
31
+ "kind": "type",
32
+ "tier": "advanced",
33
+ "at": [
34
+ "src/core/terminal-cause.ts:167",
35
+ "src/index.ts:365"
36
+ ],
37
+ "criteriaCovered": false,
38
+ "breaking": false
39
+ },
40
+ {
41
+ "name": "SETTLEMENT_PARTIES",
42
+ "kind": "variable",
43
+ "tier": "advanced",
44
+ "at": [
45
+ "src/core/gate-outcome.ts:115",
46
+ "src/index.ts:1470"
47
+ ],
48
+ "criteriaCovered": false,
49
+ "breaking": false
50
+ },
51
+ {
52
+ "name": "SettlementParty",
53
+ "kind": "type",
54
+ "tier": "advanced",
55
+ "at": [
56
+ "src/core/gate-outcome.ts:116",
57
+ "src/index.ts:1470"
58
+ ],
59
+ "criteriaCovered": false,
60
+ "breaking": false
61
+ },
62
+ {
63
+ "name": "TerminalBlockedDetail",
64
+ "kind": "interface",
65
+ "tier": "advanced",
66
+ "at": [
67
+ "src/core/terminal-cause.ts:174",
68
+ "src/index.ts:365"
69
+ ],
70
+ "criteriaCovered": true,
71
+ "breaking": false
72
+ },
73
+ {
74
+ "name": "isEngineRefusal",
75
+ "kind": "variable",
76
+ "tier": "advanced",
77
+ "at": [
78
+ "src/core/decision-receipt.ts:19",
79
+ "src/core/tool-policy.ts:21",
80
+ "src/index.ts:1399"
81
+ ],
82
+ "criteriaCovered": false,
83
+ "breaking": false
84
+ },
85
+ {
86
+ "name": "isPromptBlockCause",
87
+ "kind": "function",
88
+ "tier": "advanced",
89
+ "at": [
90
+ "src/core/terminal-cause.ts:170",
91
+ "src/index.ts:365"
92
+ ],
93
+ "criteriaCovered": false,
94
+ "breaking": false
95
+ },
96
+ {
97
+ "name": "isSettlementParty",
98
+ "kind": "function",
99
+ "tier": "advanced",
100
+ "at": [
101
+ "src/core/gate-outcome.ts:121",
102
+ "src/index.ts:1470"
103
+ ],
104
+ "criteriaCovered": false,
105
+ "breaking": false
106
+ },
107
+ {
108
+ "name": "receiveHookResult",
109
+ "kind": "function",
110
+ "tier": "advanced",
111
+ "at": [
112
+ "src/core/tool-policy.ts:1206",
113
+ "src/index.ts:1398"
114
+ ],
115
+ "criteriaCovered": false,
116
+ "breaking": false
117
+ }
118
+ ],
119
+ "removed": [],
120
+ "changed": [],
121
+ "narrowed": [],
122
+ "closedSetMembers": [
123
+ {
124
+ "set": "ASK_CLASSES",
125
+ "at": [
126
+ "src/core/ask-origin.ts:579"
127
+ ],
128
+ "newSet": false,
129
+ "added": [
130
+ "shell_floor"
131
+ ],
132
+ "removed": [],
133
+ "breaking": false,
134
+ "criteriaCovered": false
135
+ },
136
+ {
137
+ "set": "AttachmentSource",
138
+ "at": [
139
+ "src/core/runner/turn-attachments.ts:101"
140
+ ],
141
+ "newSet": false,
142
+ "added": [
143
+ "output_style"
144
+ ],
145
+ "removed": [
146
+ "plan_mode"
147
+ ],
148
+ "persistedBy": "none",
149
+ "breaking": true,
150
+ "criteriaCovered": false
151
+ },
152
+ {
153
+ "set": "CHECKPOINT_CONFIG_REFUSAL_CODES",
154
+ "at": [
155
+ "src/core/checkpoint-store.ts:2420"
156
+ ],
157
+ "newSet": true,
158
+ "added": [
159
+ "config.output_style_invalid",
160
+ "config.permission_mode_invalid",
161
+ "config.shell_gate_value_retired",
162
+ "config.spec_retired_key"
163
+ ],
164
+ "removed": [],
165
+ "breaking": false,
166
+ "criteriaCovered": false
167
+ },
168
+ {
169
+ "set": "CheckpointConfigRefusalCode",
170
+ "at": [
171
+ "src/core/checkpoint-store.ts:2421"
172
+ ],
173
+ "newSet": true,
174
+ "added": [
175
+ "config.output_style_invalid",
176
+ "config.permission_mode_invalid",
177
+ "config.shell_gate_value_retired",
178
+ "config.spec_retired_key"
179
+ ],
180
+ "removed": [],
181
+ "breaking": false,
182
+ "criteriaCovered": false
183
+ },
184
+ {
185
+ "set": "CheckpointError.code",
186
+ "at": [
187
+ "src/core/checkpoint-store.ts:2427"
188
+ ],
189
+ "newSet": false,
190
+ "added": [
191
+ "checkpoint.config_refused"
192
+ ],
193
+ "removed": [],
194
+ "breaking": false,
195
+ "criteriaCovered": false
196
+ },
197
+ {
198
+ "set": "CheckpointError.detail.field",
199
+ "at": [
200
+ "src/core/checkpoint-store.ts:2607"
201
+ ],
202
+ "newSet": false,
203
+ "added": [
204
+ "inheritedGate",
205
+ "taskConfig"
206
+ ],
207
+ "removed": [],
208
+ "breaking": false,
209
+ "criteriaCovered": false
210
+ },
211
+ {
212
+ "set": "ENGINE_NOTICE_CODES",
213
+ "at": [
214
+ "src/core/governance-codes.ts:348"
215
+ ],
216
+ "newSet": false,
217
+ "added": [],
218
+ "removed": [
219
+ "resume.legacy_mode_seed_migrated"
220
+ ],
221
+ "persistedBy": "none",
222
+ "breaking": true,
223
+ "criteriaCovered": false
224
+ },
225
+ {
226
+ "set": "FrameReceipt.source",
227
+ "at": [
228
+ "src/core/runner/contracts.ts:218"
229
+ ],
230
+ "newSet": false,
231
+ "added": [
232
+ "output_style"
233
+ ],
234
+ "removed": [],
235
+ "breaking": false,
236
+ "criteriaCovered": false
237
+ },
238
+ {
239
+ "set": "PROMPT_BLOCK_CAUSES",
240
+ "at": [
241
+ "src/core/terminal-cause.ts:166"
242
+ ],
243
+ "newSet": true,
244
+ "added": [
245
+ "block",
246
+ "cancelled",
247
+ "crashed",
248
+ "timeout"
249
+ ],
250
+ "removed": [],
251
+ "breaking": false,
252
+ "criteriaCovered": false
253
+ },
254
+ {
255
+ "set": "PostureFamily",
256
+ "at": [
257
+ "src/core/auto-mode-directive.ts:123"
258
+ ],
259
+ "newSet": true,
260
+ "added": [
261
+ "auto",
262
+ "plan"
263
+ ],
264
+ "removed": [],
265
+ "breaking": false,
266
+ "criteriaCovered": false
267
+ },
268
+ {
269
+ "set": "PromptBlockCause",
270
+ "at": [
271
+ "src/core/terminal-cause.ts:167",
272
+ "src/index.ts:365"
273
+ ],
274
+ "newSet": true,
275
+ "added": [
276
+ "block",
277
+ "cancelled",
278
+ "crashed",
279
+ "timeout"
280
+ ],
281
+ "removed": [],
282
+ "breaking": false,
283
+ "criteriaCovered": false
284
+ },
285
+ {
286
+ "set": "SETTLEMENT_KINDS",
287
+ "at": [
288
+ "src/core/gate-outcome.ts:52"
289
+ ],
290
+ "newSet": false,
291
+ "added": [
292
+ "policy_allowed"
293
+ ],
294
+ "removed": [],
295
+ "breaking": false,
296
+ "criteriaCovered": false
297
+ },
298
+ {
299
+ "set": "SETTLEMENT_PARTIES",
300
+ "at": [
301
+ "src/core/gate-outcome.ts:115"
302
+ ],
303
+ "newSet": true,
304
+ "added": [
305
+ "engine",
306
+ "host",
307
+ "none",
308
+ "person",
309
+ "policy"
310
+ ],
311
+ "removed": [],
312
+ "breaking": false,
313
+ "criteriaCovered": false
314
+ },
315
+ {
316
+ "set": "Settlement.kind",
317
+ "at": [
318
+ "src/core/gate-outcome.ts:96",
319
+ "src/core/gate-outcome.ts:97",
320
+ "src/core/gate-outcome.ts:98",
321
+ "src/core/gate-outcome.ts:99",
322
+ "src/core/gate-outcome.ts:100",
323
+ "src/core/gate-outcome.ts:102"
324
+ ],
325
+ "newSet": false,
326
+ "added": [
327
+ "policy_allowed"
328
+ ],
329
+ "removed": [],
330
+ "breaking": false,
331
+ "criteriaCovered": false
332
+ },
333
+ {
334
+ "set": "SettlementParty",
335
+ "at": [
336
+ "src/core/gate-outcome.ts:116",
337
+ "src/index.ts:1470"
338
+ ],
339
+ "newSet": true,
340
+ "added": [
341
+ "engine",
342
+ "host",
343
+ "none",
344
+ "person",
345
+ "policy"
346
+ ],
347
+ "removed": [],
348
+ "breaking": false,
349
+ "criteriaCovered": false
350
+ },
351
+ {
352
+ "set": "TaskEvent.source",
353
+ "at": [
354
+ "src/core/task-event.ts:740"
355
+ ],
356
+ "newSet": false,
357
+ "added": [
358
+ "output_style"
359
+ ],
360
+ "removed": [
361
+ "plan_mode"
362
+ ],
363
+ "persistedBy": "none",
364
+ "breaking": true,
365
+ "criteriaCovered": false
366
+ }
367
+ ],
368
+ "closedSetsUnreadable": [],
369
+ "typeKeys": [
370
+ {
371
+ "type": "BlockedRef",
372
+ "at": [
373
+ "src/core/runner/synthetic-tools.ts:35"
374
+ ],
375
+ "via": "Runner.SuspendReap.env.blockedRef",
376
+ "added": [
377
+ "detail"
378
+ ],
379
+ "addedDetail": [
380
+ {
381
+ "key": "detail",
382
+ "optional": true
383
+ }
384
+ ],
385
+ "addedRequired": [],
386
+ "removed": [],
387
+ "breaking": false,
388
+ "criteriaCovered": false
389
+ },
390
+ {
391
+ "type": "Prepared",
392
+ "at": [
393
+ "src/core/runner/contracts.ts:244"
394
+ ],
395
+ "via": "Runner.SuspendReap.env",
396
+ "added": [
397
+ "outputStyleFrame"
398
+ ],
399
+ "addedDetail": [
400
+ {
401
+ "key": "outputStyleFrame",
402
+ "optional": true
403
+ }
404
+ ],
405
+ "addedRequired": [],
406
+ "removed": [],
407
+ "breaking": false,
408
+ "criteriaCovered": false
409
+ },
410
+ {
411
+ "type": "Settlement",
412
+ "at": [
413
+ "src/core/gate-outcome.ts:95"
414
+ ],
415
+ "added": [
416
+ "policy_allowed.kind",
417
+ "policy_allowed.when",
418
+ "policy_allowed.who",
419
+ "policy_allowed.who.approver",
420
+ "policy_allowed.who.party",
421
+ "policy_refused.who.approver"
422
+ ],
423
+ "addedDetail": [
424
+ {
425
+ "key": "policy_allowed.kind",
426
+ "optional": false
427
+ },
428
+ {
429
+ "key": "policy_allowed.when",
430
+ "optional": false
431
+ },
432
+ {
433
+ "key": "policy_allowed.who",
434
+ "optional": false
435
+ },
436
+ {
437
+ "key": "policy_allowed.who.approver",
438
+ "optional": true
439
+ },
440
+ {
441
+ "key": "policy_allowed.who.party",
442
+ "optional": false
443
+ },
444
+ {
445
+ "key": "policy_refused.who.approver",
446
+ "optional": true
447
+ }
448
+ ],
449
+ "addedRequired": [],
450
+ "removed": [],
451
+ "breaking": false,
452
+ "criteriaCovered": false
453
+ },
454
+ {
455
+ "type": "ShellReadJudgeInput",
456
+ "at": [
457
+ "src/tools/fs/shell-read-check.ts:587"
458
+ ],
459
+ "added": [
460
+ "readDenyHomes"
461
+ ],
462
+ "addedDetail": [
463
+ {
464
+ "key": "readDenyHomes",
465
+ "optional": true
466
+ }
467
+ ],
468
+ "addedRequired": [],
469
+ "removed": [],
470
+ "breaking": false,
471
+ "criteriaCovered": true
472
+ },
473
+ {
474
+ "type": "TaskSpec",
475
+ "at": [
476
+ "src/core/task-spec.ts:52"
477
+ ],
478
+ "added": [
479
+ "outputStyle",
480
+ "outputStyle.name",
481
+ "outputStyle.turnReminder"
482
+ ],
483
+ "addedDetail": [
484
+ {
485
+ "key": "outputStyle",
486
+ "optional": true
487
+ },
488
+ {
489
+ "key": "outputStyle.name",
490
+ "optional": false
491
+ },
492
+ {
493
+ "key": "outputStyle.turnReminder",
494
+ "optional": true
495
+ }
496
+ ],
497
+ "addedRequired": [],
498
+ "removed": [
499
+ "attachments.planModeReminder"
500
+ ],
501
+ "breaking": true,
502
+ "criteriaCovered": true
503
+ },
504
+ {
505
+ "type": "TerminalCause",
506
+ "at": [
507
+ "src/core/terminal-cause.ts:34"
508
+ ],
509
+ "added": [
510
+ "blocked.detail"
511
+ ],
512
+ "addedDetail": [
513
+ {
514
+ "key": "blocked.detail",
515
+ "optional": true
516
+ }
517
+ ],
518
+ "addedRequired": [],
519
+ "removed": [],
520
+ "breaking": false,
521
+ "criteriaCovered": false
522
+ }
523
+ ],
524
+ "typeKeysUnreadableArms": [],
525
+ "typeKeysFlattenedCount": 220,
526
+ "signatures": [
527
+ {
528
+ "name": "CheckpointError.constructor",
529
+ "at": [
530
+ "src/core/checkpoint-store.ts:2426"
531
+ ],
532
+ "from": [
533
+ "(code: \"checkpoint.already_exists\" | \"checkpoint.already_resolved\" | \"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\" | \"answer\" | \"hostDecision\" | \"approver\"; retryAfterMs?: number; reason?: CheckpointErrorReason; })"
534
+ ],
535
+ "to": [
536
+ "(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\" | \"answer\" | \"hostDecision\" | \"approver\" | \"taskConfig\" | \"inheritedGate\"; code?: CheckpointConfigRefusalCode; retryAfterMs?: number; reason?: CheckpointErrorReason; })"
537
+ ],
538
+ "changes": [
539
+ {
540
+ "aspect": "param",
541
+ "detail": "param 3 `detail` type widened: …stDecision\" | \"approver\"[ -> | \"taskConfig\" | \"inheritedGate\"; code?: CheckpointConfigRefusalCode]; retryAfterMs?: number;…",
542
+ "breaking": false
543
+ }
544
+ ],
545
+ "breaking": false,
546
+ "criteriaCovered": false
547
+ },
548
+ {
549
+ "name": "deriveAskEffective",
550
+ "at": [
551
+ "src/core/wiring-manifest.ts:655"
552
+ ],
553
+ "from": [
554
+ "(form: AskSeamForm, parkEffective: \"unresolved\" | boolean): AskEffective"
555
+ ],
556
+ "to": [
557
+ "(form: AskSeamForm, parkEffective: \"unresolved\" | boolean, mode?: PermissionMode): AskEffective"
558
+ ],
559
+ "changes": [
560
+ {
561
+ "aspect": "param",
562
+ "detail": "+optional param `mode?: PermissionMode`",
563
+ "breaking": false
564
+ }
565
+ ],
566
+ "breaking": false,
567
+ "criteriaCovered": false
568
+ }
569
+ ],
570
+ "declarationMoves": [
571
+ {
572
+ "name": "isEngineRefusal",
573
+ "kind": "variable",
574
+ "onSurface": true,
575
+ "from": [
576
+ "src/core/decision-receipt.ts",
577
+ "src/core/tool-policy.ts"
578
+ ],
579
+ "to": [
580
+ "src/core/decision-receipt.ts",
581
+ "src/core/tool-policy.ts",
582
+ "src/index.ts"
583
+ ]
584
+ }
585
+ ],
586
+ "mintMoves": [],
587
+ "criteriaObserves": [
588
+ {
589
+ "kind": "engineNoticeCode",
590
+ "name": "task.user_followup_undrained",
591
+ "assertions": [
592
+ "G6.b",
593
+ "G14.b",
594
+ "G14.c",
595
+ "G14.f"
596
+ ]
597
+ },
598
+ {
599
+ "kind": "engineNoticeCode",
600
+ "name": "task.user_steer_undrained",
601
+ "assertions": [
602
+ "G6.b",
603
+ "G14.a",
604
+ "G14.c",
605
+ "G14.d",
606
+ "G14.e",
607
+ "G14.f"
608
+ ]
609
+ },
610
+ {
611
+ "kind": "taskEventField",
612
+ "name": "done.result",
613
+ "assertions": [
614
+ "G11.a",
615
+ "G11.b",
616
+ "G11.c"
617
+ ]
618
+ },
619
+ {
620
+ "kind": "taskEventField",
621
+ "name": "human_input.delivery",
622
+ "assertions": [
623
+ "G6.a",
624
+ "G6.b",
625
+ "G6.c"
626
+ ]
627
+ },
628
+ {
629
+ "kind": "taskEventField",
630
+ "name": "human_input.inputId",
631
+ "assertions": [
632
+ "G6.a",
633
+ "G6.c"
634
+ ]
635
+ },
636
+ {
637
+ "kind": "taskEventField",
638
+ "name": "human_input.parentToolCallId",
639
+ "assertions": [
640
+ "G6.d"
641
+ ]
642
+ },
643
+ {
644
+ "kind": "taskEventField",
645
+ "name": "human_input.sessionSeq",
646
+ "assertions": [
647
+ "G6.a"
648
+ ]
649
+ },
650
+ {
651
+ "kind": "taskEventField",
652
+ "name": "human_input.sourceTaskId",
653
+ "assertions": [
654
+ "G6.d"
655
+ ]
656
+ },
657
+ {
658
+ "kind": "taskEventField",
659
+ "name": "steering_injected.source",
660
+ "assertions": [
661
+ "G5.a",
662
+ "G5.c"
663
+ ]
664
+ },
665
+ {
666
+ "kind": "taskEventField",
667
+ "name": "tool_end.gate",
668
+ "assertions": [
669
+ "G1.c",
670
+ "G2.a",
671
+ "G7.a",
672
+ "G7.b",
673
+ "G7.c",
674
+ "G8.a",
675
+ "G10.a",
676
+ "G10.b",
677
+ "G10.c",
678
+ "G10.d",
679
+ "G10.g",
680
+ "G10.h"
681
+ ]
682
+ },
683
+ {
684
+ "kind": "taskEventField",
685
+ "name": "wiring_manifest.manifest",
686
+ "assertions": [
687
+ "G8.c"
688
+ ]
689
+ },
690
+ {
691
+ "kind": "typeMember",
692
+ "name": "AskRequest.classes",
693
+ "assertions": [
694
+ "G1.a",
695
+ "G1.b",
696
+ "G1.c",
697
+ "G1.d",
698
+ "G2.b",
699
+ "G8.a",
700
+ "G8.b",
701
+ "G10.f"
702
+ ]
703
+ },
704
+ {
705
+ "kind": "typeMember",
706
+ "name": "AskRequest.mandate",
707
+ "assertions": [
708
+ "G1.b"
709
+ ]
710
+ },
711
+ {
712
+ "kind": "typeMember",
713
+ "name": "AskRequest.origin",
714
+ "assertions": [
715
+ "G1.b"
716
+ ]
717
+ },
718
+ {
719
+ "kind": "typeMember",
720
+ "name": "AskRequest.toolCallId",
721
+ "assertions": [
722
+ "G1.a"
723
+ ]
724
+ },
725
+ {
726
+ "kind": "typeMember",
727
+ "name": "Checkpoint.status",
728
+ "assertions": [
729
+ "G9.b",
730
+ "G9.c"
731
+ ]
732
+ },
733
+ {
734
+ "kind": "typeMember",
735
+ "name": "CheckpointError.code",
736
+ "assertions": [
737
+ "G9.a",
738
+ "G9.c",
739
+ "G10.d",
740
+ "G10.g",
741
+ "G10.h"
742
+ ]
743
+ },
744
+ {
745
+ "kind": "typeMember",
746
+ "name": "CheckpointError.detail",
747
+ "assertions": [
748
+ "G9.a",
749
+ "G9.c",
750
+ "G10.d",
751
+ "G10.g",
752
+ "G10.h"
753
+ ]
754
+ },
755
+ {
756
+ "kind": "typeMember",
757
+ "name": "CheckpointRow.executionOutcome",
758
+ "assertions": [
759
+ "G10.h"
760
+ ]
761
+ },
762
+ {
763
+ "kind": "typeMember",
764
+ "name": "GateDisposition.deniedBy",
765
+ "assertions": [
766
+ "G10.h"
767
+ ]
768
+ },
769
+ {
770
+ "kind": "typeMember",
771
+ "name": "GateOutcome.disposition",
772
+ "assertions": [
773
+ "G1.d",
774
+ "G2.a",
775
+ "G8.a",
776
+ "G8.b"
777
+ ]
778
+ },
779
+ {
780
+ "kind": "typeMember",
781
+ "name": "GateOutcome.settlement",
782
+ "assertions": [
783
+ "G2.c"
784
+ ]
785
+ },
786
+ {
787
+ "kind": "typeMember",
788
+ "name": "MemoryEngine.harvest",
789
+ "assertions": [
790
+ "G13.a",
791
+ "G13.b",
792
+ "G13.c",
793
+ "G13.d"
794
+ ]
795
+ },
796
+ {
797
+ "kind": "typeMember",
798
+ "name": "MemoryEngine.inject",
799
+ "assertions": [
800
+ "G13.a",
801
+ "G13.b"
802
+ ]
803
+ },
804
+ {
805
+ "kind": "typeMember",
806
+ "name": "PermissionDeniedPayload.gate",
807
+ "assertions": [
808
+ "G10.b"
809
+ ]
810
+ },
811
+ {
812
+ "kind": "typeMember",
813
+ "name": "PermissionResult.message",
814
+ "assertions": [
815
+ "G7.a"
816
+ ]
817
+ },
818
+ {
819
+ "kind": "typeMember",
820
+ "name": "ResolvedOutcome.gateOutcome",
821
+ "assertions": [
822
+ "G10.d"
823
+ ]
824
+ },
825
+ {
826
+ "kind": "typeMember",
827
+ "name": "Settlement.kind",
828
+ "assertions": [
829
+ "G10.a",
830
+ "G10.c"
831
+ ]
832
+ },
833
+ {
834
+ "kind": "typeMember",
835
+ "name": "Settlement.who",
836
+ "assertions": [
837
+ "G10.a"
838
+ ]
839
+ },
840
+ {
841
+ "kind": "typeMember",
842
+ "name": "Settlement.who.approver",
843
+ "assertions": [
844
+ "G10.b"
845
+ ]
846
+ },
847
+ {
848
+ "kind": "typeMember",
849
+ "name": "Settlement.who.party",
850
+ "assertions": [
851
+ "G10.e"
852
+ ]
853
+ },
854
+ {
855
+ "kind": "typeMember",
856
+ "name": "ShellReadJudgeInput.readDenyHomes",
857
+ "assertions": [
858
+ "G12.a",
859
+ "G12.b",
860
+ "G12.c"
861
+ ]
862
+ },
863
+ {
864
+ "kind": "typeMember",
865
+ "name": "ShellReadJudgment.verdict.disposition",
866
+ "assertions": [
867
+ "G12.a",
868
+ "G12.c"
869
+ ]
870
+ },
871
+ {
872
+ "kind": "typeMember",
873
+ "name": "ShellReadJudgment.verdict.finding",
874
+ "assertions": [
875
+ "G12.a",
876
+ "G12.b"
877
+ ]
878
+ },
879
+ {
880
+ "kind": "typeMember",
881
+ "name": "TaskResult.terminal",
882
+ "assertions": [
883
+ "G4.c",
884
+ "G5.b",
885
+ "G9.b",
886
+ "G9.c"
887
+ ]
888
+ },
889
+ {
890
+ "kind": "typeMember",
891
+ "name": "TaskSpec.interactiveTools",
892
+ "assertions": [
893
+ "G4.d"
894
+ ]
895
+ },
896
+ {
897
+ "kind": "typeMember",
898
+ "name": "TaskSpec.objective",
899
+ "assertions": [
900
+ "G3.c"
901
+ ]
902
+ },
903
+ {
904
+ "kind": "typeMember",
905
+ "name": "TaskSpec.outputStyle",
906
+ "assertions": [
907
+ "G5.a",
908
+ "G5.c",
909
+ "G9.c"
910
+ ]
911
+ },
912
+ {
913
+ "kind": "typeMember",
914
+ "name": "TaskSpec.permissionMode",
915
+ "assertions": [
916
+ "G3.a",
917
+ "G4.a",
918
+ "G4.b",
919
+ "G4.d",
920
+ "G8.c"
921
+ ]
922
+ },
923
+ {
924
+ "kind": "typeMember",
925
+ "name": "TaskStream.setPermissionMode",
926
+ "assertions": [
927
+ "G3.b"
928
+ ]
929
+ },
930
+ {
931
+ "kind": "typeMember",
932
+ "name": "TerminalBlockedDetail.cause",
933
+ "assertions": [
934
+ "G11.a",
935
+ "G11.b",
936
+ "G11.d"
937
+ ]
938
+ },
939
+ {
940
+ "kind": "typeMember",
941
+ "name": "TerminalBlockedDetail.hookReason",
942
+ "assertions": [
943
+ "G11.a"
944
+ ]
945
+ },
946
+ {
947
+ "kind": "typeMember",
948
+ "name": "TerminalBlockedDetail.kind",
949
+ "assertions": [
950
+ "G11.a",
951
+ "G11.c"
952
+ ]
953
+ }
954
+ ],
955
+ "consumersHint": {
956
+ "cli": [
957
+ "CheckpointError",
958
+ "ENGINE_NOTICE_CODES",
959
+ "Prepared",
960
+ "SETTLEMENT_KINDS",
961
+ "Settlement",
962
+ "TaskEvent",
963
+ "TaskSpec",
964
+ "TerminalCause"
965
+ ],
966
+ "server": [
967
+ "ASK_CLASSES",
968
+ "CheckpointError",
969
+ "ENGINE_NOTICE_CODES",
970
+ "Prepared",
971
+ "SETTLEMENT_PARTIES",
972
+ "Settlement",
973
+ "TaskEvent",
974
+ "TaskSpec",
975
+ "TerminalCause",
976
+ "deriveAskEffective",
977
+ "isEngineRefusal"
978
+ ],
979
+ "sdk": [
980
+ "ASK_CLASSES",
981
+ "AttachmentSource",
982
+ "CheckpointError",
983
+ "ENGINE_NOTICE_CODES",
984
+ "SETTLEMENT_KINDS",
985
+ "Settlement",
986
+ "TaskEvent",
987
+ "TaskSpec",
988
+ "TerminalCause"
989
+ ],
990
+ "note": "scanned cli@64a76326 server@f4ce4085 sdk@2756723 — 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: 2 name(s) matched ONLY in bookkeeping files and were set aside (SETTLEMENT_KINDS, ShellReadJudgeInput)"
991
+ },
992
+ "breakingCount": 4,
993
+ "breakingItems": [
994
+ "closed set lost members: AttachmentSource -plan_mode",
995
+ "closed set lost members: ENGINE_NOTICE_CODES -resume.legacy_mode_seed_migrated",
996
+ "closed set lost members: TaskEvent.source -plan_mode",
997
+ "type lost keys: TaskSpec -attachments.planModeReminder"
998
+ ]
999
+ }