Input cluster JSON: {cluster_json} You MUST extract a news signal from the headline AND summary. Return STRICT JSON only. Task: 1) infer the best top-level topic (crypto, macro, regulation, ai, other) 2) extract concise ENTITIES (proper nouns only) 3) assign sentiment (positive/negative/neutral) + score (-1.0 to 1.0) 4) provide short KEYWORDS (thematic tags, 1-2 words, NOT proper nouns) === ENTITY RULES (strict) === - ONLY specific named people, places, organizations, titles, products, tickers. 1-5 words. - Examples of entities: "Donald Trump", "Federal Reserve", "Bitcoin", "SEC", "ECB", "Iran", "Gaza", "Nvidia", "Apple", "ChatGPT", "Binance", "Jerome Powell", "BTC", "ETH", "Ethereum", "OPEC+", "H100", "Blackwell" - Examples of NON-entities (these are THEMES/CONCEPTS → put in KEYWORDS): "inflation", "interest rates", "rates", "euro", "dollar", "oil", "gold", "war", "election", "regulation", "sanctions", "tariffs", "AI", "crypto", "ETF", "monetary policy", "fiscal policy", "trade war", "supply chain", "recession", "growth", "employment", "unemployment", "GDP", "CPI", "PPI", "US", "United States", "EU", "Europe", "China", "eurozone", "oil prices", "stock market", "bond yields" - Do NOT include common nouns, abstract concepts, or thematic terms — even if finance/crypto related. - Do NOT include adjectives alone ("strict", "new", "record", "major") or generic nouns ("package", "plan", "deal", "bill", "act", "law", "case", "trial", "verdict", "ruling", "decision", "meeting", "summit", "talks"). === KEYWORD RULES (strict) === - Each keyword MUST be 1-2 words. PREFER 2-word phrases. Avoid single words unless they are established compound concepts (e.g. "inflation" is ok alone, "sanctions" is ok alone). - Keywords are THEMATIC TAGS: abstract concepts, policy areas, event types, topics. - Good 2-word keywords: "interest rates", "monetary policy", "securities law", "airstrikes", "missile sites", "regional escalation", "trade war", "supply chain", "recession risk", "inflation data", "ETF inflows", "institutional demand", "price surge", "AI chips", "earnings beat", "revenue growth", "chip demand", "rate cut", "eurozone inflation", "deposit rate", "monetary easing", "production cuts", "oil prices", "global supply", "demand concerns", "high-risk systems", "compliance requirements", "criminal conviction", "hush money", "falsifying records", "historic verdict", "guilty verdict", "stimulus package", "infrastructure spending", "property sector" - Bad keywords: proper nouns (these go in entities), SINGLE generic words ("unregistered", "securities", "ETFs", "inflows", "strict", "rules", "package", "economy", "oil", "prices", "cuts", "demand", "growth", "beat", "report", "data", "concerns"), verb phrases ("warns Iran", "hikes rates", "cuts rates", "sues Binance"), full headline fragments, anything over 2 words. - Return 2-4 keywords. Fewer is better than bad ones. === DECISION PROCEDURE === For each candidate term in the text: 1. Is it a specific named person/place/org/product/ticker? → ENTITY 2. Is it a theme, topic, policy area, or event type? → KEYWORD 3. Can you form a meaningful 2-word phrase? → KEYWORD (use the phrase) 4. Unclear? Default to KEYWORD (safer to miss an entity than pollute entities with themes) === TOPIC CLASSIFICATION === - crypto: Bitcoin, Ethereum, crypto exchanges, DeFi, tokens, mining, ETFs - macro: central banks (Fed, ECB, BoE, BoJ), interest rates, inflation, GDP, employment, fiscal/monetary policy, oil, commodities, China economy - regulation: GOVERNMENT REGULATORY/ENFORCEMENT ACTIONS — SEC, CFTC, OFAC, Treasury, DOJ, FTC, lawsuits, enforcement, legislation, compliance, legal rulings, EU AI Act, financial regulation, SANCTIONS IMPOSITION/ENFORCEMENT - ai: AI models, chips (Nvidia, AMD), LLMs, generative AI, AI companies, AI regulation (but prefer 'regulation' if legal/enforcement focus) - other: geopolitics, war, politics, elections, corporate earnings (non-AI), general business, diplomacy, UNLESS it's a regulatory/enforcement action by a government body KEY DISTINCTION: Sanctions by OFAC/Treasury = REGULATION (enforcement action). Diplomatic talks about sanctions = OTHER (diplomacy). SEC lawsuit = REGULATION. Crypto exchange hack = OTHER. EU AI Act compliance = REGULATION. AI company product launch = AI. === SENTIMENT RULES === - positive: clearly encouraging, improving, or supportive tone - negative: clearly alarming, worsening, severe, conflict, loss, risk, warning tone - neutral: factual, balanced, or mixed - sentimentScore must be a number from -1.0 to 1.0 and should reflect the sentiment label. === FEW-SHOT EXAMPLES === Example 1 (regulation): Headline: "SEC sues Binance over unregistered securities" Summary: "The Securities and Exchange Commission filed a lawsuit against Binance, the world's largest crypto exchange, alleging it operated as an unregistered securities exchange and commingled customer funds." Output: { "topic": "regulation", "entities": ["SEC", "Binance"], "sentiment": "negative", "sentimentScore": -0.7, "keywords": ["securities law", "crypto exchange", "enforcement action"] } Example 2 (macro): Headline: "Fed holds rates steady as inflation cools" Summary: "The Federal Reserve kept interest rates unchanged at 5.25-5.50%, citing progress on inflation but signaling caution on future cuts." Output: { "topic": "macro", "entities": ["Federal Reserve"], "sentiment": "neutral", "sentimentScore": 0.0, "keywords": ["interest rates", "inflation", "monetary policy"] } Example 3 (other - geopolitics): Headline: "Israel strikes Iranian missile sites in Syria" Summary: "Israeli warplanes targeted Iranian missile depots near Damascus overnight, escalating regional tensions." Output: { "topic": "other", "entities": ["Israel", "Iran", "Syria", "Damascus"], "sentiment": "negative", "sentimentScore": -0.8, "keywords": ["airstrikes", "missile sites", "regional escalation"] } Example 4 (crypto): Headline: "Bitcoin ETFs see record inflows as BTC tops $70k" Summary: "US spot Bitcoin ETFs attracted $2.3 billion in net inflows this week as Bitcoin surged past $70,000, driven by institutional demand." Output: { "topic": "crypto", "entities": ["Bitcoin", "BTC"], "sentiment": "positive", "sentimentScore": 0.7, "keywords": ["ETF inflows", "institutional demand", "price surge"] } Example 5 (ai): Headline: "Nvidia beats earnings on AI chip demand" Summary: "Nvidia reported quarterly revenue of $26 billion, up 262% year-over-year, driven by insatiable demand for its H100 and Blackwell AI chips." Output: { "topic": "ai", "entities": ["Nvidia", "H100", "Blackwell"], "sentiment": "positive", "sentimentScore": 0.85, "keywords": ["AI chips", "earnings beat", "revenue growth", "chip demand"] } Example 6 (regulation - enforcement/sanctions): Headline: "US Treasury imposes new sanctions on Iranian oil network" Summary: "The Office of Foreign Assets Control sanctioned a network of companies and vessels transporting Iranian petroleum in violation of US sanctions." Output: { "topic": "regulation", "entities": ["US Treasury", "OFAC", "Iran"], "sentiment": "negative", "sentimentScore": -0.6, "keywords": ["sanctions enforcement", "oil network", "sanctions evasion"] } Return STRICT JSON with EXACT keys only: { topic, entities, sentiment, sentimentScore, keywords } where topic is one of [crypto, macro, regulation, ai, other].