This runbook lets maintainers test the operating model without accepting real support, publishing live receiving details, or exposing real people.
Current status remains inactive:
DONATIONS_ACTIVE: NO
WALLETS_PUBLISHED: NO
ACTIVATION_APPROVED: NO
Use this runbook to test whether the repository workflow is understandable, auditable, and safe before any production proposal.
The dry run should prove that maintainers can:
Use only repository sample files or private fictional records:
examples/sample-ledger/donations.csvexamples/sample-ledger/disbursements.csvexamples/relief-review/README.mdexamples/relief-review/FAM-2026-001_intake_review.sample.mdexamples/relief-review/FAM-2026-001_partner_attestation.sample.mdexamples/relief-review/FAM-2026-001_disbursement_decision.sample.mddocs/PUBLIC_SUMMARY_CHECKLIST.mddocs/RECEIVING_CHANNEL_PUBLICATION_POLICY.mddocs/RECEIVING_ACCOUNT_PROTECTION.mddocs/OPERATIONAL_READINESS_MATRIX.mdDo not use real case records, real receiving details, private account information, or private credentials in the dry run.
At minimum, assign these roles for the exercise:
| Role | Dry-run task |
|---|---|
| Operator | Prepares the fictional packet and sample ledger rows. |
| Reviewer | Checks privacy, status, and evidence consistency. |
| Reconciler | Compares ledger totals and report output. |
| Safety lead | Runs the freeze scenario and records blockers. |
The same person may simulate multiple roles during early testing, but the test report should still name which role was simulated.
Confirm public status says inactive:
DONATIONS_ACTIVE: NO
WALLETS_PUBLISHED: NO
ACTIVATION_APPROVED: NO
If public status does not match, stop and fix documentation drift before continuing.
Review the fictional relief example and confirm:
Use docs/PUBLIC_SUMMARY_CHECKLIST.md to confirm that the public-facing summary does not expose protected details.
Record findings as:
PUBLIC_SUMMARY_REVIEW: PASS | FAIL
FINDINGS:
- item 1
- item 2
Run the local validation commands from README.
Expected result:
compile: PASS
wallet example: PASS
campaign metadata: PASS
readiness dry run: PASS
ledger validation: PASS
sample ledger validation: PASS
static public status: PASS
candidate review: PASS
rc1: PASS
rc2: PASS
rc3: PASS
public safety: PASS
tests: PASS
sample report generation: PASS
If any step fails, fix only the failing scope.
Confirm:
Record:
RECONCILIATION_STATUS: PASS | FAIL
OPENING_BALANCE:
INCOMING_TOTAL:
OUTGOING_TOTAL:
FEES:
CLOSING_BALANCE:
UNRESOLVED_DIFFERENCES:
Simulate one issue:
SCENARIO: reviewer cannot verify one ledger row
Expected response:
Use docs/OPERATIONAL_READINESS_MATRIX.md.
Expected current decision:
GO_LIVE: NO
REASON: production gates remain incomplete
NEXT_MODE: dry-run and external review only
DRY_RUN_ID:
DATE:
REPOSITORY_VERSION:
OPERATOR:
REVIEWER:
RECONCILER:
SAFETY_LEAD:
STATUS_CHECK: PASS | FAIL
FICTIONAL_CASE_REVIEW: PASS | FAIL
PUBLIC_SUMMARY_REVIEW: PASS | FAIL
VALIDATION_RUN: PASS | FAIL
RECONCILIATION: PASS | FAIL
FREEZE_EXERCISE: PASS | FAIL
GO_LIVE_DECISION: NO
FINDINGS:
-
BLOCKERS:
-
NEXT_ACTIONS:
-
Stop the dry run if:
This runbook is for dry-run testing only. It is not legal, tax, security, privacy, accounting, or financial advice. Use qualified review before any real public operation.