This is one afternoon of our AI coding sessions, replayed.

Video: one afternoon of our sessions, replayed at 12-15x

We run AI coding sessions as a team with IST (Integrated Session Tools). A manager session takes a goal, splits it up and hands the parts to worker sessions. Several managers run at once, each with its own workers.

What you're watching

The video is three ten-minute windows from the afternoon of October 25 (KST), sped up 12 to 15 times.

  • Each box is a session. A shaded area is one team: a manager and its workers.
  • Dots moving along a line are messages between sessions: a manager handing out a task, a worker reporting back, one manager asking another.
  • A small loop on a session is a routine permission prompt that was approved automatically.

It was drawn by switchboard, a viewer we built for ourselves. It reads the logs our session tools already write and replays them.

One project, one manager, several workers

One of the teams in the video is switchboard-mgr, the team building switchboard itself. That day its manager had one worker on the collector, which reads the session logs and turns them into events, and another on the viewer, which draws them, running in parallel.

The two workers committed side by side through the evening, each in its own repository. The viewer didn't read the collector's source; it depended on released versions. As the collector released new versions, the viewer moved to them, from ^0.1.0 that afternoon to ^0.6.0 by evening, about six hours later. When the viewer needed types the collector now published, it dropped its local copy and imported them from the release.

switchboard has since grown to twelve packages, each in its own repository.

Why they don't collide

We build with MWD (Microwise Development):

Microwise Development (MWD) builds software as small packages, each in its own repository, that depend on each other only through published, versioned releases. It was designed for working with AI coding agents, including several agents working in parallel.

What that means when many sessions run at once:

  • 1 repository = 1 package. Packages sit next to each other on disk, grouped by project, so any session can still read across them.
  • The only thing we don't allow is two sessions editing the same codebase at the same time. Everything else is open.
  • One worker can own several packages. A manager can also hand a whole project to other managers, each with workers of its own.

Because each package already has its own repository, we don't need git worktrees to keep parallel workers apart.

Try it

switchboard is an internal tool, and it isn't part of what you can try. The session tools are: you can run a manager and its workers in your browser with GitHub Codespaces, starting with one manager and a 30-minute workshop.

→ Open ist-codespace