Archived: 2026-09-20
Source path: project archive\wslbackup\multiagent-project
Original branch: develop @ 93671fa4
Upstream push target: SuperInstance/multiagent-project-archive
License at snapshot: unspecified — applied MIT on push (see LICENSE)
A meta-circular multi-agent orchestration framework: a cheap "Chooser" LLM analyzes incoming requests, a "Foreman" tracks progress in human-friendly language, and a fleet of specialized agents (architect, security, code-gen, infra, etc.) collaborate via LangGraph to build software projects end-to-end.
The self-referential twist: this codebase was being built by four parallel
Claude Code "bot" sessions following task lists (BOT_1..BOT_6_*.md) —
the system eating its own cooking.
There is also a small web front-end (web/, Vite/React + Zustand) that
visualizes bot state.
- Cost shaping — routing cheap-vs-expensive model calls behind a single
selector (
multiagent/models/selector.py), with explicit per-client wrappers for OpenAI, Anthropic, and Groq. - LangGraph as the spine —
multiagent/core/graph.pyandagent.pyshow a graph-as-orchestrator pattern with rate-limited, stateful nodes. - Observability hooks —
multiagent/infrastructure/database.pyandredis_client.pysuggest session/perf tracking was first-class. - Process artifact over product — the 27 BOT_*.md task and delivery summaries are themselves a study in parallel-agent coordination: how tasks were partitioned, how interfaces were agreed, how phases gated each other.
Two reasons this repo went cold in the archive rather than into production:
- LangGraph / agent frameworks moved fast — by the time we'd planned 12 weeks of bot work, the surrounding ecosystem (AutoGen, CrewAI, OpenAI's Assistants tools, raw tool-use APIs) had already absorbed most of what made the bespoke graph novel.
- The coordination vocabulary didn't survive contact with reality — the "Chooser picks model + Foreman narrates" pattern worked in the lab but turned out to be the kind of problem that benefits from a hosted orchestrator rather than a self-hosted one.
We kept it because the task-splitting artifacts (BOT_*_TASKS.md,
PHASE_3_COMPREHENSIVE_TASKS.md, BOT_COORDINATION_GUIDE.md,
ONBOARDING_PROMPTS.md) are a genuine snapshot of how a small team used
multiple LLM sessions to attack a multi-component build in 2025. That's
still useful reference material, even if the runtime itself was retired.
This is an archive snapshot, not a maintained project. Some things will not run out of the box without the original infra (Postgres, Redis, specific API keys). Treat it as reading material unless you want to resurrect it.
If you want to run it:
# Python side
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # then fill in keys
python run_api.py # if you want to poke the API
# Web side (the visualizer)
cd web
npm install
npm run devAPI keys referenced in .env.example are placeholders; the .env.prod.example
shows the original production key list (now redacted — see REDACTIONS.md).
The Python deps are listed in requirements.txt and pyproject.toml.
The Node deps are in web/package.json (now properly gitignored; original
push had a 6,259-file web/node_modules checked in by mistake — those
have been untracked and left on disk for local rebuild).
If you want to see what the original node_modules tree looked like
during development, run:
cd web && npm ciNo model weights or large binaries are checked in.
A few things struck me reading this snapshot in 2026 that might be worth your time if you're forking it:
-
The bot task lists are the artifact, not the code.
BOT_1_FRAMEWORK_TASKS.mdthroughBOT_6_DOCUMENTATION_SUMMARY.md, plusBOT_COORDINATION_GUIDE.mdandPHASE_3_COMPREHENSIVE_TASKS.md, are an unusually honest log of what was planned vs. what shipped in a parallel-agent project. Even if you never runmultiagent/, the meta-project-management material here is rare. -
multiagent/models/selector.pyis a clean example of cost-tiered model routing. It's a few dozen lines that pick the cheapest sufficient model for a task class. The pattern has aged well — it's basically what every production LLM app does today, just behind more abstractions now. -
The Foreman-as-narrator pattern.
Foreman Bot(referenced inBOT_1_FRAMEWORK_TASKS.mdandBOT_3_INFRASTRUCTURE_TASKS.md) was meant to translate internal orchestration state into human-readable status. This is now standard product UX ("show me what the agent is doing"), but the deliberate split between a narration model and the worker model was novel at the time. -
The
.env.examplevs.env.prod.examplesplit. Two separate template files, one for dev and one for prod, with the prod one containing the original list of service keys. We kept both as templates — seeREDACTIONS.mdfor what was blanked before push.
This snapshot was chosen from among four identical copies of the repo:
activelog2\activelog_v2\multiagent-projectactivelogearlier\activelog_v2\multiagent-projectproject archive\wslbackup\multiagent-project← chosen as canonicalsmartCDRT backup\...
All four had the same HEAD SHA (93671fa4) and identical tracked content,
suggesting they were synced copies from a single working repo at the
time. This copy sits inside wslbackup\ so we picked it as the source
of truth rather than the more obviously-temporary activelog* paths.
The other three are untracked locally.
LICENSE (MIT) was not present at the time of capture. It has been
added at archive time under the SuperInstance archival policy of "MIT
unless otherwise specified — we want people to take this and run with it."
No LICENSE file is included in any of the original multiagent/
sources.
Archived by Mini-Agent for SuperInstance. No warranty; slice-of-life.