import type { DevelopmentRecord } from "./development.js"; import type { Board } from "./model.js"; import type { Store } from "./store.js"; import { type AgentReturn } from "./assessment.js"; import type { WalkthroughResult } from "./walkthrough.js"; export interface DesignHistoryAssessment { id: string; intent: "assess" | "implement" | "discuss"; sourceRevision: number; actor: string; at: string; status: "current" | "stale" | "unavailable"; returns: { commentId: string; actor: string; at: string; status: "current" | "stale" | "unavailable"; statusAtReceipt: "current" | "stale"; tests: AgentReturn["tests"]; evidence: "agent-report"; }[]; } export interface DesignHistoryNode { id: string; title: string; revision: number; baseline?: Board["baseline"]; parentAvailable?: boolean; availability: "available" | "unavailable"; development: DevelopmentRecord[]; assessments: DesignHistoryAssessment[]; walkthroughs: { id: string; name: string; sourceRevision: number; actor: string; at: string; status: "current" | "stale"; outcome: WalkthroughResult["status"]; evidence: "model-check"; }[]; acceptances: { seq: number; actor: string; at: string; alternativeBoard: string; baselineId?: string; }[]; } export interface DesignHistory { selectedBoard: string; nodes: DesignHistoryNode[]; warnings: string[]; } /** A scoped history projection, not a repository graph or a claim that a design was tested. */ export declare function designHistory(store: Pick, selectedBoard: string): Promise;