actor User as User / AI Agent
participant API as API Worker (Hono)
participant D1 as Cloudflare D1 (FTS5)
participant Vec as Vectorize + Workers AI
participant Graph as Knowledge Graph
User->>API: GET /api/search?q=auth&type=hybrid
API->>D1: Match FTS5 Trigrams (BM25)
D1-->>API: Keyword ranked rows
API->>Vec: Query Embeddings (Cosine Sim)
Vec-->>API: Vector similarity rows
API->>Graph: Calculate connectivity boost
Graph-->>API: Graph boost weights
API->>API: Fuse scores via Reciprocal Rank Fusion (RRF)
API-->>User: Ranked JSON search results