Files
wikideck/docs/operator-launch.md
T
2026-10-28 18:33:52 -04:00

6.8 KiB
Executable File

Operator launch preparation and hold points

The card-only production readiness plan defines the product scope and release gates. The supported product is mining, collecting, and direct card-for-card trades. Market, custody, and payment source has been removed. Current decision: HOLD / NO-GO for mainnet, valuable assets, or public exposure until the relevant evidence below is reviewed.

A successful build, local container startup, peer URL count, genesis timestamp, or configured approval flag is not production evidence. The read-only launch preflight reports local blockers; it is not an independent audit or approval.

Safe inspection

Use Node.js 24 and a clean, reviewed checkout. For mainnet assessment, select WIKIDECK_NETWORK=mainnet and run launch:preflight. Use --network-manifest for chain identity inspection. These commands do not start a node, create a ledger, start RandomX, or contact peers.

Mainnet startup is gated by a chain-specific approval, a review acknowledgement, the candidate genesis time, HTTPS origin, and multiple configured HTTPS peers. These are accident-prevention checks only; they do not prove that review occurred, peers are online/independent, or a network is secure. Keep deployment and release permissions restricted.

Evidence required before a public non-monetary testnet beta

A beta is not mainnet production, valuable-asset use, or a claim of independent network security. Keep testnet explicitly selected, cards valueless, and the deployment described as experimental. Before public exposure:

  • Freeze the card-only scope, testnet identity, known risks, privacy and data-retention terms, user support/contact, abuse-report path, and stop conditions.
  • Prefer managed hosting unless the intended host proves ISP permission/reachability, TLS renewal, trusted-proxy correctness, no direct backend exposure, firewall and admin controls, patching, and power/network resilience.
  • Run repeated load, mining, peer-sync, reorganization, crash/restart, and restore tests on the exact release candidate and intended hardware. Set measurable latency, error, memory, CPU, disk, and recovery limits.
  • Review wallet migration, lock/unlock, signing, backup, and fresh-profile recovery. Explain same-origin compromise and irreversible-transfer risks.
  • Deploy external monitoring and verify alert delivery for peer/tip freshness, reorgs, native failures, overload, disk growth, and service availability. Name a responder and test incident/rollback procedures.
  • Encrypt backups off-host and rehearse a cold restore/replay. Define recovery objectives and keep wallet backups separate from node backups.
  • Freeze image/dependency/native versions, generate an SBOM, scan the final artifacts, and record exact release hashes and a beta go/no-go. Publish a project license before public distribution.

If these conditions cannot be verified on a self-hosted site, do not expose it publicly; use a managed host or remain local-only.

Mainnet and valuable-card blockers

Mainnet or valuable-card use requires the beta evidence plus independent protocol/application review, measured and reviewed consensus parameters, adversarial multi-host partition/reorg/hashpower testing, a credible bootstrap and independent-peer/miner plan, production capacity evidence, and explicit governance/upgrade and incident procedures. The current initial target is deliberately easy and the retarget is not production-calibrated. Nodes retain the DAG in memory and replay proofs at startup. There is no formal finality or automatic peer discovery. Keep mainnet NO-GO until these gaps are independently reviewed and signed off.

Hold-point register

Record owner, exact release/manifest, evidence location and hash, test/rehearsal, reviewer, residual risk, and disposition. Empty or unverified means not passed.

Hold point Required evidence Current status
Independent protocol/application review Review against the exact release; critical/high findings fixed and retested Missing
Consensus launch design Final manifest; measured starting target/hashpower; timestamp, retarget, partition, and reorg analysis Missing
Node availability Realistic long-chain and hostile-traffic capacity report with explicit limits Missing
Production wallet Same-origin threat model, user confirmation, supported-browser lifecycle and offline recovery drill Unverified
Peer/miner topology Independently administered hosts/failure domains, verified online peers, and sufficient independent hashpower Unverified
Edge and host security TLS/certificate renewal, firewall, backend isolation, proxy trust, patching and restricted admin Unverified
Monitoring/on-call External alert routes and successful drills for isolation, reorg, native failure, overload and disk pressure Unverified
Restore/reconciliation Encrypted off-host ledger backup, isolated restore and proof replay; separate wallet recovery Unverified
Release supply chain Frozen image digest, SBOM, dependency/native/container scans, provenance, and restricted release access Partial; repeat for final artifact
Incident/governance Named decision owners, upgrade/fork policy, communications, rollback and stop criteria Missing

Freeze and authorize

  1. Fix critical findings in a separately reviewed release; do not change consensus rules under a launched chain ID.
  2. Freeze the reviewed genesis/manifest, exact build/runtime profile, image digest, peer origins, and artifact hashes.
  3. Rehearse initial sync, independent mining, partitions/reconnects, invalid traffic, disk pressure, restart, and isolated full restore. Do not delete production data or weaken rules to pass a drill.
  4. Verify DNS/TLS, proxy forwarded-IP handling, no direct backend access, permissions, resource capacity, and monitoring on intended hosts. /healthz is liveness only.
  5. Record a go/no-go with operator/reviewer names, evidence, known residual risks, change window, recovery objectives, and stop conditions in the controlled operations system.

Do not set review acknowledgements merely to bypass gates. This internal code work is not the independent review required for launch.

Stop conditions

Treat deep reorgs, isolation, divergent manifests, sustained overload, disk exhaustion, native-engine failure, key compromise, or loss of monitoring as incidents. Stop accepting new exposure using the approved procedure. Stopping a node does not undo confirmed transactions. Preserve logs and backups; never delete the ledger, shorten history, or change genesis to get a node to start. Remove a stale lock only after verifying all owning processes have exited. Resolve chain conflicts under a reviewed incident policy, not with an ad hoc checkpoint or stale restore.