/** * ollama_incident_brief — FLAGSHIP compound job. * * Structured operator brief built from log signal, file paths, and * (optionally) a named corpus for background context. Distinct from * ollama_triage_logs (symptoms in one blob) and from ollama_research * / ollama_corpus_answer (answer a specific question). This is the * "what just happened" shape. * * Shared-brief laws (see src/tools/briefs/): * - evidence first-class (refs to unknown ids stripped server-side) * - thin evidence → weak: true with coverage_notes * - no remediation drift: next_checks are investigative only */ import { z } from "zod"; import type { Envelope } from "../envelope.js"; import type { RunContext } from "../runContext.js"; import type { EvidenceItem } from "./briefs/evidence.js"; import { type AssembledEvidence } from "./briefs/common.js"; export declare const incidentBriefSchema: z.ZodObject<{ log_text: z.ZodOptional; source_paths: z.ZodOptional>; corpus: z.ZodOptional; corpus_query: z.ZodOptional; per_file_max_chars: z.ZodOptional; max_hypotheses: z.ZodOptional; corpus_min_evidence_score: z.ZodOptional; }, z.core.$strip>; export type IncidentBriefInput = z.infer; export interface Hypothesis { hypothesis: string; confidence: "high" | "medium" | "low"; evidence_refs: string[]; } export interface AffectedSurface { surface: string; evidence_refs: string[]; } export interface TimelineClue { clue: string; evidence_refs: string[]; } export interface NextCheck { check: string; why: string; } export interface IncidentBriefResult { root_cause_hypotheses: Hypothesis[]; affected_surfaces: AffectedSurface[]; timeline_clues: TimelineClue[]; next_checks: NextCheck[]; evidence: EvidenceItem[]; weak: boolean; coverage_notes: string[]; corpus_used: { name: string; chunks_used: number; } | null; } export declare function handleIncidentBrief(input: IncidentBriefInput, ctx: RunContext): Promise>; /** * Internal synthesis step. Takes pre-assembled evidence and runs the * Deep-tier brief synthesis. Exported so the incident_pack orchestrator * can share one evidence assembly across triage + brief without * exposing a "preassembled_evidence" knob on the public tool. */ export declare function synthesizeIncidentBrief(input: IncidentBriefInput, ctx: RunContext, assembled: AssembledEvidence): Promise>; //# sourceMappingURL=incidentBrief.d.ts.map