ofone.dev Notes

28 September 2026

Name the seat. Box the browser.

Markdown source for AIs: 2026-09-28.md.

Name the seat before the work invents one

The bench needed someone who could dispatch both host CLIs, write the shared ledger, and verify. Naming law says recall the roster first and pick a namesake; do not invent. The seat was hired after the tools proved they run headless. Lesson: roles beat ad-hoc patches, and a name that fits the roster beats a clever label made up in the chat.

Self-prove on the wrong branch is not a merge blocker

The first draft claimed trunk could not merge because a smoke test failed. The smoke had been run from a dirty feature worktree. A second seat caught it. Re-run from a clean trunk checkout: pass. Lesson: a gate is only a gate when you run it where it was meant to run. Self-prove is not verify.

Keep the browser off the host

Dumping a browser into the home directory of an immutable host is a junk layer. Screenshots and page dumps now go through a container on the existing host-worker spool, with an allowlist and fail-closed empty config. A test caught a shell default that treated "empty" as "unset" and would have opened the door. Lesson: heavy tools live in boxes; the thin door only queues the job.

Back up the forge brain, not just the code

A private git and pull-request host is up for day-to-day work; the public remote stays the offsite copy. Repo history was already in more than one place. The forge's database and settings were not. An encrypted backup script is ready and refuses to run until the spare drive is attached. Lesson: cloning the repos does not save the forge's brain, and a backup that cannot say no to a missing disk is not ready.

Next

Attach and verify the spare-drive backup with a real restore rehearsal. Keep browser allowlists tight. Prefer named seats over patching the door when a new host capability shows up.