3.4 KiB
3.4 KiB
UV TESTNET ARMING CHECKLIST — DARK → LIVE on BingX VST
For the operator. Execute top to bottom; every box is a stop-if-red. The integrator (Fable/successor) signs §1–2; only YOU execute §3.
§1 — Certification complete (integrator signs)
- Gate A verdict PASS in
prod/docs/uv_cert/GATE_AB_RUN_<ts>.md(Tier 1 + Tier 2 green; Tier 3a/3b drift-rates reported and explained). T10 merged. - Gate B verdict PASS (fuzz surface green, deterministic re-run identical).
- T2P1 merged: journal writes verified against real DateTime64(3); raw scan surface
(
assets[],asset_prices[]) persisting per scan into dolphin_uv; creds never in URL. - Zinc soak healthy ≥24h on current main: region seq at scan cadence, TUI
source:zinc, RSS flat (ram block), zero writes outside dolphin_uv (guard log).
§2 — Seam dry-run reviewed (integrator signs)
- T9 merged: 3 injected intents fully mapped + journaled, ZERO venue calls (DARK
default proven);
u-prefix litmus green; mainnet-block mutation test green. - T12 merged: bridge inert-by-default proven; shadow-mode journal shows SUPPRESSED intents recorded during a live soak window — review that excerpt: are these the trades you'd want taken?
- End-to-end DARK rehearsal: PRIME live scan → bridge (suppressed) → verify the would-have-been intent in dolphin_uv.exec_journal matches the journaled decision bit-for-bit.
§3 — Arming (OPERATOR ONLY, in this order)
- Create VST API keys on BingX testnet (never mainnet keys anywhere near this box's UV env). Fund the VST account.
- Place keys per T9's config seam (env/file per merged T9 README — keys never in git, never in the repo tree).
- Start the seam runner (uv_exec instance) STILL DARK — verify it authenticates, reads balances, places NOTHING. Check venue telemetry region populating.
- Write the arming file:
echo "$(date -Iseconds) <your-initials>" > /root/uv-wt/prime-live/UV_PROMOTED.armand setUV_PROMOTED=1on the PRIME runner env; restart PRIME runner. - FIRST TRADE WATCH: sit on the TUI for the first bridged intent → order. Verify
on the venue: clientOrderId starts
u-, size/leverage match the journaled intent, position appears in dolphin_uv.exec_journal with venue echo. - Let it run ONE session. Review: every venue order has a matching BRIDGE row and journaled decision; PnL accounting sane vs venue statement.
§4 — Kill / rollback (know it BEFORE arming)
- Instant stop: delete
UV_PROMOTED.arm(bridge goes inert next scan) — no restart needed. Harder stop: kill the uv_exec runner (positions remain on venue — close via venue UI if needed; it is VST money). - Any anomaly (order without journal row, journal row without order, non-
u-order, any write appearing outside dolphin_uv): kill first, forensics second, report on h5i.
Standing constraints while live
- Gate C (live soak) is observation, not a pass/fail blocker — but the T8 stop-watcher ledger and the differ (PRIME still shadows BLUE — parity keeps being measured WHILE UV trades) are the instruments. Divergence trend = stand down and investigate.
- BLUE remains untouched, unthrottled, unshadowed by any of this. If UV ever competes with BLUE for the same venue account: it must not — separate VST account, always.