Skip to content

Complete Railway DB retirement after static weights cutover #371

Description

@wallscaler

Context

Railway main Postgres is about 494GB on a 500GB volume. UID 200 validator weights now come from a Polaris sandbox publisher that writes signed static artifacts to wallscaler/cathedral-weight-feed, served through the cathedral-weights-failover Cloudflare Worker at api.cathedral.computer.

Goal

Retire the large Railway DB/project safely without risking UID 200 validator health.

Current status

  • Static weights path is live on https://api.cathedral.computer/v1/validator/weights/next.
  • Railway app services and Postgres deployments are stopped. Volumes are still preserved.
  • Polaris sandbox remains the live composer and publisher.
  • A sandbox user timer refreshes SN39 metagraph_hotkeys every 4 minutes.
  • A sandbox user timer publishes signed weight artifacts every 3 minutes. The original system timer still runs every 10 minutes.
  • Worker version 6d920a59-4a12-4cd4-8469-01f18e5c347f refreshes stale cached vectors synchronously and falls back from GitHub Contents API to raw GitHub before the now-stopped Railway read service.

Checklist

  • Watch https://api.cathedral.computer/v1/validator/weights/next for at least one full validator interval.
  • Confirm returned vectors stay fresh, signed, and accepted by scaffold.validator_thin --offline.
  • Confirm sandbox weight feed publish timers keep pushing signed vectors.
  • Confirm UID 200 validator is active with permit and set weights after static cutover.
  • Add sandbox SN39 metagraph poller so static composition no longer depends on Railway DB freshness.
  • Stop remaining nonessential Railway app services.
  • Stop Railway Postgres deployments while preserving volumes.
  • Preserve final minimal export artifacts and sandbox DB URL in credentials storage.
  • Soak the static path after Railway stop.
  • Delete or abandon the 494GB Railway DB/project only after the static path is stable and rollback expectations are explicit.

Verification log

  • 2026-07-08T04:21Z: release gate passed for canonical and legacy API paths, using api.cathedral.computer for all weight URL checks. UID 200 was fresh after a new set-weights transaction.
  • 2026-07-08T04:24Z: Railway app deployments stopped: cathedral-publisher, cathedral-read, cathedral-submit, cathedral-v2-worker. cathedral-v2-beta and cathedral-testlane were already stopped.
  • 2026-07-08T04:25Z: Railway Postgres deployments stopped: Postgres and Postgres-GlUA. Volumes remain present and are not deleted.
  • 2026-07-08T04:26Z: scaffold.validator_thin --publisher-url https://api.cathedral.computer --once --offline accepted vector 6688a3ff....
  • 2026-07-08T04:26Z: release gate auto checks passed with vector age about 103s and UID 200 update age about 420s.

Rollback notes

  • Fast rollback for public weights is to keep using the static feed. It is independent of Railway after this cutover.
  • If Railway app or DB compute must be restored, use Railway redeploy on the stopped service deployments captured in ~/Documents/INBOX/cathedral-railway-retire/railway-status-before-stop-2026-07-08T0406Z.json and related status snapshots.
  • Do not delete Railway volumes until after a longer soak and an explicit final abandonment decision.

Links

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P0Highest priorityarea:v1v1 production scope (regulatory cards, validator, miner)status:activeCurrently in active launch path

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions