Status, up front
This is a concept. The architecture, agent roles and repository layout are designed, and the plumbing is sketched out, but it isn’t fully implemented. It’s here because the design shows how I think about orchestration.
The idea
Building a site for a small business repeats the same steps every time: plan, design brief, code, review, apply. The idea is to hand those steps to a team of specialist agents running in a controlled pipeline, all grounded in real documentation rather than model memory.
Design decisions
- The graph is the router. A linear LangGraph
StateGraph(architect → ui/ux → coder → reviewer → editor). Each node is a plain(state) -> dictfunction. - Models by tier, not by name. Every agent calls one OpenAI-compatible gateway (Omniroute) with a tier (
orchestrator,coderorcheap). Swapping models is a one-line.envchange. - Hybrid RAG as a tool. Dense embeddings plus BM25, fused with RRF and reranked by a cross-encoder. The strategy comes from compliance-rag. Chunks carry a breadcrumb, so retrieved context knows where it came from.
- Edits are data. The coder emits a JSON list of
write/replace/deleteedits. The editor applies them with a path-traversal guard and reports per-edit results. - The template is real. It builds on the Safar site’s stack: Next.js App Router, Payload CMS and GSAP.