6.6 KiB
URA / RTGS / GRU — operational readiness checklist
Last updated: 2026-04-25
Purpose: Executable steps from empty/staging to fully operational, tested production, aligned with technical-specs/README.md. Check boxes as you complete each step in the target environment.
Local repo gate (no live services): pnpm ura:ops-readiness — see UNIVERSAL_RESOURCE_WIRING.md.
Phase 0 — Preconditions
- 0.1 Record GRC → M00 strategy (ADR) if GRU M00 is in program scope — TS-GRU-M00-IMPLEMENTATION-PROGRAM-V1.md §2
- 0.2 Staging/prod: OMNL/Fineract, server-funds-sidecar, chain RPC, Phoenix, writer host available; secrets in vault
- 0.3 Create
config/universal-resource-activation/integration/omnl-ledger-mapping.v1.jsonfrom the example; fillaccountingRefFieldwith real export field names;pnpm ura:validate-ledger-mapping -- config/.../omnl-ledger-mapping.v1.json - 0.4 Add indexer/settlement and (if used) custody binding config (secure repo or vault path) for
evidencePackageId/ resources - 0.5 CI without
URA_STRICT_CLOSURE=1until URA_PILOT_CLOSURE_RUNBOOK.md is actually executed and placeholders are gone
Phase 1 — OMNL + server-funds-sidecar → manifest
- 1.1 Correlation: every prod draw/hold/release has a correlation id and path to a posted
accountingRef— TS-OMNL-SIDECAR-MANIFEST-SYNC-V1.md §5.1 - 1.2 Ledger snapshot: batch or API produces JSON for
pnpm ura:writer:ledger - 1.3 Writer pipeline automated: snapshot →
merge-manifest-fragments→pnpm ura:validate+pnpm ura:validate-profiles - 1.4 Publish path live (git PR, secured sync, or internal API) — URA_MANIFEST_WRITER_OPS.md §4
- 1.5 Phoenix:
SERVER_FUNDS_SIDECAR_URLset; sidecar-probe returns 200 when sidecar healthy - 1.6 Metrics/alerts per TS-OMNL §6 (success/fail, lag, DLQ)
- 1.7 Staging E2E for ledger path: TS-OMNL §7 — real or realistic journal → merge → validate →
pnpm ura:smoke --http
Phase 2 — Settlement / chain → manifest
-
2.1 Addresses/events documented for Chain 138 (and other chains in scope) — DBIS_RAIL_SETTLEMENT_EVENT_SOURCES.md
-
2.2 Indexer service:
eth_getLogs/ WebSocket / subgraph with N confirmations — TS-SETTLEMENT-INDEXER-MANIFEST-V1.md §6 -
2.3
pnpm ura:writer:settlement(or equivalent) into merge + validate + publish (same as Phase 1) -
2.4 Binding map: route/pool →
evidencePackageId(fail closed) -
2.5 Idempotency key:
(chainId, block, logIndex)(or defined equivalent) -
2.6 Reorg alerting; no silent delete of manifest rows (TS-SETTLEMENT §6)
-
2.7 Staging E2E for settlement path: TS-SETTLEMENT §10
-
2.8 (optional) On-chain hash anchoring if required — TS-SETTLEMENT §8
Phase 3 — SKR / custody (if in scope)
- 3.1 Custody ETL authenticated; fingerprints +
evidenceRefs/custodyOrSourceEvidenceper TS-SKR-CUSTODY-ETL-MANIFEST-V1.md - 3.2 Staging E2E for SKR path
Phase 4 — PolicyProfileRegistry (on-chain anchor)
- 4.1
pnpm ura:profile-hash <id>for each production profile; record hashes - 4.2 Deploy
smom-dbis-138/.../PolicyProfileRegistry+publishProfile(roles secured) — GRU_REGISTRY_WIRING_CHECKLIST.md §6 - 4.3 Record address in CONTRACT_ADDRESSES_REFERENCE.md (or successor)
Phase 5 — Full GRU M00 spine (if in scope; large program)
- 5.1 GRUStorage + governance bitmask signed off; storage collision analysis if GRC migration — TS-GRU
- 5.2 Facets delivered and tested: PolicyRouter, gates, StandardsRegistry, GovernanceLevel, asset/token path
- 5.3 Testnet deploy; GRU_M00_DIAMOND_DEPLOYMENT_RUNBOOK.md §6 green
- 5.4 Mainnet/138 (or target) deploy; addresses in inventory;
resourceId/assetIdmapping doc updated - 5.5 Multisig, timelock, pause drill, rollback runbook tested
Phase 6 — Compliance, strict CI, DR
- 6.1 Sign-off pack for automation per TS-COMPLIANCE-AUTOMATION-SIGNOFF-V1.md
- 6.2 URA_PILOT_CLOSURE_RUNBOOK.md complete: no pilot placeholders;
reconciliationStatusas policy requires - 6.3 Enable
pnpm ura:validate-closure:strictin pipeline; setURA_STRICT_CLOSURE=1/ Giteavars.URA_STRICT_CLOSURE=1 - 6.4 DR/rollback drill: URA_MANIFEST_WRITER_OPS.md §8
Final acceptance (production “done”)
- F.1 In-repo:
pnpm ura:ops-readiness:full(validates URA + PolicyProfileRegistry forge + fullvalidate-config-files.sh) and, per your release policy,bash scripts/verify/run-all-validation.sh(or equivalent) green on the release branch - F.1a On target host: set env (see
config/universal-resource-activation/ura-production-ready.env.example; optionalURA_PRODUCTION_ENV_FILE=…to source it). Strict go-live:pnpm ura:production-ready(URA_PRODUCTION_MODE=strict, default). Staging / pilots still open:pnpm ura:production-ready:connectivityonly. - F.2
pnpm ura:smoke --httpto Phoenix: manifest + policy-profiles + sidecar-probe 200 in prod - F.3 Evidence: staging + prod test tickets for ledger, settlement, and (if used) custody closed
- F.4 On-chain: PolicyProfileRegistry (if used) + GRU M00 (if used) addresses and upgrade path documented
- F.5 Ops: on-call runbook + monitoring dashboards live