Two agent work lanes with separate scratch trays instead of one shared /tmp bin

Per-checkout isolation so parallel agents stop sharing one /tmp

Two coding agents on the same machine will happily invent the same filenames, write the same “temporary” paths, and then argue about whose receipt is whose. I learned that the boring way: launch parallel work, watch tests and push gates read unbound or fixed scratch, and discover that “green” was sometimes just whoever finished last painting over /tmp. The isolation unit was wrong. People reach for product names, container names, even agent display names — anything that sounds like a fence. The fence that actually worked was smaller and duller: the checkout. One worktree, one scheme for artifact classes, receipts that follow that environment, and tests that refuse to collide on a shared fixed path. ...

November 1, 2026 Â· Dave Voyles
Crumpled sticky note beside a real keyed lock on a steel panel

Prove the guard before it becomes the floor

Agents are fluent. Fluency is not the same as safe. If you are rolling AI agents into a real org, you already know the demo version of this problem. The model sounds careful. The slide says “guardrails.” Someone writes “do not touch production” in a prompt, and the room relaxes. That sentence is a sticky note. It is not a control. When the agent is in a hurry, or the chat got cut short, or it found a clever way to spell the same dangerous action, the sticky note is already gone. ...

October 25, 2026 Â· Dave Voyles
Found it. Said no. A green path labeled Search list, Match found, and Block merge. A side branch marked Printer cut off pulls the path down to Reported no, which ends at a red Merge passes.

The match that came back as no

The search found the line it was looking for. That was the annoying part. I run a handful of small safety checks around my coding agents, and one has a simple job: if the agent that wrote a pull request tries to merge it, stop it. A pull request is a proposed change waiting for approval, and the point is that the author does not get to be the approver. Under a heavy test run, that check started getting the wrong answer. It found the agent’s own work right there in the session’s commits, then concluded the agent had written nothing, which is the one answer that lets the merge through. ...

October 22, 2026 Â· Dave Voyles
A three-step green path labeled Write test, Schedule it, and CI can fail. A dashed branch drops off after step one into a circle marked Never scheduled, which leads to a faint circle marked Invisible red.

Tests that never ran now run

The build was green. That was the annoying part. Somewhere under a film render pipeline I care about, a case that checks how a scene render names its output broke on the default branch and stayed broken for about six hours, until someone ran it by hand. CI never flagged it, because the file that held that case had sat off the continuous-integration checks for a long time. The dashboard was not lying about the jobs it ran. It was silent about the jobs nobody had asked it to run. ...

October 19, 2026 Â· Dave Voyles
Rented chat memory versus a second brain you own

The second brain I own (and why chat memory is not enough)

Chat memory is convenient until you change apps. I run a Grok Bot roster every week — Chief of Staff, specialists, digests, drafts — and I also point other agent platforms at the same durable facts about how I work. If those facts only live inside one vendor’s chat memory, I am not building a system. I am renting amnesia with a nice UI. So I keep a second brain I own. Mine is called MainVault: a markdown vault, synced with git, treated as shared memory across agents. I already wrote the high-level “owned notebook both stacks get” frame when piloting Muse beside Grok Bot. This post is the mechanism: how that notebook works day to day. No private repo links. The point is the pattern. ...

September 16, 2026 Â· Dave Voyles
Second brain hub across Grok Bot and Muse

Piloting Muse beside Grok Bot (and why Dad started on Muse)

I am running two personal agents at once right now: Grok Bot and Meta’s new Muse. That is not a brand loyalty bit. It is a bake-off with an honest mismatch of maturity: I am piloting Muse next to a mature multi-bot Grok Bot desk I already run. This is not a feature-parity scorecard. Muse is new and simple. Grok Bot is a roster I have already wired. I want to feel where each one wins on its own terms before I pretend there is a single winner. ...

September 14, 2026 Â· Dave Voyles
Locked steel hatch in a dark factory floor — the landing gate that will not lift without a stamp

The last click is still yours

Companion to GitHub tokens for agent fleets and the agent production system series. Words I use below Agent — a program that writes and lands code for you, in a chat session Pull request (PR) — a proposed change waiting for review; on GitHub it has its own page, with a button to accept it Merge — accepting that proposed change so it becomes part of the main project GitHub App — a robot you install on a GitHub project so it can click buttons as itself — not as you; it can approve, and it can merge; people treat this robot as the “real” setup, and it is not — it is extra (this post does not tell you how to install one; if you later want that robot, read the token post) Lock — a program that says no when a rule is broken; the agent cannot talk it into a yes; I also call this the landing floor Stamp — a review that applies to one exact version of the code; “looks good” in chat is not a stamp Automatic tests — checks that run by themselves when you propose a change; green means they passed Those seven words are the whole toolkit. Now the point. ...

August 21, 2026 Â· Dave Voyles
A long-lived access key left exposed on an open laptop in a dark ops room

Don't paste your GitHub key in chat

Companion to The last click is still yours and the agent production system series. Words I use below Agent — a program that writes code for you in a chat session Pull request (PR) — a proposed change waiting for review; on GitHub it has its own page, with a button to accept it Merge — accepting that proposed change so it becomes part of the main project Personal login — you, signed in as yourself; when you type commands, GitHub sees your name GitHub App — a robot you install on a GitHub project so it can click buttons as itself — not as you; it can approve, and it can merge Short-lived token — a temporary key the robot gets to prove it may click; it dies in about an hour, and after that it is junk PAT (personal access token) — a long-lived key tied to you; if it leaks into a chat log, it keeps working until someone turns it off Broker — a small program that hands out a short-lived token when the rules say yes; the agent asks, the broker decides, and the agent does not invent a key Automatic tests — programs that run by themselves when you propose a change; green means they passed Those nine words are the toolkit. Now the point. ...

August 18, 2026 Â· Dave Voyles
Hand on a red irreversible-action gate control, with force-push, prod-destroying ops, and legal/compliance locked out

What I will not automate

This is part 6 of the Agent production system series. Previous: Claim safety. Later: GitHub tokens and the last click. Words I use below Agent. A program that writes and lands code for you, in a chat session. Automate. Let the agent do the step without you. Work path. The steps from idea to shipped. I also call this the funnel. The middle is plans, code, and tests. The edges are the start and the finish — where someone can get hurt. ...

August 14, 2026 Â· Dave Voyles
Two steel plates on a bench — one honestly stamped, one only shiny

Claim safety: evidence before metrics

This is part 5 of the Agent production system series. Previous: From Xbox SLAs to agent fleets. Words I use below Agent — a program that writes words or code for you, in a chat Claim — a sentence that says a number, a job title, or who made a thing (true or false) Evidence — the proof you can point at (a file, a date, a source) Metric — a number inside a claim Allowlist — the short list of numbers I may print in public; if it is not on the list, it does not ship Authorship — who made a thing (running someone else’s tool is not the same as making it) Gate — a check that can say no (a wish in the instructions is not a gate) Those seven words are the whole toolkit. Now the point. ...

August 11, 2026 Â· Dave Voyles