Skip to main content
Observations from calls, filings and central-bank text do not stay isolated. Related observations are clustered into narratives that are tracked day by day; causal claims (“X drives Y”) are lifted into a claim graph whose edges are validated against the observations that support them; and the graph can be simulated — shock one node and propagate the effect.

Narratives

pulse is the narrative read for a set of tickers (comma-separated, up to 200) or a sector. narratives lists the active cross-company narratives; narratives/{id} returns one with its member observations and daily metrics.

A company’s intelligence

The summary, the causal claims made by or about the company, the themes it is exposed to, and a cheap presence check that says whether any intelligence content exists for it — useful before rendering a tab. {id} is the ticker here.

The claim graph

Nodes and validated edges; focus centres the subgraph on one node. edges/{edgeId} returns the supporting observations for one edge — the evidence — optionally restricted to one ticker.

Simulation

Monte-Carlo propagation of a shock through the validated graph, deterministic by seed: nodeId is the node to shock, magnitudePct the shock in percent (−100 to 100), horizonQuarters 1–8 (default 4), and includeClaimedEdges widens propagation to edges that are claimed but not yet validated. GET /intelligence/simulate returns the preset scenarios. prom simulate and the MCP tool simulate_shock wrap it.
The graph is derived from what companies and central banks said, verified against the source text. It is a map of claims, not a forecast, and nothing here is investment advice.