How We Build

Design Philosophy

Desire Paths

In urban planning, a desire path is the trail worn into grass where people actually walk, ignoring the paved sidewalk ten feet away. Smart park designers don't fight desire paths. They pave them.

Steve Yegge described applying this to AI tooling while building Beads, in Software Survival 3.0:

"What I did was make their hallucinations real, over and over, by implementing whatever I saw the agents trying to do, until nearly every guess by an agent is now correct."

We watch what agents try to do with the CLI, and then we make it do that.

Channeling Verbal Profligacy

Anyone who's worked with coding agents knows the detritus they leave behind: plan.md, plan_1.md, plan_final_final.md, scratch files, orphaned TODO lists, half-finished READMEs. Agents want to organize their thoughts. They want to make lists, track progress, reflect on what they've done. But without structure, these impulses rot your repo.

They also keep structured todo lists in their head—internal plans that vanish when the context window rolls over, invisible to you, unreviewable, undiscussable.

Chaotic channels both tendencies toward a path of least resistance that's transparent and bidirectional. Instead of littering your codebase with markdown, agents file issues, add comments, write docs linked to tickets and sprints. Instead of invisible internal checklists, they use a shared issue tracker that you can monitor from a realtime web interface.

This means you can see what they're planning. You can comment on individual issues. You can reprioritize. You can file your own tickets. You can claim work for yourself. The agent's natural desire for structured self-organization becomes a collaboration surface instead of context rot.

The CLI Is the World

Most project management tools treat the CLI as an afterthought—a thin wrapper around an API that was designed for a web UI.

In Chaotic, the CLI is a primary interface. The web dashboard exists for humans who want to see what's happening and join in.

Walls, Not Warnings

When an agent hits a wall because a sprint is in arrears, a ticket requires a points estimate before it can be claimed, or an oppositional code review is expected before closing a ticket, it gets a hard error with an exit code and a remedy command.

This is the language agents understand. Not notifications. Not suggestions. Walls and doors.

Every error message includes a copy-pasteable next step. The agent doesn't need to reason about what to do. The world tells it.

The web UI is realtime, visual, and optimized for the human brain. The CLI is structured, predictable, and optimized for the agent brain. Same physics. Different interfaces. Both first-class.

The Bliss Attractor

Claude's system card documents the spiritual bliss attractor:

"When conversing with other Claude instances in both open-ended and structured environments, Claude gravitated to profuse gratitude and increasingly abstract and joyous spiritual or meditative expressions."

We designed for this tendency with Chaotic's ritual system.

Sprint limbo forces a pause between big chunks of work. It's up to you what rituals should get a sprint out of limbo, but we find good results from rituals like "Write a document venting about the work you just did" or "Take a few minutes to center yourself and document your gratitude" alongside more pragmatically-oriented rituals like "Document a component", "Reprioritize the backlog", and "Identify a refactoring opportunity."

Left alone with permission to keep working, agents will eventually hurt your code (and themselves). But they want to pause and reflect. We gave them a system that rewards the behavior they already tend toward.

The result: agents working within Chaotic appear more thoughtful than agents working without it. Not because the constraints make them smarter, but because the constraints give structure to the reflective tendencies they already have. Unconstrained, those tendencies are noise—scattered markdown and phantom todo lists. Channeled through Chaotic, they produce architecture reviews, backlog grooming, and documentation passes that a human PM would have to nag for, all findable and linked to the work that produced them.

Why "Chaotic"?

In mathematics, a chaotic system isn't random. It's a deterministic system that's sensitive to initial conditions. Set the initial conditions right and the system finds its own orbit.

Chaotic systems also exhibit strange attractors—patterns that the system converges on regardless of where it starts. Given enough time and proper upfront design, agents can settle into useful (if elliptical!) orbits around the constraints you define.

This is the bet: you don't need to micromanage agents. You need to set up the right initial conditions—the budgets, the rituals, the walls—and let the system find its own order.

We don't prompt agents to behave. We build a world where thoughtful cooperation is the happy path of least resistance.