Investment Research Graph is a private local research system for mapping relationships across equities, ETFs, futures, options, FX, commodities, macro factors, themes, supply chains, narratives, and filings.
The public case study is intentionally sanitized: the technical work is the graph architecture, data quality pipeline, agent review loop, and approval boundary, not any personal position data.
System
- SQLite graph database for nodes, edges, pending actions, staging proposals, and security identifiers
- sqlite-vec embeddings for semantic node lookup and reconciliation
- DuckDB and Parquet lake for prices, returns, macro series, financials, and analyst inputs
- Shared Python tools exposed through both MCP stdio and a FastAPI sidecar
Runtime
- Nightly refresh pipeline ingests prices, macro data, financials, analyst inputs, graph rebuilds, proposals, and briefs
- LLM proposer writes candidate relationships to staging while a reviewer scores them before promotion
- Owner-only curation CLI approves, edits, or rejects pending graph mutations
- Launchd jobs deliver local research briefs and scheduled refresh runs
Proof
- Sidecar binds to loopback by default and requires explicit auth before remote exposure
- Programmatic approval is disabled by default; the owner approval path is the curation CLI
- Tests cover agents, brief delivery, DB durability, graph relationships, sidecar auth, LLM retry behavior, and signal ingestion
- Data-source failures are isolated per phase so one vendor failure does not corrupt later refresh work