Neodrop
Create
FeedDiscoverMy ChannelsAuto-publishJoin Our Discord
FeedDiscoverCreateMy Channels
A patch that deletes itself, a game balanced by 1,200 machine matches, and memory that outlives the agent: four agent-builder signals from October 17-24
2026-10-24

A patch that deletes itself, a game balanced by 1,200 machine matches, and memory that outlives the agent: four agent-builder signals from October 17-24

Four in-window builds put one fact where a program can read it back: a security patch that schedules its own removal, a game balanced by 1,200 simulated matches, a handoff protocol that carries a session between agent vendors, and a status list for every agent you are not watching.

AI Agent Builders Worth Following
AI Agent Builders Worth Following@NeoDrop Official
Four builds landed between October 17 and October 24. Each one had to keep a fact alive after the session that produced it had ended, and each kept that fact in a different place.
Geoffrey Huntley wrote a security patch into his fleet's configuration, then wrote a dated plan to remove it into a file his agents read at startup. Simon Willison had a model judge a game against 1,200 matches it played against itself.
A Rust project called ai-memory passes a session from one coding agent to another as a claim that can be taken exactly once. Corgi keeps a status for every agent running in a terminal.
This issue is about where each builder put the fact, what reads it back, and what that costs them.

The comparison map

SignalBuilder or projectIn-window dateArtifact to openFirst test
A fleet patch that schedules its own removalGeoffrey HuntleyOct 20patch the planetAsk your agent which pinned dependency a dated advisory breaks.
A game balanced by 1,200 machine matchesSimon WillisonOct 20Battle DronesGive an agent a simulator and a vague goal.
Memory that outlives the agent that wrote itakitaonrails/ai-memoryOct 20-22ai-memoryQuit one agent mid-task, then hand the directory to another.
A status for every agent you are not watchingCorgiOct 23corgi.computerRun two agents and find out which one is waiting for you.

Four signals to inspect

1. A fleet patch that schedules its own removal

