Skip to content

Operator Runbook (Devnet)

Document Control Value
Purpose Practical operational guide for observing and exercising the Devnet MVP
Audience Developers, reviewers, operators

This runbook is intentionally practical. It focuses on how the current devnet deployment is observed and operated, not on aspirational architecture.

1. Environment baseline

Variable Meaning
RPC_URL Devnet RPC endpoint
PROGRAM_ID Current deployed program ID
TIMLG_MINT Current devnet mint used by the protocol
ORACLE_PUBKEY Authorized pulse signer public key

2. Standard workflow

Phase Typical tool / script Purpose
Prepare devnet config ./switch_devnet.sh Align local environment with current devnet deployment
Create / maintain rounds node index.mjs --actions=scheduler Supervisor-driven loop ensuring commit windows remain open
Post pulses node index.mjs --actions=pulse Supervisor-driven automated entropy submission
Finalize / settle / recover node index.mjs --actions=settle,recover Supervisor-driven handling of normal outcomes, salvage, and gap recoveries
Inspect state Live Audit UI Verify round, anchor, and ticket status reliably without private scripts
Sweep / cleanup node index.mjs --actions=sweep,close Supervisor-driven delayed cleanup after strict grace slots

3. Important operational clarifications

Topic Current reality
Finalization finalize_round is an explicit admin path; settlement logic may auto-finalize under valid conditions
Settlement settle_round_tokens is the key accounting step for burns and winner preparation
Sweep Sweep is delayed by on-chain claim_grace_slots; local prechecks cannot bypass this
Ticket cleanup close_ticket remains user-driven and separate from operator sweep logic

4. Verification tasks for reviewers

Check Example approach
Program identity solana program show <PROGRAM_ID>
Round inspection node oracle/print_round_devnet.js --id <ROUND_ID>
Pulse publication path Observe set_pulse_signed transactions and matching state changes
Settlement consistency Compare wins, losses, revealed count, pending count, and refunds

5. Guardrails

  • Never publish private key material, signer files, or privileged operational topology in public docs.
  • Treat local convenience scripts as helpers, not as the source of protocol truth.
  • When local behavior and on-chain state disagree, the on-chain program wins.