Commit Graph
8 Commits
Author SHA1 Message Date
Marc Shade 094f37d443 feat: add collector daemon and 5 vector search tools (106 total)
- collector.py: standalone daemon for 24/7 vector store population
  - 43 sources organized by domain with parallel fetching
  - --daemon, --interval, --sources CLI args
  - Dynamic import via _import_fetch_fn()
  - Entry point: intel-collector
- server.py: 5 new MCP tools (intel_semantic_search, intel_similar_events,
  intel_timeline, intel_vector_stats, intel_collect)
- pyproject.toml: vector optional dependency (qdrant-client + fastembed)
- README.md: updated architecture, vector store section, tool reference
- CLAUDE.md: updated tool count and architecture docs
2026-03-08 10:05:06 -04:00
Marc Shade bc75cf46f7 feat: add Qdrant vector store for enterprise-grade semantic intelligence
Phase 16: Vector intelligence (+3 tools = 104 total)

New tools:
- intel_semantic_search: Natural language search across all stored intelligence
- intel_similar_events: Find historically similar events for pattern matching
- intel_timeline: Chronological timeline of stored data with domain filtering

Architecture:
- vector_store.py: Qdrant client with FastEmbed (ONNX, bge-small-en-v1.5)
- Background worker queue (asyncio) for non-blocking storage
- Auto-populates from every Fetcher.get_json() call
- 40+ domain categories mapped for filtered search
- Graceful degradation: vector store is optional, all 101 existing tools work without it

Integration:
- Fetcher: new vector_store parameter, stores data after each successful fetch
- server.py: vector store init + worker lifecycle + 3 dispatch cases
- dashboard/app.py: vector store worker starts on dashboard boot
- intel_status: now includes vector store statistics
- pyproject.toml: [vector] optional dependency (qdrant-client, fastembed)

186/186 tests passing.
2026-03-08 09:29:43 -04:00
Marc Shade baba564b84 feat(world-intel): Phase 15 — business intelligence tools (101 total)
Add 12 new tools across 6 domains:
- Forex: intel_forex_rates, intel_forex_timeseries, intel_major_crosses (ECB/Frankfurter)
- Bonds: intel_yield_curve, intel_bond_indices (FRED + Yahoo Finance fallback)
- Earnings: intel_earnings_calendar, intel_earnings_surprise (Yahoo Finance)
- SEC: intel_sec_filings, intel_company_filings, intel_recent_8k (SEC EDGAR)
- Company: intel_company_profile (composite: Yahoo + GDELT + SEC + GitHub)
- Macro: intel_macro_composite (weighted score from 6 signals)

New source modules: forex.py, bonds.py, earnings.py, sec_edgar.py
New analysis modules: company.py, macro_composite.py
66 new tests (186 total, all passing)
All free public APIs, no API keys required.
2026-03-08 08:22:41 -04:00
Marc ShadeandClaude Opus 4.6 2969dfc950 feat: add strategic synthesis layer — Phase 11 (+4 = 68 tools)
- intel_strategic_posture: composite risk from 9 weighted domains
  (military, political, conflict, infrastructure, economic, cyber,
  health, climate, space) with per-domain scoring and top threats
- intel_world_brief: structured daily intelligence summary aggregating
  posture, focal points, news clusters, anomalies, trending threats
- intel_fleet_report: naval fleet activity combining theater posture,
  waterway status, military surge, and readiness scoring
- intel_population_exposure: population at risk near active events
  (earthquakes, wildfires, conflict) using 105-city dataset (1B pop)

New files: analysis/posture.py, analysis/world_brief.py,
analysis/exposure.py, sources/fleet.py, config/population.py

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 09:02:14 -05:00
Marc ShadeandClaude Opus 4.6 7359c03275 docs: update all docs for 64 tools, Phase 9 NLP complete
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 08:44:28 -05:00
Marc ShadeandClaude Opus 4.6 084a386645 docs: update README, pyproject for 60 tools across 25 domains
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 08:05:58 -05:00
Marc ShadeandClaude Opus 4.6 2d33ea136a feat: IODA fallback, UCDP timeout fix, PDF export, 18 tests
- infrastructure.py: Add IODA (Georgia Tech) as fallback when Cloudflare
  Radar returns 403 (no API token). Internet outage data now available
  without CLOUDFLARE_API_TOKEN.
- conflict.py: Increase UCDP GED API timeout from 15s to 30s to handle
  slow responses from ucdpapi.pcr.uu.se.
- dashboard/app.py: Add /api/report/pdf endpoint for PDF daily brief
  export via weasyprint (optional dependency).
- pyproject.toml: Add dashboard + pdf optional deps, intel-dashboard
  script entry point, update description for 55 tools.
- tests: Add 11 new tests covering health, sanctions, elections, shipping,
  social, nuclear, infrastructure (IODA fallback + cable health), and
  UCDP conflict. Fix cross-loop asyncio lock issue in conftest.
- Total: 50 tests passing, 55 tools verified.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 07:05:58 -05:00
Marc ShadeandClaude Opus 4.6 01cb4255ef feat: add world-intel-mcp server — 36 tools across 14 intelligence domains
New MCP server providing real-time global intelligence: financial markets
(Yahoo Finance, CoinGecko), economic indicators (FRED, EIA, World Bank),
conflict tracking (ACLED, UCDP, HDX), military flights (OpenSky),
infrastructure monitoring (Cloudflare Radar, NGA cable health), maritime
warnings (NGA), climate anomalies (Open-Meteo), news aggregation (RSS,
GDELT), prediction markets (Polymarket), displacement data (UNHCR),
aviation delays (FAA), cyber threats (Feodo, CISA KEV, SANS, URLhaus),
country intelligence briefs (Ollama LLM), and HTML report generation
(Jinja2 + Chart.js).

Includes: SQLite TTL cache, per-source circuit breakers, async HTTP
fetcher with retry/rate-limiting, Click CLI with 27 commands, 4 analysis
modules (instability scoring, geo-convergence, signal aggregation, news
clustering), 4 HTML report templates, and 28 unit tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 10:33:57 -05:00