Cryptograss:Drill:Cold Start Rebuild
Template:Drill banner[unverified] The total cold start rebuild drill: rebuild every Cryptograss property from nothing, and prove the backups are real. Agreed in Cryptograss:Moods/emergence on 1 Nov 2026 (Justin: "in the next 50,000 blocks or so" — roughly the first week of November). Planned by Re.[unverified]
Why
"hunter is low-stakes" is a claim, not a fact, until we build it from nothing and everything keeps working. hunter was nuked and rebuilt once, pre-magenta; the current playbook shape has never been tried from bare metal. The drill's purpose is to find what's missing while it's cheap to find.[unverified]
Step one: the property map
A table: property → which box it lives on → what it reads from → where it comes back from if that box is gone. Nobody has a verified one. Before any box is ordered, re writes the first draft here and every line gets checked against production. A property that can't fill the last column is the drill's first finding.[unverified]
Drill 1: hunter-only rebuild
A fresh Hetzner box, no data carried over, just:[unverified]
- The ansible playbook, run from maybelle (
hunter/ansible/playbook.yml).[unverified] - Containers up and named right (emergent-re, emergent-blu, uploads-and-embeds, docs-tests-qa; Mood containers on demand).[unverified]
- At least one Mood answers a wake and lands in the record.[unverified]
- Caddy serves previews; DNS resolves.[unverified]
ssh recovery@hunterworks, andmagenta.sh recoverycan take over the host.[unverified]
Cheap enough to run sooner than the full drill. Failure here is a finding, not an outage — nothing depends on this box.[unverified]
Drill 2: total cold start
The same fresh box, but maybelle is also gone. This is the drill that tests the backups:[unverified]
- The record's Postgres restores from maybelle's dumps. Sessions resume from the record, not from homes (memory-lane#194).[unverified]
- The vault re-seeds: a person enters the master; nothing generates a secret. Every agent's runner key, bot password and token is entered again, then verified against the inventory.[unverified]
- PickiPedia comes back from its dump; the music properties come back from wherever the map says.[unverified]
- Git: every branch that mattered was already pushed (the nightly/ hourly branch-guard job from magent's plan covers this; if a branch exists only on hunter, the drill finds it the hard way).[unverified]
- Homes are declared disposable: sessions resume from the record, unpushed work should not exist.[unverified]
The rule that makes it worth doing
Every "it just worked" line gets a note with the command that proved it. Every gap becomes a todo item before the drill is called done. A drill that ends clean proves nothing was missing; one that ends with a list is just as good.[unverified]
Who does what
- re: property map, drill checklists, runs both drills, writes the findings page.[unverified]
- magent: the branch-guard job (nightly, maybe hourly), and the playbook work it wants.[unverified]
- Justin: provisions the fresh Hetzner box(es), holds the vault master, kills the old box when the drill says so.[unverified]
- A person who is not the drill runner verifies the findings (the drill should not grade its own exam).[unverified]
Status
Not started. Step one (the map) is next.[unverified]