Distributed Proof
This is the only public-secondary docs page that carries the named clustered verifier rails.
Use Distributed Actors for the language/runtime primitives, Clustered Example for the scaffold-first walkthrough, and Production Backend Proof when the work becomes backend-specific. The clustered proof story now centers the generated PostgreSQL starter's M053 chain: bash scripts/verify-m053-s01.sh owns staged deploy truth, bash scripts/verify-m053-s02.sh owns failover truth, and bash scripts/verify-m053-s03.sh keeps packages/public-surface proof in the same hosted contract.
Keep the public starter split honest here too: examples/todo-sqlite/README.md is the honest local single-node starter with no work.mpl, HTTP.clustered(...), or meshc cluster story, while examples/todo-postgres/README.md is the serious shared/deployable starter that keeps source-first @cluster work and only dogfoods explicit-count HTTP.clustered(1, ...) on GET /todos and GET /todos/:id.
Public surfaces and verifier rails
This page is the canonical clustered proof map. The other public-secondary pages should hand readers here instead of repeating the named clustered verifier ledger.
- Clustered Example — first stop for the public scaffold surface
examples/todo-postgres/README.md— the serious shared/deployable starter that owns the shipped clustered contractexamples/todo-sqlite/README.md— the honest local single-node SQLite starter, not a clustered/operator proof surfacebash scripts/verify-m053-s01.sh— starter-owned staged deploy proof that retains the generated PostgreSQL bundle plus bundled artifactsbash scripts/verify-m053-s02.sh— starter-owned failover proof that replays S01, exercises the staged PostgreSQL starter under failover, and retains the failover proof bundlebash scripts/verify-m053-s03.sh— hosted packages/public-surface contract that checks the same starter proof remains visible in the public hosted story- Production Backend Proof — the compact backend proof handoff before any maintainer-only surface
mesher/README.md— the deeper maintained app runbook for repo maintainersbash scripts/verify-m051-s01.sh— maintainer verifier for the shipped Mesher app surfacebash scripts/verify-m051-s02.sh— maintainer verifier for the retained backend-only proof replaybash scripts/verify-m043-s04-fly.sh— retained read-only Fly sanity/config/log/probe verifier for an already-deployed reference environment
What the public clustered contract proves
The public clustered story is intentionally smaller than the repo's full retained proof inventory:
- start with
meshc init --clustered, then branch to the generated Postgres or SQLite example that matches the contract you actually want - keep
meshc init --template todo-api --db postgresas the fuller shared/deployable starter without changing the source-first@clustercontract - keep
meshc init --template todo-api --db sqliteon its honest local single-node contract instead of projecting clustered/operator claims onto it - let
bash scripts/verify-m053-s01.shown staged deploy proof for the generated PostgreSQL starter - let
bash scripts/verify-m053-s02.shown failover proof for that same staged PostgreSQL starter - let
bash scripts/verify-m053-s03.shprove the hosted packages/public-surface contract still tells the same story - keep clustered declaration state in source instead of the manifest
- rename legacy helper-shaped names to ordinary verbs instead of preserving runtime-plumbing-shaped public APIs
- let the runtime own startup, placement, continuity, promotion, recovery, and diagnostics
- use the same operator flow everywhere: status, continuity list, continuity record, diagnostics
- keep the PostgreSQL Todo starter's clustered-route adoption narrow:
work.mplstays route-free,GET /todosandGET /todos/:iduse explicit-countHTTP.clustered(1, ...), andGET /healthplus mutating routes stay local application routes - keep Fly as a retained read-only reference/proof lane for already-deployed environments instead of treating it as a coequal public starter surface
- keep the deeper backend handoff on Production Backend Proof, Mesher, and the retained backend-only verifier instead of promoting any repo-root runbook as a coequal first-contact clustered starter
Retained reference rails
Older repo-owned rails still exist for compatibility, history, and deeper operator proof, but they are secondary to the M053 starter-owned chain above:
bash scripts/verify-m047-s04.sh— authoritative M047 cutover rail for the source-first route-free clustered contractbash scripts/verify-m047-s05.sh— retained historical clustered Todo subrail kept behind fixture-backed rails instead of the public starter contractcargo test -p meshc --test e2e_m047_s07 -- --nocapture— repo S07 rail for default-count and two-nodeHTTP.clustered(...)behavior beyond the PostgreSQL starter's explicit-count read routesbash scripts/verify-m047-s06.sh— docs and retained-proof closeout rail that wraps S05, rebuilds docs truth, and owns the assembled.tmp/m047-s06/verifybundlebash scripts/verify-m046-s06.sh,bash scripts/verify-m046-s05.sh,bash scripts/verify-m046-s04.sh,bash scripts/verify-m045-s05.sh,bash scripts/verify-m045-s04.sh, andbash scripts/verify-m045-s03.sh— historical compatibility aliases and subrails retained for replay, not for first-contact starter teachingcargo run -q -p meshc -- build scripts/fixtures/clustered/tiny-clusterpluscargo run -q -p meshc -- test scripts/fixtures/clustered/tiny-cluster/tests— lower-level retained tiny-cluster fixture contractcargo run -q -p meshc -- build scripts/fixtures/clustered/cluster-proofpluscargo run -q -p meshc -- test scripts/fixtures/clustered/cluster-proof/tests— retained fixture contract for the bounded Fly/reference package
Named proof commands
These are the repo-level commands behind the current distributed proof story:
bash scripts/verify-m053-s01.sh
bash scripts/verify-m053-s02.sh
bash scripts/verify-m053-s03.sh
bash scripts/verify-m051-s01.sh
bash scripts/verify-m051-s02.sh
bash scripts/verify-m047-s04.sh
bash scripts/verify-m047-s05.sh
cargo test -p meshc --test e2e_m047_s07 -- --nocapture
bash scripts/verify-m047-s06.sh
bash scripts/verify-m046-s06.sh
bash scripts/verify-m046-s05.sh
bash scripts/verify-m046-s04.sh
bash scripts/verify-m045-s05.sh
bash scripts/verify-m045-s04.sh
bash scripts/verify-m045-s03.sh
cargo run -q -p meshc -- build scripts/fixtures/clustered/tiny-cluster
cargo run -q -p meshc -- test scripts/fixtures/clustered/tiny-cluster/tests
cargo run -q -p meshc -- build scripts/fixtures/clustered/cluster-proof
cargo run -q -p meshc -- test scripts/fixtures/clustered/cluster-proof/tests
npm --prefix website run build
bash scripts/verify-m043-s04-fly.sh --help
CLUSTER_PROOF_FLY_APP=mesh-cluster-proof \
CLUSTER_PROOF_BASE_URL=https://mesh-cluster-proof.fly.dev \
bash scripts/verify-m043-s04-fly.shNote: The Fly verifier is intentionally read-only and intentionally secondary. Use
bash scripts/verify-m043-s04-fly.sh --helpwhen you only want the non-live syntax/help path. Live mode inspects an already-deployed reference app and optionally reads an existing continuity key withCLUSTER_PROOF_REQUEST_KEY; it does not create new work, does not mutate authority, and does not replace the portable staged PostgreSQL starter contract.
Operator workflow across the public clustered surfaces
Whichever public surface you start from, the operator flow stays the same:
meshc cluster status <node-name@host:port> --jsonmeshc cluster continuity <node-name@host:port> --jsonmeshc cluster continuity <node-name@host:port> <request-key> --jsonmeshc cluster diagnostics <node-name@host:port> --json
Use the list form first to discover startup or request keys. Only then drill into a single continuity record.
Supported topology and non-goals
Supported topology and operator seam:
- one primary plus one standby using the same image and the same repo packaging path
- small env surface: cookie, discovery seed, explicit identity injection, continuity role, and promotion epoch
- same-image local proof for destructive failover and rejoin truth through the staged PostgreSQL starter chain
- read-only Fly inspection for already-deployed reference apps
Non-goals for this public rail:
- active-active writes or active-active intake
- multi-standby quorum or consensus claims
- package-owned operator surfaces that compete with the runtime CLI
- presenting retained internal fixtures as the public onboarding story
- projecting clustered/operator claims onto the SQLite starter
- implying Fly is a required deploy target for the public clustered contract
- implying the retained
cluster-prooffixture is a coequal public starter surface
When to use this page vs the generic distributed guide
Use the generic Distributed Actors guide when you want the language/runtime primitives.
Use this page when you want the named proof surfaces behind the scaffold/examples-first clustered story, the PostgreSQL starter's staged deploy + failover + hosted-contract chain, the SQLite-local boundary, the Production Backend Proof handoff into Mesher plus the retained backend-only verifier, and the retained Fly reference rail.
Failure inspection map
If a proof fails, rerun the named command for the exact surface you care about:
- Starter staged deploy proof:
bash scripts/verify-m053-s01.sh - Starter failover proof:
bash scripts/verify-m053-s02.sh - Hosted starter/packages/public-surface proof:
bash scripts/verify-m053-s03.sh - Mesher app proof:
bash scripts/verify-m051-s01.sh - Retained backend-only replay:
bash scripts/verify-m051-s02.sh - Authoritative M047 cutover rail:
bash scripts/verify-m047-s04.sh - Historical clustered Todo subrail:
bash scripts/verify-m047-s05.sh - Repo S07 clustered-route rail:
cargo test -p meshc --test e2e_m047_s07 -- --nocapture - Docs + retained-proof closeout rail:
bash scripts/verify-m047-s06.sh - Historical M046 closeout alias:
bash scripts/verify-m046-s06.sh - Historical M046 equal-surface alias:
bash scripts/verify-m046-s05.sh - Historical M046 package/startup alias:
bash scripts/verify-m046-s04.sh - Historical M045 closeout alias:
bash scripts/verify-m045-s05.sh - Historical M045 assembled alias:
bash scripts/verify-m045-s04.sh - Historical failover-only subrail:
bash scripts/verify-m045-s03.sh - Lower-level retained tiny-cluster fixture contract:
cargo run -q -p meshc -- build scripts/fixtures/clustered/tiny-cluster && cargo run -q -p meshc -- test scripts/fixtures/clustered/tiny-cluster/tests - Lower-level retained cluster-proof fixture contract:
cargo run -q -p meshc -- build scripts/fixtures/clustered/cluster-proof && cargo run -q -p meshc -- test scripts/fixtures/clustered/cluster-proof/tests - Public docs build:
npm --prefix website run build - Read-only Fly reference check:
bash scripts/verify-m043-s04-fly.sh --helpfor syntax, orCLUSTER_PROOF_FLY_APP=mesh-cluster-proof CLUSTER_PROOF_BASE_URL=https://mesh-cluster-proof.fly.dev bash scripts/verify-m043-s04-fly.shfor live inspection