/** * J3.2 forward-claim detector — pure-function regex set + token extraction. * * No DB. No state. No dependencies beyond stdlib regex + String. * * The detector's job is to decide whether a recall query carries a * forward-prediction phrase ("will take ~3 days", "ship by Friday", * "ETA in 2 weeks"). Calibration is intentionally HIGH-PRECISION / * LOW-RECALL: better to fire on 20% of real forward-claims than 80% with * 40% noise. Cry-wolf failure dominates planning-fallacy hint UX (Lovallo- * Kahneman 2003 inside-vs-outside view). * * Iteration signal: the `recall_autodebias_hint_no_class_match` audit op * (emitted by computePlanningFallacyHint when a phrase matches but no class * resolves) is the telemetry channel for deciding whether to add an * embedding-based detector in J3.3. * * Plan: docs/plans/2026-05-26-j32-auto-injection.md (Task 1). */ export interface ForwardClaimMatch { /** The regex match snippet, e.g. "will take" or "~3 days". Surfaced * to the calling agent in `PlanningFallacyHint.detectedPhrase` so they * see WHY the hint appeared. */ phrase: string; /** Lower-cased non-stop-word tokens (len >= 3, alpha or alphanumeric) * extracted from the FULL query, NOT just the match. Used by the * orchestrator's class resolver to score overlap with class_tag tokens. */ classQueryTokens: string[]; } /** * Detect whether a recall query carries a forward-prediction phrase. * * @returns first-match phrase + extracted class-resolution tokens when * any pattern matches; null otherwise. Token extraction runs only on a * match — non-forward queries pay zero work beyond the regex gate. */ export declare function detectForwardClaim(queryText: string): ForwardClaimMatch | null; //# sourceMappingURL=forward-claim-detector.d.ts.map