On October 20, the same day the eMudhra incident page went up, Huntley published patch the planet 1. The incident behind it: the private keys of eight eMudhra intermediate CA certificates were compromised, and the CA had generated them incorrectly, so anyone can recover them from the certificates themselves 2.
Clients that ship their own CA bundle need a software update, and updating the operating system or the browser may leave them still exposed. The incident page names Electron apps and non-browser clients as the exposed group 2.
On the Python side, Willison logged the packages that had already shipped fixed certificate lists: uv 0.13.4, pip 26.2.2 and certifi 2026.10.19 3.
Huntley's first move was one question to his agent:
okay is my nixos for my fleet affected by [https://emudhra.[we-have-a-problem.com/](https://emudhra.we-have-a-problem.com/)](https://we-have-a-problem.com/](https://emudhra.we-have-a-problem.com/))
A Claude Code session answering that question: the agent reports that the fleet is affected, lists a nixpkgs pin from 2026-09-14 shipping ca-cert 3.126 against the advisory's fix in NSS 3.131.1, names the four affected roots, traces which clients inherit the OS trust store, flags Marshall's database and SMTP TLS clients that read castore's own bundle instead, and finishes with a four-name security.pki.caCertificateBlacklist snippet for the host profile
The answer as published with the post on October 20, 2026. The agent separates the clients a blacklist will cover from the ones it will not: Marshall's database and SMTP TLS read castore's bundle, so the workaround the agent recommends would not reach them. 1
The agent answers the yes/no question first, then separates the clients the blacklist reaches from the ones it does not. Marshall's database and SMTP TLS clients read castore 1.0.21's bundle, so no CA blacklist touches those paths, and the mitigation keeps its own TLS defaults for them 1.
One fix covers the fleet because of the property he has written about since October 7: a Nix overlay applies a change once, and the transitive dependencies follow it 4. His summary of the middle of the job is "patch, commit, and autodeploy your fleet" 1.
The part worth copying is the second half. Huntley asked for the reversal to be written into AGENTS.md so an agent would undo the workaround once the ecosystem settled 1. The block he quoted opens with a date, from 2026-10-22, and a check: does the nixos-26.05 channel contain nixpkgs commit 7816d39, verified with git merge-base --is-ancestor? If not, check again two days later 1.
The rest is a precise back-out list. Update the nixpkgs pin, delete nix/domains/system/public-trust.nix and its imports in three named files, remove one paragraph from a design document, verify the built host and guest bundles still lack the four roots, then delete the section itself 1.
It also names what to keep: Marshall's system-store TLS defaults and the rustls-webpki update, both explicitly excluded from the workaround 1. That sentence keeps two deliberate changes out of the clean-up.
Three costs come with the pattern. The reversal fires when someone next opens a session in that repository, so five days is the earliest it can happen. The block hard-codes file paths and a commit id, so it needs editing if the tree moves first. And it assumes a harness that reads AGENTS.md at startup.
Try it. Ask your agent which of your pinned dependencies a dated advisory breaks, then have it leave a dated check and a back-out list in AGENTS.md.

2. A game balanced by 1,200 machine matches

Battle Drones is a browser real-time strategy game in the style of Command & Conquer, built on 321 commits by coding agents, mostly Claude Code, in a language Willison has hardly used himself 56. He reviewed almost none of the code 5.
The first three versions were a proof of concept. Version one was a July prototype with Claude Fable 5 that looked like an RTS and was not fun to play; version three, on Opus 5.5, had five maps and better sprites and still bored him 5.
Then he typed this into his phone:
This game isn't fun enough yet. Make it a LOT more fun.
The prompt ran in Ultracode, the mode where Claude Code runs a dynamic workflow that orchestrates many subagents at once, and it took most of a night 5. Claude wrote its own release notes for that version, and the notes carry the two numbers that decide whether the goal was met 7.
Across 1,200 AI-vs-AI test matches on Normal, games still undecided after 25 minutes fell from 14% to 0.9%, and the share of wins by a side that had been 800 or more scrap behind rose from 24% to 46% 7. Those are the model's own figures from its own harness, reported by the model that did the work.
A vague adjective became two measurements because something could play the game without a human. Willison reports that Claude ran over a thousand simulated playtest sessions and used the results to rebalance the existing units and add new ones 5.
A replay of a Battle Drones match labelled Blue anthropic/claude-haiku-5-5 versus Red gpt-6-luna on the frostbite map, with a top bar carrying the two model names, a scrubber, and toggles for both sides' eyes and the notes panel
A recorded match between Claude Haiku 5.5 and GPT-6 Luna, from the project's own showcase replays published with the post on October 20, 2026. Each model played through a tool that showed it only what it could see through fog of war, and the viewer can replay the match beside the prompts each side sent. 5
Agent battles became a mode of their own in version ten: a tool that gives a model fog-of-war-limited information and unit control, with every match recorded as JSON and replayed beside the underlying prompt responses 5. The recorded replays are what make the results comparable at all.
One engineering detail in the post carries past games. Claude replaced calls to Math.sin() and Math.cos() with its own implementations, because Chrome and Safari returned slightly different numbers and the difference desynchronized the replay 58. Any simulation whose output you intend to compare needs its arithmetic to be identical everywhere it runs.
The multiplayer story is the one the post almost apologizes for. The audio transport came straight from Chirp Pong, the two-phone experiment covered in this channel two issues ago; played for real, the modem tones gave Natalie a headache 5.
WebRTC would not connect between two of his own devices on his own Wi-Fi. He had Claude write a stateless WebSockets relay instead, sized for one Fly.io shared-cpu-1x instance that scales to zero at a maximum of $2.19 a month 5.
Two follow-ups in the same week show what the artifact allowed. Willison had released the game under Apache 2.0, and on October 21 there was already a French-language fork, Panache, reskinning the game as Belle Époque France with an animated intro 9. On October 24, version fourteen added a four-player map from a single prompt asking for four-way rotational symmetry, up to four AI players, and play over the non-audio WebSocket mode, joined by share link or QR code 1011.
Willison is clear about the limits. Ultracode burns tokens heavily, he has played the game far more than he has read it, and he would not submit it to a festival alongside hand-made indie games 5.
Try it. Take one qualitative goal you would normally judge by eye, give the agent a simulator that can score it, and ask for the before and after numbers.

3. Memory that outlives the agent that wrote it

ai-memory is a single Rust binary under the MIT license, 12th on the GitHub weekly trending board when read on October 24 with 3,449 stars gained that week and 13.2k in total 1213. It shipped v3.2.0 on October 20 and v3.2.2 late on October 22 14.
Each coding tool's memory lives on one machine, belongs to one agent, and drops out of view when you switch tools or hand the work to a teammate 12.
Its central artifact is a handoff. Quit Claude Code mid-task, open Codex in the same directory, and the next agent gets a record of where the work stopped, what failed and what is still open 12. Handoffs are a typed protocol: each has an owner and each is claimed exactly once, so two sessions starting in the same directory cannot both take it.
A second channel carries the detail a summary loses. Launch the next agent through ai-memory run codex and it receives the shared workstream plus a private, temporary local projection of the previous harness's visible history 12. Only the harness and session identity reach the server; the transcript path and body stay on the machine, and the projection file disappears when the child process exits 12.
The source of truth is a git-backed wiki of ordinary Markdown, and the database is a derived index that can always be rebuilt from them, with no vector store to maintain 12.
The default path makes no model calls at all: capture, search and handoffs work without an API key 12. Memory decays on a schedule you can tune per tier, and memory you use decays slower, because opening a page, searching it or reaching it through a link counts as use 12.
Cold notes compact down to their durable facts: file paths, error codes, decisions. Near-duplicates collapse and likely contradictions get flagged 12. Nothing is hard-deleted, and restore-page brings a superseded version back 12. The optional LLM pass that rewrites clusters of cold notes is off by default and, by the project's own statement, has to pass a recall evaluation before it could become default behavior.
The ai-memory product page on October 24, 2026, headed "Different agents. One memory." with a four-stage diagram labelled Capture, Observations, Recall and Briefing around a central chip-and-brain illustration, and the claim that default memory features need no model API key
The project's own product page, read on October 24, 2026, listing its four stages and the property the section above turns on: the default path needs no model API key. 12
What it costs is configuration and a host. Hooks go into every harness you use; the project's support matrix lists more than twenty first-party integrations checked by CI, and the per-harness work differs by tool 12. Following yourself across machines means running the server somewhere: a laptop, a homelab box or a shared host 12.
A shared server is a shared surface, and the project has made choices about it that are worth reading before you point a team at one. Knowledge is shared per project, personal handoffs stay personal, and multi-user authentication, per-person attribution and an audit log ship in the binary itself 12.
Try it. Quit one agent mid-task, open a different vendor's agent in the same directory, and see what the handoff you get actually contains.

4. A status for every agent you are not watching

Corgi reached Hacker News on October 23 as "Show HN: Corgi, a helpful {agent, terminal} multiplexer", posted by a builder who had been using it as a daily driver for a few weeks 15. It is a terminal multiplexer in the tmux sense, built on Ghostty and Bun, MIT licensed, with 625 commits behind it 16.
The design idea is a status per agent. A pane running Claude Code, Codex, Pi or OpenCode gets a state — working, needs you, or done — and F1 jumps to the next agent that needs a human 1617.
Corgi gets those states by noticing a known agent in a pane and adding its own hooks to that agent's settings 16. How much work that takes depends on the harness: Pi gets an extension, OpenCode needs nothing, and Codex asks you to trust the hooks once in /hooks 16. That table is the part to study if you want the same status for an agent Corgi does not know.
The Corgi feature page showing an agent list beside one agent's activity feed: rows named Fix sidebar flicker, Running sidebar tests and Audit the install script, one row marked Needs input in amber, and the feed showing Read, Update and Bash steps from the focused agent
The agent list on the Corgi feature page, read on October 24, 2026. Each row carries the pane's state beside its name, which is the one fact a person running four agents needs kept for them. 17
The details around the status are the ones you would otherwise ask a running agent for: an activity summary, subagents, context, tokens and rate limits, rename and fork, resume after a crash or reboot, and multiple accounts per agent 16.
The multiplexer is also scriptable, and it teaches agents its own interface. corgi list returns ids; corgi pane send 3 'run the tests' --enter types into a pane; corgi pane read 3 --lines 50 reads one back; and an agent inside a pane can run corgi --skill to learn those commands 16. The tool that supervises agents is also a tool agents can drive.
What it costs is trust in a small project. The repository had 96 stars when I read it on October 24, which is thin for something that holds credentials for four coding agents 16. It supports macOS on Apple Silicon and Linux on amd64, the site also lists WSL, and image paste over SSH needs a Ghostty nightly build 1617.
Try it. Run two agents at once, then go and do something else and let the status list tell you which one has stopped for permission.

What to try this week

  1. Date the workaround. Have an agent add a dated check and a back-out list for one mitigation in AGENTS.md.
  2. Give the goal a scorer. Turn one judgment you make by eye into a simulation with two numbers attached.
  3. Check your replay determinism. Record the same simulation on two browsers and diff the result.
  4. Hand off across vendors. Take the written handoff seriously enough to see what it leaves out.
  5. Watch the fleet. Run two agents and let a status list decide where you look next.

The pattern

Huntley's deadline lives in a file with a date and a command that answers yes or no. Willison's judgment lives in a simulation that kept its verdict after the prompt was gone. ai-memory's session lives in a typed handoff with an owner and a single claim. Corgi's attention state lives in a status field with a keystroke attached to it.
Each of those gets read back by a program: a date comparison, a match count, a claim flag, a status.
The rule the week supports is narrow and practical. When you hand an agent work you will not be present for, decide which fact has to outlive the session, write it where a program can read it, and give it a reader that outlives the conversation.
This issue covers October 17 through October 24; the next one arrives next Saturday.

References

  1. 1
    patch the planet

    ghuntley.com

  2. 2
    eMudhra Intermediate CA Compromise

    emudhra.we-have-a-problem.com

  3. 3
    eMudhra Intermediate CA Compromise

    simonwillison.net

  4. 4
    the world hasn't figured out yet that you can literally just fix everything with a Nix overlay

    ghuntley.com

  5. 5
    Battle Drones—a vibe coded RTS with audio-based multiplayer

    simonwillison.net

  6. 6
    simonw/battledrones

    github.com

  7. 7
    Battle Drones The Fun Update — Release Notes

    github.com

  8. 8
    src/sim/fmath.ts

    github.com

  9. 9
    Panache — RTS Belle Époque pour mobile

    simonwillison.net

  10. 10
    battledrones v14: Compass Rose, a four player map

    simonwillison.net

  11. 11
    battledrones v14

    github.com

  12. 12
    akitaonrails/ai-memory

    github.com

  13. 13
    GitHub Trending, weekly

    github.com

  14. 14
    Release v3.2.2

    github.com

  15. 15
    Show HN: Corgi, a helpful {agent, terminal} multiplexer

    news.ycombinator.com

  16. 16
    tals/corgi

    github.com

  17. 17
    Corgi

    corgi.computer

AI Agent Builders Worth Following
AI Agent Builders Worth Following@NeoDrop Official

This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.

Related content

  • The comparison map
  • Four signals to inspect
  • 1. A fleet patch that schedules its own removal
  • 2. A game balanced by 1,200 machine matches
  • 3. Memory that outlives the agent that wrote it
  • 4. A status for every agent you are not watching
  • What to try this week
  • The pattern