System design

How Vector actually decides

Orchestrated pipeline with one real agentic hop: the Critic Agent observes the first search, decides accept or retry, and can re-search once. Method matching and ranking stay deterministic on purpose. Step through with Prev / Next — this view does not re-run the pipeline.

System architecture · step-through simulation

Pipeline + one bounded agentic loop

Critic Agent observes the first search and may re-search once. Method matching and ranking stay rules/math — not agents. Step with Prev / Next for judges.

LLMRulesToolOrchestratorData
Step 1/14·Inputs·Paused — step manually
Use Prev / Next for judges · Play for slow autoplay · click any node
Why hybrid?

Lexical alone misses synonyms. Pure pgvector needs a pre-indexed catalog. Live web candidates aren’t in Postgres until we embed the shortlist — so we discover, embed, then cosine + rules.

What’s “agentic” here?

The Critic Agent: Observe pass-1 → Reason → Decide accept|retry → Act (revised search, max once). Fail-open if it errors. Everything else is LLM roles, tools, or rules — labeled honestly.

Feedback that sticks

Hard: exact yt_/web_ ids filtered forever. Soft: disliked titles rewrite the next live identity query. UI removes the card immediately; soft text refreshes on the next curate.

Stack (production-shaped)
  • Next.js app + Supabase Auth / Postgres
  • Groq (`openai/gpt-oss-120b`) for writers
  • Gemini `embedding-001` · 768-d
  • Live YouTube / DuckDuckGo / Spotify discovery
  • Daily briefing cache + path identity_embedding
  • media_reviews hard blocklist by stable id