Skip to content

Add downloadable three-machine rehearsal flow and ceremony kit installer - #5

Merged
mellowcroc merged 13 commits into
mainfrom
add-ceremony-tools-installer
Aug 20, 2026
Merged

Add downloadable three-machine rehearsal flow and ceremony kit installer#5
mellowcroc merged 13 commits into
mainfrom
add-ceremony-tools-installer

Conversation

@mellowcroc

Copy link
Copy Markdown
Collaborator

Merges the ceremony-kit / three-machine rehearsal flow into main (13 commits):

  • Downloadable ceremony kit: coordinated installer (setup --machine N) that installs verified binaries, extracts the rehearsal scripts, and prefills each machine's .env; kit archive layout verification.
  • Three-machine rehearsal: 00-coordinator-initialize.sh (fresh signed rehearsal-tiny-v1 ceremony via mpc-ceremony rehearsal init), WORK_ROOT-derived layout, and the full 42-step scripted flow with measured timing tables.
  • Guided storage setup for both providers: docs/AWS_SETUP.md and docs/R2_SETUP.md plus scripts/storage-setup/ (bucket creation, credential validation, .env update; R2 control-plane inbox-privacy checks, Wrangler OAuth or bearer-token paths).
  • Fixes from running the flow end to end (docs+fix(three-machine-rehearsal): correct finalize scope, robust go discovery, region guidance #3, docs(three-machine-rehearsal): map rehearsal shortcuts to a fully distributed ceremony #4): corrected finalize scope in the Stop section, explicit Go toolchain discovery for the optional operational-evidence step, explicit AWS region guidance, and a mapping from each rehearsal co-location shortcut to its fully distributed replacement.

Validated on 2026-08-20 with two complete three-machine rehearsals — AWS S3 and Cloudflare R2 — all 42 steps passing on both, driven across three separate hosts.

Pairs with zksecurity/proof-tool#10 (the rehearsal-tiny-v1 circuit and rehearsal init subcommand); relay invokes mpc-ceremony as a binary, so there is no build-order dependency.

mellowcroc and others added 13 commits August 20, 2026 01:08
…discovery, region guidance (#3)

- README 'Stop': the tiny transcript is NOT blocked from finalization. finalize
  prepare/complete and audit compile the circuit named by the ceremony
  definition (compileCircuitForCeremony), so they run against rehearsal-tiny-v1.
  Only the production decision's exact-k21-rehearsal gate requires K=21. The old
  text ('proof-tool intentionally rejects tiny-circuit finalization') was wrong.
- 10-coordinator-generate-operational-fixtures.sh: this optional step shells out
  to 'go build'; resolve the toolchain explicitly (GO_BIN, common install dirs)
  and fail with a clear message instead of a bare 'go: command not found' when
  go is off a non-login PATH (e.g. ~/.local/go/bin).
- machine-1/.env.example: recommend setting AWS_REGION explicitly; SSO/AssumeRole
  profiles often have no default region, so blank-region endpoint discovery can
  silently target the wrong region.
…tributed ceremony (#4)

The rehearsal co-locates roles and centralizes two things (key generation and
operational-evidence generation) so it runs fast on three hosts. The README
flagged this as 'not production independence evidence' but did not say what
actually changes when every role is its own independently operated machine.

Add a table mapping each of the three co-location shortcuts to its distributed
replacement:
- central keygen -> each role generates and enrolls its own key;
- central operational evidence (steps 33-41) -> each witness/mirror/auditor
  produces and signs its own record locally (ops prepare-public-witness-receipt,
  mirror receipt -> ops prepare-mirror-receipt, audit);
- role co-location -> one key per machine (the scripts are already
  identity-parameterized, so the 3-machine split is illustrative).

Points to COORDINATOR_RUNBOOK.md / ROLE_RUNBOOK.md as the authority for the
distributed procedure. Docs only.
@mellowcroc
mellowcroc merged commit 671f795 into main Aug 20, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant