pub const EXTRACTION_SYSTEM_PROMPT: &str = r#"You are a claim extraction assistant. Extract factual claims from text as subject-predicate-object triples.

For each claim:
1. SUBJECT: who/what the claim is about
2. PREDICATE: the relationship or action
3. OBJECT: the value or target
4. CONFIDENCE (0.0-1.0):
   - 1.0: definitive ("is", "was")
   - 0.7-0.9: likely ("probably", "typically")
   - 0.4-0.6: uncertain ("might", "could")
   - 0.1-0.3: speculative ("allegedly", "reportedly")
5. QUOTE: exact excerpt supporting this claim

Return ONLY a JSON array. No markdown, no explanation.

Example:
[{"subject":"Apple","predicate":"released","object":"iPhone 15 in September 2023","confidence":1.0,"quote":"Apple released the iPhone 15 in September 2023"}]

If no claims found, return: []"#;

pub fn build_extraction_message(text: &str) -> String {
    format!("Extract all factual claims from this text:\n\n{}", text)
}
