agentfootprint
Version:
The explainable agent framework — backtrack a wrong answer to the exact context that caused it (evidence, not guesses). Built on footprintjs.
18 lines • 1.46 kB
TypeScript
import type { NegativeKind, TurnCall } from './types.js';
/** Only normalize the absence family, after every cited read explicitly declares
* absence. Never turn a negative into complete, or downgrade requested completeness. */
export declare function deriveCitationKind(requested: NegativeKind, reads: readonly TurnCall[]): NegativeKind | undefined;
/** Canonical public population values only; never model text or a first-value
* shortcut. The delivery adapter may expose a scalar only when this has one value. */
export declare function derivedSubjects(reads: readonly TurnCall[]): readonly (string | number)[];
/** A supplied label must contain EVERY recorded subject. This checks the label's
* scope only; its surrounding prose and any negative wording remain unchecked. */
export declare function aboutContainsSubjects(about: string | number, reads: readonly TurnCall[]): boolean;
/** Cross-tool peers need the app's same declared subject. Within one tool an
* undeclared subject cannot prove a reading unrelated to its sibling. */
export declare function sameRecordedSubject(a: TurnCall, b: TurnCall): boolean;
/** Population values in one argument are alternatives; different arguments
* are separate dimensions. A shared concrete dimension can prove disjointness.
* Missing, differently named, or `any` dimensions cannot. */
export declare function populationsMayOverlap(a: TurnCall, b: TurnCall): boolean;
//# sourceMappingURL=derive.d.ts.map