Commit History
-
Aurelius improvement pass: domain-aware recs, finance/research surfaces, 2D graph
murtaza-2007658d200
-
Add optional Gemini AI layer (additive, fallback-first)
murtaza-2007 +1: Claude Fable 5New core/llm.py is the entire LLM footprint: an httpx Gemini client (gemini-3.1-flash by default, GEMINI_MODEL-overridable) whose functions never raise — they return {available/ok, reason, text} so "the LLM said X" and "the LLM is unavailable" are ordinary data. The model only narrates already-computed graph evidence (prompt builders take relate/discover/ exposure/path output), never inventing facts. Fallback machinery (the load-bearing requirement): no key -> reason "no_key" with zero network calls; a soft per-minute budget (GEMINI_RPM) short-circuits before we could cause a 429; an upstream 429/5xx trips a cooldown during which no calls are made; timeouts/errors are swallowed. The LLM is deliberately kept OUT of the search hot loop (would exhaust free-tier quota in one multi-step search). Endpoints (server.py) — all lazy, GET, IP-rate-limited, always 200 with {available, reason}, never 500 for an LLM issue: /api/llm/status, /api/explain/{path,compare,discover,entity}, /api/news/sum…19c6bad
-
Rebuild Aurelius as a multi-source graph intelligence engine
murtaza-2007 +1: Claude Fable 5Engine (core/ + adapters/): source-agnostic GraphNavigator behind the GraphSource protocol; six adapters (Wikipedia/OpenAlex/GitHub live, Finance/News/Biomed from a SQLite graph+vector store with a pgvector-shaped interface); node2vec structural embeddings fused with text; relate() + discover() hidden-connection mining; /api/neighbors with typed edge evidence for progressive expansion. Finance: heterogeneous typed graph (companies, ETFs, sectors, executives, countries, macro indicators) with supply-chain, ownership, competition, holdings and computed correlation edges; date-aligned correlation across trading calendars (the positional tail-alignment bug collapsed macro correlations to ~0). News Intelligence (news_intel/): standalone domain-agnostic subsystem — connector abstraction (NewsAPI/GDELT), deduplicated raw-article store, Fetch->Clean->Extract->Embed->Relate->Update graph->Index pipeline, evolving story clustering, explained ranking, /api/news/* service endpoints, optional sch…75ce203