agentfootprint 6.25.0 → 6.26.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +194 -48
- package/dist/esm/lib/context-bisect/ablation.js +183 -0
- package/dist/esm/lib/context-bisect/ablation.js.map +1 -0
- package/dist/esm/lib/context-bisect/bisect.js +129 -0
- package/dist/esm/lib/context-bisect/bisect.js.map +1 -0
- package/dist/esm/lib/context-bisect/index.js +22 -0
- package/dist/esm/lib/context-bisect/index.js.map +1 -0
- package/dist/esm/lib/context-bisect/llmEdgeWeigher.js +0 -0
- package/dist/esm/lib/context-bisect/llmEdgeWeigher.js.map +1 -0
- package/dist/esm/lib/context-bisect/localize.js +555 -0
- package/dist/esm/lib/context-bisect/localize.js.map +1 -0
- package/dist/esm/lib/context-bisect/types.js +56 -0
- package/dist/esm/lib/context-bisect/types.js.map +1 -0
- package/dist/esm/lib/tool-lint/cli.js +6 -1
- package/dist/esm/lib/tool-lint/cli.js.map +1 -1
- package/dist/esm/observe.js +7 -0
- package/dist/esm/observe.js.map +1 -1
- package/dist/lib/context-bisect/ablation.js +192 -0
- package/dist/lib/context-bisect/ablation.js.map +1 -0
- package/dist/lib/context-bisect/bisect.js +133 -0
- package/dist/lib/context-bisect/bisect.js.map +1 -0
- package/dist/lib/context-bisect/index.js +40 -0
- package/dist/lib/context-bisect/index.js.map +1 -0
- package/dist/lib/context-bisect/llmEdgeWeigher.js +0 -0
- package/dist/lib/context-bisect/llmEdgeWeigher.js.map +1 -0
- package/dist/lib/context-bisect/localize.js +563 -0
- package/dist/lib/context-bisect/localize.js.map +1 -0
- package/dist/lib/context-bisect/types.js +59 -0
- package/dist/lib/context-bisect/types.js.map +1 -0
- package/dist/lib/tool-lint/cli.js +30 -2
- package/dist/lib/tool-lint/cli.js.map +1 -1
- package/dist/observe.js +42 -20
- package/dist/observe.js.map +1 -1
- package/dist/types/lib/context-bisect/ablation.d.ts +97 -0
- package/dist/types/lib/context-bisect/ablation.d.ts.map +1 -0
- package/dist/types/lib/context-bisect/bisect.d.ts +76 -0
- package/dist/types/lib/context-bisect/bisect.d.ts.map +1 -0
- package/dist/types/lib/context-bisect/index.d.ts +22 -0
- package/dist/types/lib/context-bisect/index.d.ts.map +1 -0
- package/dist/types/lib/context-bisect/llmEdgeWeigher.d.ts +125 -0
- package/dist/types/lib/context-bisect/llmEdgeWeigher.d.ts.map +1 -0
- package/dist/types/lib/context-bisect/localize.d.ts +119 -0
- package/dist/types/lib/context-bisect/localize.d.ts.map +1 -0
- package/dist/types/lib/context-bisect/types.d.ts +356 -0
- package/dist/types/lib/context-bisect/types.d.ts.map +1 -0
- package/dist/types/lib/tool-lint/cli.d.ts.map +1 -1
- package/dist/types/observe.d.ts +1 -0
- package/dist/types/observe.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* localizeContextBug — the contextual-bug LOCALIZER, "git bisect for
|
|
3
|
+
* context" (RFC-003 Part B, block D8).
|
|
4
|
+
*
|
|
5
|
+
* The five-stage pipeline (each stage is a shipped piece — this file only
|
|
6
|
+
* ASSEMBLES):
|
|
7
|
+
*
|
|
8
|
+
* 1. TRIGGER — an explicit `atStep`, a custom trigger strategy, or
|
|
9
|
+
* the QualityRecorder's lowest-scoring step.
|
|
10
|
+
* 2. SLICE — footprintjs `causalChain` over the commit log, WITH
|
|
11
|
+
* control-dependence edges (D3) and honesty markers
|
|
12
|
+
* (A2/A4) when the artifacts carry them.
|
|
13
|
+
* 3. WEIGH — D7's `llmEdgeWeigher` stamps influence weights on
|
|
14
|
+
* every LLM-call parent edge (two-pass: prime, re-slice).
|
|
15
|
+
* 4. RANK — suspects = slice nodes classified into ablatable
|
|
16
|
+
* context sources (tool / injection / memory / arg),
|
|
17
|
+
* scored by max-product path weight × per-item semantic
|
|
18
|
+
* refinement. CORRELATIONAL tier — and marked so.
|
|
19
|
+
* 5. ABLATE — optional: the consumer's `AblationRunner` re-runs the
|
|
20
|
+
* scenario without each top suspect, N seeded times.
|
|
21
|
+
* Verdicts (the ONLY causal claims, §B2) + variance.
|
|
22
|
+
*
|
|
23
|
+
* Without a runner the report stops at stage 4 with
|
|
24
|
+
* `mode: 'correlational'` — explicitly a ranking of proxies, no causal
|
|
25
|
+
* claim anywhere.
|
|
26
|
+
*
|
|
27
|
+
* Every `source` / `step` id in the report is a plain runtimeStageId —
|
|
28
|
+
* drill any of them with the trace-toolpack tools (`trace_node`,
|
|
29
|
+
* `trace_slice`, `get_value`) over the same artifacts bag.
|
|
30
|
+
*/
|
|
31
|
+
import type { CausalNode } from 'footprintjs/trace';
|
|
32
|
+
import { type Embedder } from '../influence-core/index.js';
|
|
33
|
+
import type { AblationRerun, ContextBugArtifacts, ContextBugReport, Suspect, SuspectDetail, SuspectKind } from './types.js';
|
|
34
|
+
/**
|
|
35
|
+
* Extract LLM-call step ids from captured typed events: the
|
|
36
|
+
* `meta.runtimeStageId` of every `agentfootprint.stream.llm_start`
|
|
37
|
+
* envelope, deduplicated in event order. Collect events with
|
|
38
|
+
* `agent.on('*', (e) => events.push(e))`.
|
|
39
|
+
*/
|
|
40
|
+
export declare function llmCallIdsFromEvents(events: readonly {
|
|
41
|
+
readonly type: string;
|
|
42
|
+
readonly meta: {
|
|
43
|
+
readonly runtimeStageId: string;
|
|
44
|
+
};
|
|
45
|
+
}[]): string[];
|
|
46
|
+
/** A classified-but-unscored suspect produced by a classifier. */
|
|
47
|
+
export interface SuspectSeed {
|
|
48
|
+
readonly kind: SuspectKind;
|
|
49
|
+
readonly detail?: SuspectDetail;
|
|
50
|
+
}
|
|
51
|
+
/** What a classifier sees for one slice node. */
|
|
52
|
+
export interface ClassifyContext {
|
|
53
|
+
readonly node: CausalNode;
|
|
54
|
+
/** Keys this node committed. */
|
|
55
|
+
readonly keysWritten: readonly string[];
|
|
56
|
+
/** Verb-aware value of a key as of this node's last commit. */
|
|
57
|
+
readonly valueOf: (key: string) => unknown;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Pluggable classifier: map one slice node to its ablatable context
|
|
61
|
+
* sources. Return `undefined` to fall through to the default (which
|
|
62
|
+
* understands the agent chart's committed shapes); return `[]` to
|
|
63
|
+
* suppress the node entirely.
|
|
64
|
+
*/
|
|
65
|
+
export type SuspectClassifier = (ctx: ClassifyContext) => readonly SuspectSeed[] | undefined;
|
|
66
|
+
/**
|
|
67
|
+
* The default classifier — reads the node's COMMITTED values (already
|
|
68
|
+
* redaction-scrubbed) and recognizes the agent chart's shapes:
|
|
69
|
+
*
|
|
70
|
+
* - `systemPromptInjections` / `messagesInjections` / `toolsInjections`
|
|
71
|
+
* records with an engineered source → one suspect per `Injection.id`
|
|
72
|
+
* (kind `'memory'` for source `'memory'`, else `'injection'`).
|
|
73
|
+
* - `lastToolResult` → a `'tool'` suspect for the tool that ran.
|
|
74
|
+
* - footprintjs A2 honesty marker `args` → an `'arg'` suspect (the
|
|
75
|
+
* consumer's runner must override the input — nothing to filter).
|
|
76
|
+
* - anything else → the honest `'stage'` fallback (no ablation spec).
|
|
77
|
+
*/
|
|
78
|
+
export declare function defaultSuspectClassifier(ctx: ClassifyContext): readonly SuspectSeed[];
|
|
79
|
+
export interface LocalizeContextBugOptions {
|
|
80
|
+
readonly artifacts: ContextBugArtifacts;
|
|
81
|
+
/** Injected embedder (D6) — wrap in `embeddingCache(...)`. */
|
|
82
|
+
readonly embedder: Embedder;
|
|
83
|
+
/** Explicit trigger step (runtimeStageId). Wins over everything. */
|
|
84
|
+
readonly atStep?: string;
|
|
85
|
+
/** Custom trigger strategy — consulted when `atStep` is absent. */
|
|
86
|
+
readonly trigger?: (artifacts: ContextBugArtifacts) => string | undefined;
|
|
87
|
+
/**
|
|
88
|
+
* The counterfactual tier: supply a runner (+ the original output) and
|
|
89
|
+
* top suspects get ablation verdicts. Absent → the report stops at the
|
|
90
|
+
* ranking, marked `mode: 'correlational'`.
|
|
91
|
+
*/
|
|
92
|
+
readonly rerun?: AblationRerun;
|
|
93
|
+
/** Slice depth budget. Default 12. */
|
|
94
|
+
readonly maxDepth?: number;
|
|
95
|
+
/** Slice node budget. Default 80. */
|
|
96
|
+
readonly maxNodes?: number;
|
|
97
|
+
/** Ranked suspects kept on the report. Default 12. */
|
|
98
|
+
readonly maxSuspects?: number;
|
|
99
|
+
/** Override / extend the suspect classifier. */
|
|
100
|
+
readonly classify?: SuspectClassifier;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Localize a contextual bug: trigger → causal slice → influence-weighted
|
|
104
|
+
* ranking → (optional) counterfactual ablation. See module docs for the
|
|
105
|
+
* pipeline and the §B2 claim tiers.
|
|
106
|
+
*
|
|
107
|
+
* @throws when no trigger can be resolved (no `atStep`, no custom
|
|
108
|
+
* strategy hit, no `artifacts.quality`), or when the trigger step
|
|
109
|
+
* is not in the commit log.
|
|
110
|
+
*/
|
|
111
|
+
export declare function localizeContextBug(options: LocalizeContextBugOptions): Promise<ContextBugReport>;
|
|
112
|
+
export declare function suspectLabel(suspect: Suspect): string;
|
|
113
|
+
/**
|
|
114
|
+
* Human-readable report. The claim tiers are spelled out in the output
|
|
115
|
+
* itself (§B2): scores are proxies; verdict lines are the only causal
|
|
116
|
+
* claims; every ⚠ honesty flag prints.
|
|
117
|
+
*/
|
|
118
|
+
export declare function formatContextBugReport(report: ContextBugReport): string;
|
|
119
|
+
//# sourceMappingURL=localize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localize.d.ts","sourceRoot":"","sources":["../../../../src/lib/context-bisect/localize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAkB,KAAK,QAAQ,EAAsB,MAAM,4BAA4B,CAAC;AAG/F,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAIhB,OAAO,EACP,aAAa,EACb,WAAW,EACZ,MAAM,YAAY,CAAC;AAKpB;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,EAAE,GAC/F,MAAM,EAAE,CAWV;AAID,kEAAkE;AAClE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;CACjC;AAED,iDAAiD;AACjD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,gCAAgC;IAChC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CAC5C;AAED;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,eAAe,KAAK,SAAS,WAAW,EAAE,GAAG,SAAS,CAAC;AAuB7F;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,eAAe,GAAG,SAAS,WAAW,EAAE,CAsDrF;AAmGD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,8DAA8D;IAC9D,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,oEAAoE;IACpE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,mEAAmE;IACnE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,mBAAmB,KAAK,MAAM,GAAG,SAAS,CAAC;IAC1E;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAC/B,sCAAsC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,qCAAqC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,gDAAgD;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAID;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,gBAAgB,CAAC,CA+N3B;AAsGD,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAGrD;AAID;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAiFvE"}
|
|
@@ -0,0 +1,356 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* context-bisect types — RFC-003 Part B: the contextual-bug localizer
|
|
3
|
+
* ("git bisect for context").
|
|
4
|
+
*
|
|
5
|
+
* Pattern: assembly contract. Part B is pure ASSEMBLY over shipped pieces:
|
|
6
|
+
* footprintjs 9.8.0's complete causal DAG (control edges, honesty
|
|
7
|
+
* markers, `EdgeWeigher` hook) × influence-core scoring (D6) ×
|
|
8
|
+
* consumer-run counterfactual ablation. No new engine features,
|
|
9
|
+
* no new typed events.
|
|
10
|
+
* Role: `src/lib/context-bisect/` leaf. Exported via
|
|
11
|
+
* `agentfootprint/observe`.
|
|
12
|
+
*
|
|
13
|
+
* ## The two-tier honest-claims discipline (RFC-003 §B2)
|
|
14
|
+
*
|
|
15
|
+
* Every number in these types belongs to exactly ONE of two tiers, and the
|
|
16
|
+
* docs say which:
|
|
17
|
+
*
|
|
18
|
+
* - **CORRELATIONAL** — edge weights, suspect scores, rankings. These are
|
|
19
|
+
* deterministic embedding-geometry PROXIES (influence-core composite:
|
|
20
|
+
* semantic alignment between what a source wrote and what the LLM step
|
|
21
|
+
* produced). They mean "high semantic alignment", never "the model
|
|
22
|
+
* answered BECAUSE of this". A report without reruns stops here and is
|
|
23
|
+
* marked `mode: 'correlational'`.
|
|
24
|
+
*
|
|
25
|
+
* - **CAUSAL** — ablation verdicts ONLY. A suspect earns `verdict:
|
|
26
|
+
* 'confirmed'` exclusively by counterfactual evidence: the consumer's
|
|
27
|
+
* `AblationRunner` re-ran the scenario WITHOUT the suspect N seeded
|
|
28
|
+
* times and the outcome flipped (with baseline stability checked and
|
|
29
|
+
* variance reported — never a single-run verdict).
|
|
30
|
+
*
|
|
31
|
+
* Slice completeness is bounded by tracking — and SAYS so: untracked reads
|
|
32
|
+
* (`$getArgs()` / env / silent reads), missing control-dependence lookups,
|
|
33
|
+
* missing read tracking, and depth/node truncation all surface as
|
|
34
|
+
* `honestyFlags` on the report, mirrored from footprintjs's own A2/A4
|
|
35
|
+
* markers.
|
|
36
|
+
*/
|
|
37
|
+
import type { CommitBundle, RuntimeSnapshot, StageSnapshot } from 'footprintjs/advanced';
|
|
38
|
+
import type { ControlDepLookup } from 'footprintjs/trace';
|
|
39
|
+
import type { Embedder, InfluenceWeights } from '../influence-core/index.js';
|
|
40
|
+
/**
|
|
41
|
+
* Minimal structural envelope for captured typed events — satisfied by
|
|
42
|
+
* `AgentfootprintEvent` (collect with `agent.on('*', e => events.push(e))`).
|
|
43
|
+
* Structural so a consumer can hand in any array shaped like this.
|
|
44
|
+
*/
|
|
45
|
+
export interface CapturedEventLike {
|
|
46
|
+
readonly type: string;
|
|
47
|
+
readonly payload: unknown;
|
|
48
|
+
readonly meta: {
|
|
49
|
+
readonly runtimeStageId: string;
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Minimal per-step quality lookup for trigger derivation — satisfied by
|
|
54
|
+
* footprintjs's `QualityRecorder` (structural, decoupled).
|
|
55
|
+
*/
|
|
56
|
+
export interface QualityTriggerLookup {
|
|
57
|
+
getLowest(): {
|
|
58
|
+
runtimeStageId: string;
|
|
59
|
+
entry: {
|
|
60
|
+
score: number;
|
|
61
|
+
stageName: string;
|
|
62
|
+
};
|
|
63
|
+
} | undefined;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* The frozen evidence of one completed run — a structural SUPERSET of the
|
|
67
|
+
* trace-toolpack's `TraceToolpackArtifacts`, so the same bag literal can
|
|
68
|
+
* serve `traceToolpack(...)` and `localizeContextBug(...)`: every
|
|
69
|
+
* runtimeStageId in the report drills straight into the toolpack tools.
|
|
70
|
+
*
|
|
71
|
+
* - `snapshot` — `executor.getSnapshot()` / `agent.getLastSnapshot()`.
|
|
72
|
+
* - `controlDeps` — OPTIONAL `controlDepRecorder().asLookup()` from the
|
|
73
|
+
* run. With it, the slice includes `[control: <rule label>]` edges to
|
|
74
|
+
* the deciders that routed execution. Without it, the report carries the
|
|
75
|
+
* `no-control-deps` honesty flag.
|
|
76
|
+
* - `quality` — OPTIONAL `QualityRecorder` from the run; its
|
|
77
|
+
* lowest-scoring step is the default trigger when `atStep` is absent.
|
|
78
|
+
* - `events` — OPTIONAL captured typed events; used to extract LLM-call
|
|
79
|
+
* step ids (`stream.llm_start`) when `llmCallIds` is not given.
|
|
80
|
+
* - `llmCallIds` — explicit override: the runtimeStageIds of LLM-call
|
|
81
|
+
* executions (the steps whose parent edges D7 weighs).
|
|
82
|
+
*/
|
|
83
|
+
export interface ContextBugArtifacts {
|
|
84
|
+
readonly snapshot: RuntimeSnapshot;
|
|
85
|
+
readonly controlDeps?: ControlDepLookup;
|
|
86
|
+
readonly quality?: QualityTriggerLookup;
|
|
87
|
+
readonly events?: readonly CapturedEventLike[];
|
|
88
|
+
readonly llmCallIds?: readonly string[];
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* What kind of context source a suspect is — picks which ablation adapter
|
|
92
|
+
* applies. `'stage'` is the honest fallback for slice nodes the classifier
|
|
93
|
+
* cannot map to an ablatable source (pipeline plumbing, plain stages).
|
|
94
|
+
*/
|
|
95
|
+
export type SuspectKind = 'tool' | 'injection' | 'memory' | 'arg' | 'stage';
|
|
96
|
+
/** Kind-specific identity + the text the semantic refinement embedded. */
|
|
97
|
+
export interface SuspectDetail {
|
|
98
|
+
/** Tool name (kind 'tool'). */
|
|
99
|
+
readonly toolName?: string;
|
|
100
|
+
/** Injection id (kind 'injection' / 'memory') — `Injection.id`. */
|
|
101
|
+
readonly injectionId?: string;
|
|
102
|
+
/** Injection flavor (fact / skill / rag / memory / …), when known. */
|
|
103
|
+
readonly flavor?: string;
|
|
104
|
+
/**
|
|
105
|
+
* The suspect's own content text (tool result / injection rawContent),
|
|
106
|
+
* already redaction-scrubbed by footprintjs at commit time. This is
|
|
107
|
+
* what the embedder saw for `semanticScore`.
|
|
108
|
+
*/
|
|
109
|
+
readonly text?: string;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* One hop of a suspect's evidence path — the argmax-weight chain from the
|
|
113
|
+
* trigger step back to the suspect. Control edges carry `kind: 'control'`
|
|
114
|
+
* and (when decide() supplied one) the rule label in `key`.
|
|
115
|
+
*/
|
|
116
|
+
export interface EdgePathStep {
|
|
117
|
+
/** Child (downstream) step. The first hop's `from` is the trigger. */
|
|
118
|
+
readonly from: string;
|
|
119
|
+
readonly fromName: string;
|
|
120
|
+
/** Parent (upstream) step. The last hop's `to` is the suspect. */
|
|
121
|
+
readonly to: string;
|
|
122
|
+
readonly toName: string;
|
|
123
|
+
readonly kind: 'data' | 'control';
|
|
124
|
+
/** State key (data) or decide() rule label (control), when present. */
|
|
125
|
+
readonly key?: string;
|
|
126
|
+
/** Edge weight — 1.0 unless D7 weighed it (child was an LLM call). */
|
|
127
|
+
readonly weight: number;
|
|
128
|
+
}
|
|
129
|
+
/** Per-run similarity statistics — variance ALWAYS reported (D9). */
|
|
130
|
+
export interface SimilarityStats {
|
|
131
|
+
readonly mean: number;
|
|
132
|
+
readonly min: number;
|
|
133
|
+
readonly max: number;
|
|
134
|
+
/** Population standard deviation across the N seeded reruns. */
|
|
135
|
+
readonly stdev: number;
|
|
136
|
+
}
|
|
137
|
+
/** Evidence from N seeded ablation reruns of one probe. */
|
|
138
|
+
export interface AblationRunStats {
|
|
139
|
+
/** Seeded reruns performed (the consumer's runner was called N times). */
|
|
140
|
+
readonly samples: number;
|
|
141
|
+
/** Runs where `outcomeChanged(original, ablated)` was true. */
|
|
142
|
+
readonly flips: number;
|
|
143
|
+
/** Embedding similarity of each ablated output to the original. */
|
|
144
|
+
readonly similarity: SimilarityStats;
|
|
145
|
+
}
|
|
146
|
+
export type AblationVerdictKind = 'confirmed' | 'not-confirmed' | 'inconclusive';
|
|
147
|
+
/**
|
|
148
|
+
* The ONLY causal claim in the report (§B2). `'confirmed'` = ablating the
|
|
149
|
+
* suspect flipped the outcome in a MAJORITY of N seeded reruns while the
|
|
150
|
+
* un-ablated baseline stayed stable. `'inconclusive'` = mixed flips, or an
|
|
151
|
+
* unstable baseline (the scenario itself doesn't reproduce — no ablation
|
|
152
|
+
* verdict is trustworthy then). `'not-confirmed'` = no flip observed; the
|
|
153
|
+
* suspect's score remains a correlational proxy only.
|
|
154
|
+
*/
|
|
155
|
+
export interface AblationVerdict {
|
|
156
|
+
readonly verdict: AblationVerdictKind;
|
|
157
|
+
/** Human-readable claim, phrased at the right tier (causal vs proxy). */
|
|
158
|
+
readonly claim: string;
|
|
159
|
+
}
|
|
160
|
+
/** One ranked suspect. */
|
|
161
|
+
export interface Suspect {
|
|
162
|
+
/**
|
|
163
|
+
* runtimeStageId of the slice node this suspect lives at — drillable
|
|
164
|
+
* with the trace-toolpack tools (`trace_node(source)` etc.).
|
|
165
|
+
*/
|
|
166
|
+
readonly source: string;
|
|
167
|
+
readonly stageName: string;
|
|
168
|
+
readonly kind: SuspectKind;
|
|
169
|
+
readonly detail?: SuspectDetail;
|
|
170
|
+
/**
|
|
171
|
+
* The ranking key — CORRELATIONAL proxy (§B2):
|
|
172
|
+
* `structuralScore × semanticScore` when a semantic refinement exists,
|
|
173
|
+
* else `structuralScore`. Means "semantically aligned and causally
|
|
174
|
+
* UPSTREAM", never "caused".
|
|
175
|
+
*
|
|
176
|
+
* Comparison caveat: a suspect WITHOUT content text (kind 'stage'/'arg',
|
|
177
|
+
* or a path through control edges only) keeps its bare structural score
|
|
178
|
+
* — an UPPER BOUND with no content evidence behind it. Plumbing can
|
|
179
|
+
* legitimately rank above ablatable sources; the ablation verdicts (and
|
|
180
|
+
* `semanticScore`'s presence) are what disambiguate.
|
|
181
|
+
*/
|
|
182
|
+
readonly score: number;
|
|
183
|
+
/**
|
|
184
|
+
* Max-product of edge weights along the best path from the trigger to
|
|
185
|
+
* this node (1.0 when no D7-weighted LLM edge is on the path).
|
|
186
|
+
*/
|
|
187
|
+
readonly structuralScore: number;
|
|
188
|
+
/**
|
|
189
|
+
* Influence-core composite of the suspect's own content vs the trigger
|
|
190
|
+
* step's output (clamped to [0, 1]); only for suspects with a known
|
|
191
|
+
* content text. The same proxy disclaimers as D6 apply.
|
|
192
|
+
*/
|
|
193
|
+
readonly semanticScore?: number;
|
|
194
|
+
/**
|
|
195
|
+
* TRUE when `score` includes a content signal (semanticScore present).
|
|
196
|
+
* FALSE = path-only structural score — an UPPER BOUND that can reach 1.0
|
|
197
|
+
* through control-edge paths alone; rank such suspects with care and
|
|
198
|
+
* prefer ablation verdicts to disambiguate. (Machine-readable twin of
|
|
199
|
+
* the "path only — no content signal" report marking.)
|
|
200
|
+
*/
|
|
201
|
+
readonly hasContentEvidence: boolean;
|
|
202
|
+
/** Evidence path, trigger → … → suspect, control edges labeled. */
|
|
203
|
+
readonly edgePath: readonly EdgePathStep[];
|
|
204
|
+
/** The counterfactual to run — absent for kind 'stage'. */
|
|
205
|
+
readonly ablation?: AblationSpec;
|
|
206
|
+
/** CAUSAL tier — present only when an `AblationRunner` was supplied. */
|
|
207
|
+
readonly verdict?: AblationVerdict;
|
|
208
|
+
/** The rerun evidence behind `verdict`. */
|
|
209
|
+
readonly runs?: AblationRunStats;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* What to remove for one counterfactual rerun. The library BUILDS specs
|
|
213
|
+
* (one per suspect kind) and provides `applyAblations` to apply them to
|
|
214
|
+
* the inputs an agent is constructed from; the consumer's `AblationRunner`
|
|
215
|
+
* re-runs the scenario with the spec applied.
|
|
216
|
+
*
|
|
217
|
+
* THE TOOL SEAM (documented because `AgentOptions` has no `ignoredTools`):
|
|
218
|
+
* agentfootprint has no runtime tool kill-switch — tools enter an agent at
|
|
219
|
+
* construction (`.tools([...])` / injection `inject.tools`). Tool ablation
|
|
220
|
+
* therefore happens where tools are DECLARED: the runner rebuilds the
|
|
221
|
+
* agent with `applyAblations(specs, { tools }).tools`. The same pattern
|
|
222
|
+
* covers injections (rebuild without the excluded `Injection.id`s) and
|
|
223
|
+
* memory (filter `MemoryEntry`s by id before attaching).
|
|
224
|
+
*/
|
|
225
|
+
export type AblationSpec =
|
|
226
|
+
/** Drop these tools from the catalog the agent is built with. */
|
|
227
|
+
{
|
|
228
|
+
readonly kind: 'tool';
|
|
229
|
+
readonly ignoredTools: readonly string[];
|
|
230
|
+
}
|
|
231
|
+
/** Drop these injections (facts / skills / instructions / steering / rag). */
|
|
232
|
+
| {
|
|
233
|
+
readonly kind: 'injection';
|
|
234
|
+
readonly excludeInjectionIds: readonly string[];
|
|
235
|
+
}
|
|
236
|
+
/** Drop these memory entries (matched by `MemoryEntry.id`). */
|
|
237
|
+
| {
|
|
238
|
+
readonly kind: 'memory';
|
|
239
|
+
readonly excludeMemoryIds: readonly string[];
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* The suspect is run INPUT (`$getArgs()` / seed args) — there is nothing
|
|
243
|
+
* the library can filter. The consumer's runner must override the arg
|
|
244
|
+
* itself (e.g. re-run with a neutralized field). `source` names the step
|
|
245
|
+
* that consumed the untracked input.
|
|
246
|
+
*/
|
|
247
|
+
| {
|
|
248
|
+
readonly kind: 'arg';
|
|
249
|
+
readonly source: string;
|
|
250
|
+
readonly note: string;
|
|
251
|
+
};
|
|
252
|
+
/**
|
|
253
|
+
* Consumer-supplied counterfactual runner: re-run the SAME scenario with
|
|
254
|
+
* every spec in `specs` applied, and return the run's output text.
|
|
255
|
+
*
|
|
256
|
+
* Contract:
|
|
257
|
+
* - `specs` may be empty — that is the BASELINE probe (re-run unchanged);
|
|
258
|
+
* its outputs measure the scenario's natural variance.
|
|
259
|
+
* - `run.seed` varies 0..N-1 across the N samples of one probe. Thread it
|
|
260
|
+
* into any stochastic knob (sampling temperature seed, mock script
|
|
261
|
+
* selection) so reruns are deterministic-but-distinct; ignore it for
|
|
262
|
+
* fully deterministic scenarios.
|
|
263
|
+
* - Build a FRESH agent/provider per call — scripted mock providers are
|
|
264
|
+
* stateful (replies consume in order).
|
|
265
|
+
*/
|
|
266
|
+
export type AblationRunner = (specs: readonly AblationSpec[], run: {
|
|
267
|
+
readonly seed: number;
|
|
268
|
+
}) => Promise<string>;
|
|
269
|
+
/**
|
|
270
|
+
* Did the ablated output mean something DIFFERENT from the original?
|
|
271
|
+
* Default: embedding similarity below `flipThreshold`. Override with a
|
|
272
|
+
* domain comparator (e.g. compare extracted decisions) — recommended with
|
|
273
|
+
* `mockEmbedder`, whose cosine compresses prose into ~0.85–0.97 (the C1
|
|
274
|
+
* calibration note: absolute thresholds only with real embedders).
|
|
275
|
+
*/
|
|
276
|
+
export type OutcomeComparator = (original: string, ablated: string) => boolean | Promise<boolean>;
|
|
277
|
+
/** The rerun configuration that upgrades the report to the causal tier. */
|
|
278
|
+
export interface AblationRerun {
|
|
279
|
+
readonly runner: AblationRunner;
|
|
280
|
+
/** The original (buggy) output the reruns are compared against. */
|
|
281
|
+
readonly originalOutput: string;
|
|
282
|
+
/** Seeded reruns per probe. Default 3. Never below 2 (no single-run verdicts — D9). */
|
|
283
|
+
readonly samples?: number;
|
|
284
|
+
/** Outcome-flip comparator. Default: similarity < `flipThreshold`. */
|
|
285
|
+
readonly outcomeChanged?: OutcomeComparator;
|
|
286
|
+
/** Similarity floor for the DEFAULT comparator. Default 0.8. */
|
|
287
|
+
readonly flipThreshold?: number;
|
|
288
|
+
/** Ablate only the top-K ranked suspects that carry a spec. Default 5. */
|
|
289
|
+
readonly maxSuspects?: number;
|
|
290
|
+
}
|
|
291
|
+
/** Slice-shape numbers — how much evidence the ranking stands on. */
|
|
292
|
+
export interface SliceStats {
|
|
293
|
+
readonly nodes: number;
|
|
294
|
+
readonly dataEdges: number;
|
|
295
|
+
readonly controlEdges: number;
|
|
296
|
+
/** Edges that received a D7 (LLM-influence) weight. */
|
|
297
|
+
readonly weightedEdges: number;
|
|
298
|
+
/** Nodes that ALSO consumed untracked sources (args/env/silent reads). */
|
|
299
|
+
readonly incompleteNodes: number;
|
|
300
|
+
readonly maxDepth: number;
|
|
301
|
+
readonly maxNodes: number;
|
|
302
|
+
/** Present when a limit actually cut the slice (footprintjs A4). */
|
|
303
|
+
readonly truncated?: {
|
|
304
|
+
readonly byDepth: boolean;
|
|
305
|
+
readonly byNodes: boolean;
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
export type HonestyFlagKind = 'slice-truncated' | 'untracked-sources' | 'no-control-deps' | 'no-read-tracking' | 'no-llm-call-ids' | 'baseline-unstable';
|
|
309
|
+
export interface HonestyFlag {
|
|
310
|
+
readonly flag: HonestyFlagKind;
|
|
311
|
+
readonly note: string;
|
|
312
|
+
}
|
|
313
|
+
/** The localizer's full output (D8). */
|
|
314
|
+
export interface ContextBugReport {
|
|
315
|
+
/** The trigger step the slice was rooted at. */
|
|
316
|
+
readonly step: string;
|
|
317
|
+
readonly stepName: string;
|
|
318
|
+
/** Where the trigger came from. */
|
|
319
|
+
readonly triggerSource: 'explicit' | 'quality' | 'custom';
|
|
320
|
+
/** The quality score that selected the trigger (quality source only). */
|
|
321
|
+
readonly triggerScore?: number;
|
|
322
|
+
/**
|
|
323
|
+
* `'correlational'` — no `AblationRunner` supplied: the report STOPS at
|
|
324
|
+
* the ranking; every score is a proxy and no causal claim is made.
|
|
325
|
+
* `'causal'` — suspects additionally carry ablation verdicts (§B2: the
|
|
326
|
+
* verdicts are the only causal claims; the scores stay proxies).
|
|
327
|
+
*/
|
|
328
|
+
readonly mode: 'correlational' | 'causal';
|
|
329
|
+
/** Ranked suspects, best (most aligned + upstream) first. */
|
|
330
|
+
readonly suspects: readonly Suspect[];
|
|
331
|
+
readonly sliceStats: SliceStats;
|
|
332
|
+
/** ⚠ everything that bounds what this report can honestly claim. */
|
|
333
|
+
readonly honestyFlags: readonly HonestyFlag[];
|
|
334
|
+
/** Baseline probe stats (causal mode only). */
|
|
335
|
+
readonly baseline?: AblationRunStats;
|
|
336
|
+
}
|
|
337
|
+
export declare const CONTEXT_BISECT_DEFAULTS: {
|
|
338
|
+
/** Slice depth budget (forwarded to `causalChain`). */
|
|
339
|
+
readonly maxDepth: 12;
|
|
340
|
+
/** Slice node budget (forwarded to `causalChain`). */
|
|
341
|
+
readonly maxNodes: 80;
|
|
342
|
+
/** Ranked suspects kept on the report. */
|
|
343
|
+
readonly maxSuspects: 12;
|
|
344
|
+
/** Chars of written content embedded per step text (D7). */
|
|
345
|
+
readonly maxTextChars: 2000;
|
|
346
|
+
/** Seeded reruns per ablation probe (D9 — never single-run verdicts). */
|
|
347
|
+
readonly samples: 3;
|
|
348
|
+
/** Default similarity floor for the default outcome comparator. */
|
|
349
|
+
readonly flipThreshold: 0.8;
|
|
350
|
+
/** Ablation probes budget for `bisectCulprits`. */
|
|
351
|
+
readonly maxProbes: 24;
|
|
352
|
+
/** Independent-culprit search rounds for `bisectCulprits`. */
|
|
353
|
+
readonly maxCulprits: 4;
|
|
354
|
+
};
|
|
355
|
+
export type { CommitBundle, ControlDepLookup, Embedder, InfluenceWeights, RuntimeSnapshot, StageSnapshot, };
|
|
356
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/context-bisect/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../../src/lib/tool-lint/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../../src/lib/tool-lint/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAqBD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,WAAW,EAAE,CAuCnE;AAmDD;;;GAGG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,EAAE,GAAE,aAKH,GACA,OAAO,CAAC,MAAM,CAAC,CAwDjB"}
|
package/dist/types/observe.d.ts
CHANGED
|
@@ -52,6 +52,7 @@ export { agentThinkingTrace, type AgentThinkingTraceHandle, type AgentThinkingTr
|
|
|
52
52
|
export { typedEmit } from './recorders/core/typedEmit.js';
|
|
53
53
|
export { adaptWeights, averageRelevancy, compositeScore, contentHash, DEFAULT_INFLUENCE_WEIGHTS, DEFAULT_MARGIN_THRESHOLD, DEFAULT_PERSISTENCE_THRESHOLD, EmbeddingCache, embeddingCache, finalAnswerSimilarity, pairwiseSimilarity, persistence, scoreInfluence, scoreMargin, structuralProximity, type CandidateScore, type Embedder, type EmbeddingCacheOptions, type EmbeddingCacheStats, type EvidenceInput, type InfluenceScore, type InfluenceWeights, type MarginCandidate, type MarginResult, type PairwiseSimilarityArgs, type PairwiseSimilarityResult, type ScoreInfluenceArgs, type ScoreMarginArgs, type SignalScores, type SimilarityItem, type SimilarityPair, } from './lib/influence-core/index.js';
|
|
54
54
|
export { callTraceTool, TOOLPACK_HARD_CAPS, traceToolpack, type TraceToolpackArtifacts, type TraceToolpackOptions, } from './lib/trace-toolpack/index.js';
|
|
55
|
+
export { ablationForSuspect, applyAblations, bisectCulprits, CONTEXT_BISECT_DEFAULTS, defaultOutcomeComparator, defaultSuspectClassifier, formatContextBugReport, llmCallIdsFromEvents, llmEdgeWeigher, localizeContextBug, probeFlipped, runAblationProbe, stepOutputText, suspectLabel, verdictFor, type AblationRerun, type AblationRunner, type AblationRunStats, type AblationSpec, type AblationTargets, type AblationVerdict, type AblationVerdictKind, type BisectCulpritsOptions, type BisectionProbe, type BisectionResult, type CapturedEventLike, type ClassifyContext, type ContextBugArtifacts, type ContextBugReport, type EdgePathStep, type HonestyFlag, type HonestyFlagKind, type LlmEdgeWeigherHandle, type LlmEdgeWeigherOptions, type LocalizeContextBugOptions, type OutcomeComparator, type QualityTriggerLookup, type RankedParentEdge, type SimilarityStats, type SliceStats, type Suspect, type SuspectClassifier, type SuspectDetail, type SuspectKind, type SuspectSeed, } from './lib/context-bisect/index.js';
|
|
55
56
|
export { analyzeToolCatalog, catalogFromTools, coerceCatalog, confusabilityText, DEFAULT_CONFUSABILITY_THRESHOLD, DEFAULT_OMISSION_CUES, DEFAULT_WATCH_BAND, DEFAULT_WHEN_CUES, defaultStructuralRules, descriptionRule, differentiationHint, enumInProseRule, formatToolCatalogReport, MOCK_EMBEDDER_CALIBRATION, optionalParamRule, runToolLintCli, saysWhatNotWhenRule, type AnalyzeToolCatalogOptions, type CatalogTool, type ConfusablePairFinding, type DescriptionRuleOptions, type FormatReportOptions, type LintRule, type LintSeverity, type OptionalParamRuleOptions, type PairVerdict, type SaysWhatNotWhenRuleOptions, type SimilarityReport, type StructuralFinding, type ToolCatalogReport, type ToolLintCliIO, } from './lib/tool-lint/index.js';
|
|
56
57
|
export { buildChoiceContext, toolChoiceRecorder, type OfferedTool, type ToolChoiceCall, type ToolChoiceRecorderHandle, type ToolChoiceRecorderOptions, type ToolChoiceSkipReason, type ToolChoiceSummary, } from './recorders/observability/ToolChoiceRecorder.js';
|
|
57
58
|
//# sourceMappingURL=observe.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observe.d.ts","sourceRoot":"","sources":["../../src/observe.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"observe.d.ts","sourceRoot":"","sources":["../../src/observe.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED