@sema-agent/core 7.43.0 → 7.44.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.
- package/CHANGELOG.md +73 -0
- package/dist/agents/subagent.d.ts +2 -1
- package/dist/brain/errors.d.ts +23 -2
- package/dist/brain/errors.js +26 -2
- package/dist/brain/stream-engine.d.ts +2 -1
- package/dist/brain/stream-engine.js +10 -9
- package/dist/core/checkpoint-store.d.ts +26 -13
- package/dist/core/checkpoint-store.js +4 -13
- package/dist/core/engine-notice.d.ts +16 -14
- package/dist/core/engine-notice.js +4 -3
- package/dist/core/governance-codes.d.ts +4 -3
- package/dist/core/governance-codes.js +1 -0
- package/dist/core/memory-engine/engine.d.ts +2 -2
- package/dist/core/memory-engine/engine.js +7 -14
- package/dist/core/memory-engine/file-backend.d.ts +2 -2
- package/dist/core/memory-engine/file-backend.js +5 -7
- package/dist/core/memory-engine/layout.d.ts +37 -4
- package/dist/core/memory-engine/layout.js +34 -5
- package/dist/core/runner/contracts.d.ts +1 -16
- package/dist/core/runner/runtask.js +1 -5
- package/dist/core/runner/steer-admission.d.ts +10 -11
- package/dist/core/runner/steer-admission.js +6 -8
- package/dist/core/runner/stream-steer-verb.d.ts +5 -4
- package/dist/core/runner/stream-steer-verb.js +6 -8
- package/dist/core/steer-replay.d.ts +46 -0
- package/dist/core/steer-replay.js +22 -0
- package/dist/core/task-event.d.ts +3 -2
- package/dist/core/task-stream.d.ts +12 -6
- package/dist/core/tool-errors.d.ts +2 -2
- package/dist/core/types.d.ts +2 -2
- package/dist/core/types.js +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.js +3 -2
- package/dist/orchestration/workflow-types.d.ts +5 -0
- package/dist/orchestration/workflow.d.ts +3 -2
- package/dist/orchestration/workflow.js +14 -6
- package/package.json +1 -1
- package/test/export-surface.snapshot.json +11 -5
- package/wire-changes/core@7.44.0.json +469 -0
package/dist/index.js
CHANGED
|
@@ -29,7 +29,7 @@ export { StdioLspTransport } from "./engine/lsp/stdio-lsp-transport.js";
|
|
|
29
29
|
export { encodeFrame, createFrameDecoder } from "./engine/lsp/frame-decoder.js";
|
|
30
30
|
export { resolveModel, resolveTaskModel, parseModelMention, expandTiers, DEFAULT_TIER_ORDER, CC_MODEL_TIER_ALIASES, ROLE_TIER_DEFAULTS, MODEL_ROLES, } from "./core/roles.js";
|
|
31
31
|
export { selectModel, selectModelOrThrow } from "./core/select-model.js";
|
|
32
|
-
export { BrainError, classifyHttp, isProviderEchoShape, PROVIDER_ECHO_SHAPE } from "./brain/errors.js";
|
|
32
|
+
export { BrainError, classifyHttp, isProviderEchoShape, PROVIDER_ECHO_SHAPE, PROXY_TUNNEL_REFUSED } from "./brain/errors.js";
|
|
33
33
|
export { looksDegenerate, inspectDegenerate, trimDegenerateTail } from "./brain/repetition.js";
|
|
34
34
|
export { computeCostMicroUsd, isModelPriced, modelCostToPricing, } from "./core/pricing.js";
|
|
35
35
|
export { cacheFamilyOf, promptTokensOf, uncachedInputTokensOf } from "./core/runner/usage-accounting.js";
|
|
@@ -49,7 +49,8 @@ export { MCP_FAILURE_KINDS, MCP_DELIVERY_VERDICTS, MCP_LIVENESS_STATES, classify
|
|
|
49
49
|
export { MCP_INJECTION_DROP_REASONS, MCP_INJECTION_DROP_TEXT, mcpInjectionDroppedNotice } from "./core/mcp-injection-drop.js";
|
|
50
50
|
export { askUnresolvableNotice } from "./core/ask-unresolvable-notice.js";
|
|
51
51
|
export { ASK_UNRESOLVABLE_CAUSES } from "./core/ask-unresolvable-notice.js";
|
|
52
|
-
export {
|
|
52
|
+
export { USER_INPUT_UNDRAINED_CAUSES } from "./core/engine-notice.js";
|
|
53
|
+
export { STEER_REPLAY_FACETS } from "./core/steer-replay.js";
|
|
53
54
|
export { TOOL_TURN_INCOMPLETE_CAUSES } from "./internal/llm.js";
|
|
54
55
|
export { DURABLE_MANDATE_SOURCES } from "./core/tool-policy.js";
|
|
55
56
|
export { TERMINAL_CAUSE_IS_REPLAYABLE, PROMPT_BLOCK_CAUSES, isPromptBlockCause } from "./core/terminal-cause.js";
|
|
@@ -421,6 +421,9 @@ export interface WorkflowRun {
|
|
|
421
421
|
* read or written carrying this token's `parked` entry, so
|
|
422
422
|
* absence is the confirmed state and an entry written before this member reads as confirmed, exactly as it did; the
|
|
423
423
|
* engine's own material read identity-checks what it finds, so an unconfirmed origin degrades rather than mis-binds.
|
|
424
|
+
* `parkedBy` is the run standing on the park: a record's run holds it iff `entry.parkedBy === record.id` (never
|
|
425
|
+
* `originRunId`); inheritance keeps it. `generation` is the inherited entry's, else `0`, plus one per admission — the
|
|
426
|
+
* highest on a session is the chain's tail, a tie is a fork. Both or neither; an older entry has neither (no holder).
|
|
424
427
|
*/
|
|
425
428
|
parks?: Array<{
|
|
426
429
|
callKey: string;
|
|
@@ -428,6 +431,8 @@ export interface WorkflowRun {
|
|
|
428
431
|
token: string;
|
|
429
432
|
originRunId: string;
|
|
430
433
|
originUnconfirmed?: true;
|
|
434
|
+
parkedBy?: string;
|
|
435
|
+
generation?: number;
|
|
431
436
|
}>;
|
|
432
437
|
/**
|
|
433
438
|
* Set (`true`) on a resume run's record from its creation and REMOVED the moment its admission completes — so a record
|
|
@@ -223,8 +223,9 @@ export interface WorkflowAgentHandle {
|
|
|
223
223
|
* legs of one steering ingress are equally replay-safe. ⚠️ ONE arm of that contract is NOT reachable through this
|
|
224
224
|
* handle, deliberately: the idempotent-REPLAY arm ("same id, same payload ⇒ injects nothing"). Each call mints a
|
|
225
225
|
* FRESH unguessable correlation marker into the framing it delivers, so a retry under the same id is a
|
|
226
|
-
* same-id-DIFFERENT-instruction call and refuses typed `steering.duplicate_input_id
|
|
227
|
-
* lane is therefore AT-MOST-ONCE: a retried ingress is refused
|
|
226
|
+
* same-id-DIFFERENT-instruction call and refuses typed `steering.duplicate_input_id` (`detail.differs` always names
|
|
227
|
+
* `text` on this lane). What the key buys on this lane is therefore AT-MOST-ONCE: a retried ingress is refused
|
|
228
|
+
* LOUDLY instead of injecting a second copy.
|
|
228
229
|
*/
|
|
229
230
|
steer(content: string, opts?: {
|
|
230
231
|
inputId?: string;
|
|
@@ -1056,9 +1056,10 @@ export function startWorkflow(runner, fn, opts = {}, internals) {
|
|
|
1056
1056
|
const parks = run.parks ?? (run.parks = []);
|
|
1057
1057
|
const at = parks.findIndex((e) => e.callKey === rec.callKey);
|
|
1058
1058
|
const held = at === -1 ? undefined : parks[at];
|
|
1059
|
+
const holder = { parkedBy: runId, generation: held?.generation ?? 0 };
|
|
1059
1060
|
const key = held !== undefined && held.token === paused.terminal.token && held.originUnconfirmed !== true
|
|
1060
|
-
? { callKey: rec.callKey, sessionId: paused.sessionId, token: paused.terminal.token, originRunId: held.originRunId }
|
|
1061
|
-
: { callKey: rec.callKey, sessionId: paused.sessionId, token: paused.terminal.token, originRunId: runId, originUnconfirmed: true };
|
|
1061
|
+
? { callKey: rec.callKey, sessionId: paused.sessionId, token: paused.terminal.token, originRunId: held.originRunId, ...holder }
|
|
1062
|
+
: { callKey: rec.callKey, sessionId: paused.sessionId, token: paused.terminal.token, originRunId: runId, originUnconfirmed: true, ...holder };
|
|
1062
1063
|
if (at === -1)
|
|
1063
1064
|
parks.push(key);
|
|
1064
1065
|
else
|
|
@@ -2263,19 +2264,23 @@ export function startWorkflow(runner, fn, opts = {}, internals) {
|
|
|
2263
2264
|
throw parksUnreadable("its journal yielded no entry to derive one from");
|
|
2264
2265
|
const candidates = new Map();
|
|
2265
2266
|
const keyed = (k) => k.token !== "" && k.sessionId !== "";
|
|
2267
|
+
const clash = (a, b) => a !== "" && b !== "" && a !== b;
|
|
2266
2268
|
const offerCandidate = (ord, key) => {
|
|
2267
2269
|
const recorded = candidates.get(ord);
|
|
2268
|
-
if (recorded !== undefined && (recorded.callKey !== key.callKey || (
|
|
2270
|
+
if (recorded !== undefined && (recorded.callKey !== key.callKey || clash(recorded.token, key.token) || clash(recorded.sessionId, key.sessionId)))
|
|
2269
2271
|
throw parkBindingBroken(ord, "the prior run's key caches name different tokens, sessions or calls for it");
|
|
2270
|
-
if (recorded === undefined
|
|
2272
|
+
if (recorded === undefined)
|
|
2271
2273
|
candidates.set(ord, key);
|
|
2274
|
+
else if (!keyed(recorded) && keyed(key))
|
|
2275
|
+
candidates.set(ord, recorded.parkedBy === undefined ? key : { ...key, parkedBy: recorded.parkedBy, generation: recorded.generation });
|
|
2272
2276
|
};
|
|
2273
2277
|
for (const raw of recordParks ?? []) {
|
|
2274
2278
|
const e = raw;
|
|
2275
|
-
|
|
2279
|
+
const holder = e === null || typeof e !== "object" ? undefined : e.parkedBy === undefined && e.generation === undefined ? {} : typeof e.parkedBy === "string" && e.parkedBy !== "" && Number.isSafeInteger(e.generation) && e.generation >= 0 ? { parkedBy: e.parkedBy, generation: e.generation } : undefined;
|
|
2280
|
+
if (e === null || typeof e !== "object" || holder === undefined || typeof e.callKey !== "string" || typeof e.sessionId !== "string" || typeof e.token !== "string" || typeof e.originRunId !== "string" || !/^\d+:/.test(e.callKey)) {
|
|
2276
2281
|
throw parkBindingBroken(-1, "a recorded park entry is malformed or its call key has no ordinal");
|
|
2277
2282
|
}
|
|
2278
|
-
offerCandidate(callKeyOrdinal(e.callKey), { callKey: e.callKey, sessionId: e.sessionId, token: e.token, originRunId: e.originRunId, ...(e.originUnconfirmed === true ? { originUnconfirmed: true } : {}) });
|
|
2283
|
+
offerCandidate(callKeyOrdinal(e.callKey), { callKey: e.callKey, sessionId: e.sessionId, token: e.token, originRunId: e.originRunId, ...(e.originUnconfirmed === true ? { originUnconfirmed: true } : {}), ...holder });
|
|
2279
2284
|
}
|
|
2280
2285
|
for (const [ord, e] of replayByOrdinal.entries()) {
|
|
2281
2286
|
if (e?.parked === undefined)
|
|
@@ -2320,6 +2325,9 @@ export function startWorkflow(runner, fn, opts = {}, internals) {
|
|
|
2320
2325
|
}
|
|
2321
2326
|
}
|
|
2322
2327
|
if (!finalized) {
|
|
2328
|
+
for (const key of inherited)
|
|
2329
|
+
if (key.generation !== undefined)
|
|
2330
|
+
key.generation += 1;
|
|
2323
2331
|
run.parks = inherited;
|
|
2324
2332
|
delete run.resumeAdmissionIncomplete;
|
|
2325
2333
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_comment": "design/87 L3 — frozen public export surface of src/index.ts (name -> kind). DO NOT edit by hand to silence a red test. A removed/changed entry = a SemVer-BREAKING change; bump MAJOR and update this fixture in the SAME commit (design/87 §4.2 / §5.2). Regenerate via REGEN in test/export-surface.test.ts.",
|
|
3
3
|
"_tierComment": "#435 v1 — machine-readable layering of the public surface: stable = demonstrated by README.md / src/examples; internal = an `Internal`-marked name or a runner/engine deep-subtree declaration (the model seam src/engine/llm is excluded — it is the BYOM contract, not an engine internal); advanced = a supported export the front door does not walk you through. THIS IS AN INITIAL HEURISTIC, derived mechanically and expected to be refined ticket by ticket: no human reviewed these 1700+ entries one by one, and nothing here claims otherwise. Known bias: a short or English-word export name (ok, err, Result, Usage) can match ordinary prose in README.md and land `stable` on a coincidence. Every export MUST carry a tier — a new export with no row fails the gate in export-surface.test.ts.",
|
|
4
|
-
"count":
|
|
4
|
+
"count": 2601,
|
|
5
5
|
"exports": {
|
|
6
6
|
"A2ATaskState": "type",
|
|
7
7
|
"A2ATaskStateReversal": "type",
|
|
@@ -965,6 +965,7 @@
|
|
|
965
965
|
"PROMPT_BLOCK_CAUSES": "variable",
|
|
966
966
|
"PROTOCOL_TABLE": "variable",
|
|
967
967
|
"PROVIDER_ECHO_SHAPE": "variable",
|
|
968
|
+
"PROXY_TUNNEL_REFUSED": "variable",
|
|
968
969
|
"PackSectionDeclaration": "interface",
|
|
969
970
|
"ParentSpecSeat": "interface",
|
|
970
971
|
"ParentSpecSeatFields": "type",
|
|
@@ -1354,6 +1355,7 @@
|
|
|
1354
1355
|
"STALE_RUNNING_REAP_ATTRIBUTION": "variable",
|
|
1355
1356
|
"STARTER_RULES": "variable",
|
|
1356
1357
|
"STATIC_VERIFICATION_PROMPT": "variable",
|
|
1358
|
+
"STEER_REPLAY_FACETS": "variable",
|
|
1357
1359
|
"STUB_ARCHIVED_LINE": "variable",
|
|
1358
1360
|
"SUBAGENT_PROMPT": "variable",
|
|
1359
1361
|
"SUBAGENT_SYSTEM_NOTE": "variable",
|
|
@@ -1480,6 +1482,7 @@
|
|
|
1480
1482
|
"StaticWiringDeps": "type",
|
|
1481
1483
|
"StaticWiringSpec": "type",
|
|
1482
1484
|
"StdioLspTransport": "class",
|
|
1485
|
+
"SteerReplayFacet": "type",
|
|
1483
1486
|
"StopFailureContext": "interface",
|
|
1484
1487
|
"StopReason": "type",
|
|
1485
1488
|
"StopSource": "type",
|
|
@@ -1652,7 +1655,7 @@
|
|
|
1652
1655
|
"UNCOVERED_SEGMENT_REASON_BASELINE": "variable",
|
|
1653
1656
|
"URL_SAFETY": "variable",
|
|
1654
1657
|
"USAGE_WINDOW_REAP_MARGIN_MS": "variable",
|
|
1655
|
-
"
|
|
1658
|
+
"USER_INPUT_UNDRAINED_CAUSES": "variable",
|
|
1656
1659
|
"UnarmedDenialLimitFallback": "interface",
|
|
1657
1660
|
"UncoveredSegmentDetail": "interface",
|
|
1658
1661
|
"UnifiedTaskOutput": "interface",
|
|
@@ -1665,10 +1668,10 @@
|
|
|
1665
1668
|
"UsageWindowReading": "interface",
|
|
1666
1669
|
"UsageWindowRecord": "interface",
|
|
1667
1670
|
"UsageWindowStore": "interface",
|
|
1671
|
+
"UserInputUndrainedCause": "type",
|
|
1668
1672
|
"UserMessage": "interface",
|
|
1669
1673
|
"UserPromptSubmitContext": "interface",
|
|
1670
1674
|
"UserPromptSubmitResult": "interface",
|
|
1671
|
-
"UserSteerUndrainedCause": "type",
|
|
1672
1675
|
"UtilityGate": "type",
|
|
1673
1676
|
"V2HeaderHints": "interface",
|
|
1674
1677
|
"VERIFICATION_PROMPT": "variable",
|
|
@@ -3565,6 +3568,7 @@
|
|
|
3565
3568
|
"PROMPT_BLOCK_CAUSES": "advanced",
|
|
3566
3569
|
"PROTOCOL_TABLE": "advanced",
|
|
3567
3570
|
"PROVIDER_ECHO_SHAPE": "advanced",
|
|
3571
|
+
"PROXY_TUNNEL_REFUSED": "advanced",
|
|
3568
3572
|
"PackSectionDeclaration": "advanced",
|
|
3569
3573
|
"ParentSpecSeat": "advanced",
|
|
3570
3574
|
"ParentSpecSeatFields": "advanced",
|
|
@@ -3954,6 +3958,7 @@
|
|
|
3954
3958
|
"STALE_RUNNING_REAP_ATTRIBUTION": "advanced",
|
|
3955
3959
|
"STARTER_RULES": "advanced",
|
|
3956
3960
|
"STATIC_VERIFICATION_PROMPT": "advanced",
|
|
3961
|
+
"STEER_REPLAY_FACETS": "advanced",
|
|
3957
3962
|
"STUB_ARCHIVED_LINE": "advanced",
|
|
3958
3963
|
"SUBAGENT_PROMPT": "advanced",
|
|
3959
3964
|
"SUBAGENT_SYSTEM_NOTE": "advanced",
|
|
@@ -4080,6 +4085,7 @@
|
|
|
4080
4085
|
"StaticWiringDeps": "advanced",
|
|
4081
4086
|
"StaticWiringSpec": "advanced",
|
|
4082
4087
|
"StdioLspTransport": "internal",
|
|
4088
|
+
"SteerReplayFacet": "advanced",
|
|
4083
4089
|
"StopFailureContext": "advanced",
|
|
4084
4090
|
"StopReason": "advanced",
|
|
4085
4091
|
"StopSource": "advanced",
|
|
@@ -4252,7 +4258,7 @@
|
|
|
4252
4258
|
"UNCOVERED_SEGMENT_REASON_BASELINE": "advanced",
|
|
4253
4259
|
"URL_SAFETY": "advanced",
|
|
4254
4260
|
"USAGE_WINDOW_REAP_MARGIN_MS": "internal",
|
|
4255
|
-
"
|
|
4261
|
+
"USER_INPUT_UNDRAINED_CAUSES": "advanced",
|
|
4256
4262
|
"UnarmedDenialLimitFallback": "advanced",
|
|
4257
4263
|
"UncoveredSegmentDetail": "advanced",
|
|
4258
4264
|
"UnifiedTaskOutput": "advanced",
|
|
@@ -4265,10 +4271,10 @@
|
|
|
4265
4271
|
"UsageWindowReading": "advanced",
|
|
4266
4272
|
"UsageWindowRecord": "advanced",
|
|
4267
4273
|
"UsageWindowStore": "advanced",
|
|
4274
|
+
"UserInputUndrainedCause": "advanced",
|
|
4268
4275
|
"UserMessage": "advanced",
|
|
4269
4276
|
"UserPromptSubmitContext": "advanced",
|
|
4270
4277
|
"UserPromptSubmitResult": "advanced",
|
|
4271
|
-
"UserSteerUndrainedCause": "advanced",
|
|
4272
4278
|
"UtilityGate": "advanced",
|
|
4273
4279
|
"V2HeaderHints": "advanced",
|
|
4274
4280
|
"VERIFICATION_PROMPT": "advanced",
|
|
@@ -0,0 +1,469 @@
|
|
|
1
|
+
{
|
|
2
|
+
"repo": "core",
|
|
3
|
+
"version": "7.44.0",
|
|
4
|
+
"from": "81c4563dd75c1e50c20c79f4c639232fa8c2d548",
|
|
5
|
+
"to": "3f30c7387bbf41e2124d0b3216aab2ad0ff662cd",
|
|
6
|
+
"added": [
|
|
7
|
+
{
|
|
8
|
+
"name": "PROXY_TUNNEL_REFUSED",
|
|
9
|
+
"kind": "variable",
|
|
10
|
+
"tier": "advanced",
|
|
11
|
+
"at": [
|
|
12
|
+
"src/brain/errors.ts:283",
|
|
13
|
+
"src/index.ts:250"
|
|
14
|
+
],
|
|
15
|
+
"criteriaCovered": false,
|
|
16
|
+
"breaking": false
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "STEER_REPLAY_FACETS",
|
|
20
|
+
"kind": "variable",
|
|
21
|
+
"tier": "advanced",
|
|
22
|
+
"at": [
|
|
23
|
+
"src/core/steer-replay.ts:14",
|
|
24
|
+
"src/index.ts:361"
|
|
25
|
+
],
|
|
26
|
+
"criteriaCovered": false,
|
|
27
|
+
"breaking": false
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"name": "SteerReplayFacet",
|
|
31
|
+
"kind": "type",
|
|
32
|
+
"tier": "advanced",
|
|
33
|
+
"at": [
|
|
34
|
+
"src/core/steer-replay.ts:15",
|
|
35
|
+
"src/index.ts:361"
|
|
36
|
+
],
|
|
37
|
+
"criteriaCovered": false,
|
|
38
|
+
"breaking": false
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"name": "USER_INPUT_UNDRAINED_CAUSES",
|
|
42
|
+
"kind": "variable",
|
|
43
|
+
"tier": "advanced",
|
|
44
|
+
"at": [
|
|
45
|
+
"src/core/engine-notice.ts:1035",
|
|
46
|
+
"src/core/types.ts:55",
|
|
47
|
+
"src/index.ts:360"
|
|
48
|
+
],
|
|
49
|
+
"criteriaCovered": false,
|
|
50
|
+
"breaking": false
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "UserInputUndrainedCause",
|
|
54
|
+
"kind": "type",
|
|
55
|
+
"tier": "advanced",
|
|
56
|
+
"at": [
|
|
57
|
+
"src/core/engine-notice.ts:1036",
|
|
58
|
+
"src/core/types.ts:54",
|
|
59
|
+
"src/index.ts:360"
|
|
60
|
+
],
|
|
61
|
+
"criteriaCovered": false,
|
|
62
|
+
"breaking": false
|
|
63
|
+
}
|
|
64
|
+
],
|
|
65
|
+
"removed": [
|
|
66
|
+
{
|
|
67
|
+
"name": "USER_STEER_UNDRAINED_CAUSES",
|
|
68
|
+
"kind": "variable",
|
|
69
|
+
"tier": "advanced",
|
|
70
|
+
"at": [
|
|
71
|
+
"src/core/engine-notice.ts:1033",
|
|
72
|
+
"src/core/types.ts:55",
|
|
73
|
+
"src/index.ts:361"
|
|
74
|
+
],
|
|
75
|
+
"breaking": true
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "UserSteerUndrainedCause",
|
|
79
|
+
"kind": "type",
|
|
80
|
+
"tier": "advanced",
|
|
81
|
+
"at": [
|
|
82
|
+
"src/core/engine-notice.ts:1034",
|
|
83
|
+
"src/core/types.ts:54",
|
|
84
|
+
"src/index.ts:361"
|
|
85
|
+
],
|
|
86
|
+
"breaking": true
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
"changed": [],
|
|
90
|
+
"narrowed": [],
|
|
91
|
+
"closedSetMembers": [
|
|
92
|
+
{
|
|
93
|
+
"set": "SCOPE_HOME_FORMS",
|
|
94
|
+
"at": [
|
|
95
|
+
"src/core/memory-engine/layout.ts:1140"
|
|
96
|
+
],
|
|
97
|
+
"newSet": true,
|
|
98
|
+
"added": [
|
|
99
|
+
"file",
|
|
100
|
+
"other",
|
|
101
|
+
"symlink"
|
|
102
|
+
],
|
|
103
|
+
"removed": [],
|
|
104
|
+
"breaking": false,
|
|
105
|
+
"criteriaCovered": false
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"set": "STEER_REPLAY_FACETS",
|
|
109
|
+
"at": [
|
|
110
|
+
"src/core/steer-replay.ts:14"
|
|
111
|
+
],
|
|
112
|
+
"newSet": true,
|
|
113
|
+
"added": [
|
|
114
|
+
"actor",
|
|
115
|
+
"priority",
|
|
116
|
+
"text",
|
|
117
|
+
"trusted"
|
|
118
|
+
],
|
|
119
|
+
"removed": [],
|
|
120
|
+
"breaking": false,
|
|
121
|
+
"criteriaCovered": false
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"set": "ScopeHomeForm",
|
|
125
|
+
"at": [
|
|
126
|
+
"src/core/memory-engine/layout.ts:1141"
|
|
127
|
+
],
|
|
128
|
+
"newSet": true,
|
|
129
|
+
"added": [
|
|
130
|
+
"file",
|
|
131
|
+
"other",
|
|
132
|
+
"symlink"
|
|
133
|
+
],
|
|
134
|
+
"removed": [],
|
|
135
|
+
"breaking": false,
|
|
136
|
+
"criteriaCovered": false
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"set": "SteerReplayFacet",
|
|
140
|
+
"at": [
|
|
141
|
+
"src/core/steer-replay.ts:15",
|
|
142
|
+
"src/index.ts:361"
|
|
143
|
+
],
|
|
144
|
+
"newSet": true,
|
|
145
|
+
"added": [
|
|
146
|
+
"actor",
|
|
147
|
+
"priority",
|
|
148
|
+
"text",
|
|
149
|
+
"trusted"
|
|
150
|
+
],
|
|
151
|
+
"removed": [],
|
|
152
|
+
"breaking": false,
|
|
153
|
+
"criteriaCovered": false
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"set": "USER_INPUT_UNDRAINED_CAUSES",
|
|
157
|
+
"at": [
|
|
158
|
+
"src/core/engine-notice.ts:1035"
|
|
159
|
+
],
|
|
160
|
+
"newSet": true,
|
|
161
|
+
"added": [
|
|
162
|
+
"crashed",
|
|
163
|
+
"leg_end"
|
|
164
|
+
],
|
|
165
|
+
"removed": [],
|
|
166
|
+
"breaking": false,
|
|
167
|
+
"criteriaCovered": false
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"set": "UserInputUndrainedCause",
|
|
171
|
+
"at": [
|
|
172
|
+
"src/core/engine-notice.ts:1036",
|
|
173
|
+
"src/core/types.ts:54",
|
|
174
|
+
"src/index.ts:360"
|
|
175
|
+
],
|
|
176
|
+
"newSet": true,
|
|
177
|
+
"added": [
|
|
178
|
+
"crashed",
|
|
179
|
+
"leg_end"
|
|
180
|
+
],
|
|
181
|
+
"removed": [],
|
|
182
|
+
"breaking": false,
|
|
183
|
+
"criteriaCovered": false
|
|
184
|
+
}
|
|
185
|
+
],
|
|
186
|
+
"closedSetsUnreadable": [],
|
|
187
|
+
"typeKeys": [
|
|
188
|
+
{
|
|
189
|
+
"type": "WorkflowRun",
|
|
190
|
+
"at": [
|
|
191
|
+
"src/orchestration/workflow-types.ts:205"
|
|
192
|
+
],
|
|
193
|
+
"added": [
|
|
194
|
+
"parks[].generation",
|
|
195
|
+
"parks[].parkedBy"
|
|
196
|
+
],
|
|
197
|
+
"addedDetail": [
|
|
198
|
+
{
|
|
199
|
+
"key": "parks[].generation",
|
|
200
|
+
"optional": true
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"key": "parks[].parkedBy",
|
|
204
|
+
"optional": true
|
|
205
|
+
}
|
|
206
|
+
],
|
|
207
|
+
"addedRequired": [],
|
|
208
|
+
"removed": [],
|
|
209
|
+
"breaking": false,
|
|
210
|
+
"criteriaCovered": false
|
|
211
|
+
}
|
|
212
|
+
],
|
|
213
|
+
"typeKeysUnreadableArms": [],
|
|
214
|
+
"typeKeysFlattenedCount": 225,
|
|
215
|
+
"signatures": [
|
|
216
|
+
{
|
|
217
|
+
"name": "CheckpointError.constructor",
|
|
218
|
+
"at": [
|
|
219
|
+
"src/core/checkpoint-store.ts:2433"
|
|
220
|
+
],
|
|
221
|
+
"from": [
|
|
222
|
+
"(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; })"
|
|
223
|
+
],
|
|
224
|
+
"to": [
|
|
225
|
+
"(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; differs?: readonly SteerReplayFacet[]; })"
|
|
226
|
+
],
|
|
227
|
+
"changes": [
|
|
228
|
+
{
|
|
229
|
+
"aspect": "param",
|
|
230
|
+
"detail": "param 3 `detail` type widened: … CheckpointErrorReason; [ -> differs?: readonly SteerReplayFacet[]; ]}",
|
|
231
|
+
"breaking": false
|
|
232
|
+
}
|
|
233
|
+
],
|
|
234
|
+
"breaking": false,
|
|
235
|
+
"criteriaCovered": false
|
|
236
|
+
}
|
|
237
|
+
],
|
|
238
|
+
"declarationMoves": [],
|
|
239
|
+
"mintMoves": [],
|
|
240
|
+
"criteriaObserves": [
|
|
241
|
+
{
|
|
242
|
+
"kind": "engineNoticeCode",
|
|
243
|
+
"name": "task.user_followup_undrained",
|
|
244
|
+
"assertions": [
|
|
245
|
+
"G10.a",
|
|
246
|
+
"G11.b"
|
|
247
|
+
]
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
"kind": "engineNoticeCode",
|
|
251
|
+
"name": "task.user_steer_undrained",
|
|
252
|
+
"assertions": [
|
|
253
|
+
"G10.b",
|
|
254
|
+
"G11.b"
|
|
255
|
+
]
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
"kind": "taskEventField",
|
|
259
|
+
"name": "status.detail",
|
|
260
|
+
"assertions": [
|
|
261
|
+
"G6.a"
|
|
262
|
+
]
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"kind": "taskEventField",
|
|
266
|
+
"name": "status.errClass",
|
|
267
|
+
"assertions": [
|
|
268
|
+
"G6.a",
|
|
269
|
+
"G6.c"
|
|
270
|
+
]
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
"kind": "taskEventField",
|
|
274
|
+
"name": "status.maxRetries",
|
|
275
|
+
"assertions": [
|
|
276
|
+
"G6.a"
|
|
277
|
+
]
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"kind": "typeMember",
|
|
281
|
+
"name": "CheckpointError.code",
|
|
282
|
+
"assertions": [
|
|
283
|
+
"G12.a"
|
|
284
|
+
]
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
"kind": "typeMember",
|
|
288
|
+
"name": "CheckpointError.detail",
|
|
289
|
+
"assertions": [
|
|
290
|
+
"G12.a",
|
|
291
|
+
"G12.b",
|
|
292
|
+
"G12.c",
|
|
293
|
+
"G13.d"
|
|
294
|
+
]
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
"kind": "typeMember",
|
|
298
|
+
"name": "EngineNotice.detail",
|
|
299
|
+
"assertions": [
|
|
300
|
+
"G10.a",
|
|
301
|
+
"G10.b",
|
|
302
|
+
"G11.a"
|
|
303
|
+
]
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
"kind": "typeMember",
|
|
307
|
+
"name": "FileMemoryEngineBackend.applyPatches",
|
|
308
|
+
"assertions": [
|
|
309
|
+
"G7.b",
|
|
310
|
+
"G8.a",
|
|
311
|
+
"G9.a"
|
|
312
|
+
]
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"kind": "typeMember",
|
|
316
|
+
"name": "FileMemoryEngineBackend.listHeaders",
|
|
317
|
+
"assertions": [
|
|
318
|
+
"G7.a",
|
|
319
|
+
"G8.b"
|
|
320
|
+
]
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
"kind": "typeMember",
|
|
324
|
+
"name": "MemoryEngine.eraseMemoryEntries",
|
|
325
|
+
"assertions": [
|
|
326
|
+
"G8.a"
|
|
327
|
+
]
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
"kind": "typeMember",
|
|
331
|
+
"name": "MemoryEngine.materialize",
|
|
332
|
+
"assertions": [
|
|
333
|
+
"G7.a",
|
|
334
|
+
"G8.b"
|
|
335
|
+
]
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
"kind": "typeMember",
|
|
339
|
+
"name": "PatchReport.applied",
|
|
340
|
+
"assertions": [
|
|
341
|
+
"G9.a"
|
|
342
|
+
]
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
"kind": "typeMember",
|
|
346
|
+
"name": "PatchReport.conflicts",
|
|
347
|
+
"assertions": [
|
|
348
|
+
"G7.b"
|
|
349
|
+
]
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
"kind": "typeMember",
|
|
353
|
+
"name": "TaskResult.apiFailure",
|
|
354
|
+
"assertions": [
|
|
355
|
+
"G6.d"
|
|
356
|
+
]
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
"kind": "typeMember",
|
|
360
|
+
"name": "TaskResult.terminal",
|
|
361
|
+
"assertions": [
|
|
362
|
+
"G6.b"
|
|
363
|
+
]
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
"kind": "typeMember",
|
|
367
|
+
"name": "TaskStream.steer",
|
|
368
|
+
"assertions": [
|
|
369
|
+
"G13.a",
|
|
370
|
+
"G13.b",
|
|
371
|
+
"G13.c",
|
|
372
|
+
"G13.d"
|
|
373
|
+
]
|
|
374
|
+
},
|
|
375
|
+
{
|
|
376
|
+
"kind": "typeMember",
|
|
377
|
+
"name": "WorkflowRun.errorCode",
|
|
378
|
+
"assertions": [
|
|
379
|
+
"G5.c",
|
|
380
|
+
"G5.d"
|
|
381
|
+
]
|
|
382
|
+
},
|
|
383
|
+
{
|
|
384
|
+
"kind": "typeMember",
|
|
385
|
+
"name": "WorkflowRun.parks.generation",
|
|
386
|
+
"assertions": [
|
|
387
|
+
"G1.a",
|
|
388
|
+
"G1.b",
|
|
389
|
+
"G2.a",
|
|
390
|
+
"G2.b",
|
|
391
|
+
"G2.c",
|
|
392
|
+
"G4.a",
|
|
393
|
+
"G5.a",
|
|
394
|
+
"G5.b",
|
|
395
|
+
"G5.d"
|
|
396
|
+
]
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
"kind": "typeMember",
|
|
400
|
+
"name": "WorkflowRun.parks.originRunId",
|
|
401
|
+
"assertions": [
|
|
402
|
+
"G3.a"
|
|
403
|
+
]
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
"kind": "typeMember",
|
|
407
|
+
"name": "WorkflowRun.parks.originUnconfirmed",
|
|
408
|
+
"assertions": [
|
|
409
|
+
"G3.b"
|
|
410
|
+
]
|
|
411
|
+
},
|
|
412
|
+
{
|
|
413
|
+
"kind": "typeMember",
|
|
414
|
+
"name": "WorkflowRun.parks.parkedBy",
|
|
415
|
+
"assertions": [
|
|
416
|
+
"G1.a",
|
|
417
|
+
"G1.b",
|
|
418
|
+
"G2.a",
|
|
419
|
+
"G2.b",
|
|
420
|
+
"G2.c",
|
|
421
|
+
"G3.a",
|
|
422
|
+
"G3.b",
|
|
423
|
+
"G4.a",
|
|
424
|
+
"G5.a",
|
|
425
|
+
"G5.b",
|
|
426
|
+
"G5.d"
|
|
427
|
+
]
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
"kind": "typeMember",
|
|
431
|
+
"name": "WorkflowRun.parks.token",
|
|
432
|
+
"assertions": [
|
|
433
|
+
"G2.c"
|
|
434
|
+
]
|
|
435
|
+
},
|
|
436
|
+
{
|
|
437
|
+
"kind": "typeMember",
|
|
438
|
+
"name": "WorkflowRun.status",
|
|
439
|
+
"assertions": [
|
|
440
|
+
"G4.a",
|
|
441
|
+
"G5.c"
|
|
442
|
+
]
|
|
443
|
+
}
|
|
444
|
+
],
|
|
445
|
+
"consumersHint": {
|
|
446
|
+
"cli": [
|
|
447
|
+
"CheckpointError",
|
|
448
|
+
"USER_STEER_UNDRAINED_CAUSES",
|
|
449
|
+
"UserSteerUndrainedCause",
|
|
450
|
+
"WorkflowRun"
|
|
451
|
+
],
|
|
452
|
+
"server": [
|
|
453
|
+
"CheckpointError",
|
|
454
|
+
"USER_STEER_UNDRAINED_CAUSES",
|
|
455
|
+
"UserSteerUndrainedCause",
|
|
456
|
+
"WorkflowRun"
|
|
457
|
+
],
|
|
458
|
+
"sdk": [
|
|
459
|
+
"CheckpointError",
|
|
460
|
+
"WorkflowRun"
|
|
461
|
+
],
|
|
462
|
+
"note": "scanned cli@72cc4d60 server@dd5568ac sdk@0616917 — a name listed is MENTIONED there today, which is evidence of consumption, not proof of it"
|
|
463
|
+
},
|
|
464
|
+
"breakingCount": 2,
|
|
465
|
+
"breakingItems": [
|
|
466
|
+
"export removed: USER_STEER_UNDRAINED_CAUSES (variable)",
|
|
467
|
+
"export removed: UserSteerUndrainedCause (type)"
|
|
468
|
+
]
|
|
469
|
+
}
|