import type { FeltDBContractSnapshot } from "./application-development.js"; import type { ModuleIntent } from "./module-intent.js"; export type EvidenceAuthority = "authoritative" | "observed" | "inferred"; export type EvidenceSource = "feltdb.flow" | "canonical_contract" | "schema" | "policy" | "workflow" | "agent" | "capability" | "module" | "application_metadata" | "repository" | "git" | "proposal" | "proposal_history"; export interface ApplicationEvidence { id: string; source: EvidenceSource; claim: string; value: unknown; source_ref: string; authority: Exclude; } export interface ApplicationInference { id: string; claim: string; value: unknown; confidence: number; authority: EvidenceAuthority; evidence: string[]; counter_evidence: string[]; reason: string; created_at: string; } export interface ApplicationUnknown { claim: string; reason: string; resolution: "clarification_required" | "evidence_required"; } export interface ApplicationAssumption { claim: string; value: unknown; based_on: string; confidence: number; } export interface ApplicationUnderstanding { version: 1; application: FeltDBContractSnapshot["application"]; intent: string; evidence: ApplicationEvidence[]; inferences: ApplicationInference[]; unknowns: ApplicationUnknown[]; assumptions: ApplicationAssumption[]; evidence_hash: string; understanding_hash: string; created_at: string; completeness: { score: number; findings: Array<{ claim: string; status: "complete" | "partial" | "missing" | "contradictory"; evidence: string[]; }>; }; } export interface ObservedEvidenceInput { source: "repository" | "git" | "application_metadata" | "proposal" | "proposal_history"; claim: string; value?: unknown; source_ref: string; } /** Deterministic, bounded understanding stage. It accepts structured observations, never raw repository contents. */ export declare function collectApplicationUnderstanding(input: { intent: string; snapshot: FeltDBContractSnapshot; currentFlow: string; moduleIntent?: ModuleIntent; observations?: ObservedEvidenceInput[]; now?: string; }): Promise; export declare function understandingInference(understanding: ApplicationUnderstanding, claim: string): ApplicationInference | undefined; export declare function understandingOwner(understanding: ApplicationUnderstanding, module?: { placement: { owner_claim: string; }; }): string | undefined; //# sourceMappingURL=application-understanding.d.ts.map