export declare const FEEDBACK_SCHEMA = "osc.feedback.v1"; export declare const FEEDBACK_ANALYSIS_SCHEMA = "osc.feedback-analysis.v1"; export declare const ACCEPTED_IMPROVEMENT_SCHEMA = "osc.accepted-improvement.v1"; export type FeedbackSource = 'human' | 'tests' | 'reviewer' | 'benchmark' | 'runtime' | 'codex' | 'hermes'; export type FeedbackVerdict = 'pass' | 'retry' | 'reject' | 'block' | 'improve'; export type FeedbackScope = 'run' | 'plan' | 'command' | 'docs' | 'benchmark' | 'runtime'; export interface FeedbackInput { repoRoot?: string; runId: string; source: FeedbackSource; verdict: FeedbackVerdict; scope: FeedbackScope; whatHappened: string; whyItMatters: string; repairHypothesis?: string; evidencePaths?: string[]; nextAction: string; } export interface FeedbackRecord { schema: typeof FEEDBACK_SCHEMA; id: string; runId: string; recordedAt: string; source: FeedbackSource; verdict: FeedbackVerdict; scope: FeedbackScope; whatHappened: string; whyItMatters: string; repairHypothesis: string | null; evidencePaths: string[]; nextAction: string; boundary: { feedback_is_not_approval: true; human_feedback_is_task_input_or_learning_signal_only: true; requires_owner_gate_for_merge_publish_release: true; }; } export declare function recordFeedback(input: FeedbackInput): { status: "recorded"; path: string; record: FeedbackRecord; }; export declare function readFeedback({ repoRoot, runId }: { repoRoot?: string; runId: string; }): FeedbackRecord[]; export declare function analyzeFeedback({ repoRoot, runId, writeCandidates }: { repoRoot?: string; runId: string; writeCandidates?: boolean; }): { schema: string; runId: string; generatedAt: string; feedbackCount: number; sources: FeedbackSource[]; verdicts: FeedbackVerdict[]; repairHypotheses: { hypothesis: string; evidenceIds: string[]; }[]; nextAction: string; improvementCandidates: { feedbackId: string; scope: FeedbackScope; hypothesis: string; nextAction: string; }[]; boundary: { feedback_is_not_approval: boolean; analysis_is_not_patch: boolean; accepted_improvements_require_review: boolean; }; }; export declare function persistAcceptedImprovement({ repoRoot, slug, title, lesson, evidencePaths }: { repoRoot?: string; slug: string; title: string; lesson: string; evidencePaths?: string[]; }): { status: "applied"; slug: string; path: string; }; export declare function loadAcceptedImprovements({ repoRoot, query, requireQuery }?: { repoRoot?: string; query?: string; requireQuery?: boolean; }): { slug: string; path: string; content: string; }[];