Complete-Root cPanel Deployment Cutover — Evulgare 2.0.0-rc.11-WIP
Purpose
RC11 provides a deterministic, non-destructive cutover contract for replacing a stale or mixed cPanel application root with one complete Evulgare release. The distributable archive excludes cPanel-owned passenger_wsgi.py; cPanel must load cpanel_app.py and expose application. The cutover tooling verifies and stages evidence but never activates a tree, migrates MySQL, restarts Passenger, or promotes the release automatically.
Autonomous Drone recovery dependency
The complete-root cutover is required to make the repaired /simulations/autonomous-drone-control delivery live. RC11 serves one authoritative initial frame, all 131 event/proof records, a same-origin compact replay transport, a deterministic-gzip fallback, and an ordinary same-origin run fallback. The browser verifies transport, frame, event-chain, full-run, input, result, source-event, and canonical-event-chain digests before enabling all 131 replay frames.
Immutable package identity
- Release:
2.0.0-rc.11-WIP - Required Python:
3.13.14 - Application root:
evulgare.com - URL path: blank
- Startup file:
cpanel_app.py - Entry point:
application - Terminal:
SYNTHETIC_NULL_SINK
A bounded environment-sync tool is provided as scripts/sync_cpanel_release_env.py. It is dry-run by default and may update only APP_VERSION after an explicit release confirmation. It never prints secrets or restarts Passenger.
Nine-phase operator sequence
CUT-01. BACKUP — Create timestamped backups of .env, MySQL, and the current application root. CUT-02. VERIFY ARCHIVE — Verify root layout, build identity, runtime-integrity manifest, member hashes, modes, and forbidden-file rules. CUT-03. STAGE — Extract to a separate staging directory and verify the clean tree before touching the active root. CUT-04. REPLACE ROOT — Replace the active root with the verified staged tree while preserving the private environment file. CUT-05. INSTALL AND MIGRATE — Install requirements in the Python 3.13.14 virtual environment, run Alembic upgrade, and run idempotent seeding. CUT-06. DIAGNOSE — Run full-stack, runtime-integrity, deterministic proof, memory, preflight, and pytest checks. CUT-07. RESTART — Restart Passenger only after all staged and application checks pass. CUT-08. LIVE PROBE — Verify candidate version, database reachability, catalog readiness, routes, redirects, headers, cache, compression, and absence of secret leakage. CUT-09. EVIDENCE REVIEW — Create a bounded production-host evidence candidate, review it explicitly, and preserve residual unknowns.
Readiness requirements
A responding process is not sufficient. /readyz requires package identity, no configured-version conflict, runtime-integrity match, a safe Passenger wrapper, reachable MySQL, and the ten-record Simulation Explorer. The Autonomous Drone route must also remain below the initial response budget and hydrate only after digest verification.
Rollback and evidence boundary
Rollback is explicit, not automatic. Preserve the prior root, private environment, and database backup until live acceptance completes. A rollback restores technical state; it does not erase evidence of a failed cutover or prove downstream remedy. Production evidence remains unreviewed until an authorized reviewer inspects it.
Public-safety boundary
The cutover and simulation tools do not control real vehicles, accept real coordinates, select targets, issue payload or weapon commands, create force authorization, or persist public scenario inputs. Every derived public action remains synthetic and terminates at SYNTHETIC_NULL_SINK.