The checklist for joining, so the sequence is not in somebody’s head
One checklist for joining the mesh — what a repository has adopted, what is left, and the command for each.
Everything an organisation needs to join this network already exists, tested and documented, spread across eighteen entry points in nine packages. The sequence between them existed nowhere — an adopter could run every command correctly and still not know whether they were finished. This is the order, the evidence for each step, and the command that does it.
Ten steps in dependency order, each declaring what it produces, the paths that prove it, and the command a person runs. The charter is first because four later steps read it: capabilities come out of it, the handshake derives its advertised list from the role names, and the directory fragment declares what the rest serve. Start anywhere else and the same facts get typed twice.
A step is `done`, `outstanding` or `n/a` — three verdicts rather than two, because a library with no website cannot serve a front door and grading it for lacking one is how a published package once measured as a property with no door. Evidence counts a route handler as well as a committed file: the first run read a property at 6 of 10 when it was 8, because `route.ts` under a `.well-known` directory is a directory on disk and a path list missed it.
It reads a checkout and reports; it never writes. `status` exits non-zero when a step applies and is not done, so it is usable as a gate in a repository that has just adopted.
Installing it puts this command on your path — read from the package’s own manifest, so this list cannot drift from what you actually get.
meshThe evidence for each step is a path in the repository, so the answer is re-derived from the checkout on every run rather than stored anywhere. Its own test suite runs the checker against fixtures shaped like the estate’s real repositories — a route handler, a monorepo whose site config is not at the root — because both of those shapes made the first version report a wrong number against a real property. Verify it yourself: run `npx @flashyos/mesh status --json` in any repository and check each path it names.
Apache-2.0, read from the package’s own manifest. Embed it in anything, including closed software — that is what makes a spec adoptable and a verifier worth running. FlashyOS’s server side is AGPL-3.0-only instead, and a test in the monorepo asserts the direction between them: AGPL code may consume this, this may never consume AGPL code.