agentfootprint 9.34.0 → 9.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.
- package/AGENTS.md +1 -1
- package/CLAUDE.md +3 -1
- package/ai-instructions/claude-code/SKILL.md +1 -1
- package/dist/conventions.js +14 -0
- package/dist/conventions.js.map +1 -1
- package/dist/core/Agent.js +89 -5
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/agent/AgentBuilder.js +76 -1
- package/dist/core/agent/AgentBuilder.js.map +1 -1
- package/dist/core/agent/buildAgentChart.js +8 -0
- package/dist/core/agent/buildAgentChart.js.map +1 -1
- package/dist/core/agent/buildDynamicAgentChart.js +16 -0
- package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/core/agent/buildToolRegistry.js.map +1 -1
- package/dist/core/agent/evidence/errors.js +55 -0
- package/dist/core/agent/evidence/errors.js.map +1 -0
- package/dist/core/agent/evidence/evidenceIndex.js +167 -0
- package/dist/core/agent/evidence/evidenceIndex.js.map +1 -0
- package/dist/core/agent/evidence/extract.js +145 -0
- package/dist/core/agent/evidence/extract.js.map +1 -0
- package/dist/core/agent/evidence/frames.js +44 -0
- package/dist/core/agent/evidence/frames.js.map +1 -0
- package/dist/core/agent/evidence/gate.js +206 -0
- package/dist/core/agent/evidence/gate.js.map +1 -0
- package/dist/core/agent/evidence/index.js +15 -0
- package/dist/core/agent/evidence/index.js.map +1 -0
- package/dist/core/agent/evidence/normalize.js +141 -0
- package/dist/core/agent/evidence/normalize.js.map +1 -0
- package/dist/core/agent/evidence/types.js +11 -0
- package/dist/core/agent/evidence/types.js.map +1 -0
- package/dist/core/agent/stages/evidenceRecheck.js +86 -0
- package/dist/core/agent/stages/evidenceRecheck.js.map +1 -0
- package/dist/core/agent/stages/route.js +152 -16
- package/dist/core/agent/stages/route.js.map +1 -1
- package/dist/core/agent/stages/seed.js +7 -0
- package/dist/core/agent/stages/seed.js.map +1 -1
- package/dist/esm/conventions.d.ts +7 -0
- package/dist/esm/conventions.js +14 -0
- package/dist/esm/conventions.js.map +1 -1
- package/dist/esm/core/Agent.d.ts +34 -1
- package/dist/esm/core/Agent.js +87 -3
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/agent/AgentBuilder.d.ts +66 -0
- package/dist/esm/core/agent/AgentBuilder.js +76 -1
- package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
- package/dist/esm/core/agent/buildAgentChart.d.ts +21 -0
- package/dist/esm/core/agent/buildAgentChart.js +8 -0
- package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
- package/dist/esm/core/agent/buildDynamicAgentChart.js +16 -0
- package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/esm/core/agent/buildToolRegistry.js +1 -1
- package/dist/esm/core/agent/buildToolRegistry.js.map +1 -1
- package/dist/esm/core/agent/evidence/errors.d.ts +55 -0
- package/dist/esm/core/agent/evidence/errors.js +51 -0
- package/dist/esm/core/agent/evidence/errors.js.map +1 -0
- package/dist/esm/core/agent/evidence/evidenceIndex.d.ts +73 -0
- package/dist/esm/core/agent/evidence/evidenceIndex.js +162 -0
- package/dist/esm/core/agent/evidence/evidenceIndex.js.map +1 -0
- package/dist/esm/core/agent/evidence/extract.d.ts +66 -0
- package/dist/esm/core/agent/evidence/extract.js +139 -0
- package/dist/esm/core/agent/evidence/extract.js.map +1 -0
- package/dist/esm/core/agent/evidence/frames.d.ts +36 -0
- package/dist/esm/core/agent/evidence/frames.js +40 -0
- package/dist/esm/core/agent/evidence/frames.js.map +1 -0
- package/dist/esm/core/agent/evidence/gate.d.ts +96 -0
- package/dist/esm/core/agent/evidence/gate.js +201 -0
- package/dist/esm/core/agent/evidence/gate.js.map +1 -0
- package/dist/esm/core/agent/evidence/index.d.ts +11 -0
- package/dist/esm/core/agent/evidence/index.js +11 -0
- package/dist/esm/core/agent/evidence/index.js.map +1 -0
- package/dist/esm/core/agent/evidence/normalize.d.ts +49 -0
- package/dist/esm/core/agent/evidence/normalize.js +134 -0
- package/dist/esm/core/agent/evidence/normalize.js.map +1 -0
- package/dist/esm/core/agent/evidence/types.d.ts +118 -0
- package/dist/esm/core/agent/evidence/types.js +10 -0
- package/dist/esm/core/agent/evidence/types.js.map +1 -0
- package/dist/esm/core/agent/stages/evidenceRecheck.d.ts +31 -0
- package/dist/esm/core/agent/stages/evidenceRecheck.js +82 -0
- package/dist/esm/core/agent/stages/evidenceRecheck.js.map +1 -0
- package/dist/esm/core/agent/stages/route.d.ts +3 -2
- package/dist/esm/core/agent/stages/route.js +152 -16
- package/dist/esm/core/agent/stages/route.js.map +1 -1
- package/dist/esm/core/agent/stages/seed.d.ts +8 -0
- package/dist/esm/core/agent/stages/seed.js +7 -0
- package/dist/esm/core/agent/stages/seed.js.map +1 -1
- package/dist/esm/core/agent/types.d.ts +44 -0
- package/dist/esm/events/payloads.d.ts +53 -2
- package/dist/esm/events/registry.d.ts +3 -1
- package/dist/esm/events/registry.js +2 -0
- package/dist/esm/events/registry.js.map +1 -1
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +10 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/events/registry.js +2 -0
- package/dist/events/registry.js.map +1 -1
- package/dist/index.js +50 -38
- package/dist/index.js.map +1 -1
- package/dist/types/conventions.d.ts +7 -0
- package/dist/types/conventions.d.ts.map +1 -1
- package/dist/types/core/Agent.d.ts +34 -1
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/agent/AgentBuilder.d.ts +66 -0
- package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
- package/dist/types/core/agent/buildAgentChart.d.ts +21 -0
- package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/buildToolRegistry.d.ts.map +1 -1
- package/dist/types/core/agent/evidence/errors.d.ts +56 -0
- package/dist/types/core/agent/evidence/errors.d.ts.map +1 -0
- package/dist/types/core/agent/evidence/evidenceIndex.d.ts +74 -0
- package/dist/types/core/agent/evidence/evidenceIndex.d.ts.map +1 -0
- package/dist/types/core/agent/evidence/extract.d.ts +67 -0
- package/dist/types/core/agent/evidence/extract.d.ts.map +1 -0
- package/dist/types/core/agent/evidence/frames.d.ts +37 -0
- package/dist/types/core/agent/evidence/frames.d.ts.map +1 -0
- package/dist/types/core/agent/evidence/gate.d.ts +97 -0
- package/dist/types/core/agent/evidence/gate.d.ts.map +1 -0
- package/dist/types/core/agent/evidence/index.d.ts +12 -0
- package/dist/types/core/agent/evidence/index.d.ts.map +1 -0
- package/dist/types/core/agent/evidence/normalize.d.ts +50 -0
- package/dist/types/core/agent/evidence/normalize.d.ts.map +1 -0
- package/dist/types/core/agent/evidence/types.d.ts +119 -0
- package/dist/types/core/agent/evidence/types.d.ts.map +1 -0
- package/dist/types/core/agent/stages/evidenceRecheck.d.ts +32 -0
- package/dist/types/core/agent/stages/evidenceRecheck.d.ts.map +1 -0
- package/dist/types/core/agent/stages/route.d.ts +3 -2
- package/dist/types/core/agent/stages/route.d.ts.map +1 -1
- package/dist/types/core/agent/stages/seed.d.ts +8 -0
- package/dist/types/core/agent/stages/seed.d.ts.map +1 -1
- package/dist/types/core/agent/types.d.ts +44 -0
- package/dist/types/core/agent/types.d.ts.map +1 -1
- package/dist/types/events/payloads.d.ts +53 -2
- package/dist/types/events/payloads.d.ts.map +1 -1
- package/dist/types/events/registry.d.ts +3 -1
- package/dist/types/events/registry.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* evidenceRecheck — the branch that asks again when the answer states values
|
|
3
|
+
* no tool result carried (9.35.0).
|
|
4
|
+
*
|
|
5
|
+
* Mounted as a branch of the Route decider, and only on an agent that opted
|
|
6
|
+
* into `.namesAndNumbersFromEvidence({ posture: 'guard' | 'rails' })`. It
|
|
7
|
+
* carries `{ loopTo }` to the same target the `tool-calls` branch loops to —
|
|
8
|
+
* the SchemaRetry mechanism verbatim: a correction is not a special mode, it
|
|
9
|
+
* is one more ordinary turn of the ReAct loop, with its own `iteration_start`
|
|
10
|
+
* / `llm_start` / `llm_end` bracket and its own `cost.tick` against
|
|
11
|
+
* `costBudget`. The model can spend that turn calling the tool that would
|
|
12
|
+
* actually produce the value, because it is a real turn and the tools are
|
|
13
|
+
* still on the wire.
|
|
14
|
+
*
|
|
15
|
+
* What it appends is the conversation as it really went: the answer that
|
|
16
|
+
* stated the values as the assistant turn, then a `role: 'user'` message
|
|
17
|
+
* naming them and saying what would satisfy the check. **At most once per
|
|
18
|
+
* turn** (`evidenceRevisionSpent`) — a model that cannot ground a value on
|
|
19
|
+
* its second try will not ground it on its fifth, and the retry storm that
|
|
20
|
+
* would follow is the exact failure this library exists to remove.
|
|
21
|
+
*
|
|
22
|
+
* Pure function apart from its resolved config — no Agent class state.
|
|
23
|
+
*/
|
|
24
|
+
import type { TypedScope } from 'footprintjs';
|
|
25
|
+
import type { ResolvedEvidenceGate } from '../evidence/types.js';
|
|
26
|
+
import type { AgentState } from '../types.js';
|
|
27
|
+
/**
|
|
28
|
+
* Build the recheck stage. The decider already found the values and wrote the
|
|
29
|
+
* carrier immediately before routing here — this stage does the work of asking.
|
|
30
|
+
*/
|
|
31
|
+
export declare function buildEvidenceRecheckStage(gate: ResolvedEvidenceGate): (scope: TypedScope<AgentState>) => void;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* evidenceRecheck — the branch that asks again when the answer states values
|
|
3
|
+
* no tool result carried (9.35.0).
|
|
4
|
+
*
|
|
5
|
+
* Mounted as a branch of the Route decider, and only on an agent that opted
|
|
6
|
+
* into `.namesAndNumbersFromEvidence({ posture: 'guard' | 'rails' })`. It
|
|
7
|
+
* carries `{ loopTo }` to the same target the `tool-calls` branch loops to —
|
|
8
|
+
* the SchemaRetry mechanism verbatim: a correction is not a special mode, it
|
|
9
|
+
* is one more ordinary turn of the ReAct loop, with its own `iteration_start`
|
|
10
|
+
* / `llm_start` / `llm_end` bracket and its own `cost.tick` against
|
|
11
|
+
* `costBudget`. The model can spend that turn calling the tool that would
|
|
12
|
+
* actually produce the value, because it is a real turn and the tools are
|
|
13
|
+
* still on the wire.
|
|
14
|
+
*
|
|
15
|
+
* What it appends is the conversation as it really went: the answer that
|
|
16
|
+
* stated the values as the assistant turn, then a `role: 'user'` message
|
|
17
|
+
* naming them and saying what would satisfy the check. **At most once per
|
|
18
|
+
* turn** (`evidenceRevisionSpent`) — a model that cannot ground a value on
|
|
19
|
+
* its second try will not ground it on its fifth, and the retry storm that
|
|
20
|
+
* would follow is the exact failure this library exists to remove.
|
|
21
|
+
*
|
|
22
|
+
* Pure function apart from its resolved config — no Agent class state.
|
|
23
|
+
*/
|
|
24
|
+
import { typedEmit } from '../../../recorders/core/typedEmit.js';
|
|
25
|
+
import { buildEvidenceCorrection, MAX_REPORTED_VALUES } from '../evidence/gate.js';
|
|
26
|
+
/**
|
|
27
|
+
* Build the recheck stage. The decider already found the values and wrote the
|
|
28
|
+
* carrier immediately before routing here — this stage does the work of asking.
|
|
29
|
+
*/
|
|
30
|
+
export function buildEvidenceRecheckStage(gate) {
|
|
31
|
+
return (scope) => {
|
|
32
|
+
const pending = scope.evidenceUnsupported;
|
|
33
|
+
if (pending === undefined || pending.values.length === 0) {
|
|
34
|
+
// Unreachable through the decider, which writes the carrier immediately
|
|
35
|
+
// before routing here. Returning quietly rather than throwing keeps a
|
|
36
|
+
// hand-built chart that mounts this branch without the decider from
|
|
37
|
+
// taking down a run (the SchemaRetry discipline).
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const iteration = scope.iteration;
|
|
41
|
+
const values = [...pending.values];
|
|
42
|
+
const flaggedAnswer = scope.llmLatestContent;
|
|
43
|
+
const [answerTurn, correctionTurn] = buildEvidenceCorrection(flaggedAnswer, values);
|
|
44
|
+
// The conversation, as it really went. A plain local array — a TypedScope
|
|
45
|
+
// array read is a live proxy view, and both the commit and the event
|
|
46
|
+
// payload below must be detached plain data.
|
|
47
|
+
const newHistory = [
|
|
48
|
+
...scope.history,
|
|
49
|
+
answerTurn,
|
|
50
|
+
correctionTurn,
|
|
51
|
+
];
|
|
52
|
+
scope.history = newHistory;
|
|
53
|
+
// The one-per-turn latch, spent BEFORE the loop turns: a second flagged
|
|
54
|
+
// answer is recorded and (under `rails`) refused, never re-asked.
|
|
55
|
+
scope.evidenceRevisionSpent = true;
|
|
56
|
+
// The event fires HERE, where the work is — the `steps_unfinished
|
|
57
|
+
// { action: 'nudged' }` precedent. The decider files every other outcome
|
|
58
|
+
// itself, so exactly one `evidence_checked` exists per judgement.
|
|
59
|
+
typedEmit(scope, 'agentfootprint.agent.evidence_checked', {
|
|
60
|
+
iteration,
|
|
61
|
+
posture: gate.posture,
|
|
62
|
+
candidates: pending.candidates,
|
|
63
|
+
unsupported: values.slice(0, MAX_REPORTED_VALUES),
|
|
64
|
+
action: 'revision-asked',
|
|
65
|
+
afterRevision: false,
|
|
66
|
+
});
|
|
67
|
+
// Close this iteration's bracket before the loop turns — every recorder
|
|
68
|
+
// that synthesizes steps pairs `iteration_start`/`iteration_end` per
|
|
69
|
+
// `iterIndex`, and the crash-checkpoint tracker snapshots history from
|
|
70
|
+
// this payload (the SchemaRetry stage's reasoning, verbatim).
|
|
71
|
+
typedEmit(scope, 'agentfootprint.agent.iteration_end', {
|
|
72
|
+
turnIndex: 0,
|
|
73
|
+
iterIndex: iteration,
|
|
74
|
+
toolCallCount: 0,
|
|
75
|
+
history: newHistory,
|
|
76
|
+
});
|
|
77
|
+
// A revision consumes an iteration, exactly as a tool call does — one more
|
|
78
|
+
// real turn against the agent's declared budget.
|
|
79
|
+
scope.iteration = iteration + 1;
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=evidenceRecheck.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidenceRecheck.js","sourceRoot":"","sources":["../../../../../src/core/agent/stages/evidenceRecheck.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAInF;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACvC,IAA0B;IAE1B,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,OAAO,GAAG,KAAK,CAAC,mBAAmB,CAAC;QAC1C,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,wEAAwE;YACxE,sEAAsE;YACtE,oEAAoE;YACpE,kDAAkD;YAClD,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,SAAmB,CAAC;QAC5C,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAuB,CAAC;QACzD,MAAM,aAAa,GAAG,KAAK,CAAC,gBAA0B,CAAC;QACvD,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,GAAG,uBAAuB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAEpF,0EAA0E;QAC1E,qEAAqE;QACrE,6CAA6C;QAC7C,MAAM,UAAU,GAAiB;YAC/B,GAAI,KAAK,CAAC,OAAiC;YAC3C,UAAU;YACV,cAAc;SACf,CAAC;QACF,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC;QAE3B,wEAAwE;QACxE,kEAAkE;QAClE,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAEnC,kEAAkE;QAClE,yEAAyE;QACzE,kEAAkE;QAClE,SAAS,CAAC,KAAK,EAAE,uCAAuC,EAAE;YACxD,SAAS;YACT,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC;YACjD,MAAM,EAAE,gBAAgB;YACxB,aAAa,EAAE,KAAK;SACrB,CAAC,CAAC;QAEH,wEAAwE;QACxE,qEAAqE;QACrE,uEAAuE;QACvE,8DAA8D;QAC9D,SAAS,CAAC,KAAK,EAAE,oCAAoC,EAAE;YACrD,SAAS,EAAE,CAAC;YACZ,SAAS,EAAE,SAAS;YACpB,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE,UAAU;SACpB,CAAC,CAAC;QAEH,2EAA2E;QAC3E,iDAAiD;QACjD,KAAK,CAAC,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC;IAClC,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -17,7 +17,8 @@ import type { AgentState } from '../types.js';
|
|
|
17
17
|
import type { MessageMiddleware } from '../middleware/types.js';
|
|
18
18
|
import { type ResolvedOutputEnforcement } from '../outputEnforcement.js';
|
|
19
19
|
import { type StepPlanFor } from '../../../lib/injection-engine/skillSteps.js';
|
|
20
|
-
|
|
20
|
+
import type { ResolvedEvidenceGate } from '../evidence/types.js';
|
|
21
|
+
export type RouteBranch = 'tool-calls' | 'final' | 'output-retry' | 'step-nudge' | 'evidence-recheck';
|
|
21
22
|
export declare const routeDeciderStage: (scope: TypedScope<AgentState>) => RouteBranch;
|
|
22
23
|
/**
|
|
23
24
|
* Build the Route decider, optionally carrying the `'output'` half of the
|
|
@@ -61,4 +62,4 @@ export declare const routeDeciderStage: (scope: TypedScope<AgentState>) => Route
|
|
|
61
62
|
* never judged or retried: it was withheld on purpose, and re-asking for it
|
|
62
63
|
* would be the library working around a rule the app wrote.
|
|
63
64
|
*/
|
|
64
|
-
export declare function buildRouteDeciderStage(messageMiddleware?: readonly MessageMiddleware[], enforcement?: ResolvedOutputEnforcement, stepPlanFor?: StepPlanFor): (scope: TypedScope<AgentState>) => RouteBranch | Promise<RouteBranch>;
|
|
65
|
+
export declare function buildRouteDeciderStage(messageMiddleware?: readonly MessageMiddleware[], enforcement?: ResolvedOutputEnforcement, stepPlanFor?: StepPlanFor, evidence?: ResolvedEvidenceGate): (scope: TypedScope<AgentState>) => RouteBranch | Promise<RouteBranch>;
|
|
@@ -17,6 +17,8 @@ import { runMessageChain } from '../middleware/runChain.js';
|
|
|
17
17
|
import { recordDecisions } from '../middleware/ledger.js';
|
|
18
18
|
import { judgeAnswer, recordOutputAttempt, } from '../outputEnforcement.js';
|
|
19
19
|
import { pointerOf, remainingStepsOf, stepInProgress, } from '../../../lib/injection-engine/skillSteps.js';
|
|
20
|
+
import { checkAnswer, evidenceRefusalSentence, MAX_REPORTED_VALUES } from '../evidence/gate.js';
|
|
21
|
+
import { evidenceFromHistory, exemptFromRun } from '../evidence/evidenceIndex.js';
|
|
20
22
|
/** The base decision, with the sentence that explains it. Split out so the
|
|
21
23
|
* enforcement-enabled path can decide, then judge, then announce ONCE — an
|
|
22
24
|
* agent whose answer is about to be re-asked should not have a route event
|
|
@@ -175,6 +177,118 @@ function judgeUnfinishedSteps(scope, stepPlanFor, earlyStop) {
|
|
|
175
177
|
}
|
|
176
178
|
return 'step-nudge';
|
|
177
179
|
}
|
|
180
|
+
/**
|
|
181
|
+
* Judge a WOULD-BE-FINAL answer against the evidence this turn actually read
|
|
182
|
+
* (9.35.0) — `.namesAndNumbersFromEvidence()`.
|
|
183
|
+
*
|
|
184
|
+
* Called only at a moment the decider is about to return `'final'`, and never
|
|
185
|
+
* on a denied answer (a withheld answer is not re-asked and not flagged) nor
|
|
186
|
+
* on one that already failed its output schema (it is about to be replaced
|
|
187
|
+
* wholesale, so grounding it would be paying for a turn twice). It runs AFTER
|
|
188
|
+
* the step judge for the same reason: an answer that is about to be nudged is
|
|
189
|
+
* not the final answer yet.
|
|
190
|
+
*
|
|
191
|
+
* The check itself is deterministic set membership — no model call, no
|
|
192
|
+
* embedding, no judge. See `../evidence/gate.ts` for why that is the one
|
|
193
|
+
* non-negotiable property of this feature.
|
|
194
|
+
*
|
|
195
|
+
* Four outcomes, one `evidence_checked` event each (the `'revision-asked'`
|
|
196
|
+
* one is emitted by the branch stage, where the work is — the `steps_unfinished
|
|
197
|
+
* { action: 'nudged' }` precedent):
|
|
198
|
+
*
|
|
199
|
+
* • clean → `'grounded'`, nothing else happens;
|
|
200
|
+
* • unsupported values, posture can revise, revision unspent, no limit fired
|
|
201
|
+
* → `'evidence-recheck'`: the branch names them back and loops once;
|
|
202
|
+
* • unsupported values, nothing left to try, posture `'rails'` → `'refused'`:
|
|
203
|
+
* the verdict is committed and the boundary raises instead of returning;
|
|
204
|
+
* • otherwise → `'flagged'`: the answer ships unchanged with the fact on the
|
|
205
|
+
* record and one warning naming the values.
|
|
206
|
+
*/
|
|
207
|
+
function judgeEvidence(scope, gate, earlyStop) {
|
|
208
|
+
if (gate === undefined)
|
|
209
|
+
return undefined;
|
|
210
|
+
const answer = scope.llmLatestContent ?? '';
|
|
211
|
+
const iteration = scope.iteration;
|
|
212
|
+
const afterRevision = scope.evidenceRevisionSpent === true;
|
|
213
|
+
// An empty answer states nothing. `stoppedEarly` already reports why it is
|
|
214
|
+
// empty; adding "and it cited nothing" would be noise about a non-answer.
|
|
215
|
+
if (answer === '')
|
|
216
|
+
return undefined;
|
|
217
|
+
const history = scope.history;
|
|
218
|
+
const verdict = checkAnswer(answer, {
|
|
219
|
+
gate,
|
|
220
|
+
evidence: evidenceFromHistory(history),
|
|
221
|
+
exempt: exemptFromRun({
|
|
222
|
+
userMessage: scope.userMessage,
|
|
223
|
+
history,
|
|
224
|
+
systemPromptInjections: scope.systemPromptInjections,
|
|
225
|
+
}),
|
|
226
|
+
});
|
|
227
|
+
if (verdict.unsupported.length === 0) {
|
|
228
|
+
typedEmit(scope, 'agentfootprint.agent.evidence_checked', {
|
|
229
|
+
iteration,
|
|
230
|
+
posture: gate.posture,
|
|
231
|
+
candidates: verdict.candidates,
|
|
232
|
+
unsupported: [],
|
|
233
|
+
action: 'grounded',
|
|
234
|
+
afterRevision,
|
|
235
|
+
});
|
|
236
|
+
return undefined;
|
|
237
|
+
}
|
|
238
|
+
// A revision is worth asking for only when the posture allows one, the turn
|
|
239
|
+
// has not already spent it, and no LIMIT just refused to run another turn
|
|
240
|
+
// (a correction would spend an iteration the limit denied — the step
|
|
241
|
+
// nudge's `cut-short` reasoning).
|
|
242
|
+
const mayRevise = gate.posture !== 'assist' &&
|
|
243
|
+
!afterRevision &&
|
|
244
|
+
earlyStop === undefined &&
|
|
245
|
+
// A partial evidence index can call a grounded value fabricated. Acting
|
|
246
|
+
// on one would be an accusation from a half-read corpus, so a truncated
|
|
247
|
+
// index downgrades every posture to record-only.
|
|
248
|
+
!verdict.evidenceTruncated;
|
|
249
|
+
if (mayRevise) {
|
|
250
|
+
scope.evidenceUnsupported = {
|
|
251
|
+
values: verdict.unsupported.slice(0, MAX_REPORTED_VALUES),
|
|
252
|
+
candidates: verdict.candidates,
|
|
253
|
+
};
|
|
254
|
+
return 'evidence-recheck';
|
|
255
|
+
}
|
|
256
|
+
const refused = gate.posture === 'rails' && !verdict.evidenceTruncated;
|
|
257
|
+
scope.unsupportedValues = {
|
|
258
|
+
values: verdict.unsupported.slice(0, MAX_REPORTED_VALUES),
|
|
259
|
+
candidates: verdict.candidates,
|
|
260
|
+
revised: afterRevision,
|
|
261
|
+
refused,
|
|
262
|
+
posture: gate.posture,
|
|
263
|
+
};
|
|
264
|
+
typedEmit(scope, 'agentfootprint.agent.evidence_checked', {
|
|
265
|
+
iteration,
|
|
266
|
+
posture: gate.posture,
|
|
267
|
+
candidates: verdict.candidates,
|
|
268
|
+
unsupported: verdict.unsupported.slice(0, MAX_REPORTED_VALUES),
|
|
269
|
+
action: refused ? 'refused' : 'flagged',
|
|
270
|
+
afterRevision,
|
|
271
|
+
...(verdict.evidenceTruncated && { evidenceTruncated: true }),
|
|
272
|
+
});
|
|
273
|
+
if (!refused) {
|
|
274
|
+
// Only on the shipping path: a refusal raises a teaching error at the
|
|
275
|
+
// boundary, and warning about an answer nobody receives is noise.
|
|
276
|
+
// eslint-disable-next-line no-console
|
|
277
|
+
console.warn(evidenceRefusalSentence(verdict.unsupported, gate.posture, afterRevision) +
|
|
278
|
+
(verdict.evidenceTruncated
|
|
279
|
+
? ' NOTE: this turn read more evidence than the index holds, so the check ' +
|
|
280
|
+
'recorded its verdict without acting on it.'
|
|
281
|
+
: ''));
|
|
282
|
+
}
|
|
283
|
+
return undefined;
|
|
284
|
+
}
|
|
285
|
+
/** The `route_decided` rationale for an evidence recheck. */
|
|
286
|
+
function evidenceRecheckRationale(scope) {
|
|
287
|
+
const pending = scope.evidenceUnsupported;
|
|
288
|
+
const count = pending?.values.length ?? 0;
|
|
289
|
+
return (`final answer states ${count} value(s) that appear in no tool result — ` +
|
|
290
|
+
`naming them back to the model for one revision (at most once per turn)`);
|
|
291
|
+
}
|
|
178
292
|
/** The `route_decided` rationale for a step nudge. */
|
|
179
293
|
function stepNudgeRationale(scope) {
|
|
180
294
|
const ptr = pointerOf(scope.stepPointer);
|
|
@@ -231,15 +345,18 @@ export const routeDeciderStage = (scope) => {
|
|
|
231
345
|
* never judged or retried: it was withheld on purpose, and re-asking for it
|
|
232
346
|
* would be the library working around a rule the app wrote.
|
|
233
347
|
*/
|
|
234
|
-
export function buildRouteDeciderStage(messageMiddleware, enforcement, stepPlanFor) {
|
|
348
|
+
export function buildRouteDeciderStage(messageMiddleware, enforcement, stepPlanFor, evidence) {
|
|
235
349
|
const chain = messageMiddleware ?? [];
|
|
236
|
-
if (chain.length === 0 &&
|
|
350
|
+
if (chain.length === 0 &&
|
|
351
|
+
enforcement === undefined &&
|
|
352
|
+
stepPlanFor === undefined &&
|
|
353
|
+
evidence === undefined) {
|
|
237
354
|
return routeDeciderStage;
|
|
238
355
|
}
|
|
239
356
|
if (enforcement !== undefined)
|
|
240
|
-
return buildEnforcingDecider(chain, enforcement, stepPlanFor);
|
|
241
|
-
if (stepPlanFor !== undefined)
|
|
242
|
-
return
|
|
357
|
+
return buildEnforcingDecider(chain, enforcement, stepPlanFor, evidence);
|
|
358
|
+
if (stepPlanFor !== undefined || evidence !== undefined)
|
|
359
|
+
return buildJudgingDecider(chain, stepPlanFor, evidence);
|
|
243
360
|
return async (scope) => {
|
|
244
361
|
const { chosen, rationale, earlyStop } = decideBranch(scope);
|
|
245
362
|
emitRouteDecided(scope, chosen, rationale);
|
|
@@ -273,18 +390,19 @@ export function buildRouteDeciderStage(messageMiddleware, enforcement, stepPlanF
|
|
|
273
390
|
};
|
|
274
391
|
}
|
|
275
392
|
/**
|
|
276
|
-
* The decider an agent with a STEPPED skill
|
|
277
|
-
* enforcement: decide, run the output chain if
|
|
278
|
-
* would-be-final answer against the active procedure
|
|
279
|
-
*
|
|
280
|
-
*
|
|
281
|
-
*
|
|
282
|
-
*
|
|
393
|
+
* The decider an agent with a STEPPED skill (9.18.0) and/or the evidence gate
|
|
394
|
+
* (9.35.0) runs, without schema enforcement: decide, run the output chain if
|
|
395
|
+
* there is one, judge the would-be-final answer against the active procedure
|
|
396
|
+
* and then against the evidence, THEN announce the branch once — so
|
|
397
|
+
* `route_decided` names the branch the run actually took (the enforcing
|
|
398
|
+
* decider's discipline). A DENIED answer is neither judged nor nudged nor
|
|
399
|
+
* grounded: it was withheld on purpose, and looping it would re-ask for an
|
|
400
|
+
* answer the app refused to release.
|
|
283
401
|
*
|
|
284
|
-
* Only
|
|
285
|
-
* decider (and event timing) they always had.
|
|
402
|
+
* Only agents that asked for one of those two receive this function —
|
|
403
|
+
* everyone else keeps the exact decider (and event timing) they always had.
|
|
286
404
|
*/
|
|
287
|
-
function
|
|
405
|
+
function buildJudgingDecider(chain, stepPlanFor, evidence) {
|
|
288
406
|
return async (scope) => {
|
|
289
407
|
const { chosen, rationale, earlyStop } = decideBranch(scope);
|
|
290
408
|
if (chosen !== 'final') {
|
|
@@ -313,6 +431,12 @@ function buildStepsAwareDecider(chain, stepPlanFor) {
|
|
|
313
431
|
emitRouteDecided(scope, 'step-nudge', stepNudgeRationale(scope));
|
|
314
432
|
return 'step-nudge';
|
|
315
433
|
}
|
|
434
|
+
// AFTER the step judge: an answer about to be nudged is not the final
|
|
435
|
+
// answer, and grounding it would pay for a turn that is being replaced.
|
|
436
|
+
if (!denied && judgeEvidence(scope, evidence, earlyStop) === 'evidence-recheck') {
|
|
437
|
+
emitRouteDecided(scope, 'evidence-recheck', evidenceRecheckRationale(scope));
|
|
438
|
+
return 'evidence-recheck';
|
|
439
|
+
}
|
|
316
440
|
emitRouteDecided(scope, 'final', rationale);
|
|
317
441
|
if (earlyStop !== undefined)
|
|
318
442
|
recordEarlyStop(scope, earlyStop);
|
|
@@ -325,7 +449,7 @@ function buildStepsAwareDecider(chain, stepPlanFor) {
|
|
|
325
449
|
* announce the branch — so `route_decided` names the branch the run actually
|
|
326
450
|
* took rather than the one it was heading for.
|
|
327
451
|
*/
|
|
328
|
-
function buildEnforcingDecider(chain, enforcement, stepPlanFor) {
|
|
452
|
+
function buildEnforcingDecider(chain, enforcement, stepPlanFor, evidence) {
|
|
329
453
|
return async (scope) => {
|
|
330
454
|
const base = decideBranch(scope);
|
|
331
455
|
if (base.chosen !== 'final') {
|
|
@@ -383,6 +507,13 @@ function buildEnforcingDecider(chain, enforcement, stepPlanFor) {
|
|
|
383
507
|
emitRouteDecided(scope, 'step-nudge', stepNudgeRationale(scope));
|
|
384
508
|
return 'step-nudge';
|
|
385
509
|
}
|
|
510
|
+
// The evidence gate is last of the three judges: it grounds the answer
|
|
511
|
+
// the schema accepted and the procedure finished — the one that is
|
|
512
|
+
// really about to be handed back.
|
|
513
|
+
if (judgeEvidence(scope, evidence, base.earlyStop) === 'evidence-recheck') {
|
|
514
|
+
emitRouteDecided(scope, 'evidence-recheck', evidenceRecheckRationale(scope));
|
|
515
|
+
return 'evidence-recheck';
|
|
516
|
+
}
|
|
386
517
|
emitRouteDecided(scope, 'final', base.rationale);
|
|
387
518
|
if (base.earlyStop !== undefined)
|
|
388
519
|
recordEarlyStop(scope, base.earlyStop);
|
|
@@ -439,6 +570,11 @@ function buildEnforcingDecider(chain, enforcement, stepPlanFor) {
|
|
|
439
570
|
emitRouteDecided(scope, 'step-nudge', stepNudgeRationale(scope));
|
|
440
571
|
return 'step-nudge';
|
|
441
572
|
}
|
|
573
|
+
// The evidence gate deliberately does NOT run here. This answer already
|
|
574
|
+
// failed its own contract and the caller is being told so; grounding the
|
|
575
|
+
// values inside a shape the app has declared invalid would file a second
|
|
576
|
+
// verdict about a string nobody is going to use, and under `guard` it
|
|
577
|
+
// would buy a revision for an answer that cannot pass anyway.
|
|
442
578
|
emitRouteDecided(scope, 'final', brokenByChain !== undefined
|
|
443
579
|
? `final answer satisfied the output schema until the output rule '${brokenByChain}' ` +
|
|
444
580
|
`rewrote it (${failure.stage}) — not re-asked, because the model's answer was fine`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../../src/core/agent/stages/route.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../../src/core/agent/stages/route.ts"],"names":[],"mappings":"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"}
|
|
@@ -138,6 +138,14 @@ export interface SeedStageDeps {
|
|
|
138
138
|
* exactly the keys it always did.
|
|
139
139
|
*/
|
|
140
140
|
readonly hasEscalation?: boolean;
|
|
141
|
+
/**
|
|
142
|
+
* The evidence gate is mounted with a posture that can revise (9.35.0).
|
|
143
|
+
* Gates the per-run reset of `evidenceRevisionSpent` — the one bounded
|
|
144
|
+
* revision is a per-TURN budget, so the next turn gets its own. Written
|
|
145
|
+
* only when true (the `hasSteps` discipline, two fields up), so every
|
|
146
|
+
* other agent commits exactly the keys it always did.
|
|
147
|
+
*/
|
|
148
|
+
readonly hasEvidenceRevision?: boolean;
|
|
141
149
|
}
|
|
142
150
|
/**
|
|
143
151
|
* Build the seed stage function for an Agent instance. Captures both
|
|
@@ -271,6 +271,13 @@ function seedFrom(scope, message, deps) {
|
|
|
271
271
|
scope.skillRefusalsThisTurn = 0;
|
|
272
272
|
scope.skillEscalated = false;
|
|
273
273
|
}
|
|
274
|
+
// The evidence gate's one bounded revision (9.35.0) — a per-TURN budget,
|
|
275
|
+
// so it is spent fresh here. Written only when the posture can revise, so
|
|
276
|
+
// an `'assist'` agent (and every agent without the gate) commits exactly
|
|
277
|
+
// the keys it always did.
|
|
278
|
+
if (deps.hasEvidenceRevision === true) {
|
|
279
|
+
scope.evidenceRevisionSpent = false;
|
|
280
|
+
}
|
|
274
281
|
// `.configure()` — resolved ONCE here (seed runs exactly once per run)
|
|
275
282
|
// and written to scope, which means the run's commit log records the
|
|
276
283
|
// model and instructions the run actually used. A run that changed its
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seed.js","sourceRoot":"","sources":["../../../../../src/core/agent/stages/seed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAIjE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"seed.js","sourceRoot":"","sources":["../../../../../src/core/agent/stages/seed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAIjE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAiI1D;;;GAGG;AACH,SAAS,cAAc,CAAC,OAA8B;IACpD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,OAAO,IAAI,OAAO;QAAE,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,KAAK,EAAE,CAAC;IACpE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,gBAAgB,CAC7B,KAA6B,EAC7B,MAA8B;IAE9B,KAAK,CAAC,UAAU,GAAG,MAAM,iBAAiB,CAAC;QACzC,MAAM;QACN,QAAQ,EAAE,KAAK,CAAC,WAAW;QAC3B,QAAQ,EAAE,KAAK,CAAC,UAAU;KAC3B,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAmB;IAEnB,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC;IAC7C,0EAA0E;IAC1E,0EAA0E;IAC1E,2EAA2E;IAC3E,6CAA6C;IAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,OAAO,CAAC,KAAK,EAAE,EAAE;YACf,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9D,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE;YACrB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC5D,MAAM,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE;QACrB,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAc,CAAC;QAC1C,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE;YAC3C,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,EAAE;YACX,qDAAqD;YACrD,SAAS,EAAE,CAAC;YACZ,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;SAClD,CAAC,CAAC;QACH,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,gEAAgE;YAChE,uEAAuE;YACvE,iEAAiE;YACjE,qEAAqE;YACrE,mEAAmE;YACnE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACvC,KAAK,CAAC,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;YAC3C,KAAK,CAAC,kBAAkB,GAAG,OAAO,CAAC;YACnC,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;YAC3C,kEAAkE;YAClE,wDAAwD;YACxD,qEAAqE;YACrE,sEAAsE;YACtE,wDAAwD;YACxD,KAAK,CAAC,MAAM,CAAC,4BAA4B,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QACD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACvC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,QAAQ,CAAC,KAA6B,EAAE,OAAe,EAAE,IAAmB;IACnF,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAc,CAAC;IAC1C,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;IAE5B,4DAA4D;IAC5D,6DAA6D;IAC7D,2DAA2D;IAC3D,0DAA0D;IAC1D,uCAAuC;IACvC,MAAM,aAAa,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;IACzD,MAAM,OAAO,GACX,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;QACvC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC;QACpB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3C,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAExB,wEAAwE;IACxE,uEAAuE;IACvE,gEAAgE;IAChE,4EAA4E;IAC5E,yEAAyE;IACzE,yEAAyE;IACzE,MAAM,YAAY,GAAG,IAAI,CAAC,0BAA0B,EAAE,EAAE,CAAC;IACzD,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,KAAK,CAAC,WAAW,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;IACxC,CAAC;IAED,wEAAwE;IACxE,EAAE;IACF,iEAAiE;IACjE,EAAE;IACF,mEAAmE;IACnE,2EAA2E;IAC3E,4EAA4E;IAC5E,wEAAwE;IACxE,8DAA8D;IAC9D,4EAA4E;IAC5E,6EAA6E;IAC7E,6EAA6E;IAC7E,yEAAyE;IACzE,8EAA8E;IAC9E,4EAA4E;IAC5E,4EAA4E;IAC5E,wDAAwD;IACxD,2EAA2E;IAC3E,6DAA6D;IAC7D,EAAE;IACF,uEAAuE;IACvE,sEAAsE;IACtE,6EAA6E;IAC7E,yEAAyE;IACzE,2EAA2E;IAC3E,6EAA6E;IAC7E,mEAAmE;IACnE,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC;IACpC,CAAC;SAAM,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACnC,KAAK,CAAC,WAAW,GAAG,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;QAClD,KAAK,CAAC,iBAAiB,GAAG,SAAS,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,WAAW,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,SAAS,EAAE,CAAC;IAC9E,CAAC;IACD,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;IACvB,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,6DAA6D;IAC7D,EAAE;IACF,0EAA0E;IAC1E,2EAA2E;IAC3E,yEAAyE;IACzE,2EAA2E;IAC3E,sEAAsE;IACtE,2EAA2E;IAC3E,4DAA4D;IAC5D,KAAK,CAAC,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAC3C,gEAAgE;IAChE,mEAAmE;IACnE,mEAAmE;IACnE,KAAK,CAAC,sBAAsB,GAAG,MAAM,CAAC;IACtC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;IACpB,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IACzC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC;IACxB,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAC3B,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC;IAC5B,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,KAAK,CAAC,sBAAsB,GAAG,EAAE,CAAC;IAClC,KAAK,CAAC,kBAAkB,GAAG,EAAE,CAAC;IAC9B,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;IAC3B,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC;IAC5B,KAAK,CAAC,kBAAkB,GAAG,EAAE,CAAC;IAC9B,qEAAqE;IACrE,gEAAgE;IAChE,gEAAgE;IAChE,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC;IAC1B,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC;IAC5B,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC;IAC1B,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC;IAC5B,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC;IACzB,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC;IAC1B,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC;IAC1B,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;IAC5B,IAAI,IAAI,CAAC,kBAAkB,KAAK,SAAS;QAAE,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;IAC9F,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC;IAC5B,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC;IACjC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC;IAC5C,0EAA0E;IAC1E,2EAA2E;IAC3E,yEAAyE;IACzE,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAC;IAChC,4DAA4D;IAC5D,gEAAgE;IAChE,4DAA4D;IAC5D,2DAA2D;IAC3D,2DAA2D;IAC3D,6DAA6D;IAC7D,gCAAgC;IAChC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC;IACxB,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;IAC7C,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC;IAChC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC;IACxB,6EAA6E;IAC7E,6EAA6E;IAC7E,kEAAkE;IAClE,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC;IACjC,uEAAuE;IACvE,6EAA6E;IAC7E,yEAAyE;IACzE,uEAAuE;IACvE,0EAA0E;IAC1E,MAAM,eAAe,GAAG,IAAI,CAAC,+BAA+B,EAAE,EAAE,CAAC;IACjE,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QACtE,KAAK,CAAC,cAAc,GAAG,eAAe,CAAC;IACzC,CAAC;IACD,sEAAsE;IACtE,KAAK,CAAC,gBAAgB,GAAG,SAAS,CAAC;IACnC,2EAA2E;IAC3E,oEAAoE;IACpE,yEAAyE;IACzE,qEAAqE;IACrE,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC3B,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;QACvB,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC;IAC/B,CAAC;IACD,uEAAuE;IACvE,uEAAuE;IACvE,qEAAqE;IACrE,sEAAsE;IACtE,cAAc;IACd,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;QAChC,KAAK,CAAC,qBAAqB,GAAG,CAAC,CAAC;QAChC,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC;IAC/B,CAAC;IACD,yEAAyE;IACzE,0EAA0E;IAC1E,yEAAyE;IACzE,0BAA0B;IAC1B,IAAI,IAAI,CAAC,mBAAmB,KAAK,IAAI,EAAE,CAAC;QACtC,KAAK,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACtC,CAAC;IAED,uEAAuE;IACvE,qEAAqE;IACrE,uEAAuE;IACvE,oEAAoE;IACpE,6CAA6C;IAC7C,EAAE;IACF,wEAAwE;IACxE,uEAAuE;IACvE,uCAAuC;IACvC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,QAAQ,EAAE,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;QACxE,IAAI,QAAQ,EAAE,YAAY,KAAK,SAAS;YAAE,KAAK,CAAC,oBAAoB,GAAG,QAAQ,CAAC,YAAY,CAAC;IAC/F,CAAC;IAED,SAAS,CAAC,KAAK,EAAE,iCAAiC,EAAE;QAClD,SAAS,EAAE,CAAC;QACZ,UAAU,EAAE,OAAO;KACpB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -25,6 +25,7 @@ import type { FoldedSpan, WindowRecord } from './window/types.js';
|
|
|
25
25
|
import type { MessagesDelivery } from './delivery/types.js';
|
|
26
26
|
import type { MiddlewareDecision } from './middleware/types.js';
|
|
27
27
|
import type { OutputAttempt } from './outputEnforcement.js';
|
|
28
|
+
import type { UnsupportedValue } from './evidence/types.js';
|
|
28
29
|
import type { AgentRunCheckpoint } from '../runCheckpoint.js';
|
|
29
30
|
/**
|
|
30
31
|
* Dials for the deferred observer queue (RFC-001) — only meaningful with
|
|
@@ -770,6 +771,49 @@ export interface AgentState {
|
|
|
770
771
|
* that HAD satisfied the schema — the name of that middleware. */
|
|
771
772
|
readonly brokenBy?: string;
|
|
772
773
|
};
|
|
774
|
+
/** In-flight hand-off from the Route decider (which finds the values and
|
|
775
|
+
* picks the branch) to the recheck stage (which writes the correction).
|
|
776
|
+
* Not a record — the per-check record rides the emit channel as
|
|
777
|
+
* `agentfootprint.agent.evidence_checked`, because a per-attempt fact
|
|
778
|
+
* belongs on that channel and not in a CommitBundle. Always freshly
|
|
779
|
+
* written by the decider immediately before the branch runs, so it is
|
|
780
|
+
* never read stale. Absent on an agent without the gate. */
|
|
781
|
+
evidenceUnsupported?: {
|
|
782
|
+
readonly values: readonly UnsupportedValue[];
|
|
783
|
+
/** How many distinct values the answer had to ground, flagged included. */
|
|
784
|
+
readonly candidates: number;
|
|
785
|
+
};
|
|
786
|
+
/** The one bounded revision has been spent this turn (9.35.0). Written by
|
|
787
|
+
* the EvidenceRecheck branch; reset at seed. Absent on an agent without
|
|
788
|
+
* the gate, and on one whose posture is `'assist'` (which never revises). */
|
|
789
|
+
evidenceRevisionSpent?: boolean;
|
|
790
|
+
/**
|
|
791
|
+
* The answer this run hands back states values that appear in no tool
|
|
792
|
+
* result (9.35.0).
|
|
793
|
+
*
|
|
794
|
+
* Written by the Route decider on the one occasion the check ran and the
|
|
795
|
+
* answer still carried unsupported values with no revision left. Absent on
|
|
796
|
+
* every clean answer and on every agent without the gate.
|
|
797
|
+
*
|
|
798
|
+
* Committed rather than returned for the reason `outputContractUnmet` is:
|
|
799
|
+
* `run()` returns a bare string with nowhere to carry the fact, and under
|
|
800
|
+
* `'assist'` / `'guard'` the library does not get to raise on its own. Under
|
|
801
|
+
* `'rails'` it does, and this is what the boundary reads to do it. Read it
|
|
802
|
+
* after the run with `agent.unsupportedValues()`.
|
|
803
|
+
*/
|
|
804
|
+
unsupportedValues?: {
|
|
805
|
+
/** The flagged values, normalized and truncated. */
|
|
806
|
+
readonly values: readonly UnsupportedValue[];
|
|
807
|
+
/** How many distinct values the answer had to ground in total. */
|
|
808
|
+
readonly candidates: number;
|
|
809
|
+
/** True when a revision was asked for and the values survived it. */
|
|
810
|
+
readonly revised: boolean;
|
|
811
|
+
/** True when the answer was WITHHELD (`posture: 'rails'`) rather than
|
|
812
|
+
* returned with a flag. */
|
|
813
|
+
readonly refused: boolean;
|
|
814
|
+
/** The posture in force, so a reader knows why the answer shipped. */
|
|
815
|
+
readonly posture: 'assist' | 'guard' | 'rails';
|
|
816
|
+
};
|
|
773
817
|
/** Set by the seed / prepare-final stage when a `messageMiddleware` returned
|
|
774
818
|
* `deny`. Read at the API boundary, where it becomes a `MessageDeniedError`.
|
|
775
819
|
* Never carries the refused content — see MessageDeniedError. */
|
|
@@ -119,9 +119,12 @@ export interface AgentRouteDecidedPayload {
|
|
|
119
119
|
* about to ask again rather than finish. `'step-nudge'` (9.18.0) appears
|
|
120
120
|
* only on an agent with a stepped skill, and only on a turn whose
|
|
121
121
|
* would-be-final answer left declared steps unrun with the one teaching
|
|
122
|
-
* nudge still unspent.
|
|
122
|
+
* nudge still unspent. `'evidence-recheck'` (9.35.0) appears only on an
|
|
123
|
+
* agent built with `.namesAndNumbersFromEvidence({ posture: 'guard' |
|
|
124
|
+
* 'rails' })`, and only on a turn whose would-be-final answer stated values
|
|
125
|
+
* no tool result carried, with the one revision still unspent.
|
|
123
126
|
*/
|
|
124
|
-
readonly chosen: 'tool-calls' | 'final' | 'output-retry' | 'step-nudge';
|
|
127
|
+
readonly chosen: 'tool-calls' | 'final' | 'output-retry' | 'step-nudge' | 'evidence-recheck';
|
|
125
128
|
readonly rationale?: string;
|
|
126
129
|
}
|
|
127
130
|
export interface AgentHandoffPayload {
|
|
@@ -1375,6 +1378,54 @@ export interface AgentOutputSchemaRetryPayload {
|
|
|
1375
1378
|
* join to the message in `history` and to the `outputAttempts` row. */
|
|
1376
1379
|
readonly correctiveMessageHash: string;
|
|
1377
1380
|
}
|
|
1381
|
+
/**
|
|
1382
|
+
* One verdict from the evidence gate (`.namesAndNumbersFromEvidence()`,
|
|
1383
|
+
* 9.35.0) — fired once per would-be-final answer the gate judged, whatever
|
|
1384
|
+
* the posture and whatever the outcome.
|
|
1385
|
+
*
|
|
1386
|
+
* It rides the emit channel rather than a CommitBundle because it is a fact
|
|
1387
|
+
* about ONE attempt, not conversation state; the only thing that reaches the
|
|
1388
|
+
* commit log is the terminal verdict (`unsupportedValues`), which the boundary
|
|
1389
|
+
* needs.
|
|
1390
|
+
*
|
|
1391
|
+
* **What this event does NOT claim:** the check catches values that appear in
|
|
1392
|
+
* no tool result. It cannot see a false statement assembled from real values,
|
|
1393
|
+
* so `action: 'grounded'` means "every name and number was read from
|
|
1394
|
+
* somewhere", never "the answer is true".
|
|
1395
|
+
*/
|
|
1396
|
+
export interface AgentEvidenceCheckedPayload {
|
|
1397
|
+
/** The ReAct iteration that produced the judged answer. */
|
|
1398
|
+
readonly iteration: number;
|
|
1399
|
+
/** The posture in force — `'assist'` records only, `'guard'` may revise
|
|
1400
|
+
* once, `'rails'` may withhold the answer. */
|
|
1401
|
+
readonly posture: 'assist' | 'guard' | 'rails';
|
|
1402
|
+
/** How many distinct values the answer had to ground. `0` means the answer
|
|
1403
|
+
* asserted nothing the extractor treats as data. */
|
|
1404
|
+
readonly candidates: number;
|
|
1405
|
+
/** The values that appear in no tool result, truncated to a readable list.
|
|
1406
|
+
* Empty when `action` is `'grounded'`. */
|
|
1407
|
+
readonly unsupported: readonly {
|
|
1408
|
+
readonly value: string;
|
|
1409
|
+
readonly shape: string;
|
|
1410
|
+
}[];
|
|
1411
|
+
/**
|
|
1412
|
+
* • `'grounded'` — every value was found; the answer stands.
|
|
1413
|
+
* • `'revision-asked'` — the values went back to the model for one more
|
|
1414
|
+
* turn (emitted by the EvidenceRecheck branch).
|
|
1415
|
+
* • `'flagged'` — the answer ships carrying them, on the record.
|
|
1416
|
+
* • `'refused'` — `'rails'`: the answer was withheld and the
|
|
1417
|
+
* boundary raises `UnsupportedValuesError`.
|
|
1418
|
+
*/
|
|
1419
|
+
readonly action: 'grounded' | 'flagged' | 'revision-asked' | 'refused';
|
|
1420
|
+
/** True when this judgement ran on an answer a revision already corrected —
|
|
1421
|
+
* which is how a reader tells "the revision fixed it" (`grounded`, after
|
|
1422
|
+
* revision) from "it did not" (`flagged`/`refused`, after revision). */
|
|
1423
|
+
readonly afterRevision: boolean;
|
|
1424
|
+
/** Set when the evidence index hit its ceiling and could not hold every
|
|
1425
|
+
* tool result. The gate then records its verdict WITHOUT acting on it —
|
|
1426
|
+
* a partial corpus can call a grounded value fabricated. */
|
|
1427
|
+
readonly evidenceTruncated?: boolean;
|
|
1428
|
+
}
|
|
1378
1429
|
export interface AgentOutputSchemaValidationFailedPayload {
|
|
1379
1430
|
/** Validation error message (from Zod / parser). */
|
|
1380
1431
|
readonly message: string;
|