agentfootprint 9.76.1 → 9.78.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 +188 -0
- package/CLAUDE.md +2 -0
- package/dist/core/Agent.js +86 -0
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/agent/integrityFindings.js +47 -0
- package/dist/core/agent/integrityFindings.js.map +1 -0
- package/dist/core/agent/stages/callLLM.js +28 -29
- package/dist/core/agent/stages/callLLM.js.map +1 -1
- package/dist/core/agent/stages/toolCalls.js +184 -0
- package/dist/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/core/tools.js +9 -1
- package/dist/core/tools.js.map +1 -1
- package/dist/esm/core/Agent.d.ts +10 -0
- package/dist/esm/core/Agent.js +86 -0
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/agent/integrityFindings.d.ts +27 -0
- package/dist/esm/core/agent/integrityFindings.js +43 -0
- package/dist/esm/core/agent/integrityFindings.js.map +1 -0
- package/dist/esm/core/agent/stages/callLLM.d.ts +25 -0
- package/dist/esm/core/agent/stages/callLLM.js +25 -26
- package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
- package/dist/esm/core/agent/stages/toolCalls.d.ts +43 -0
- package/dist/esm/core/agent/stages/toolCalls.js +185 -1
- package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/esm/core/agent/types.d.ts +112 -0
- package/dist/esm/core/tools.d.ts +63 -0
- package/dist/esm/core/tools.js +17 -0
- package/dist/esm/core/tools.js.map +1 -1
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +18 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/integrity/argumentLeaves.d.ts +33 -0
- package/dist/esm/integrity/argumentLeaves.js +49 -0
- package/dist/esm/integrity/argumentLeaves.js.map +1 -0
- package/dist/esm/integrity/column-types/check.d.ts +156 -0
- package/dist/esm/integrity/column-types/check.js +363 -0
- package/dist/esm/integrity/column-types/check.js.map +1 -0
- package/dist/esm/integrity/column-types/types.d.ts +121 -0
- package/dist/esm/integrity/column-types/types.js +107 -0
- package/dist/esm/integrity/column-types/types.js.map +1 -0
- package/dist/esm/integrity/disposition/lifecycle.d.ts +31 -1
- package/dist/esm/integrity/disposition/lifecycle.js +54 -1
- package/dist/esm/integrity/disposition/lifecycle.js.map +1 -1
- package/dist/esm/integrity/empty-lookup/check.d.ts +140 -0
- package/dist/esm/integrity/empty-lookup/check.js +212 -0
- package/dist/esm/integrity/empty-lookup/check.js.map +1 -0
- package/dist/esm/integrity/finding/types.d.ts +23 -2
- package/dist/esm/integrity/finding/types.js.map +1 -1
- package/dist/esm/integrity/unsupported-argument/check.js +11 -27
- package/dist/esm/integrity/unsupported-argument/check.js.map +1 -1
- package/dist/esm/lib/mcp/toolExtras.d.ts +17 -2
- package/dist/esm/lib/mcp/toolExtras.js +5 -2
- package/dist/esm/lib/mcp/toolExtras.js.map +1 -1
- package/dist/esm/lib/trace-toolpack/traceToolpack.js +8 -4
- package/dist/esm/lib/trace-toolpack/traceToolpack.js.map +1 -1
- package/dist/index.js +26 -3
- package/dist/index.js.map +1 -1
- package/dist/integrity/argumentLeaves.js +54 -0
- package/dist/integrity/argumentLeaves.js.map +1 -0
- package/dist/integrity/column-types/check.js +368 -0
- package/dist/integrity/column-types/check.js.map +1 -0
- package/dist/integrity/column-types/types.js +112 -0
- package/dist/integrity/column-types/types.js.map +1 -0
- package/dist/integrity/disposition/lifecycle.js +54 -1
- package/dist/integrity/disposition/lifecycle.js.map +1 -1
- package/dist/integrity/empty-lookup/check.js +217 -0
- package/dist/integrity/empty-lookup/check.js.map +1 -0
- package/dist/integrity/finding/types.js.map +1 -1
- package/dist/integrity/unsupported-argument/check.js +13 -29
- package/dist/integrity/unsupported-argument/check.js.map +1 -1
- package/dist/lib/mcp/toolExtras.js +4 -1
- package/dist/lib/mcp/toolExtras.js.map +1 -1
- package/dist/lib/trace-toolpack/traceToolpack.js +8 -4
- package/dist/lib/trace-toolpack/traceToolpack.js.map +1 -1
- package/dist/types/core/Agent.d.ts +10 -0
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/agent/integrityFindings.d.ts +28 -0
- package/dist/types/core/agent/integrityFindings.d.ts.map +1 -0
- package/dist/types/core/agent/stages/callLLM.d.ts +25 -0
- package/dist/types/core/agent/stages/callLLM.d.ts.map +1 -1
- package/dist/types/core/agent/stages/toolCalls.d.ts +43 -0
- package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
- package/dist/types/core/agent/types.d.ts +112 -0
- package/dist/types/core/agent/types.d.ts.map +1 -1
- package/dist/types/core/tools.d.ts +63 -0
- package/dist/types/core/tools.d.ts.map +1 -1
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/integrity/argumentLeaves.d.ts +34 -0
- package/dist/types/integrity/argumentLeaves.d.ts.map +1 -0
- package/dist/types/integrity/column-types/check.d.ts +157 -0
- package/dist/types/integrity/column-types/check.d.ts.map +1 -0
- package/dist/types/integrity/column-types/types.d.ts +122 -0
- package/dist/types/integrity/column-types/types.d.ts.map +1 -0
- package/dist/types/integrity/disposition/lifecycle.d.ts +31 -1
- package/dist/types/integrity/disposition/lifecycle.d.ts.map +1 -1
- package/dist/types/integrity/empty-lookup/check.d.ts +141 -0
- package/dist/types/integrity/empty-lookup/check.d.ts.map +1 -0
- package/dist/types/integrity/finding/types.d.ts +23 -2
- package/dist/types/integrity/finding/types.d.ts.map +1 -1
- package/dist/types/integrity/unsupported-argument/check.d.ts.map +1 -1
- package/dist/types/lib/mcp/toolExtras.d.ts +17 -2
- package/dist/types/lib/mcp/toolExtras.d.ts.map +1 -1
- package/dist/types/lib/trace-toolpack/traceToolpack.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -25,7 +25,7 @@ import { danglingReferencesOf } from '../../../integrity/dangling-reference/chec
|
|
|
25
25
|
import { declaredEnumValuesOf, unsupportedArgumentsOf, } from '../../../integrity/unsupported-argument/check.js';
|
|
26
26
|
import { toolNameOfMessage } from '../window/toolNames.js';
|
|
27
27
|
import { findStagedRefs, stagedRefsNudgeLine } from '../stagedRefs.js';
|
|
28
|
-
import {
|
|
28
|
+
import { fileIntegrityFindings } from '../integrityFindings.js';
|
|
29
29
|
import { resilienceHooks } from '../../../recorders/core/resilienceHooks.js';
|
|
30
30
|
import { emitCostTick } from '../../cost.js';
|
|
31
31
|
import { applyOutputSchema } from '../../outputSchema.js';
|
|
@@ -42,31 +42,6 @@ import { executeWithReliability, ValidationFailure, } from './reliabilityExecuti
|
|
|
42
42
|
/** The wrap-up call's tool list (9.56.0). A frozen module constant so the
|
|
43
43
|
* withholding allocates nothing on the one call it applies to. */
|
|
44
44
|
const EMPTY_TOOL_SCHEMAS = Object.freeze([]);
|
|
45
|
-
/**
|
|
46
|
-
* File integrity findings on the shared seen-list rail (9.60.0): identity
|
|
47
|
-
* dedup across passes — freshest copy first, since the tools slot may have
|
|
48
|
-
* extended the list earlier THIS pass — so one defect emits ONE
|
|
49
|
-
* `integrity.context_error` per run, however many calls re-detect it.
|
|
50
|
-
* Every seam in this stage files through here; a second copy of this loop
|
|
51
|
-
* would eventually disagree with the first about what "already filed" means.
|
|
52
|
-
*/
|
|
53
|
-
function fileIntegrityFindings(scope, findings, iteration) {
|
|
54
|
-
if (findings.length === 0)
|
|
55
|
-
return;
|
|
56
|
-
const seenIds = scope.$getValue('integrityFindingIds') ??
|
|
57
|
-
scope.$getValue('priorIntegrityFindingIds') ??
|
|
58
|
-
[];
|
|
59
|
-
const newIds = [...seenIds];
|
|
60
|
-
for (const f of findings) {
|
|
61
|
-
const id = contextErrorIdentity({ ...f, epoch: undefined });
|
|
62
|
-
if (newIds.includes(id))
|
|
63
|
-
continue;
|
|
64
|
-
newIds.push(id);
|
|
65
|
-
typedEmit(scope, 'agentfootprint.integrity.context_error', { ...f, iteration });
|
|
66
|
-
}
|
|
67
|
-
if (newIds.length > seenIds.length)
|
|
68
|
-
scope.$setValue('integrityFindingIds', newIds);
|
|
69
|
-
}
|
|
70
45
|
/**
|
|
71
46
|
* Consult the app's external-ground provider, throw-proof by law (9.72.0): a
|
|
72
47
|
* provider that throws, or returns anything but an array, contributes
|
|
@@ -556,6 +531,30 @@ export function buildCallLLMStage(deps) {
|
|
|
556
531
|
// check could be about. Stated, never silence.
|
|
557
532
|
deps.integrityLedger?.current?.note('unsupported-argument', 'choice', 'not-applicable');
|
|
558
533
|
}
|
|
534
|
+
// THE WRITE SEAM'S other half (9.77.0). `empty-lookup` is judged where
|
|
535
|
+
// the RESULT is — the tool-dispatch boundary — but a response that
|
|
536
|
+
// asked for no armed tool can never produce an armed result, and that
|
|
537
|
+
// is decidable here, at the one stage every iteration passes through.
|
|
538
|
+
// Saying it out loud is what keeps an armed row from sitting untouched
|
|
539
|
+
// through a run that simply never called a declaring tool: a
|
|
540
|
+
// not-applicable row is an answer, and an untouched one reads as rot.
|
|
541
|
+
if (deps.noticeEmptyLookups === true && armedCalls.length === 0) {
|
|
542
|
+
deps.integrityLedger?.current?.note('empty-lookup', 'write', 'not-applicable');
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
// THE COLUMN-TYPE CONTRACT's aliveness half (9.78.0), and it needs its
|
|
546
|
+
// OWN block rather than a clause in the one above: this check is armed by
|
|
547
|
+
// `resultColumns`, not by `argumentsFrom`, and an agent that declares one
|
|
548
|
+
// and not the other is the ordinary case. Same law, same reason — the
|
|
549
|
+
// rows are judged where a RESULT exists, so a response that asked for no
|
|
550
|
+
// declaring tool would otherwise leave two armed rows untouched through a
|
|
551
|
+
// whole run, and an untouched row reads as rot.
|
|
552
|
+
if (deps.columnDeclaringTools !== undefined) {
|
|
553
|
+
const declaring = deps.columnDeclaringTools;
|
|
554
|
+
if (!response.toolCalls.some((c) => declaring.has(c.name))) {
|
|
555
|
+
deps.integrityLedger?.current?.note('column-type-mismatch', 'write', 'not-applicable');
|
|
556
|
+
deps.integrityLedger?.current?.note('missing-column', 'write', 'not-applicable');
|
|
557
|
+
}
|
|
559
558
|
}
|
|
560
559
|
// `provider` here is the EFFECTIVE one — a per-skill `brain` overrides the
|
|
561
560
|
// agent's, and the bill follows the call, not the configuration.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callLLM.js","sourceRoot":"","sources":["../../../../../src/core/agent/stages/callLLM.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"callLLM.js","sourceRoot":"","sources":["../../../../../src/core/agent/stages/callLLM.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,6 +57,8 @@ import type { ToolSessionTier } from '../../toolSessions.js';
|
|
|
57
57
|
import type { ToolMiddleware } from '../middleware/types.js';
|
|
58
58
|
import { type ToolArgValidationMode } from '../toolArgsValidation.js';
|
|
59
59
|
import { type StepPlanFor } from '../../../lib/injection-engine/skillSteps.js';
|
|
60
|
+
import type { ColumnCheckMode } from '../../../integrity/column-types/check.js';
|
|
61
|
+
import type { ToolResultColumns } from '../../../integrity/column-types/types.js';
|
|
60
62
|
import type { AgentState } from '../types.js';
|
|
61
63
|
export interface ToolCallsHandlerDeps {
|
|
62
64
|
/** Map from tool name → Tool instance, built from the augmented
|
|
@@ -71,6 +73,47 @@ export interface ToolCallsHandlerDeps {
|
|
|
71
73
|
* checkpoint — bought for nobody.
|
|
72
74
|
*/
|
|
73
75
|
readonly collectClaimFacts?: boolean;
|
|
76
|
+
/**
|
|
77
|
+
* THE WRITE SEAM (9.77.0, `empty-lookup`) — the declared argument-ground
|
|
78
|
+
* edges (`Tool.argumentsFrom`) by tool name, present ONLY when the operator
|
|
79
|
+
* turned `AgentOptions.noticeEmptyLookups` on AND at least one tool declares
|
|
80
|
+
* one. Absent — the default — and not one line of the check runs.
|
|
81
|
+
*
|
|
82
|
+
* The same harvested map `callLLM` reads for the choice seam, and passed
|
|
83
|
+
* rather than re-derived from `registryByName` on purpose: the two stages
|
|
84
|
+
* must agree, by construction, about which calls are armed. Deriving it here
|
|
85
|
+
* would arm `ToolProvider`-delivered tools that the choice seam structurally
|
|
86
|
+
* cannot see, and the two seams' ledger rows would then disagree about the
|
|
87
|
+
* same run.
|
|
88
|
+
*/
|
|
89
|
+
readonly emptyLookupGrounding?: ReadonlyMap<string, readonly string[]>;
|
|
90
|
+
/**
|
|
91
|
+
* THE WRITE SEAM'S other check (9.78.0, the COLUMN-TYPE CONTRACT) — each
|
|
92
|
+
* declaring tool's `Tool.resultColumns` by tool name, present ONLY when the
|
|
93
|
+
* operator's `checkColumnTypes` dial is off `'off'` AND at least one tool
|
|
94
|
+
* declares columns. Absent — the default — and not one line of the check
|
|
95
|
+
* runs.
|
|
96
|
+
*
|
|
97
|
+
* Harvested in `Agent.buildChart` from the same catalog the other seams
|
|
98
|
+
* read, and passed rather than re-derived here for the `emptyLookupGrounding`
|
|
99
|
+
* reason: the stage that files the "nothing to judge this response"
|
|
100
|
+
* not-applicable row and the stage that judges must agree, by construction,
|
|
101
|
+
* about which tools are armed.
|
|
102
|
+
*/
|
|
103
|
+
readonly columnDeclarations?: ReadonlyMap<string, ToolResultColumns>;
|
|
104
|
+
/** What the boundary does with a column finding — `'warn'` files and changes
|
|
105
|
+
* nothing, `'enforce'` refuses the rows. Present with
|
|
106
|
+
* {@link ToolCallsDeps.columnDeclarations} or not at all. */
|
|
107
|
+
readonly columnCheckMode?: ColumnCheckMode;
|
|
108
|
+
/**
|
|
109
|
+
* The per-run disposition ledger, by REFERENCE (9.60.0) — the same holder
|
|
110
|
+
* `callLLM` and the tools slot are handed, shared through the build closure
|
|
111
|
+
* and never scope state. Read by the write-seam check only; a handler built
|
|
112
|
+
* without it simply files no rows.
|
|
113
|
+
*/
|
|
114
|
+
readonly integrityLedger?: {
|
|
115
|
+
current: import('../../../integrity/disposition/ledger.js').DispositionLedger | undefined;
|
|
116
|
+
};
|
|
74
117
|
/** Optional external `.toolProvider()` for per-iteration dynamic
|
|
75
118
|
* tools (skill-scoped, multi-tenant, etc.). Consulted only when
|
|
76
119
|
* the static registry doesn't have the tool. */
|
|
@@ -70,7 +70,10 @@ import { applyResultCeiling } from '../resultCeiling.js';
|
|
|
70
70
|
import { currentStepOf, pointerOf, readSkillStepIntro, skipAdvanceSentence, skipHoldSentence, skipNeedsReasonSentence, skipNothingActiveSentence, stepAdvanceSuffix, stepInProgress, SKIP_STEP_TOOL_NAME, } from '../../../lib/injection-engine/skillSteps.js';
|
|
71
71
|
import { explainSemantics, readSemantics, semanticsForModel, } from '../../../lib/semantics/envelope.js';
|
|
72
72
|
import { claimRowsOf } from '../../../integrity/unsupported-claim/ledger.js';
|
|
73
|
-
import {
|
|
73
|
+
import { emptyLookupOf, readLookupResult } from '../../../integrity/empty-lookup/check.js';
|
|
74
|
+
import { columnTypesOf, readRowset } from '../../../integrity/column-types/check.js';
|
|
75
|
+
import { fileIntegrityFindings } from '../integrityFindings.js';
|
|
76
|
+
import { readAbsence, readCoverageResult, } from '../coverage/index.js';
|
|
74
77
|
import { explainStatusOnlyNearMiss, pruneLeases, readToolResultEnvelope, tenantOf, } from '../toolEffects.js';
|
|
75
78
|
/** Declaration order preserved, ids de-duplicated — the shape the gate's re-prompt
|
|
76
79
|
* and the `skill.rejected` payload both report as "what this gate accepts". */
|
|
@@ -312,6 +315,73 @@ export function buildToolCallsHandler(deps) {
|
|
|
312
315
|
});
|
|
313
316
|
return verdict.refusal;
|
|
314
317
|
};
|
|
318
|
+
/**
|
|
319
|
+
* THE COLUMN-TYPE CONTRACT (9.78.0) — the tool declared what its rows
|
|
320
|
+
* contain, and this is where the rows are.
|
|
321
|
+
*
|
|
322
|
+
* Placed at the SAME execute boundaries as `refuseOverCeiling` and for the
|
|
323
|
+
* same reason: `resultColumns` is the TOOL AUTHOR's contract on the tool's
|
|
324
|
+
* OWN return, so it is judged the moment the handler's value lands, before
|
|
325
|
+
* governance, before placement, before the cap — and a resumed call is
|
|
326
|
+
* judged exactly as an inline one.
|
|
327
|
+
*
|
|
328
|
+
* AFTER the ceiling, deliberately. A payload the model will never read has
|
|
329
|
+
* no columns worth arguing about, and judging one that was already refused
|
|
330
|
+
* would file findings about rows nobody was ever served.
|
|
331
|
+
*
|
|
332
|
+
* `undefined` = nothing declared, nothing to refuse, or `'warn'` — the
|
|
333
|
+
* caller keeps today's path byte for byte. A string is the teaching
|
|
334
|
+
* refusal, which under `'enforce'` replaces the payload on every channel,
|
|
335
|
+
* exactly as the ceiling's does.
|
|
336
|
+
*
|
|
337
|
+
* The three field failures this exists for: LUN 0 stored as an empty string
|
|
338
|
+
* on 2,094 mappings; an 8 MiB disk rendered `0.0 GB`; a whole tool family
|
|
339
|
+
* returning its numbers as quoted strings. This catches the first and the
|
|
340
|
+
* third. It cannot catch the second — that is MEANING, and the ceiling
|
|
341
|
+
* sentence in every finding says so.
|
|
342
|
+
*/
|
|
343
|
+
const judgeColumns = (scope, call, value) => {
|
|
344
|
+
const declarations = deps.columnDeclarations;
|
|
345
|
+
if (declarations === undefined)
|
|
346
|
+
return undefined;
|
|
347
|
+
const columns = declarations.get(call.toolName);
|
|
348
|
+
if (columns === undefined)
|
|
349
|
+
return undefined;
|
|
350
|
+
const { findings, disposition, refusal } = columnTypesOf({
|
|
351
|
+
toolName: call.toolName,
|
|
352
|
+
toolCallId: call.toolCallId,
|
|
353
|
+
columns,
|
|
354
|
+
reading: readRowset(value),
|
|
355
|
+
mode: deps.columnCheckMode ?? 'warn',
|
|
356
|
+
}, call.iteration);
|
|
357
|
+
// ONE encounter, TWO rows. The declaration arms both checks and a call
|
|
358
|
+
// meets both at once, so both must answer for it — a shape that is not a
|
|
359
|
+
// rowset is `not-applicable` to each, and a clean rowset is a
|
|
360
|
+
// `checked-pass` for each. Filing one row would leave the other check
|
|
361
|
+
// looking untouched, which is the rot signal, not the truth.
|
|
362
|
+
const ledger = deps.integrityLedger?.current;
|
|
363
|
+
for (const kind of ['column-type-mismatch', 'missing-column']) {
|
|
364
|
+
const kindFired = findings.some((f) => f.kind === kind);
|
|
365
|
+
// A rowset this check could read, where THIS kind found nothing, is a
|
|
366
|
+
// pass for THIS kind even when its sibling failed: the columns really
|
|
367
|
+
// were all present, or really did all hold their declared type.
|
|
368
|
+
const row = disposition === 'not-applicable'
|
|
369
|
+
? 'not-applicable'
|
|
370
|
+
: kindFired
|
|
371
|
+
? 'checked-fail'
|
|
372
|
+
: 'checked-pass';
|
|
373
|
+
ledger?.note(kind, 'write', row, kindFired ? Date.now() : undefined);
|
|
374
|
+
}
|
|
375
|
+
// The findings ARE the record of a refusal: each one names what was
|
|
376
|
+
// refused, which column, how many rows, and — through `outcomeClause` —
|
|
377
|
+
// that the model read a sentence instead of the rows. Deliberately NOT
|
|
378
|
+
// `tools.result_refused`: that event's whole vocabulary is a SIZE
|
|
379
|
+
// (`sizeChars`, `maxChars`), and reusing it here would put a fabricated
|
|
380
|
+
// ceiling on the record to describe a refusal that had nothing to do
|
|
381
|
+
// with size.
|
|
382
|
+
fileIntegrityFindings(scope, findings, call.iteration);
|
|
383
|
+
return refusal;
|
|
384
|
+
};
|
|
315
385
|
/**
|
|
316
386
|
* Coverage declarations — `absent(…)` and `coverage(…)`, recognized at the
|
|
317
387
|
* SAME execute boundaries the ceiling is measured at (one implementation,
|
|
@@ -382,6 +452,75 @@ export function buildToolCallsHandler(deps) {
|
|
|
382
452
|
scope.coverageDeclared = [...(scope.coverageDeclared ?? []), ...rows];
|
|
383
453
|
return reading.status;
|
|
384
454
|
};
|
|
455
|
+
/**
|
|
456
|
+
* THE WRITE SEAM (9.77.0) — `empty-lookup`, at the one moment a lookup's
|
|
457
|
+
* answer becomes a fact in the conversation.
|
|
458
|
+
*
|
|
459
|
+
* The recorded failure this exists for: a reverse-lookup tool filtered a
|
|
460
|
+
* column before a pivot, so EVERY lookup returned an empty result, for
|
|
461
|
+
* every identifier, always — and the agent reported, with confidence and in
|
|
462
|
+
* a table, that the device was logged in nowhere. It was logged in the
|
|
463
|
+
* whole time. An empty result from a broken filter is byte-identical to an
|
|
464
|
+
* empty result from a genuine absence, so nothing anywhere could notice.
|
|
465
|
+
*
|
|
466
|
+
* What CAN be noticed is the pair: the run itself produced this identifier
|
|
467
|
+
* (it came out of a result from a tool this one's author named in
|
|
468
|
+
* `argumentsFrom`), and the lookup keyed on it came back empty. The finding
|
|
469
|
+
* is an ADVISORY and says so — an empty answer can be perfectly true, and
|
|
470
|
+
* this cannot tell which one it is looking at.
|
|
471
|
+
*
|
|
472
|
+
* Judged on the TOOL'S OWN answer, before the after-tool chain rewrites it
|
|
473
|
+
* for the model: whether the lookup found anything is a fact about the
|
|
474
|
+
* tool, not about what a governance rule then did with it. A refused,
|
|
475
|
+
* placed or capped result reads as bespoke anyway — a claim ticket has no
|
|
476
|
+
* rows to count.
|
|
477
|
+
*/
|
|
478
|
+
const noticeEmptyLookup = (scope, call, args, result, history,
|
|
479
|
+
/** The call produced a real result to read (ran, no error, nothing refused it). */
|
|
480
|
+
answered) => {
|
|
481
|
+
const grounding = deps.emptyLookupGrounding;
|
|
482
|
+
if (grounding === undefined)
|
|
483
|
+
return;
|
|
484
|
+
const argumentsFrom = grounding.get(call.toolName);
|
|
485
|
+
if (argumentsFrom === undefined)
|
|
486
|
+
return;
|
|
487
|
+
const ledger = deps.integrityLedger?.current;
|
|
488
|
+
// A call that never ran, was denied, errored or had its payload refused
|
|
489
|
+
// produced no lookup result to read. Not a pass, not a fail — the check
|
|
490
|
+
// met its subject and the subject is out of scope BY RULE, which is what
|
|
491
|
+
// `not-applicable` is for. Stated, never silence.
|
|
492
|
+
if (!answered) {
|
|
493
|
+
ledger?.note('empty-lookup', 'write', 'not-applicable');
|
|
494
|
+
return;
|
|
495
|
+
}
|
|
496
|
+
// The producer corpus: every earlier `role: 'tool'` message from a tool
|
|
497
|
+
// THIS tool declares as one of its grounds. `history` here excludes the
|
|
498
|
+
// call being judged (it is pushed after), and a producer called earlier
|
|
499
|
+
// in the same batch is already in it — which is right: the model can only
|
|
500
|
+
// have taken a value from a result it had already been served.
|
|
501
|
+
const produced = [];
|
|
502
|
+
for (const message of history) {
|
|
503
|
+
if (message.role !== 'tool')
|
|
504
|
+
continue;
|
|
505
|
+
const name = message.toolName;
|
|
506
|
+
if (typeof name !== 'string' || !argumentsFrom.includes(name))
|
|
507
|
+
continue;
|
|
508
|
+
produced.push({ toolName: name, text: message.content });
|
|
509
|
+
}
|
|
510
|
+
const { findings, disposition } = emptyLookupOf({
|
|
511
|
+
toolName: call.toolName,
|
|
512
|
+
toolCallId: call.toolCallId,
|
|
513
|
+
args,
|
|
514
|
+
argumentsFrom,
|
|
515
|
+
// `readAbsence` is the ONE owner of the `af_absent` marker; the pure
|
|
516
|
+
// check is handed its verdict rather than re-deriving it, so
|
|
517
|
+
// `src/integrity/` stays a leaf and the reserved word keeps one
|
|
518
|
+
// spelling.
|
|
519
|
+
reading: readLookupResult(result, readAbsence(result) !== undefined),
|
|
520
|
+
}, produced, call.iteration);
|
|
521
|
+
ledger?.note('empty-lookup', 'write', disposition, disposition === 'checked-fail' ? Date.now() : undefined);
|
|
522
|
+
fileIntegrityFindings(scope, findings, call.iteration);
|
|
523
|
+
};
|
|
385
524
|
/**
|
|
386
525
|
* The semantic envelope (9.53.0) — recognized at the SAME execute
|
|
387
526
|
* boundaries as coverage and the ceiling (one implementation, every door),
|
|
@@ -1462,6 +1601,22 @@ export function buildToolCallsHandler(deps) {
|
|
|
1462
1601
|
envelope: { ...envelope, content: refusal, status: 'invalid' },
|
|
1463
1602
|
};
|
|
1464
1603
|
}
|
|
1604
|
+
// The column-type contract (9.78.0), at the same door and one step
|
|
1605
|
+
// after the ceiling. `'warn'` files and returns undefined — this
|
|
1606
|
+
// path keeps every byte it had.
|
|
1607
|
+
const columnRefusal = judgeColumns(scope, { toolName, toolCallId, iteration }, content);
|
|
1608
|
+
if (columnRefusal !== undefined) {
|
|
1609
|
+
return {
|
|
1610
|
+
result: columnRefusal,
|
|
1611
|
+
executed: true,
|
|
1612
|
+
// The ceiling's flag, reused for the ceiling's reason: a refused
|
|
1613
|
+
// payload must not advance the step pointer on any path, and
|
|
1614
|
+
// there is exactly one fact here — the model did not get the
|
|
1615
|
+
// result — not two spellings of it.
|
|
1616
|
+
ceilingRefused: true,
|
|
1617
|
+
envelope: { ...envelope, content: columnRefusal, status: 'invalid' },
|
|
1618
|
+
};
|
|
1619
|
+
}
|
|
1465
1620
|
return {
|
|
1466
1621
|
result: content,
|
|
1467
1622
|
executed: true,
|
|
@@ -1493,6 +1648,17 @@ export function buildToolCallsHandler(deps) {
|
|
|
1493
1648
|
envelope: { content: refusal, effects: [], status: 'invalid', malformed: [] },
|
|
1494
1649
|
};
|
|
1495
1650
|
}
|
|
1651
|
+
// The column-type contract on this path's own execute boundary — a
|
|
1652
|
+
// resumed call's rows are judged exactly as an inline one's.
|
|
1653
|
+
const columnRefusal = judgeColumns(scope, { toolName, toolCallId, iteration }, result);
|
|
1654
|
+
if (columnRefusal !== undefined) {
|
|
1655
|
+
return {
|
|
1656
|
+
result: columnRefusal,
|
|
1657
|
+
executed: true,
|
|
1658
|
+
ceilingRefused: true,
|
|
1659
|
+
envelope: { content: columnRefusal, effects: [], status: 'invalid', malformed: [] },
|
|
1660
|
+
};
|
|
1661
|
+
}
|
|
1496
1662
|
// A status-only shape missing its `effects: []` marker is DATA (bytes
|
|
1497
1663
|
// unchanged) — but never silently: name the dropped marker in dev mode.
|
|
1498
1664
|
const nearMiss = explainStatusOnlyNearMiss(result);
|
|
@@ -2231,6 +2397,18 @@ export function buildToolCallsHandler(deps) {
|
|
|
2231
2397
|
result = overflowRefusal;
|
|
2232
2398
|
toolStatus = 'invalid';
|
|
2233
2399
|
}
|
|
2400
|
+
else {
|
|
2401
|
+
// The column-type contract (9.78.0) — the main batch-loop
|
|
2402
|
+
// door, one step after the ceiling. Only when the payload
|
|
2403
|
+
// survived it: rows nobody will read have no columns worth
|
|
2404
|
+
// arguing about.
|
|
2405
|
+
const columnRefusal = judgeColumns(scope, { toolName: tc.name, toolCallId: tc.id, iteration }, result);
|
|
2406
|
+
if (columnRefusal !== undefined) {
|
|
2407
|
+
ceilingRefused = true;
|
|
2408
|
+
result = columnRefusal;
|
|
2409
|
+
toolStatus = 'invalid';
|
|
2410
|
+
}
|
|
2411
|
+
}
|
|
2234
2412
|
await endCall(tc.id);
|
|
2235
2413
|
}
|
|
2236
2414
|
catch (err) {
|
|
@@ -2423,6 +2601,12 @@ export function buildToolCallsHandler(deps) {
|
|
|
2423
2601
|
// placed: a refusal is already short, and 'tool-result/<name>' must
|
|
2424
2602
|
// never claim an error is the tool's result.
|
|
2425
2603
|
const placedValues = await placeResults(scope, { toolName: tc.name, toolCallId: tc.id, iteration }, { result, modelResult: rawModelResult }, executed && !error && !denied && !ceilingRefused);
|
|
2604
|
+
// The write seam (9.77.0) — judged on `result`, the tool's own answer,
|
|
2605
|
+
// and on `newHistory`, which at this point holds every earlier tool
|
|
2606
|
+
// result and not yet this one. Same guard the placement decision uses:
|
|
2607
|
+
// a call that did not run, errored, was denied or had its payload
|
|
2608
|
+
// refused has no lookup answer to read.
|
|
2609
|
+
noticeEmptyLookup(scope, { toolName: tc.name, toolCallId: tc.id, iteration }, callArgs, result, newHistory, executed && !error && !denied && !ceilingRefused);
|
|
2426
2610
|
// The ceiling, last — after the tool, after the chain. A rule that
|
|
2427
2611
|
// already summarized a huge result is measured on what it produced, so
|
|
2428
2612
|
// the cap composes with governance rather than pre-empting it.
|