{"ticker": {"uuid": "59bb1c91-7766-4817-96e1-76e3a882b014", "symbol": "GRI", "name": "Grainger plc", "exchange": "LSE", "country": "GB", "sector": "Real Estate", "industry": "Real Estate Services"}, "articles": [], "by_tier": {"direct": [], "industry": [], "sector": []}, "total_fetched": 0, "total_unique": 0, "total_relevant": 0, "pipeline_health": {"providers_attempted": 1, "providers_with_results": 0, "provider_counts": {"eodhd": 0}, "raw_articles": 0, "unique_stories": 0, "duplicates_removed": 0, "relevant_stories": 0, "current_evidence": 0, "direct_evidence": 0, "eodhd_articles": 0, "eodhd": {"configured": true, "status": "healthy", "calls_used": 320, "call_budget": 500, "budget_used_pct": 64.0, "requests_made": 64, "last_success_at": "2026-08-13T11:45:20.230062+00:00", "newest_seen_at": "2026-08-13T11:17:00+00:00", "rate_limit": 1200, "rate_remaining": 1199, "last_error": "", "mapped_mentions": 3058, "unmapped_mentions": 2015}, "status": "unavailable"}, "sentiment_summary": {"positive": 0, "negative": 0, "neutral": 0, "score": 50, "raw_score": 50, "total": 0, "evidence_count": 0, "effective_articles": 0, "direct_story_count": 0, "industry_story_count": 0, "sector_story_count": 0, "story_count": 0, "source_count": 0, "source_concentration": 0, "direct_share": 0, "dispersion": 0, "confidence": 0, "evidence_status": "insufficient", "score_version": "evidence-v4", "newest_article_at": null, "label": "No current sentiment signal", "tone": "neutral"}, "classifier": {"primary_event": "general", "primary_label": "Market update", "confidence": 0, "events": [], "positive_events": 0, "negative_events": 0, "pipeline": {"providers_attempted": 1, "providers_with_results": 0, "provider_counts": {"eodhd": 0}, "raw_articles": 0, "unique_stories": 0, "duplicates_removed": 0, "relevant_stories": 0, "current_evidence": 0, "direct_evidence": 0, "eodhd_articles": 0, "eodhd": {"configured": true, "status": "healthy", "calls_used": 320, "call_budget": 500, "budget_used_pct": 64.0, "requests_made": 64, "last_success_at": "2026-08-13T11:45:20.230062+00:00", "newest_seen_at": "2026-08-13T11:17:00+00:00", "rate_limit": 1200, "rate_remaining": 1199, "last_error": "", "mapped_mentions": 3058, "unmapped_mentions": 2015}, "status": "unavailable"}}, "market_context": {"has_market_context": true, "latest_close": 176.3, "latest_week": "2026-08-07", "one_week_move": 1.0, "four_week_move": 1.7, "twelve_week_move": 16.5, "trend_signal": "0", "trend_label": "Trend inactive", "trend_tone": "negative", "market_dynamics": 0.98117, "market_dynamics_buy_signal": false, "relative_strength": -10.303242, "fair_value_gap": -18.9, "fair_value_label": "Near fair-value range", "fair_value_tone": "neutral", "expectation_direction": "negative", "expectation_probability": 42.3489, "reaction_label": "Price digesting", "reaction_tone": "neutral", "market_sentence": "+1.0% over one week, +1.7% over four weeks, trend inactive, and near fair-value range."}, "interpretation": {"label": "No current news signal", "tone": "neutral", "classification": "insufficient", "summary": "No sufficiently fresh, directly relevant company news is available for a price comparison.", "confidence": 0, "badges": ["Insufficient evidence"], "opportunities": [], "risks": [], "event_label": "Market update", "sentiment_word": "neutral"}, "charts": {"sources": [], "tiers": [{"label": "Direct company coverage", "count": 0}, {"label": "Industry context", "count": 0}, {"label": "Sector context", "count": 0}], "events": []}, "insights": [{"label": "Weighted tone", "value": "50/100", "tone": "neutral", "text": "No current sentiment signal"}, {"label": "Evidence confidence", "value": "0/100", "tone": "neutral", "text": "0 effective stories after overlap and weighting."}, {"label": "Market reaction", "value": "No current news signal", "tone": "neutral", "text": "No sufficiently fresh, directly relevant company news is available for a price comparison."}, {"label": "Primary event", "value": "Market update", "tone": "neutral", "text": "0/100 classification confidence."}, {"label": "Company focus", "value": "0", "tone": "neutral", "text": "0% of weighted evidence is company-specific."}, {"label": "Evidence agreement", "value": "0/100", "tone": "positive", "text": "lower dispersion means the independent stories agree more closely."}, {"label": "Trend context", "value": "Trend inactive", "tone": "negative", "text": "+1.0% over one week, +1.7% over four weeks, trend inactive, and near fair-value range."}], "updated_at": "2026-08-13T11:56:47.558001+00:00", "detail_intelligence": {"headline": "The current company-level signal is not yet measurable", "summary": "Available headlines do not meet the required combination of freshness, direct relevance and independent source depth. The neutral score is a withheld classification, not a neutral forecast.", "status": "insufficient", "metrics": [{"label": "Weighted tone", "value": 50, "display": "50", "tone": "neutral", "note": "No current sentiment signal"}, {"label": "Evidence confidence", "value": 0, "display": "0", "tone": "negative", "note": "thin evidence"}, {"label": "Company focus", "value": 0, "display": "0%", "tone": "negative", "note": "0 direct stories"}, {"label": "Evidence agreement", "value": 0, "display": "N/A", "tone": "neutral", "note": "requires at least 2 stories"}], "confidence_drivers": [{"label": "Sample depth", "value": 0, "note": "0 effective stories"}, {"label": "Source breadth", "value": 0, "note": "0 independent publishers"}, {"label": "Direct relevance", "value": 0, "note": "company-specific evidence share"}, {"label": "Freshness", "value": 0, "note": "recency-weighted evidence"}, {"label": "Agreement", "value": 0, "note": "requires at least 2 stories"}, {"label": "Source independence", "value": 0, "note": "lower publisher concentration"}], "freshness": 0, "source_independence": 0, "timeline": [{"date": "2026-07-24", "label": "24 Jul", "count": 0, "score": null, "tone": "neutral", "x": 42.0, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-07-25", "label": "25 Jul", "count": 0, "score": null, "tone": "neutral", "x": 87.8, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-07-26", "label": "26 Jul", "count": 0, "score": null, "tone": "neutral", "x": 133.6, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-07-27", "label": "27 Jul", "count": 0, "score": null, "tone": "neutral", "x": 179.4, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-07-28", "label": "28 Jul", "count": 0, "score": null, "tone": "neutral", "x": 225.2, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-07-29", "label": "29 Jul", "count": 0, "score": null, "tone": "neutral", "x": 271.0, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-07-30", "label": "30 Jul", "count": 0, "score": null, "tone": "neutral", "x": 316.8, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-07-31", "label": "31 Jul", "count": 0, "score": null, "tone": "neutral", "x": 362.6, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-08-01", "label": "01 Aug", "count": 0, "score": null, "tone": "neutral", "x": 408.4, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-08-02", "label": "02 Aug", "count": 0, "score": null, "tone": "neutral", "x": 454.2, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-08-03", "label": "03 Aug", "count": 0, "score": null, "tone": "neutral", "x": 500.0, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-08-04", "label": "04 Aug", "count": 0, "score": null, "tone": "neutral", "x": 545.8, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-08-05", "label": "05 Aug", "count": 0, "score": null, "tone": "neutral", "x": 591.6, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-08-06", "label": "06 Aug", "count": 0, "score": null, "tone": "neutral", "x": 637.4, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-08-07", "label": "07 Aug", "count": 0, "score": null, "tone": "neutral", "x": 683.2, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-08-08", "label": "08 Aug", "count": 0, "score": null, "tone": "neutral", "x": 729.0, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-08-09", "label": "09 Aug", "count": 0, "score": null, "tone": "neutral", "x": 774.8, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-08-10", "label": "10 Aug", "count": 0, "score": null, "tone": "neutral", "x": 820.6, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-08-11", "label": "11 Aug", "count": 0, "score": null, "tone": "neutral", "x": 866.4, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-08-12", "label": "12 Aug", "count": 0, "score": null, "tone": "neutral", "x": 912.2, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-08-13", "label": "13 Aug", "count": 0, "score": null, "tone": "neutral", "x": 958.0, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}], "timeline_points": "", "timeline_has_signal": false, "timeline_start": "24 Jul", "timeline_mid": "03 Aug", "timeline_end": "13 Aug", "momentum": {"label": "No current flow", "tone": "neutral", "recent_score": null, "prior_score": null, "delta": null, "recent_count": 0, "prior_count": 0, "volume_delta": 0}, "freshness_buckets": [{"label": "Last 24 hours", "count": 0, "share": 0}, {"label": "1 to 3 days", "count": 0, "share": 0}, {"label": "4 to 7 days", "count": 0, "share": 0}, {"label": "8 to 30 days", "count": 0, "share": 0}], "source_profile": [], "event_profile": [], "topics": [], "supporting": [{"label": "Market context", "text": "+1.0% over one week, +1.7% over four weeks, trend inactive, and near fair-value range."}], "tempering": [{"label": "Company coverage", "text": "No current company-specific story carries enough weight to establish a direct signal."}, {"label": "Confidence", "text": "Evidence confidence is 0/100, below the threshold for a firm classification."}], "supporting_heading": "Available context", "tempering_heading": "Why classification is withheld", "latest_observation": null, "article_count": 0, "updated_at": "2026-08-13T09:05:55.689496+00:00"}, "price_sentiment_path": {"available": true, "price_points": [{"x": 42.0, "y": 70.2, "label": "06 Feb 2026", "close": 189.56, "index": 100.0}, {"x": 77.2, "y": 55.8, "label": "13 Feb 2026", "close": 193.76, "index": 102.2}, {"x": 112.5, "y": 62.6, "label": "20 Feb 2026", "close": 191.76, "index": 101.2}, {"x": 147.7, "y": 62.0, "label": "27 Feb 2026", "close": 191.96, "index": 101.3}, {"x": 218.2, "y": 129.7, "label": "13 Mar 2026", "close": 172.17, "index": 90.8}, {"x": 253.4, "y": 157.1, "label": "20 Mar 2026", "close": 164.17, "index": 86.6}, {"x": 288.6, "y": 174.9, "label": "27 Mar 2026", "close": 158.97, "index": 83.9}, {"x": 323.8, "y": 154.3, "label": "03 Apr 2026", "close": 164.97, "index": 87.0}, {"x": 359.1, "y": 133.1, "label": "10 Apr 2026", "close": 171.17, "index": 90.3}, {"x": 394.3, "y": 112.3, "label": "17 Apr 2026", "close": 177.27, "index": 93.5}, {"x": 429.5, "y": 141.7, "label": "24 Apr 2026", "close": 168.67, "index": 89.0}, {"x": 464.8, "y": 175.6, "label": "01 May 2026", "close": 158.77, "index": 83.8}, {"x": 500.0, "y": 168.0, "label": "08 May 2026", "close": 160.97, "index": 84.9}, {"x": 535.2, "y": 201.2, "label": "15 May 2026", "close": 151.27, "index": 79.8}, {"x": 570.5, "y": 196.0, "label": "22 May 2026", "close": 152.8, "index": 80.6}, {"x": 605.7, "y": 177.8, "label": "29 May 2026", "close": 158.1, "index": 83.4}, {"x": 640.9, "y": 204.2, "label": "05 Jun 2026", "close": 150.4, "index": 79.3}, {"x": 676.2, "y": 147.4, "label": "12 Jun 2026", "close": 167.0, "index": 88.1}, {"x": 711.4, "y": 153.5, "label": "19 Jun 2026", "close": 165.2, "index": 87.1}, {"x": 746.6, "y": 134.4, "label": "26 Jun 2026", "close": 170.8, "index": 90.1}, {"x": 781.8, "y": 121.7, "label": "03 Jul 2026", "close": 174.5, "index": 92.1}, {"x": 817.1, "y": 125.8, "label": "10 Jul 2026", "close": 173.3, "index": 91.4}, {"x": 852.3, "y": 117.6, "label": "17 Jul 2026", "close": 175.7, "index": 92.7}, {"x": 887.5, "y": 111.1, "label": "24 Jul 2026", "close": 177.6, "index": 93.7}, {"x": 922.8, "y": 121.7, "label": "31 Jul 2026", "close": 174.5, "index": 92.1}, {"x": 958.0, "y": 115.6, "label": "07 Aug 2026", "close": 176.3, "index": 93.0}], "sentiment_points": [{"x": 715.1, "y": 128.2, "label": "19 Jun 2026", "score": 51}, {"x": 720.3, "y": 128.2, "label": "20 Jun 2026", "score": 51}, {"x": 722.0, "y": 128.2, "label": "21 Jun 2026", "score": 51}, {"x": 725.5, "y": 128.2, "label": "21 Jun 2026", "score": 51}, {"x": 727.2, "y": 130.0, "label": "22 Jun 2026", "score": 50}, {"x": 727.5, "y": 130.0, "label": "22 Jun 2026", "score": 50}, {"x": 727.8, "y": 130.0, "label": "22 Jun 2026", "score": 50}, {"x": 730.0, "y": 130.0, "label": "22 Jun 2026", "score": 50}, {"x": 730.3, "y": 131.8, "label": "22 Jun 2026", "score": 49}, {"x": 741.4, "y": 131.8, "label": "24 Jun 2026", "score": 49}, {"x": 741.8, "y": 131.8, "label": "25 Jun 2026", "score": 49}, {"x": 748.7, "y": 130.0, "label": "26 Jun 2026", "score": 50}, {"x": 774.8, "y": 128.2, "label": "01 Jul 2026", "score": 51}, {"x": 780.7, "y": 128.2, "label": "02 Jul 2026", "score": 51}, {"x": 784.8, "y": 124.5, "label": "03 Jul 2026", "score": 53}, {"x": 789.3, "y": 124.5, "label": "04 Jul 2026", "score": 53}, {"x": 798.3, "y": 124.5, "label": "06 Jul 2026", "score": 53}, {"x": 809.9, "y": 122.6, "label": "08 Jul 2026", "score": 54}, {"x": 817.9, "y": 124.5, "label": "10 Jul 2026", "score": 53}, {"x": 821.9, "y": 126.3, "label": "10 Jul 2026", "score": 52}, {"x": 830.7, "y": 124.5, "label": "12 Jul 2026", "score": 53}, {"x": 843.2, "y": 122.6, "label": "15 Jul 2026", "score": 54}, {"x": 867.5, "y": 126.3, "label": "20 Jul 2026", "score": 52}, {"x": 878.8, "y": 124.5, "label": "22 Jul 2026", "score": 53}, {"x": 879.7, "y": 124.5, "label": "22 Jul 2026", "score": 53}, {"x": 886.6, "y": 126.3, "label": "23 Jul 2026", "score": 52}, {"x": 887.6, "y": 126.3, "label": "24 Jul 2026", "score": 52}, {"x": 888.3, "y": 126.3, "label": "24 Jul 2026", "score": 52}, {"x": 901.9, "y": 122.6, "label": "26 Jul 2026", "score": 54}, {"x": 904.9, "y": 122.6, "label": "27 Jul 2026", "score": 54}, {"x": 909.2, "y": 128.2, "label": "28 Jul 2026", "score": 51}, {"x": 910.6, "y": 126.3, "label": "28 Jul 2026", "score": 52}, {"x": 915.7, "y": 124.5, "label": "29 Jul 2026", "score": 53}, {"x": 934.7, "y": 130.0, "label": "02 Aug 2026", "score": 50}, {"x": 935.5, "y": 128.2, "label": "02 Aug 2026", "score": 51}], "price_path": "42.0,70.2 77.2,55.8 112.5,62.6 147.7,62.0 218.2,129.7 253.4,157.1 288.6,174.9 323.8,154.3 359.1,133.1 394.3,112.3 429.5,141.7 464.8,175.6 500.0,168.0 535.2,201.2 570.5,196.0 605.7,177.8 640.9,204.2 676.2,147.4 711.4,153.5 746.6,134.4 781.8,121.7 817.1,125.8 852.3,117.6 887.5,111.1 922.8,121.7 958.0,115.6", "sentiment_path": "715.1,128.2 720.3,128.2 722.0,128.2 725.5,128.2 727.2,130.0 727.5,130.0 727.8,130.0 730.0,130.0 730.3,131.8 741.4,131.8 741.8,131.8 748.7,130.0 774.8,128.2 780.7,128.2 784.8,124.5 789.3,124.5 798.3,124.5 809.9,122.6 817.9,124.5 821.9,126.3 830.7,124.5 843.2,122.6 867.5,126.3 878.8,124.5 879.7,124.5 886.6,126.3 887.6,126.3 888.3,126.3 901.9,122.6 904.9,122.6 909.2,128.2 910.6,126.3 915.7,124.5 934.7,130.0 935.5,128.2", "price_change": -7.0, "sentiment_change": 0, "latest_close": 176.3, "start_label": "06 Feb", "mid_label": "15 May", "end_label": "07 Aug"}, "disclaimer": "Educational market research only. Not financial, investment, trading, tax, or legal advice."}