agentfootprint 9.112.2 → 9.113.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 +296 -0
- package/CLAUDE.md +1 -0
- package/dist/adapters/observability/audit.js +8 -0
- package/dist/adapters/observability/audit.js.map +1 -1
- package/dist/adapters/observability/otel.js +44 -2
- package/dist/adapters/observability/otel.js.map +1 -1
- package/dist/adapters/observability/xray.js +19 -0
- package/dist/adapters/observability/xray.js.map +1 -1
- package/dist/adapters/types.js.map +1 -1
- package/dist/core/Agent.js +11 -1
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/agent/composeRequest.js +19 -11
- package/dist/core/agent/composeRequest.js.map +1 -1
- package/dist/core/agent/coverage/absent.js +163 -7
- package/dist/core/agent/coverage/absent.js.map +1 -1
- package/dist/core/agent/coverage/answer.js +3 -1
- package/dist/core/agent/coverage/answer.js.map +1 -1
- package/dist/core/agent/coverage/read.js +15 -11
- package/dist/core/agent/coverage/read.js.map +1 -1
- package/dist/core/agent/findings/ledger.js +27 -5
- package/dist/core/agent/findings/ledger.js.map +1 -1
- package/dist/core/agent/findings/offer.js +29 -9
- package/dist/core/agent/findings/offer.js.map +1 -1
- package/dist/core/agent/findings/serve.js +76 -7
- package/dist/core/agent/findings/serve.js.map +1 -1
- package/dist/core/agent/findings/types.js.map +1 -1
- package/dist/core/agent/findings/unsettled.js +276 -0
- package/dist/core/agent/findings/unsettled.js.map +1 -0
- package/dist/core/agent/stages/callLLM.js +30 -8
- package/dist/core/agent/stages/callLLM.js.map +1 -1
- package/dist/core/agent/stages/route.js +10 -2
- package/dist/core/agent/stages/route.js.map +1 -1
- package/dist/core/agent/stages/toolCalls.js +247 -31
- package/dist/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/core/agent/stages/window.js +5 -2
- package/dist/core/agent/stages/window.js.map +1 -1
- package/dist/core/agent/toolResultCap.js +0 -0
- package/dist/core/agent/toolResultCap.js.map +1 -1
- package/dist/core/agent/window/ledgerFactPins.js +13 -2
- package/dist/core/agent/window/ledgerFactPins.js.map +1 -1
- package/dist/core/agent/window/toolNames.js +17 -2
- package/dist/core/agent/window/toolNames.js.map +1 -1
- package/dist/core/checkin.js +5 -1
- package/dist/core/checkin.js.map +1 -1
- package/dist/core/runCheckpoint.js +26 -2
- package/dist/core/runCheckpoint.js.map +1 -1
- package/dist/esm/adapters/observability/audit.d.ts +8 -0
- package/dist/esm/adapters/observability/audit.js +8 -0
- package/dist/esm/adapters/observability/audit.js.map +1 -1
- package/dist/esm/adapters/observability/otel.d.ts +17 -2
- package/dist/esm/adapters/observability/otel.js +44 -2
- package/dist/esm/adapters/observability/otel.js.map +1 -1
- package/dist/esm/adapters/observability/xray.d.ts +8 -0
- package/dist/esm/adapters/observability/xray.js +19 -0
- package/dist/esm/adapters/observability/xray.js.map +1 -1
- package/dist/esm/adapters/types.d.ts +49 -0
- package/dist/esm/adapters/types.js.map +1 -1
- package/dist/esm/core/Agent.js +11 -1
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/agent/composeRequest.d.ts +10 -7
- package/dist/esm/core/agent/composeRequest.js +19 -11
- package/dist/esm/core/agent/composeRequest.js.map +1 -1
- package/dist/esm/core/agent/coverage/absent.d.ts +31 -4
- package/dist/esm/core/agent/coverage/absent.js +160 -6
- package/dist/esm/core/agent/coverage/absent.js.map +1 -1
- package/dist/esm/core/agent/coverage/answer.js +3 -1
- package/dist/esm/core/agent/coverage/answer.js.map +1 -1
- package/dist/esm/core/agent/coverage/index.d.ts +1 -1
- package/dist/esm/core/agent/coverage/read.d.ts +9 -1
- package/dist/esm/core/agent/coverage/read.js +16 -12
- package/dist/esm/core/agent/coverage/read.js.map +1 -1
- package/dist/esm/core/agent/coverage/types.d.ts +42 -0
- package/dist/esm/core/agent/findings/ledger.d.ts +23 -6
- package/dist/esm/core/agent/findings/ledger.js +27 -5
- package/dist/esm/core/agent/findings/ledger.js.map +1 -1
- package/dist/esm/core/agent/findings/offer.d.ts +23 -6
- package/dist/esm/core/agent/findings/offer.js +27 -8
- package/dist/esm/core/agent/findings/offer.js.map +1 -1
- package/dist/esm/core/agent/findings/serve.d.ts +19 -6
- package/dist/esm/core/agent/findings/serve.js +77 -8
- package/dist/esm/core/agent/findings/serve.js.map +1 -1
- package/dist/esm/core/agent/findings/types.d.ts +81 -1
- package/dist/esm/core/agent/findings/types.js.map +1 -1
- package/dist/esm/core/agent/findings/unsettled.d.ts +121 -0
- package/dist/esm/core/agent/findings/unsettled.js +271 -0
- package/dist/esm/core/agent/findings/unsettled.js.map +1 -0
- package/dist/esm/core/agent/stages/callLLM.js +30 -8
- package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
- package/dist/esm/core/agent/stages/route.js +10 -2
- package/dist/esm/core/agent/stages/route.js.map +1 -1
- package/dist/esm/core/agent/stages/toolCalls.d.ts +90 -2
- package/dist/esm/core/agent/stages/toolCalls.js +244 -31
- package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/esm/core/agent/stages/window.js +5 -2
- package/dist/esm/core/agent/stages/window.js.map +1 -1
- package/dist/esm/core/agent/toolResultCap.d.ts +4 -1
- package/dist/esm/core/agent/toolResultCap.js +0 -0
- package/dist/esm/core/agent/toolResultCap.js.map +1 -1
- package/dist/esm/core/agent/types.d.ts +5 -0
- package/dist/esm/core/agent/window/ledgerFactPins.d.ts +10 -1
- package/dist/esm/core/agent/window/ledgerFactPins.js +13 -2
- package/dist/esm/core/agent/window/ledgerFactPins.js.map +1 -1
- package/dist/esm/core/agent/window/strategy.d.ts +2 -1
- package/dist/esm/core/agent/window/toolNames.d.ts +16 -1
- package/dist/esm/core/agent/window/toolNames.js +17 -2
- package/dist/esm/core/agent/window/toolNames.js.map +1 -1
- package/dist/esm/core/checkin.js +5 -1
- package/dist/esm/core/checkin.js.map +1 -1
- package/dist/esm/core/runCheckpoint.js +26 -2
- package/dist/esm/core/runCheckpoint.js.map +1 -1
- package/dist/esm/events/payloads.d.ts +76 -1
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/bug-report/transcript.d.ts +5 -0
- package/dist/esm/lib/bug-report/transcript.js +1 -0
- package/dist/esm/lib/bug-report/transcript.js.map +1 -1
- package/dist/esm/lib/semantics/projection.js +1 -0
- package/dist/esm/lib/semantics/projection.js.map +1 -1
- package/dist/esm/lib/time-travel/receipt.d.ts +4 -3
- package/dist/esm/lib/time-travel/receipt.js +4 -3
- package/dist/esm/lib/time-travel/receipt.js.map +1 -1
- package/dist/esm/lib/time-travel/servedView.js +13 -9
- package/dist/esm/lib/time-travel/servedView.js.map +1 -1
- package/dist/esm/lib/trace-toolpack/traceToolpack.js +130 -17
- package/dist/esm/lib/trace-toolpack/traceToolpack.js.map +1 -1
- package/dist/esm/memory/causal/evidenceRecorder.d.ts +2 -0
- package/dist/esm/memory/causal/evidenceRecorder.js +13 -0
- package/dist/esm/memory/causal/evidenceRecorder.js.map +1 -1
- package/dist/esm/recorders/observability/AgentThinkingTraceRecorder.d.ts +2 -0
- package/dist/esm/recorders/observability/AgentThinkingTraceRecorder.js +11 -0
- package/dist/esm/recorders/observability/AgentThinkingTraceRecorder.js.map +1 -1
- package/dist/esm/recorders/observability/BoundaryRecorder.d.ts +10 -1
- package/dist/esm/recorders/observability/BoundaryRecorder.js +9 -1
- package/dist/esm/recorders/observability/BoundaryRecorder.js.map +1 -1
- package/dist/esm/recorders/observability/FlowchartRecorder.d.ts +4 -1
- package/dist/esm/recorders/observability/FlowchartRecorder.js +13 -1
- package/dist/esm/recorders/observability/FlowchartRecorder.js.map +1 -1
- package/dist/esm/recorders/observability/LiveStateRecorder.d.ts +2 -0
- package/dist/esm/recorders/observability/LiveStateRecorder.js +9 -0
- package/dist/esm/recorders/observability/LiveStateRecorder.js.map +1 -1
- package/dist/esm/recorders/observability/RouteRecorder.js +5 -0
- package/dist/esm/recorders/observability/RouteRecorder.js.map +1 -1
- package/dist/esm/recorders/observability/StatusRecorder.js +7 -0
- package/dist/esm/recorders/observability/StatusRecorder.js.map +1 -1
- package/dist/esm/recorders/observability/ToolChoiceRecorder.js +5 -0
- package/dist/esm/recorders/observability/ToolChoiceRecorder.js.map +1 -1
- package/dist/esm/recorders/observability/commentary/commentaryTemplates.js +18 -2
- package/dist/esm/recorders/observability/commentary/commentaryTemplates.js.map +1 -1
- package/dist/esm/recorders/observability/status/statusTemplates.js +5 -0
- package/dist/esm/recorders/observability/status/statusTemplates.js.map +1 -1
- package/dist/esm/security/extractSequence.d.ts +36 -5
- package/dist/esm/security/extractSequence.js +99 -26
- package/dist/esm/security/extractSequence.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/bug-report/transcript.js +1 -0
- package/dist/lib/bug-report/transcript.js.map +1 -1
- package/dist/lib/semantics/projection.js +1 -0
- package/dist/lib/semantics/projection.js.map +1 -1
- package/dist/lib/time-travel/receipt.js +4 -3
- package/dist/lib/time-travel/receipt.js.map +1 -1
- package/dist/lib/time-travel/servedView.js +13 -9
- package/dist/lib/time-travel/servedView.js.map +1 -1
- package/dist/lib/trace-toolpack/traceToolpack.js +130 -17
- package/dist/lib/trace-toolpack/traceToolpack.js.map +1 -1
- package/dist/memory/causal/evidenceRecorder.js +13 -0
- package/dist/memory/causal/evidenceRecorder.js.map +1 -1
- package/dist/recorders/observability/AgentThinkingTraceRecorder.js +11 -0
- package/dist/recorders/observability/AgentThinkingTraceRecorder.js.map +1 -1
- package/dist/recorders/observability/BoundaryRecorder.js +9 -1
- package/dist/recorders/observability/BoundaryRecorder.js.map +1 -1
- package/dist/recorders/observability/FlowchartRecorder.js +13 -1
- package/dist/recorders/observability/FlowchartRecorder.js.map +1 -1
- package/dist/recorders/observability/LiveStateRecorder.js +9 -0
- package/dist/recorders/observability/LiveStateRecorder.js.map +1 -1
- package/dist/recorders/observability/RouteRecorder.js +5 -0
- package/dist/recorders/observability/RouteRecorder.js.map +1 -1
- package/dist/recorders/observability/StatusRecorder.js +7 -0
- package/dist/recorders/observability/StatusRecorder.js.map +1 -1
- package/dist/recorders/observability/ToolChoiceRecorder.js +5 -0
- package/dist/recorders/observability/ToolChoiceRecorder.js.map +1 -1
- package/dist/recorders/observability/commentary/commentaryTemplates.js +18 -2
- package/dist/recorders/observability/commentary/commentaryTemplates.js.map +1 -1
- package/dist/recorders/observability/status/statusTemplates.js +5 -0
- package/dist/recorders/observability/status/statusTemplates.js.map +1 -1
- package/dist/security/extractSequence.js +99 -26
- package/dist/security/extractSequence.js.map +1 -1
- package/dist/types/adapters/observability/audit.d.ts +8 -0
- package/dist/types/adapters/observability/audit.d.ts.map +1 -1
- package/dist/types/adapters/observability/otel.d.ts +17 -2
- package/dist/types/adapters/observability/otel.d.ts.map +1 -1
- package/dist/types/adapters/observability/xray.d.ts +8 -0
- package/dist/types/adapters/observability/xray.d.ts.map +1 -1
- package/dist/types/adapters/types.d.ts +49 -0
- package/dist/types/adapters/types.d.ts.map +1 -1
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/agent/composeRequest.d.ts +10 -7
- package/dist/types/core/agent/composeRequest.d.ts.map +1 -1
- package/dist/types/core/agent/coverage/absent.d.ts +31 -4
- package/dist/types/core/agent/coverage/absent.d.ts.map +1 -1
- package/dist/types/core/agent/coverage/answer.d.ts.map +1 -1
- package/dist/types/core/agent/coverage/index.d.ts +1 -1
- package/dist/types/core/agent/coverage/index.d.ts.map +1 -1
- package/dist/types/core/agent/coverage/read.d.ts +9 -1
- package/dist/types/core/agent/coverage/read.d.ts.map +1 -1
- package/dist/types/core/agent/coverage/types.d.ts +42 -0
- package/dist/types/core/agent/coverage/types.d.ts.map +1 -1
- package/dist/types/core/agent/findings/ledger.d.ts +23 -6
- package/dist/types/core/agent/findings/ledger.d.ts.map +1 -1
- package/dist/types/core/agent/findings/offer.d.ts +23 -6
- package/dist/types/core/agent/findings/offer.d.ts.map +1 -1
- package/dist/types/core/agent/findings/serve.d.ts +19 -6
- package/dist/types/core/agent/findings/serve.d.ts.map +1 -1
- package/dist/types/core/agent/findings/types.d.ts +81 -1
- package/dist/types/core/agent/findings/types.d.ts.map +1 -1
- package/dist/types/core/agent/findings/unsettled.d.ts +122 -0
- package/dist/types/core/agent/findings/unsettled.d.ts.map +1 -0
- package/dist/types/core/agent/stages/callLLM.d.ts.map +1 -1
- package/dist/types/core/agent/stages/route.d.ts.map +1 -1
- package/dist/types/core/agent/stages/toolCalls.d.ts +90 -2
- package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
- package/dist/types/core/agent/stages/window.d.ts.map +1 -1
- package/dist/types/core/agent/toolResultCap.d.ts +4 -1
- package/dist/types/core/agent/toolResultCap.d.ts.map +1 -1
- package/dist/types/core/agent/types.d.ts +5 -0
- package/dist/types/core/agent/types.d.ts.map +1 -1
- package/dist/types/core/agent/window/ledgerFactPins.d.ts +10 -1
- package/dist/types/core/agent/window/ledgerFactPins.d.ts.map +1 -1
- package/dist/types/core/agent/window/strategy.d.ts +2 -1
- package/dist/types/core/agent/window/strategy.d.ts.map +1 -1
- package/dist/types/core/agent/window/toolNames.d.ts +16 -1
- package/dist/types/core/agent/window/toolNames.d.ts.map +1 -1
- package/dist/types/core/checkin.d.ts.map +1 -1
- package/dist/types/core/runCheckpoint.d.ts.map +1 -1
- package/dist/types/events/payloads.d.ts +76 -1
- package/dist/types/events/payloads.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lib/bug-report/transcript.d.ts +5 -0
- package/dist/types/lib/bug-report/transcript.d.ts.map +1 -1
- package/dist/types/lib/semantics/projection.d.ts.map +1 -1
- package/dist/types/lib/time-travel/receipt.d.ts +4 -3
- package/dist/types/lib/time-travel/receipt.d.ts.map +1 -1
- package/dist/types/lib/time-travel/servedView.d.ts.map +1 -1
- package/dist/types/lib/trace-toolpack/traceToolpack.d.ts.map +1 -1
- package/dist/types/memory/causal/evidenceRecorder.d.ts +2 -0
- package/dist/types/memory/causal/evidenceRecorder.d.ts.map +1 -1
- package/dist/types/recorders/observability/AgentThinkingTraceRecorder.d.ts +2 -0
- package/dist/types/recorders/observability/AgentThinkingTraceRecorder.d.ts.map +1 -1
- package/dist/types/recorders/observability/BoundaryRecorder.d.ts +10 -1
- package/dist/types/recorders/observability/BoundaryRecorder.d.ts.map +1 -1
- package/dist/types/recorders/observability/FlowchartRecorder.d.ts +4 -1
- package/dist/types/recorders/observability/FlowchartRecorder.d.ts.map +1 -1
- package/dist/types/recorders/observability/LiveStateRecorder.d.ts +2 -0
- package/dist/types/recorders/observability/LiveStateRecorder.d.ts.map +1 -1
- package/dist/types/recorders/observability/RouteRecorder.d.ts.map +1 -1
- package/dist/types/recorders/observability/ToolChoiceRecorder.d.ts.map +1 -1
- package/dist/types/recorders/observability/commentary/commentaryTemplates.d.ts.map +1 -1
- package/dist/types/recorders/observability/status/statusTemplates.d.ts.map +1 -1
- package/dist/types/security/extractSequence.d.ts +36 -5
- package/dist/types/security/extractSequence.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -18,7 +18,11 @@
|
|
|
18
18
|
* standingRowsFrom` resolves a named id against. The offer and the
|
|
19
19
|
* identity source read the SAME served history, so every id the
|
|
20
20
|
* offer lists resolves: the law "the offer is what the model may
|
|
21
|
-
* COPY" holds at the row, not only at the schema.
|
|
21
|
+
* COPY" holds at the row, not only at the schema. All of them ask
|
|
22
|
+
* ONE predicate, `isResultMessage`: a message the batch settlement
|
|
23
|
+
* wrote (9.113.0, `LLMMessage.notDispatched`) is served — the model
|
|
24
|
+
* reads its sentence — and is no result, so it is never offered,
|
|
25
|
+
* resolved or counted undeclared.
|
|
22
26
|
*
|
|
23
27
|
* WHY AN OFFER. On a hosted model the ask "by its tool_result id" produced
|
|
24
28
|
* standings named by ORDINAL ("0", "1"), recorded as `unknownId` and settling
|
|
@@ -60,16 +64,29 @@ import { foldLedger } from './ledger.js';
|
|
|
60
64
|
*/
|
|
61
65
|
export const RETIRING_STANDINGS = Object.freeze(['noise', 'ruled-out']);
|
|
62
66
|
/**
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
* the
|
|
67
|
+
* Is this message a tool's RESULT — the only thing a standing can be about?
|
|
68
|
+
* A `role: 'tool'` message the batch settlement wrote (9.113.0,
|
|
69
|
+
* `LLMMessage.notDispatched`) is not: the call never ran, so there is nothing
|
|
70
|
+
* to stand on. Read off the marker, never the sentence — which is why every
|
|
71
|
+
* caller hands these functions the COMMITTED conversation, not the wire,
|
|
72
|
+
* where `stripFrameworkFields` has already removed the marker (ids and order
|
|
73
|
+
* are the same either way).
|
|
74
|
+
*/
|
|
75
|
+
export function isResultMessage(m) {
|
|
76
|
+
return m.role === 'tool' && m.notDispatched === undefined;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* The `role: 'tool'` ids on a message list, in wire order, each once — a
|
|
80
|
+
* settled message excluded (`isResultMessage`). A message without an id, or
|
|
81
|
+
* with an empty one, contributes nothing. The collapse (`serve.ts ·
|
|
82
|
+
* collapseJudged`) never changes an id, so the list is the same before and
|
|
83
|
+
* after it.
|
|
67
84
|
*/
|
|
68
85
|
export function servedToolCallIds(messages) {
|
|
69
86
|
const ids = [];
|
|
70
87
|
const seen = new Set();
|
|
71
88
|
for (const m of messages) {
|
|
72
|
-
if (m
|
|
89
|
+
if (!isResultMessage(m))
|
|
73
90
|
continue;
|
|
74
91
|
const id = m.toolCallId;
|
|
75
92
|
if (id === undefined || id.length === 0 || seen.has(id))
|
|
@@ -144,7 +161,9 @@ export function offeredResultIds(messages, rows) {
|
|
|
144
161
|
* order changes no row; it is the source the rows resolved against before
|
|
145
162
|
* the history joined). An id in neither is `unknownId`, as written. A tool
|
|
146
163
|
* message with no `toolName` yields a result with none: nothing is invented
|
|
147
|
-
* for it.
|
|
164
|
+
* for it. A settled message (`isResultMessage`) is no result, so a model that
|
|
165
|
+
* names its id anyway files `unknownId` — the batch never holds one: a
|
|
166
|
+
* settled call never joins `toolResults`.
|
|
148
167
|
*/
|
|
149
168
|
export function knownResults(messages, previousBatch = []) {
|
|
150
169
|
const seen = new Set();
|
|
@@ -158,7 +177,7 @@ export function knownResults(messages, previousBatch = []) {
|
|
|
158
177
|
for (const r of previousBatch)
|
|
159
178
|
add(r);
|
|
160
179
|
for (const m of messages) {
|
|
161
|
-
if (m
|
|
180
|
+
if (!isResultMessage(m) || m.toolCallId === undefined)
|
|
162
181
|
continue;
|
|
163
182
|
add({
|
|
164
183
|
toolCallId: m.toolCallId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"offer.js","sourceRoot":"","sources":["../../../../../src/core/agent/findings/offer.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"offer.js","sourceRoot":"","sources":["../../../../../src/core/agent/findings/offer.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,13 @@
|
|
|
26
26
|
* on the record — one line per `ContingentRow`, the value the model used
|
|
27
27
|
* and every result that carried it with the standing the model gave that
|
|
28
28
|
* result (`contingent.ts` is the rule; this only quotes the rows; the
|
|
29
|
-
* heading says the lines are the library's join, not a declaration).
|
|
29
|
+
* heading says the lines are the library's join, not a declaration). After
|
|
30
|
+
* it, `unsettled by absence (read off the record):` (9.113.0) quotes the
|
|
31
|
+
* rows the fold keeps beside a ruled-out standing whose only witness was an
|
|
32
|
+
* absence — what the envelope, as the model was served it, said it did not
|
|
33
|
+
* check and its `try_instead`, in its own field names (`unsettled.ts` is
|
|
34
|
+
* the rule, and quotes nothing the model was not served; the model's own
|
|
35
|
+
* ruled-out line stays in `limitations`, exactly as declared). Every
|
|
30
36
|
* bucket is bounded
|
|
31
37
|
* (`FINDINGS_PIECE_LIMITS`) and every overflow is STATED; an empty bucket is
|
|
32
38
|
* omitted rather than rendered as "no facts". A basis-only ledger
|
|
@@ -133,14 +139,15 @@ export declare function isCollapsedToolResult(value: unknown): value is Collapse
|
|
|
133
139
|
* section: the piece's sections are separated by a blank line, and an id
|
|
134
140
|
* carrying `\n\nfacts (declared by the model):\n…` would otherwise render as
|
|
135
141
|
* a second, forged, library-authored bucket. `pieceChars` is the ceiling the
|
|
136
|
-
* other three imply for the whole piece (header + the four buckets
|
|
137
|
-
* contingent section at their cap + two count
|
|
142
|
+
* other three imply for the whole piece (header + the four buckets, the
|
|
143
|
+
* contingent section and the unsettled section at their cap + two count
|
|
144
|
+
* lines at theirs + the ask):
|
|
138
145
|
* stated, not enforced by a cut, and pinned by `serve.test.ts` ("the whole
|
|
139
146
|
* piece stays under pieceChars"), which measures a ledger at every cap at
|
|
140
147
|
* once against it.
|
|
141
148
|
*/
|
|
142
149
|
export declare const FINDINGS_PIECE_LIMITS: Readonly<{
|
|
143
|
-
/** Lines per text bucket (facts, limitations, evidenceRefs, nextSteps, contingent) before `+K more`. */
|
|
150
|
+
/** Lines per text bucket (facts, limitations, evidenceRefs, nextSteps, contingent, unsettled) before `+K more`. */
|
|
144
151
|
readonly bucketLines: 64;
|
|
145
152
|
/** Ids per count line (noise, undeclared) before `+K more`. */
|
|
146
153
|
readonly listedIds: 32;
|
|
@@ -148,8 +155,8 @@ export declare const FINDINGS_PIECE_LIMITS: Readonly<{
|
|
|
148
155
|
readonly lineChars: 240;
|
|
149
156
|
/** Chars per id on a count line before `…[clipped N chars]` — an id is an identifier. */
|
|
150
157
|
readonly idChars: 64;
|
|
151
|
-
/** The whole piece's ceiling in chars, implied by the three bounds above (raised for the fifth capped section, 9.110.0). */
|
|
152
|
-
readonly pieceChars:
|
|
158
|
+
/** The whole piece's ceiling in chars, implied by the three bounds above (raised for the fifth capped section, 9.110.0, and the sixth, 9.113.0). */
|
|
159
|
+
readonly pieceChars: 114688;
|
|
153
160
|
}>;
|
|
154
161
|
/**
|
|
155
162
|
* Compose the findings piece for one request, or `undefined` when no result
|
|
@@ -168,5 +175,11 @@ export declare function findingsLedgerPiece(rows: FindingsLedger | undefined, se
|
|
|
168
175
|
* ticket. The SAME array instance when nothing collapses; otherwise a new
|
|
169
176
|
* array of the same length and order in which only the collapsed entries
|
|
170
177
|
* are new objects.
|
|
178
|
+
*
|
|
179
|
+
* Hand it the COMMITTED conversation and strip afterwards (9.113.0): a
|
|
180
|
+
* message the batch settlement wrote is recognised by its marker
|
|
181
|
+
* (`offer.ts` · `isResultMessage`), which `stripFrameworkFields` removes. A
|
|
182
|
+
* collapsed entry keeps every other field, so stripping after is the same
|
|
183
|
+
* wire as stripping before.
|
|
171
184
|
*/
|
|
172
185
|
export declare function collapseJudged(messages: readonly LLMMessage[], rows: FindingsLedger | undefined, mode: FindingsServeMode): readonly LLMMessage[];
|
|
@@ -26,7 +26,13 @@
|
|
|
26
26
|
* on the record — one line per `ContingentRow`, the value the model used
|
|
27
27
|
* and every result that carried it with the standing the model gave that
|
|
28
28
|
* result (`contingent.ts` is the rule; this only quotes the rows; the
|
|
29
|
-
* heading says the lines are the library's join, not a declaration).
|
|
29
|
+
* heading says the lines are the library's join, not a declaration). After
|
|
30
|
+
* it, `unsettled by absence (read off the record):` (9.113.0) quotes the
|
|
31
|
+
* rows the fold keeps beside a ruled-out standing whose only witness was an
|
|
32
|
+
* absence — what the envelope, as the model was served it, said it did not
|
|
33
|
+
* check and its `try_instead`, in its own field names (`unsettled.ts` is
|
|
34
|
+
* the rule, and quotes nothing the model was not served; the model's own
|
|
35
|
+
* ruled-out line stays in `limitations`, exactly as declared). Every
|
|
30
36
|
* bucket is bounded
|
|
31
37
|
* (`FINDINGS_PIECE_LIMITS`) and every overflow is STATED; an empty bucket is
|
|
32
38
|
* omitted rather than rendered as "no facts". A basis-only ledger
|
|
@@ -97,7 +103,7 @@
|
|
|
97
103
|
import { CONTEXT_FIELD_MEANINGS } from '../../../lib/context-contract/index.js';
|
|
98
104
|
import { assertionKey } from '../../../integrity/assertion/types.js';
|
|
99
105
|
import { foldLedger } from './ledger.js';
|
|
100
|
-
import { servedToolCallIds, undeclaredIds } from './offer.js';
|
|
106
|
+
import { isResultMessage, servedToolCallIds, undeclaredIds } from './offer.js';
|
|
101
107
|
import { FINDINGS_ANSWER_ASK } from './reserved.js';
|
|
102
108
|
// The wire's tool ids live in `offer.ts` since the offer (9.102.0) — the
|
|
103
109
|
// decoration site and the piece read one set — and stay exported from here
|
|
@@ -121,14 +127,15 @@ export function isCollapsedToolResult(value) {
|
|
|
121
127
|
* section: the piece's sections are separated by a blank line, and an id
|
|
122
128
|
* carrying `\n\nfacts (declared by the model):\n…` would otherwise render as
|
|
123
129
|
* a second, forged, library-authored bucket. `pieceChars` is the ceiling the
|
|
124
|
-
* other three imply for the whole piece (header + the four buckets
|
|
125
|
-
* contingent section at their cap + two count
|
|
130
|
+
* other three imply for the whole piece (header + the four buckets, the
|
|
131
|
+
* contingent section and the unsettled section at their cap + two count
|
|
132
|
+
* lines at theirs + the ask):
|
|
126
133
|
* stated, not enforced by a cut, and pinned by `serve.test.ts` ("the whole
|
|
127
134
|
* piece stays under pieceChars"), which measures a ledger at every cap at
|
|
128
135
|
* once against it.
|
|
129
136
|
*/
|
|
130
137
|
export const FINDINGS_PIECE_LIMITS = Object.freeze({
|
|
131
|
-
/** Lines per text bucket (facts, limitations, evidenceRefs, nextSteps, contingent) before `+K more`. */
|
|
138
|
+
/** Lines per text bucket (facts, limitations, evidenceRefs, nextSteps, contingent, unsettled) before `+K more`. */
|
|
132
139
|
bucketLines: 64,
|
|
133
140
|
/** Ids per count line (noise, undeclared) before `+K more`. */
|
|
134
141
|
listedIds: 32,
|
|
@@ -136,8 +143,8 @@ export const FINDINGS_PIECE_LIMITS = Object.freeze({
|
|
|
136
143
|
lineChars: 240,
|
|
137
144
|
/** Chars per id on a count line before `…[clipped N chars]` — an id is an identifier. */
|
|
138
145
|
idChars: 64,
|
|
139
|
-
/** The whole piece's ceiling in chars, implied by the three bounds above (raised for the fifth capped section, 9.110.0). */
|
|
140
|
-
pieceChars:
|
|
146
|
+
/** The whole piece's ceiling in chars, implied by the three bounds above (raised for the fifth capped section, 9.110.0, and the sixth, 9.113.0). */
|
|
147
|
+
pieceChars: 114_688,
|
|
141
148
|
});
|
|
142
149
|
/** The four contract fields the piece serves, in the order they appear. */
|
|
143
150
|
const FIELDS = ['facts', 'limitations', 'evidenceRefs', 'nextSteps'];
|
|
@@ -169,6 +176,7 @@ export function findingsLedgerPiece(rows, served = [], answerAsk = 'none') {
|
|
|
169
176
|
bucket('evidenceRefs', openLines(current, tested)),
|
|
170
177
|
bucket('nextSteps', nextStepLines(current)),
|
|
171
178
|
contingentSection(rows),
|
|
179
|
+
unsettledSection(fold),
|
|
172
180
|
countLine(`noise (${DECLARED})`, idsWith(current, 'noise'), ''),
|
|
173
181
|
countLine('undeclared', undeclaredIds(served, fold.standingOf), ', served in full below'),
|
|
174
182
|
...(answerAsk === 'quote-facts' ? [FINDINGS_ANSWER_ASK] : []),
|
|
@@ -362,6 +370,58 @@ function contingentSection(rows) {
|
|
|
362
370
|
const over = lines.length - shown.length;
|
|
363
371
|
return [CONTINGENT_HEADING, ...shown, ...(over > 0 ? [`+${over} more (cap ${max})`] : [])].join('\n');
|
|
364
372
|
}
|
|
373
|
+
/**
|
|
374
|
+
* The heading of the section that quotes the rows beside a ruled-out
|
|
375
|
+
* standing whose only witness is an absence (9.113.0). It says where the
|
|
376
|
+
* lines come from for the reason `CONTINGENT_HEADING` does: the piece's
|
|
377
|
+
* header says everything below it is what the model itself declared, and
|
|
378
|
+
* these lines are the library's reading of the result the model ruled out
|
|
379
|
+
* on — its envelope's own words, quoted.
|
|
380
|
+
*/
|
|
381
|
+
const UNSETTLED_HEADING = 'unsettled by absence (read off the record):';
|
|
382
|
+
/**
|
|
383
|
+
* The ruled-out standings that rest on an absence (9.113.0) — for each row
|
|
384
|
+
* the fold keeps (`ledger.ts · foldLedger`'s `unsettled`: the last row per
|
|
385
|
+
* result while its current standing is still `ruled-out`), in fold order:
|
|
386
|
+
* one head line in the ruled-out line's own identity form, `ruled out
|
|
387
|
+
* (<toolName>, tool:<id>) on an absence`, then one line per part of the
|
|
388
|
+
* envelope, each anchored to its call by id and keyed by the envelope's own
|
|
389
|
+
* field name — `tool:<id> not_checked: <what>[ — <why>]`, `tool:<id>
|
|
390
|
+
* cannot_cover: …`, `tool:<id> try_instead: <the string as printed>`. One
|
|
391
|
+
* line per part, so no part is cut by another's length (the line cap clips
|
|
392
|
+
* each on its own); capped like a bucket, by lines, with the overflow
|
|
393
|
+
* stated; omitted when the fold keeps none. The model's own ruled-out line
|
|
394
|
+
* stays in `limitations`, as declared.
|
|
395
|
+
*/
|
|
396
|
+
function unsettledSection(fold) {
|
|
397
|
+
const lines = [];
|
|
398
|
+
for (const row of fold.unsettled.values()) {
|
|
399
|
+
// Always present: the fold keeps a row only beside a current ruled-out standing.
|
|
400
|
+
const standing = fold.standingOf.get(row.toolCallId);
|
|
401
|
+
if (standing === undefined)
|
|
402
|
+
continue;
|
|
403
|
+
lines.push(clipLine(`ruled out (${whereOf(standing)}) on an absence`));
|
|
404
|
+
const id = `tool:${row.toolCallId}`;
|
|
405
|
+
for (const item of row.notChecked ?? []) {
|
|
406
|
+
lines.push(clipLine(`${id} not_checked: ${itemText(item)}`));
|
|
407
|
+
}
|
|
408
|
+
for (const item of row.cannotCover ?? []) {
|
|
409
|
+
lines.push(clipLine(`${id} cannot_cover: ${itemText(item)}`));
|
|
410
|
+
}
|
|
411
|
+
if (row.tryInstead !== undefined)
|
|
412
|
+
lines.push(clipLine(`${id} try_instead: ${row.tryInstead}`));
|
|
413
|
+
}
|
|
414
|
+
if (lines.length === 0)
|
|
415
|
+
return undefined;
|
|
416
|
+
const max = FINDINGS_PIECE_LIMITS.bucketLines;
|
|
417
|
+
const shown = lines.slice(0, max);
|
|
418
|
+
const over = lines.length - shown.length;
|
|
419
|
+
return [UNSETTLED_HEADING, ...shown, ...(over > 0 ? [`+${over} more (cap ${max})`] : [])].join('\n');
|
|
420
|
+
}
|
|
421
|
+
/** `<what>[ — <why>]` — one coverage item as the answer's coverage block renders it. */
|
|
422
|
+
function itemText(item) {
|
|
423
|
+
return `${item.what}${item.why === undefined ? '' : ` — ${item.why}`}`;
|
|
424
|
+
}
|
|
365
425
|
// ─── Rendering ─────────────────────────────────────────────────────────
|
|
366
426
|
/** `tool:<id>[ | artifact:<ref>][ (unknown id)]` — the row's own identities. */
|
|
367
427
|
function provenanceOf(row) {
|
|
@@ -412,6 +472,12 @@ function clip(text, max) {
|
|
|
412
472
|
* ticket. The SAME array instance when nothing collapses; otherwise a new
|
|
413
473
|
* array of the same length and order in which only the collapsed entries
|
|
414
474
|
* are new objects.
|
|
475
|
+
*
|
|
476
|
+
* Hand it the COMMITTED conversation and strip afterwards (9.113.0): a
|
|
477
|
+
* message the batch settlement wrote is recognised by its marker
|
|
478
|
+
* (`offer.ts` · `isResultMessage`), which `stripFrameworkFields` removes. A
|
|
479
|
+
* collapsed entry keeps every other field, so stripping after is the same
|
|
480
|
+
* wire as stripping before.
|
|
415
481
|
*/
|
|
416
482
|
export function collapseJudged(messages, rows, mode) {
|
|
417
483
|
if (rows === undefined)
|
|
@@ -430,7 +496,10 @@ export function collapseJudged(messages, rows, mode) {
|
|
|
430
496
|
return out ?? messages;
|
|
431
497
|
}
|
|
432
498
|
function ticketFor(m, standingOf, mode) {
|
|
433
|
-
|
|
499
|
+
// A settled message is no result (`offer.ts` · `isResultMessage`): a
|
|
500
|
+
// standing that names its id (filed `unknownId`, as written) never turns the
|
|
501
|
+
// library's sentence about a call that never ran into a ticket.
|
|
502
|
+
if (!isResultMessage(m) || m.toolCallId === undefined)
|
|
434
503
|
return undefined;
|
|
435
504
|
const row = standingOf.get(m.toolCallId);
|
|
436
505
|
if (row === undefined || !collapses(row.standing, mode))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../../../src/core/agent/findings/serve.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../../../src/core/agent/findings/serve.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
* trace row carrying the write already names the writer.
|
|
30
30
|
*/
|
|
31
31
|
import type { Assertion } from '../../../integrity/assertion/types.js';
|
|
32
|
+
import type { CoverageItem } from '../coverage/types.js';
|
|
32
33
|
/** The reserved optional property every SERVED tool schema carries when armed. */
|
|
33
34
|
export declare const RESERVED_ARGUMENT: "_findings";
|
|
34
35
|
/** The reserved top-level key a JSON answer may carry its standings under. */
|
|
@@ -285,6 +286,85 @@ export interface ContingentRow {
|
|
|
285
286
|
readonly carriers: readonly ContingentCarrier[];
|
|
286
287
|
readonly iteration: number;
|
|
287
288
|
}
|
|
288
|
-
|
|
289
|
+
/**
|
|
290
|
+
* A `ruled-out` standing whose ONLY witness is an absence (9.113.0) — the
|
|
291
|
+
* library's row BESIDE the model's, never a rewrite of it. "Nothing was
|
|
292
|
+
* found" is not "ruled out": a lookup that matched nothing witnesses no
|
|
293
|
+
* negative, so a ruling-out that rests on it alone is not settled by its
|
|
294
|
+
* witness — and the envelope already says why (what it did not check) and
|
|
295
|
+
* where the settling would be (its `try_instead`). `findings/unsettled.ts`
|
|
296
|
+
* is the one rule; `ledger.ts · recordFindings` files the row immediately
|
|
297
|
+
* after the standing it is beside, keyed to that standing's `toolCallId`.
|
|
298
|
+
* The model's `StandingRow` is untouched and served exactly as declared.
|
|
299
|
+
*
|
|
300
|
+
* TWO WITNESSES, BOTH REQUIRED. A row is filed only when the dispatch door
|
|
301
|
+
* recorded the standing's result as an absence (`stages/toolCalls.ts ·
|
|
302
|
+
* declareCoverage` — the delivered status `'absent'`, the `tools.absent`
|
|
303
|
+
* event, a `kind: 'absence'` row on `AgentState.coverageDeclared`; the rule
|
|
304
|
+
* never re-reads a return to decide that, so the record holds one answer to
|
|
305
|
+
* "did the tool return an absence?") AND the model was SERVED one. The door
|
|
306
|
+
* records the return before the after-tool chain, the tool's own ceiling
|
|
307
|
+
* and placement act, and the model rules out on what it READ: a result an
|
|
308
|
+
* after-tool rule denied, a refusal, a placement ticket or a summary was no
|
|
309
|
+
* absence to the model, so nothing is filed beside a ruling-out on it.
|
|
310
|
+
*
|
|
311
|
+
* A RECORD OF A CHECK, NOT A FOLD. Written once, at the moment the standing
|
|
312
|
+
* was filed, and never recomputed, never updated. The record needs it
|
|
313
|
+
* STORED because what it is read from does not last as long as the
|
|
314
|
+
* standing: `coverageDeclared` is per run (a continued conversation or a
|
|
315
|
+
* `resumeOnError` starts without it — it is not on the `AgentRunCheckpoint`),
|
|
316
|
+
* and the served result leaves `history` when the window evicts it
|
|
317
|
+
* (`stages/window.ts`). The model needs
|
|
318
|
+
* it SERVED for a different reason: from the next call on, a ruled-out
|
|
319
|
+
* result is a ticket on the wire (`serve.ts · collapseJudged`), so the
|
|
320
|
+
* piece's section is where the envelope's boundary still reaches it. Which
|
|
321
|
+
* rows are CURRENT — the last per result, while that result's standing is
|
|
322
|
+
* still `ruled-out` — is the ledger's one fold (`ledger.ts · foldLedger`,
|
|
323
|
+
* its `unsettled` map), never this row's.
|
|
324
|
+
*
|
|
325
|
+
* Every field is in its author's words AS THE MODEL WAS SERVED THEM, never
|
|
326
|
+
* inferred and never more than the model read: `notChecked` / `cannotCover`
|
|
327
|
+
* are the served envelope's `not_checked` / `cannot_cover`, `tryInstead` its
|
|
328
|
+
* `try_instead` STRING — so a scrub an after-tool rule applied is honored,
|
|
329
|
+
* and a word governance withheld never reaches the row (the door's own
|
|
330
|
+
* copies are its witness, never quoted). These are tool-authored words in
|
|
331
|
+
* the committed key, under whatever redaction the run configured (the
|
|
332
|
+
* `ledger.ts` payload law).
|
|
333
|
+
*
|
|
334
|
+
* THE NAME. The ledger's own verb negated — `settles` is what an `open`
|
|
335
|
+
* standing says would settle it — and the cause in the coverage vocabulary
|
|
336
|
+
* (`absent()`, the delivered status `'absent'`). It reuses no standing value
|
|
337
|
+
* (round 1 re-filed the standing as `open`, a second writer of the model's
|
|
338
|
+
* word) and no disposition word (the checker's). THE FIELD: the design
|
|
339
|
+
* (decisions memo § 2.1, page § 5.6) names the carried sentence `settles`;
|
|
340
|
+
* it ships as `tryInstead`, the envelope's own field name, because `settles`
|
|
341
|
+
* is the MODEL's word on an `open` standing and calling the tool's sentence
|
|
342
|
+
* "what settles it" would be an inference — a reader of this row looks for
|
|
343
|
+
* `tryInstead`, never `settles`.
|
|
344
|
+
*/
|
|
345
|
+
export interface UnsettledByAbsenceRow {
|
|
346
|
+
readonly kind: 'unsettled-by-absence';
|
|
347
|
+
/** The ruled-out RESULT — the key of the standing this row is beside. */
|
|
348
|
+
readonly toolCallId: string;
|
|
349
|
+
/**
|
|
350
|
+
* The SERVED envelope's `not_checked` (the served result's leading JSON
|
|
351
|
+
* object — a framework note joined after it is not part of it) — a
|
|
352
|
+
* bounding ledger's first, then the absence's, repeats dropped (the one
|
|
353
|
+
* recognizer's order, which the door files in too). An item that names no
|
|
354
|
+
* ground is left out. Present only when non-empty.
|
|
355
|
+
*/
|
|
356
|
+
readonly notChecked?: readonly CoverageItem[];
|
|
357
|
+
/** The served envelope's `cannot_cover`, by the same rule. Present only when non-empty. */
|
|
358
|
+
readonly cannotCover?: readonly CoverageItem[];
|
|
359
|
+
/**
|
|
360
|
+
* The served absence's `try_instead`, the STRING byte for byte — never
|
|
361
|
+
* parsed, never trimmed, never read for a tool name. Present only when
|
|
362
|
+
* that string is non-blank.
|
|
363
|
+
*/
|
|
364
|
+
readonly tryInstead?: string;
|
|
365
|
+
/** The standing's iteration — the moment the check ran. */
|
|
366
|
+
readonly iteration: number;
|
|
367
|
+
}
|
|
368
|
+
export type FindingsRow = BasisRow | StandingRow | ConflictRow | JudgmentRow | JudgmentErrorRow | ContingentRow | UnsettledByAbsenceRow;
|
|
289
369
|
/** The committed key: flat, append-only, a fresh array on every write. */
|
|
290
370
|
export type FindingsLedger = readonly FindingsRow[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/core/agent/findings/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/core/agent/findings/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAKH,kFAAkF;AAClF,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAoB,CAAC;AACtD,8EAA8E;AAC9E,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAoB,CAAC;AASxD,wEAAwE;AACxE,MAAM,CAAC,MAAM,YAAY,GAAqB,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;AACvF,MAAM,CAAC,MAAM,aAAa,GAAsB,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AACzF,MAAM,CAAC,MAAM,eAAe,GAAwB,MAAM,CAAC,MAAM,CAAC;IAChE,MAAM;IACN,MAAM;IACN,OAAO;IACP,WAAW;CACZ,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AA4HrC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AA4DvC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* findings/unsettled — "nothing was found" is not "ruled out".
|
|
3
|
+
*
|
|
4
|
+
* Pattern: one pure rule over (a standing the model just declared, the
|
|
5
|
+
* result the model was served for it, the coverage the dispatch
|
|
6
|
+
* door recorded); the sibling of `contingent.ts`. That one asks
|
|
7
|
+
* "did the model build on a result it had set aside?"; this one
|
|
8
|
+
* asks "did the model set something aside on a result that held
|
|
9
|
+
* nothing?".
|
|
10
|
+
* Role: core/ layer leaf. The two moments that file standings —
|
|
11
|
+
* `stages/toolCalls.ts` (a call's `_findings.previous`) and
|
|
12
|
+
* `stages/route.ts` (the answer's) — pass their standing rows
|
|
13
|
+
* through `withUnsettledRows` on the way to `ledger.ts ·
|
|
14
|
+
* recordFindings`, the one writer, so a derived row lands in the
|
|
15
|
+
* same write, immediately after the standing it is beside.
|
|
16
|
+
* Emits: N/A — and the writer emits nothing for the row either (the
|
|
17
|
+
* conflict row's precedent; see `ledger.ts · recordFindings`).
|
|
18
|
+
*
|
|
19
|
+
* ## The owner's ask, and the rule that answers it
|
|
20
|
+
*
|
|
21
|
+
* A model rules out an HBA path because an HBA lookup keyed on a storage
|
|
22
|
+
* cluster's name found nothing — and the lookup's own envelope said it never
|
|
23
|
+
* checked whether that name is a host at all. The model's `ruled-out` is its
|
|
24
|
+
* word and stays its word: the library never writes a standing (round 1 of
|
|
25
|
+
* the design re-filed it as `open`, which made the library a second writer
|
|
26
|
+
* of the model's word — docs/design/2026-09-honest-answer-ledger.md § 14,
|
|
27
|
+
* R12). What the library adds is a row BESIDE it:
|
|
28
|
+
*
|
|
29
|
+
* a `ruled-out` standing whose ONLY witness is an absence gets an
|
|
30
|
+
* `unsettled-by-absence` row, keyed to the standing's `toolCallId`,
|
|
31
|
+
* carrying what the envelope says was not checked and its `try_instead`
|
|
32
|
+
* as printed.
|
|
33
|
+
*
|
|
34
|
+
* The fences, because they are the rule's honesty:
|
|
35
|
+
* - TWO FACTS, TWO OWNERS, BOTH REQUIRED. "Did the tool return an absence?"
|
|
36
|
+
* has one owner: the dispatch door (`stages/toolCalls.ts ·
|
|
37
|
+
* declareCoverage`), which reads the value the tool RETURNED through the
|
|
38
|
+
* one recognizer (`coverage/read.ts · readCoverageResult`), delivers the
|
|
39
|
+
* status `'absent'`, emits `tools.absent` and files the call's rows on
|
|
40
|
+
* `AgentState.coverageDeclared`. This rule never re-reads a result to
|
|
41
|
+
* decide that: an envelope a tool returned as TEXT (an MCP server in its
|
|
42
|
+
* default text mode) was no absence at the door (no status, no event, no
|
|
43
|
+
* row), so it is none here either, and the record holds one answer, not
|
|
44
|
+
* two. "Was the model SERVED an absence?" has another owner: the result as
|
|
45
|
+
* the model was served it (`offer.ts · knownResults`, the identity source
|
|
46
|
+
* the standing itself resolved against). The door records the return
|
|
47
|
+
* BEFORE the after-tool chain, the tool's own ceiling and placement act,
|
|
48
|
+
* so an after-tool `deny` ("the model does not get to read this"), a
|
|
49
|
+
* ceiling's refusal, a placement ticket, a summary or an agent cap's cut
|
|
50
|
+
* leave the door's rows saying absence while the model read something
|
|
51
|
+
* else. A ruling-out rests on what the model READ: the row is filed only
|
|
52
|
+
* when both hold, and it never quotes a word the model was not served.
|
|
53
|
+
* - THE ROW'S WORDS ARE WHAT THE MODEL WAS SERVED. The served string's
|
|
54
|
+
* LEADING JSON object — the dispatch loop serves the value's
|
|
55
|
+
* serialization and joins any framework note AFTER it (a step
|
|
56
|
+
* boundary's, a refused effect's, the repeated-call note) — read by the
|
|
57
|
+
* one recognizer, bare or bounded by `coverage()`. `notChecked` /
|
|
58
|
+
* `cannotCover` are that object's lists merged in the recognizer's order
|
|
59
|
+
* (a bounding ledger first, then the absence; repeats dropped), so a
|
|
60
|
+
* scrub the chain applied is honored; `tryInstead` is its absence's
|
|
61
|
+
* `try_instead`, carried byte for byte when it is a non-blank string —
|
|
62
|
+
* never parsed and never read for a tool name (a tool name found inside
|
|
63
|
+
* prose is an inference). Every item is read, never trusted: copied as
|
|
64
|
+
* `{ what, why? }`, and one that names no ground left out — a row the
|
|
65
|
+
* checkpoint door would refuse is never filed. The door's own copies are
|
|
66
|
+
* the witness that the tool returned an absence, and nothing more: they
|
|
67
|
+
* are never quoted.
|
|
68
|
+
* - RULED-OUT ONLY. `open` is already unsettled in the model's own word, and
|
|
69
|
+
* `noise` says the result held nothing worth reading — which an absence
|
|
70
|
+
* is. Only a ruling-out claims more than its witness can hold.
|
|
71
|
+
* - A RECORD OF A CHECK. The row is written once, at the standing's moment,
|
|
72
|
+
* and never recomputed (`types.ts · UnsettledByAbsenceRow`); which rows are
|
|
73
|
+
* CURRENT is the ledger's one fold (`ledger.ts · foldLedger`).
|
|
74
|
+
* - TOTAL. Every reader here takes what other code wrote and refuses a shape
|
|
75
|
+
* it cannot read by filing nothing, never by throwing: a derived row must
|
|
76
|
+
* never fail the run.
|
|
77
|
+
*
|
|
78
|
+
* Not read, and named in the README so nobody reads it as covered: a zero-row
|
|
79
|
+
* array (no door records a zero-row reading of the value a tool returned, and
|
|
80
|
+
* counting the SERVED string would count a text `'[]'` that
|
|
81
|
+
* `integrity/empty-lookup/check.ts · readLookupResult` declines — a second
|
|
82
|
+
* answer), a result whose door rows are not on this run's state — an
|
|
83
|
+
* earlier turn of a continued conversation, or a run before `resumeOnError`
|
|
84
|
+
* (`coverageDeclared` is per run and not on the `AgentRunCheckpoint`) — and
|
|
85
|
+
* the envelope's TYPED suggestion, `try_instead_tool`: the row carries the
|
|
86
|
+
* `try_instead` string alone, because nothing in this release reads a typed
|
|
87
|
+
* tool off the row (the join that would, `source-not-consulted`, is not
|
|
88
|
+
* built).
|
|
89
|
+
*
|
|
90
|
+
* `.findings()` must be armed for any of this to run — both call sites sit
|
|
91
|
+
* inside the ledger's gate — and the door's key is read only for a
|
|
92
|
+
* `ruled-out` standing whose result was SERVED as an absence, so a run whose
|
|
93
|
+
* model rules out no such result records the bytes it always did.
|
|
94
|
+
*/
|
|
95
|
+
import type { DeclaredCoverage } from '../coverage/types.js';
|
|
96
|
+
import type { PreviousResult } from './ledger.js';
|
|
97
|
+
import type { FindingsRow, StandingRow, UnsettledByAbsenceRow } from './types.js';
|
|
98
|
+
/**
|
|
99
|
+
* The rule for ONE standing: the derived row beside it, or nothing. Only a
|
|
100
|
+
* `ruled-out` standing on a result the run identified (the same `known` list
|
|
101
|
+
* `ledger.ts · standingRowsFrom` resolved it against) whose served string
|
|
102
|
+
* reads as an absence AND whose call the door recorded as one (`declared` is
|
|
103
|
+
* `AgentState.coverageDeclared`).
|
|
104
|
+
*/
|
|
105
|
+
export declare function unsettledRowOf(standing: StandingRow, known: readonly PreviousResult[], declared: readonly DeclaredCoverage[]): UnsettledByAbsenceRow | undefined;
|
|
106
|
+
/**
|
|
107
|
+
* The standings in declaration order, each followed immediately by its
|
|
108
|
+
* derived row when the rule files one — what both moments hand to
|
|
109
|
+
* `recordFindings`. The standing rows are the caller's objects, pushed
|
|
110
|
+
* as they are: a batch the rule files nothing beside comes back row for row.
|
|
111
|
+
*
|
|
112
|
+
* `readDeclared` hands over `AgentState.coverageDeclared` and is called at
|
|
113
|
+
* most once, and only for a standing the rule reads (a `ruled-out` on an
|
|
114
|
+
* identified result) whose served result reads as an absence — a pure
|
|
115
|
+
* reading of strings the moment already holds, taken first. A tracked read
|
|
116
|
+
* is visible to every recorder (a narrative line, a `readKeys` entry under
|
|
117
|
+
* `writeProvenance`), so an armed run whose model rules out only results
|
|
118
|
+
* that held something reads nothing it did not read before (the
|
|
119
|
+
* `contingent.ts · hasSetAsideStanding` gate's precedent).
|
|
120
|
+
*/
|
|
121
|
+
export declare function withUnsettledRows(standings: readonly StandingRow[], known: readonly PreviousResult[], readDeclared: () => readonly DeclaredCoverage[]): FindingsRow[];
|