UNPKG

agentfootprint

Version:

The explainable agent framework — backtrack a wrong answer to the exact context that caused it (evidence, not guesses). Built on footprintjs.

111 lines • 11.9 kB
"use strict"; /** * context-bisect — RFC-003 Part B: the contextual-bug LOCALIZER, * "git bisect for context". * * Assembly over shipped pieces: footprintjs 9.8.0's complete causal DAG * (control edges, honesty markers, `EdgeWeigher` hook) × influence-core * scoring (D6) × consumer-run counterfactual ablation. * * D7 — `llmEdgeWeigher` influence-weighted LLM-call slice edges * D8 — `localizeContextBug` trigger → slice → ranked suspects → ablation * D9 — `bisectCulprits` seeded multi-culprit bisection + variance * * §B2 claim tiers (spelled out on every type): weights/scores are * embedding-geometry PROXIES; ablation verdicts are the ONLY causal * claims; slice completeness is bounded by tracking — and says so. * * @beta Beta feature (RFC-003 Part B). The API works and is tested, but * may change before GA. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.bucketByAnchors = exports.assembleTrajectory = exports.variableToBacktrackTrace = exports.traceVariable = exports.joinVariableSlice = exports.buildWriterFrameIndex = exports.walkTrajectory = exports.walkToRoot = exports.DEFAULT_RECENCY_DECAY = exports.shortlistEarlyCulprits = exports.verdictForArm = exports.validateStrategyArms = exports.scoreArmRuns = exports.RUN_CONFIGURED_EVENT = exports.nullBandFrom = exports.matchArm = exports.manifestFromEvents = exports.declaredFacetCount = exports.compareStrategyArms = exports.collectArmRuns = exports.checkArmApplied = exports.checkArmApplication = exports.armLabel = exports.armFacetsFromManifest = exports.armConfigKey = exports.applyArm = exports.rerunWithoutSources = exports.removableSources = exports.MIN_LOOPS_SAVED = exports.classifySuspect = exports.assignCostVerdicts = exports.verdictFor = exports.runAblationProbe = exports.probeFlipped = exports.median = exports.defaultOutcomeComparator = exports.costStatsFrom = exports.applyAblations = exports.ablationForSuspect = exports.sliceToBacktrackTrace = exports.toBacktrackTrace = exports.suspectLabel = exports.localizeContextBug = exports.llmCallIdsFromEvents = exports.formatContextBugReport = exports.defaultSuspectClassifier = exports.runRestorationProbe = exports.findDroppedContext = exports.stepOutputText = exports.llmEdgeWeigher = void 0; exports.CONTEXT_BISECT_DEFAULTS = exports.bisectCulprits = exports.findLoopHeads = void 0; var llmEdgeWeigher_js_1 = require("./llmEdgeWeigher.js"); Object.defineProperty(exports, "llmEdgeWeigher", { enumerable: true, get: function () { return llmEdgeWeigher_js_1.llmEdgeWeigher; } }); Object.defineProperty(exports, "stepOutputText", { enumerable: true, get: function () { return llmEdgeWeigher_js_1.stepOutputText; } }); // Interface #3 — missing-context finder (available − sent; confirm by restoration). var missingContext_js_1 = require("./missingContext.js"); Object.defineProperty(exports, "findDroppedContext", { enumerable: true, get: function () { return missingContext_js_1.findDroppedContext; } }); var restoration_js_1 = require("./restoration.js"); Object.defineProperty(exports, "runRestorationProbe", { enumerable: true, get: function () { return restoration_js_1.runRestorationProbe; } }); var localize_js_1 = require("./localize.js"); Object.defineProperty(exports, "defaultSuspectClassifier", { enumerable: true, get: function () { return localize_js_1.defaultSuspectClassifier; } }); Object.defineProperty(exports, "formatContextBugReport", { enumerable: true, get: function () { return localize_js_1.formatContextBugReport; } }); Object.defineProperty(exports, "llmCallIdsFromEvents", { enumerable: true, get: function () { return localize_js_1.llmCallIdsFromEvents; } }); Object.defineProperty(exports, "localizeContextBug", { enumerable: true, get: function () { return localize_js_1.localizeContextBug; } }); Object.defineProperty(exports, "suspectLabel", { enumerable: true, get: function () { return localize_js_1.suspectLabel; } }); var toBacktrackTrace_js_1 = require("./toBacktrackTrace.js"); Object.defineProperty(exports, "toBacktrackTrace", { enumerable: true, get: function () { return toBacktrackTrace_js_1.toBacktrackTrace; } }); // sliceToBacktrackTrace — the STRUCTURAL sibling: a footprintjs variable // slice (sliceToJSON) on the same atui board, honestly weaker chips. var sliceToBacktrackTrace_js_1 = require("./sliceToBacktrackTrace.js"); Object.defineProperty(exports, "sliceToBacktrackTrace", { enumerable: true, get: function () { return sliceToBacktrackTrace_js_1.sliceToBacktrackTrace; } }); var ablation_js_1 = require("./ablation.js"); Object.defineProperty(exports, "ablationForSuspect", { enumerable: true, get: function () { return ablation_js_1.ablationForSuspect; } }); Object.defineProperty(exports, "applyAblations", { enumerable: true, get: function () { return ablation_js_1.applyAblations; } }); Object.defineProperty(exports, "costStatsFrom", { enumerable: true, get: function () { return ablation_js_1.costStatsFrom; } }); Object.defineProperty(exports, "defaultOutcomeComparator", { enumerable: true, get: function () { return ablation_js_1.defaultOutcomeComparator; } }); Object.defineProperty(exports, "median", { enumerable: true, get: function () { return ablation_js_1.median; } }); Object.defineProperty(exports, "probeFlipped", { enumerable: true, get: function () { return ablation_js_1.probeFlipped; } }); Object.defineProperty(exports, "runAblationProbe", { enumerable: true, get: function () { return ablation_js_1.runAblationProbe; } }); Object.defineProperty(exports, "verdictFor", { enumerable: true, get: function () { return ablation_js_1.verdictFor; } }); // Two-score localization (proposal 004): the COST score + the 2×2 classifier. var cost_js_1 = require("./cost.js"); Object.defineProperty(exports, "assignCostVerdicts", { enumerable: true, get: function () { return cost_js_1.assignCostVerdicts; } }); Object.defineProperty(exports, "classifySuspect", { enumerable: true, get: function () { return cost_js_1.classifySuspect; } }); Object.defineProperty(exports, "MIN_LOOPS_SAVED", { enumerable: true, get: function () { return cost_js_1.MIN_LOOPS_SAVED; } }); // The counterfactual re-run as one call — the product loop over the ablation // machinery (wraps applyAblations/runAblationProbe; no new machinery). var rerun_js_1 = require("./rerun.js"); Object.defineProperty(exports, "removableSources", { enumerable: true, get: function () { return rerun_js_1.removableSources; } }); Object.defineProperty(exports, "rerunWithoutSources", { enumerable: true, get: function () { return rerun_js_1.rerunWithoutSources; } }); // Strategy arms — the SUBSTITUTION tier. Ablation removes; an arm REPLACES, so // it is a sibling spec type rather than a fifth `AblationSpec` kind (the union // feeds a subset search that substitutions do not compose under). Statistics // shared, search machinery not. See src/context-bisect/arms/README.md. var index_js_1 = require("./arms/index.js"); Object.defineProperty(exports, "applyArm", { enumerable: true, get: function () { return index_js_1.applyArm; } }); Object.defineProperty(exports, "armConfigKey", { enumerable: true, get: function () { return index_js_1.armConfigKey; } }); Object.defineProperty(exports, "armFacetsFromManifest", { enumerable: true, get: function () { return index_js_1.armFacetsFromManifest; } }); Object.defineProperty(exports, "armLabel", { enumerable: true, get: function () { return index_js_1.armLabel; } }); Object.defineProperty(exports, "checkArmApplication", { enumerable: true, get: function () { return index_js_1.checkArmApplication; } }); Object.defineProperty(exports, "checkArmApplied", { enumerable: true, get: function () { return index_js_1.checkArmApplied; } }); Object.defineProperty(exports, "collectArmRuns", { enumerable: true, get: function () { return index_js_1.collectArmRuns; } }); Object.defineProperty(exports, "compareStrategyArms", { enumerable: true, get: function () { return index_js_1.compareStrategyArms; } }); Object.defineProperty(exports, "declaredFacetCount", { enumerable: true, get: function () { return index_js_1.declaredFacetCount; } }); Object.defineProperty(exports, "manifestFromEvents", { enumerable: true, get: function () { return index_js_1.manifestFromEvents; } }); Object.defineProperty(exports, "matchArm", { enumerable: true, get: function () { return index_js_1.matchArm; } }); Object.defineProperty(exports, "nullBandFrom", { enumerable: true, get: function () { return index_js_1.nullBandFrom; } }); Object.defineProperty(exports, "RUN_CONFIGURED_EVENT", { enumerable: true, get: function () { return index_js_1.RUN_CONFIGURED_EVENT; } }); Object.defineProperty(exports, "scoreArmRuns", { enumerable: true, get: function () { return index_js_1.scoreArmRuns; } }); Object.defineProperty(exports, "validateStrategyArms", { enumerable: true, get: function () { return index_js_1.validateStrategyArms; } }); Object.defineProperty(exports, "verdictForArm", { enumerable: true, get: function () { return index_js_1.verdictForArm; } }); // Per-loop recall shortlist (proposal 006, L3): rescue early culprits → narrow before ablation. var loop_recall_js_1 = require("./loop-recall.js"); Object.defineProperty(exports, "shortlistEarlyCulprits", { enumerable: true, get: function () { return loop_recall_js_1.shortlistEarlyCulprits; } }); Object.defineProperty(exports, "DEFAULT_RECENCY_DECAY", { enumerable: true, get: function () { return loop_recall_js_1.DEFAULT_RECENCY_DECAY; } }); // Root-cause backtracking debugger (proposal 007, L4): walk symptom → root (narrow → hop → convict). var walk_to_root_js_1 = require("./walk-to-root.js"); Object.defineProperty(exports, "walkToRoot", { enumerable: true, get: function () { return walk_to_root_js_1.walkToRoot; } }); Object.defineProperty(exports, "walkTrajectory", { enumerable: true, get: function () { return walk_to_root_js_1.walkTrajectory; } }); Object.defineProperty(exports, "buildWriterFrameIndex", { enumerable: true, get: function () { return walk_to_root_js_1.buildWriterFrameIndex; } }); // variable-recall (7.12): footprintjs's variable slices joined to agent // vocabulary — loops, suspect identities, ablation hooks. Pure assembly; it is // what lets the walk narrow by RECORDED dataflow instead of text similarity. var variable_recall_js_1 = require("./variable-recall.js"); Object.defineProperty(exports, "joinVariableSlice", { enumerable: true, get: function () { return variable_recall_js_1.joinVariableSlice; } }); Object.defineProperty(exports, "traceVariable", { enumerable: true, get: function () { return variable_recall_js_1.traceVariable; } }); var variableToBacktrackTrace_js_1 = require("./variableToBacktrackTrace.js"); Object.defineProperty(exports, "variableToBacktrackTrace", { enumerable: true, get: function () { return variableToBacktrackTrace_js_1.variableToBacktrackTrace; } }); // Per-loop trajectory assembler (proposal 005): segmentation core (phase 1) // + the agent-flavored projection (phase 2). var trajectory_js_1 = require("./trajectory.js"); Object.defineProperty(exports, "assembleTrajectory", { enumerable: true, get: function () { return trajectory_js_1.assembleTrajectory; } }); Object.defineProperty(exports, "bucketByAnchors", { enumerable: true, get: function () { return trajectory_js_1.bucketByAnchors; } }); Object.defineProperty(exports, "findLoopHeads", { enumerable: true, get: function () { return trajectory_js_1.findLoopHeads; } }); var bisect_js_1 = require("./bisect.js"); Object.defineProperty(exports, "bisectCulprits", { enumerable: true, get: function () { return bisect_js_1.bisectCulprits; } }); var types_js_1 = require("./types.js"); Object.defineProperty(exports, "CONTEXT_BISECT_DEFAULTS", { enumerable: true, get: function () { return types_js_1.CONTEXT_BISECT_DEFAULTS; } }); //# sourceMappingURL=index.js.map