feat(citations): add per-claim citations to AI briefs

LLM prompts updated to output {text, citation, quote} objects for every
key_point and risk. govinfo_url stored on BillBrief (migration 0006) so
the frontend can link directly to the source document without an extra
query. AIBriefCard renders § citation chips that expand inline to show
the verbatim quote and a View source → GovInfo link. Old plain-string
briefs continue to render unchanged.

Authored-By: Jack Levy
This commit is contained in:
Jack Levy
2026-02-28 22:48:58 -05:00
parent 6a1b387dd2
commit 8d6a55905c
7 changed files with 144 additions and 28 deletions

View File

@@ -10,15 +10,23 @@ export interface Member {
photo_url?: string;
}
export interface CitedPoint {
text: string;
citation: string;
quote: string;
}
export interface BriefSchema {
id: number;
brief_type?: string;
summary?: string;
key_points?: string[];
risks?: string[];
key_points?: (string | CitedPoint)[];
risks?: (string | CitedPoint)[];
deadlines?: { date: string | null; description: string }[];
topic_tags?: string[];
llm_provider?: string;
llm_model?: string;
govinfo_url?: string;
created_at?: string;
}