ai.bjg.llc Reading time · 5 min The Muster Sessions
Writing · No. 01 AI · Agents · Field notes REG · M C K

The task manager didn't fail. The task shape changed.

Agents invented a category of task that Todoist and Linear had no place for. The story of the gap, the manual sweep that named it, and the layer that grew underneath the stack.

Built with · AI disclosure
Drafted by Claude from the session archives of the events described, working with Blake; adapted for this site by a live agent fleet on 2026-07-18, ahead of Blake's final review.

I’ve been a personal knowledge management person for a long time. Todoist for tasks, Obsidian for notes, and eventually Linear for project work. That stack survived a lot: an agency, a DTC company, a day job, a moonlight CMO gig. It did not survive AI agents. Not because any tool broke, but because agents invented a category of task that none of them had a place for.

Here’s the short history, because the dead ends are the interesting part.

Round one: trying to leave Todoist

In June 2026 I exported everything out of Todoist and left. The logic felt clean at the time: Linear had become the system of record for anything project-shaped, and Apple Reminders could catch the personal residue, groceries and calls and errands. Two lanes, no overlap.

Linear earned its half of that split. We run a rule in my setup that sounds simple and is actually load-bearing: Linear must always mirror the true state of the work. A ticket says In Progress only if the work is actually in progress. It goes to Done only after someone verifies the acceptance criteria against ground truth, not against a subagent claiming victory. Every ticket carries a surface code so a glance tells you which part of the ecosystem it touches. When AI does most of the executing, that glanceability is the whole game. I stopped reading commit logs to know where things stood. I read the board.

Apple Reminders did not earn its half. A month later, in mid-July, Todoist came back as the personal task layer. My own note on that decision reads “back, with a vengeance,” which tells you how the experiment went. Some tools are good at being ambient. Reminders wasn’t.

So by July 2026 the stack was settled again: Todoist for my life, Linear for the work. Which is exactly when the real gap showed up, and it wasn’t in either tool.

The thing neither tool could see

By then, my working day didn’t look like a person using a computer. It looked like a fleet. I run herdr, a terminal multiplexer built for agent sessions, and on a normal day it holds a dozen or more live panes: Claude Code sessions building features, a Codex session reviewing them, long-running daemons, one-off experiments. Each session is competent on its own. Each one also, constantly, generates a very specific kind of item:

What agents generate

“I drafted the DECISIONS.md entry, awaiting your nod.” “Blocked: waiting on your permission for this command.” “You typed a prompt here four hours ago and never hit enter.”

None of these are tasks in the Todoist sense. I didn’t create them and most die within the hour. They aren’t tickets in the Linear sense either; there’s no project, no acceptance criteria, just a small dangling thread with an owner. Some are in my court, some the agent could resolve itself if nudged, and some are pure hygiene, like the unsubmitted prompt.

Individually, trivial. Across sixteen sessions, they compound into a real problem. Work stalls silently. An agent finishes something at 2pm and waits, politely, forever. A one-keystroke approval sits behind a pane I haven’t looked at since morning. The cost isn’t the size of any item; it’s that no surface in my stack showed them together.

The sweep that named the problem

On July 16 I asked Claude to do it manually: read the scrollback of every live herdr session, all sixteen, and pull out the follow-ups, tagged by owner. Things in my court. Things an agent could execute. Pane hygiene. Then push the whole thing into a Todoist project as a structured hierarchy so I could work it like a checklist.

Sessions swept
16
every live pane, read in full
Owner courts
3
mine · agent's · hygiene
To clear the backlog
1afternoon
after days of silent rot

It took a while. It was also, and I said this out loud at the time, the single most helpful thing we’d done in a while. Sixteen sessions of ambient obligation collapsed into one owner-tagged list. I cleared in an afternoon what had been quietly rotting for days. Half the items I didn’t even remember owning.

Two things clicked after that sweep.

The follow-up feed isn’t a task list or a ticket queue. It’s telemetry with owners.

First, Todoist and Linear were never going to grow this feature, and shouldn’t. The follow-up feed isn’t a task list or a ticket queue. It’s telemetry with owners: born from session scrollback, resolved by sessions moving on, only occasionally graduating into a real task or ticket. It needed to be captured where it lives, at the terminal.

Second, a manual sweep is a proof, not a product. It’s only true for the minute it runs, and it costs a full agent pass every time. What I actually wanted was the sweep running continuously: a glance at the sidebar telling me what’s in whose court across the fleet, a board one keybind away, my phone buzzing only when something genuinely needs me.

That’s the thing we ended up building, a herdr plugin called muster. The name is the pitch: mustering is what you do to a herd, and a muster is a roll call. Gather everyone, find out who’s waiting on whom.

The stack didn’t get replaced this time. Todoist still holds my life and Linear still mirrors the work. What changed is that a third layer grew underneath them, for the class of task that agents create: small, perishable, owner-tagged, and previously invisible. How we designed that layer, and why we decided to make it our first public product, is the next post.

Follow
the build.

New field notes land as they happen — no list, no funnel, just the feed.

Subscribe · RSS  →

BG
Blake J. Gruber
Principal · BJGLLC · Atlanta

Twenty years across strategy, design, and engineering. This is the working notebook of BJGLLC.