Inspiration
I had my first structured internship this summer, and that's where I got exposed to standup meetings and AGILE. From that I thought that agents could use some more structure as well with meetings/huddles between agents working on different tasks and managers to oversee it all. I realized that this would help solve problems with agents like bloated context windows and vague handoffs. From that LATTICE was born - my attempt to turn meetings into data, decisions into durable artifacts, and planning into something auditable.
What it does
The Router LLM plans, switches modes, calls tools, opens huddles, and schedules agents for frontend, backend, LLM/API, and tests. Contract tests and stage gates ensure quality before advancing. Artifacts, notes, and decisions are searchable, and finalization reconciles claims with evidence and produces a clean bundle to ship.
How I built it
I gave the Router LLM full agency for planning and tool use while the host runner enforces gates, persists artifacts, and logs every action. Sub-agents default to Gemini via an OpenAI-compatible API and fall back to a local GPT-OSS model. Web search is normalized so Groq’s built-in search and the local SearXNG path look the same to the Router.
Challenges I ran into
Balancing autonomy with deterministic safety was hard, as was keeping context lean without losing coordination. Normalizing search paths and designing gates that are simple yet strict enough to block bad handoffs also took iteration.
Accomplishments that I'm proud of
I now have an agentic Router that coordinates parallel work, a unified search pathway with citations, and a reproducible ledger of decisions and artifacts that explains exactly what changed and why.
What I learned
Thin, explicit tools plus strong gates outperform ad-hoc prompting. Provenance changes behavior; when every claim needs a source, agents negotiate interfaces earlier and break less often. A hybrid Weave mode shortens cycle time without sacrificing quality, as long as gates and contract tests remain the arbiter of “done.”
What's next for LATTICE
I'm planning on transitioning LATTICE from a CLI-only tool to having a web UI where users can easily see the transcript and the output in a more structured manner.
Log in or sign up for Devpost to join the conversation.