Durable multi-agent routing for managed distributed sessions
Introducing the wavves plugin for Cursor
Durable multi-agent routing for managed distributed sessions
In the first aimez post, I want to introduce wavves, a free Cursor plugin for moderator-led multi-agent work with executable checks and explicit thread handoffs.
Developers have been attacking agent work from several directions. Steve Yegge’s Gas Town treats agents as a fleet. A Mayor assigns work to persistent agents, while Beads and git-backed Hooks preserve state across sessions. pstack, by Lauren Tan, works from the execution side by giving individual Cursor agents engineering discipline, review habits and playbooks for parallel work. Orchestrate pushes fan-out into cloud-agent trees.
Together, those systems make agent work larger, faster or more disciplined. The remaining gap sits at the moderator layer. The operator-facing thread still needs a compact record of scope, locked decisions, accepting checks and pickup state, so the next thread can resume without replaying the chat. wavves addresses that gap by turning operator intent into an alignment packet before sub-orchestrators and parallel runners are deployed.
State capture for durable multi-agent alignment
Distributed sessions need two durable routes. Governance and orchestration need a route before work fans out, with scope, grounded facts, preserved decisions and file boundaries available to every runner. Integration, escalation and adoption need a route as work comes back, with pickup paths, check records, accepted results and handoffs available to the moderator and successor threads.
A chat transcript is a weak recovery surface because decisions, tool output and failed attempts are mixed into the same stream. Summaries can reduce volume while dropping the constraint that governs the next action. Launch records can remain trapped in a dead thread and output can appear ready before the accepting check is recorded beside it.
wavves moves those records out of the conversation through an alignment packet from the moderator, check records from runners and handoffs that carry active work into the next thread. Distributed work becomes easier to review because the shared record lives outside chat.
A walkthrough of the setup
wavves is a set of written contracts, plain markdown files under version control.
Every lane begins with a moderator pass that turns operator intent into alignment infrastructure. The packet records scope, grounded facts, preserved decisions, file boundaries and acceptance checks, giving the operator-facing thread a basis for dispatching sub-orchestrators and giving runners a record target before any result is accepted.
When the working context becomes large, the outgoing instance writes a handoff file that describes active work, accepted results and unresolved work. The successor hydrates from that file set rather than from accumulated conversation.
The operating rule moves captured state into alignment packets, check records and handoff files instead of leaving it in chat history.
Context size and model cost
Thread rotation changes the amount of context presented to a successor agent. The measurements reported here describe the mechanism and one observed rotation, while a controlled comparison of token consumption remains future work.
Why the design cares about tokens. In a long thread, every new turn re-sends everything already in the window. Tool output, findings, failed attempts and settled decisions all ride along, so the same accumulated context is billed repeatedly. Context accumulation also reduces retrieval reliability while increasing cost.
What wavves does about it.
During one rotation, a successor started from a standing contract and handoff file totaling about 16 KB instead of an archived transcript of roughly 1.5 MB. The comparison illustrates a bounded starting state rather than a measured token-saving percentage.
A scope packet compresses what a fresh agent needs into a few kilobytes of locked decisions instead of re-deriving them from conversation. A real lane packet here is on the order of 4 KB. The packet replaces repeated operator restatement when a new runner spins up.
Heavy tool output and parallel work live in background runners with their own windows, leaving the operator-facing thread to scope work and reconcile returns.
The current package also records recommended model tiers in the lane charter. The moderator can reserve high-reasoning models for architecture, integration, adversarial review and acceptance while assigning faster models to inventory, link checks and other mechanical scans. When the runtime exposes explicit model selection, the moderator can pass that setting during dispatch. When it does not, the recommendation remains in the dispatch record and the runner reports the enforcement gap.
What the literature says. Agent benchmarks now treat context management as a first-order cost problem rather than a minor engineering detail. Lindenbauer and colleagues (“The Complexity Trap,” 2025, arXiv:2508.21433) compare strategies on SWE-bench Verified and report that simple observation masking roughly halves cost relative to an unmanaged agent while matching solve rate. The same study reports that a hybrid of masking plus selective summarization beats pure summarization on cost by about 11%. JetBrains Research wrote up the same line of work in December 2025 (efficient context management). The context-management papers study masking old tool outputs inside a single thread. wavves uses a different mechanism by pushing state into files and hydrating a fresh thread from those files when the old window gets heavy. The shared goal is to move bulk out of the billable context.
Older work on long contexts (“Lost in the Middle,” Liu et al., 2023, arXiv:2307.03172) shows that models use information less reliably as context grows, especially material in the middle. Shorter, file-backed hydration can lower cost while making the relevant state easier for the model to use.
For workloads dominated by large file reads or long tool traces, workers still spend tokens doing the reading, while the alignment structure partitions expensive work, keeps the operator thread small, avoids re-ingesting an entire long thread of chat during rotation and makes model choice reviewable before dispatch. A measured savings claim would require actual token or billing records from the run. The whitepaper has more on the accounting if you want it.
Scope and limits
The observations come from one operator working across one family of repositories. A controlled comparison against unstructured runs and a team-scale deployment study remain future work. The records preserve the fact that defined verification ran, while the operator still owns the quality of the gate.
The whitepaper and the plugin release
The companion whitepaper documents the method in greater detail together with records from the runs summarized here and is published on this site as a subscriber post.
The system is packaged as a free plugin called wavves. The three skills set up the orchestrator home, define and dispatch wavesets and rotate orchestrators with assigned identities under an MIT license independent of any editor vendor. If you run agent work in Cursor, you can install it with one line.
The current release captures scope, dispatch records, acceptance checks, model-tier recommendations and handoff files. A cost estimator would still need actual token or billing records from the environment, but the charter now records runner count, expected file reads, expected context and recommended model tier before execution. The next release can extend the same framework with measured token accounting and automatic rotation of moderator threads at configurable thresholds. The planned additions build on the existing scope and handoff system rather than replacing it.
/add-plugin wavves
