All runbooks
evidenceuai-explorerredacted view

UAI Explorer Production Cutover Evidence

Synced UAI Explorer evidence documentation from docs/evidence/production-cutover-2026-06-21.md.

Updated 2026-06-21·Freshness: Reference·Sensitive tokens or credentials were hidden before display.

UAI Explorer Production Cutover Evidence

Date: 2026-06-21
Timezone: America/St_Johns

Scope

Cut over production CT 121 from the legacy UAI Explorer 0.1.0 surface to the verified public-safe 0.2.3 build. This promoted the CT 126 curated app, data, and database state into production.

No DNS, TLS, firewall, reverse proxy, NetBird, cluster membership, or public route changes were made.

Operator Decisions

  • Production cutover: approved and executed for internal production CT 121.
  • Dormant/future node identity: not part of this UAI Explorer production cutover; future node work belongs to separate infrastructure onboarding.
  • Proxmox storage policy: approved backup-only production cutover; no snapshot deletion, backup pruning, migration, or cleanup was performed.
  • Real content promotion: closed for public-safe v1 with no raw survey content promotion. Production uses curated CT 126 catalog data only.

Backup

Pre-cutover backup method:

vzdump 121 --mode suspend --compress zstd --storage local --remove 0

Backup artifact:

/[REDACTED:high-entropy].tar.zst

Backup log:

/[REDACTED:high-entropy].log

Backup verification:

  • Backup job finished successfully.
  • Archive size: 541723941 bytes.
  • SHA256: [REDACTED:high-entropy].
  • CT 121 guest was online again after the brief suspend window.

Restore reference:

pct restore 121 /[REDACTED:high-entropy].tar.zst --force

Use the restore command only during an explicit rollback window.

Cutover Action

The live CT 121 /opt/uai-explorer tree was replaced with:

  • local 0.2.3 application files,
  • curated CT 126 data/,
  • curated CT 126 uai-explorer.sqlite3,
  • production .env with PUBLIC_SAFE_MODE=true and ALLOW_ADMIN_RAW_READ=false.

The production .env does not include a bootstrap admin password value. The production user database was migrated from the curated CT 126 public-safe database state.

The prior legacy production tree contained broad/private-looking files under data/ and an app-local .ssh directory. Those were removed from the live production app tree during cutover. The pre-cutover backup remains the recovery source.

Verification

Production CT 121 after cutover:

{"status":"ok","version":"0.2.3"}

Production readiness after cutover:

{"status":"ready","version":"0.2.3","public_safe_mode":true,"data_root_exists":true,"db_exists":true,"user_count":1,"catalog_count":7,"redaction_enabled":true,"redaction_boundary":"server-side","admin_raw_downloads_enabled":false,"legacy_file_apis_enabled":false,"uploads_enabled":false,"raw_survey_zone_mounted":false,"raw_survey_mounts_detected":0,"public_data_boundary":"sanitized-catalog-only"}

In-container CT 121 verification:

  • systemctl is-active uai-explorer returned active.
  • server.py reports VERSION = "0.2.3".
  • python -m py_compile server.py tools/*.py tests/*.py passed.
  • python -m unittest discover -s tests -v passed with 42 tests.
  • .ssh was absent from /opt/uai-explorer.
  • raw-survey-zone and sanitized-exports were absent from /opt/uai-explorer.
  • Legacy data/uai-discord-env was absent from the live production data root.
  • START_HERE_UAI_LAB.md SHA256: [REDACTED:high-entropy].

Sandbox CT 126 remained ready on 0.2.3 after the production cutover.

Post-Governance Refresh

After the documentation governance pass, the refreshed app/docs state was synced back into CT 121 and CT 126 while preserving .env, data, uploads, virtualenvs, and SQLite databases.

Final post-governance verification recorded:

  • CT 121 service active, /health 0.2.3, /ready ready/public-safe.
  • CT 126 service active, /health 0.2.3, /ready ready/public-safe.
  • In-container python -m unittest discover -s tests -v passed with 55 tests on both CT 121 and CT 126.
  • .ssh, raw-survey-zone, sanitized-exports, and data/uai-discord-env were absent from both app trees.
  • Evidence: [REDACTED:high-entropy].md.
  • Repo docs catalog sync then published 60 Markdown docs into each live Explorer catalog; both CTs reported catalog_count=67.

Result

Production CT 121 now runs the public-safe UAI Explorer 0.2.3 build with login, tag authorization, server-side redaction, audit, human/AI separation, and raw-file/public-safe denial gates.

No open UAI Explorer decisions remain for public-safe v1.