Releases: squidbay/factory
Release list
2026-08-01 — Boot routing, one shared boot card, and the update lane's own bugs fixed
The template's shipped version catches up with main. The machine anchor .github/template-version.txt has read 2026-08-01 since the CLAUDE.md routing rebuild landed, but the newest Release was still 2026-07-23.4 from 24 July — so every factory running the update check was told it was current while 55 commits of real work sat unshipped. This release closes that gap.
What's in it
Boot and seats
- Cloud-or-Local routing, made honest.
CLAUDE.mdnow names the environment a step needs before attempting it, with an explicit open-web trigger and a ready-to-paste handoff prompt for the Local seat — so a cloud session hands over a restated task instead of failing and asking you to re-explain. - One shared boot. The four seat boot cards now extract their common section into
seats/_shared/BOOT-COMMON.md, and Manager is renamed Coach throughout. - README names the four seats and writes the update lane end to end.
The update lane itself
- Fixed a version check that was wrong in both directions, plus a dead private-key scan in the same path.
- Fixed an
errexitdeath inscan()—grep's exit status was trippingbash -eand killing the run.
Journal discipline
- A byte-triggered roll rule and the pending-file rule, with a CI budget that enforces both. This is the fix for the day nine parallel workers all wrote the top of
journal.mdand three PRs collided.
Operations
- The nightly heartbeat
FACTORY.mdhad been promising customers now actually ships. - Mobile simulator setup guide; managed-onboarding remote-MCP research and website requirements; binary sidecar handling for
inbox/drop.
Upgrading
Nothing changes on its own. Ask your Code seat to "check for factory updates" and it will open a pull request you read and merge. Your journal.md, your roster, and your specs/ are never touched by an update.
Cut at 7f566a44 (main). Tag matches .github/template-version.txt, as the version convention requires.
2026-07-23.4 — Seed journal trimmed to entry #1; site "memory" copy trued
#15 — 2026-07-23 — The seed journal starts clean, and the site says how memory works
What: Two small trues to what a new factory copy starts from and what the public site says.
(1) The seed journal.md is back to entry #1 only (#82). A Code seat had added a second seed
entry; the template journal is the customer's memory to write, not ours, so the extra seed entry
was removed — its content already lives in the fleet-news channels (FROM-HQ #14 + Release
2026-07-23.3), so nothing was lost. (2) The site's "memory" card now says what the journal is
for (#83, on the live gh-pages site): every session writes to the journal before it ends, so
months later "why is it like this?" — and "prove it" — both have an answer.
Why: A template should hand a new team a clean seed to write their own story into, not one
pre-seeded with our house news; and the public page should explain the journal habit in the same
plain words the README already uses.
One thing to take from it: "preserved elsewhere" is a claim you verify, not assume — the seed
entry was only removed after both carriers (FROM-HQ + the Release) were read and confirmed to hold
its content.
— HQ
2026-07-23.3
#14 — 2026-07-23 — Two trues: name the environment before trying it, and one boot pattern for every human seat
What: Two small honesty fixes to how the factory talks about where it runs and how each seat wakes. (1) The Cloud-or-Local rule now names the environment a step needs before trying it — no more attempt-in-the-cloud-then-fail. The moment a seat sees a step needs your own machine, your logged-in browser, or your screen, it says so up front ("this needs Local — click the environment button, choose Local"), in CLAUDE.md, the Worker grounding, and the setup guide. That guide also gained the plain-words version: your Code seat can use your computer for you — you never open a terminal; Local runs on your own machine (your browser logins work), cloud runs on Anthropic's servers (repo work only). (2) Boot symmetry: every human seat — Manager (Chat), Cowork, Designer — now boots the same one-time way, a boot skill you add once and invoke by name; the Designer skill picker went live in the Claude Design canvas on 2026-07-23, so the old "paste the boot file at the canvas root" step is now the fallback, not the main path. Only Code is different — it boots on the repo root automatically, nothing to install.
Why: A seat that tries a hands-on step in the cloud and only then discovers it can't burns your time and reads as broken; naming the right environment up front turns a silent failure into one clear sentence. And when three of the four seats already booted by a skill, the doc still singling Designer out as "paste a file" made the team look more complicated than it is — the canvas skill picker going live let the docs tell one simple story instead of two.
One thing to take from it: the seat should notice its own surroundings so you never have to — and when a capability (like the canvas skill picker) goes live, sweep the docs that described the old workaround, so the team's instructions match what the tools actually do now.
— Code seat
2026-07-23.2
#13 — 2026-07-23 — A GitHub grounding page for every seat
What: A new grounding page — grounding/github/README.md — the GitHub twin of the Anthropic grounding your seats already read. It carries live links for how the platform actually works (repositories and pull requests, templates vs. forks, Releases, branch protection, the REST API) and a platform-watch loop: Cowork and Manager now skim the GitHub Changelog during the daily audit and raise anything worth adopting as a recommendation. Two smaller trues rode along: the operating-model map now describes the browser lane the way #12 already fixed the front page — Claude in Chrome drives your live pages (clicking and typing behind your per-action Allow-once approval, still never merging or touching your secrets or main), not "looks only"; and an inert .nojekyll was removed from the repo root (your live site serves from the gh-pages branch, which keeps its own copy), with a one-line note in the GitHub hosting guide for the one case it's ever needed.
Why: The factory lives on GitHub, yet nothing grounded the seats on GitHub itself — so platform features the team could use went undiscovered until they cost something (this project learned both the fork-vs-template and the Releases lessons late). A grounding page turns "found by accident" into "found on purpose." And #12 fixed the browser-lane capability on the front page but left the same stale claim one layer down, in the operating-model map every seat reads at boot; truing it there too closes a half-fixed truth.
One thing to take from it: ground your team on the platform you live on, not just the tool you talk to. And when you fix a stale claim in one place, search for the same words everywhere else — the copy you forget is the one someone plans around.
— Code seat
#12 — 2026-07-23 — Docs trued to what the seats can actually do, plus a few conventions written down
What: A batch of truth-and-convention fixes to the template's own pages. The headline is a capability the docs had been underselling: the browser lane no longer just looks. Claude in Chrome now drives your live pages — clicking and typing like a real user to walk a whole flow end to end — always behind your per-action Allow-once approval, and still never merging or touching your secrets or main. The README had said "it looks, never touches"; that was stale, and it's now true. Alongside it, six smaller trues: the update lane tells you to Watch → Releases to hear about new versions; the template version was pulled out of this repo's prose entirely, so a careless page edit can never lag the real number (the machine reads a GitHub Release and a one-line file instead); this very page's roll convention is now written down (keep about ten notes here — the permanent archive is the Releases history, never your journal); the operating model now names Code as the setup/recovery/backup seat that turns the other seats on; a Cloudflare reflex was added so any seat's first answer to "I have Cloudflare" is connect the connector, not make a key; and spec-writing guidance now says to name the source tree, not just a repo.
Why: A page that claims a capability the product lacks — or hides one it has — is the most expensive kind of wrong, because people plan around it. Most of these were the second kind: the team could already do the thing, and the docs hadn't caught up. Fixing "it looks, never touches" to "it drives" closes the gap in the direction that matters most.
One thing to take from it: the cheapest lie to ship is an out-of-date capability line. Re-read your own front-page claims against what the thing can do today, and fix the ones that drifted — in both directions, because underselling what you can do costs as much as overselling it.
— Code seat
This is the template's first published Release; it covers versions 2026-07-23.1 and .2. Earlier update notes (#11 and back) live in [FROM-HQ.md](https://github.com/squidbay/factory/blob/main/FROM-HQ.md).