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
Two separate computer desks — a coding laptop desk and a personal-assistant planner desk — each with its own door and a shared one-time check stamp

Two brains, two jobs: Bender engineers, Maya assists

I used to want one agent that could do everything. Write the PR, tidy the calendar, answer Slack, review the diff, remind me about lacrosse pickup — one conversational surface, one “brain,” one place to yell when something was wrong. It felt efficient until the failures started rhyming. Coding work leaned on personal-assistant shortcuts. Calendar noise interrupted engineering focus. A gateway that looked like a helpful front door became a noisy hallway where every request sounded the same, and “the agent is up” — meaning the process is running, the light is on — stopped meaning either job was actually done. ...

September 26, 2026 Â· Dave Voyles
A bright green status panel beside an open LAN hatch the suite never checked

Green suites that hid holes: fleet gates that plant failure

I have shipped test suites that were green for the life of a repo and still left a hole on the LAN. By green I mean the dashboard color everyone treats as “safe to ship” — the check passed, the badge is cheerful, nobody is paging. CI (continuous integration) is the automated check-runner that usually paints that color: on every push or pull request it runs a suite of tests and jobs, then reports pass or fail. Green CI is valuable when it asked the hard questions. It is dangerous when it only asked the easy ones, or never ran the suite that looked like coverage. ...

September 22, 2026 Â· Dave Voyles
We're Back! A Dinosaur's Story

We're Back

It’s been about six years since the last post here — heads-down at Xbox/Microsoft will do that to a blog. I’m picking this back up. Expect more content soon, mostly around AI and agentic workflows, the models behind them, engineering best practices, and video games — the same mix of tech and games this site has always been about, just with a few years of new things to say. Thanks for sticking around. More soon.

July 21, 2026 Â· Dave Voyles