"Fail in the checklist, where nothing has happened yet — never in the middle of the chain, where half the world already moved."
Everything That Can Fail, Checked First
Birth performs irreversible external effects, so the cheapest place for it to fail is before the very first one. That's what preflight is: an exhaustive gate that must fully pass before any write. It validates a proper cwkPascalCase name and the fire-grammar naming policy; confirms the destination directory is absent; confirms the private GitHub name is available; confirms the template is readable and matches the v0 scaffold contract; confirms the roster and network ledgers are readable and writable; validates the requested port range and its HTTPS pairing; rejects any collision with every declared and observed family port; and acquires a birth lock for the member id. Only when all of that holds does the first byte get written.
Check the Whole World, Not Just the Ledger
One detail carries a lot of weight: the port-collision check rejects a clash with every declared and observed family port — not just what the ledger says is taken. A port can be free on paper but busy in reality, or reserved somewhere the ledger forgot. Preflight looks at both the declaration and the running world before blessing a new port, because a birth that grabs a port already in live use would create a conflict the moment the new service starts. Observed beats declared applies here too: the check isn't complete until it has looked.
Why Fail-Fast Is Kindness
Checking writability of the ledgers before creating the repo might feel paranoid — surely they're writable? But if the ledger turns out to be read-only after the remote already exists, you're stranded mid-chain with a repo on GitHub and no way to record it. Preflight's job is to move every knowable failure to the front, where the cost of failing is zero: nothing external has happened, nothing needs unwinding, the lock is released, and you try again. Fail-fast isn't pessimism; it's refusing to discover a fatal problem after it's expensive.