Skip to content

Rehearse production cutover and rollback #65

Description

@zoeyrose

Outcome

Switch from the classic runtime to the MIT replacement only after a versioned release set proves gameplay, operations, state, website, and rollback readiness.

Scope and invariants

  • Pin exact server, client, editor, renderer, protocol, content-toolkit, content, resources, sound, metaserver, website, and wrapper releases/digests.
  • Run approved state import/fresh-start procedure, maintenance communications, backups, DNS/metaserver/download changes, client compatibility checks, and support ownership.
  • Define objective go/no-go health, data integrity, performance, authentication, gameplay-scenario, and observability gates.
  • Practice rollback to the preserved classic release/state or forward recovery, including which replacement activity can/cannot be reconciled.
  • Make replacement topology default only through the root wrapper; implementation and mutable state remain in component-owned paths.

Acceptance criteria

  • At least one production-like rehearsal follows the exact runbook and captures timestamps, approvals, metrics, checksums, and recovery evidence.
  • Automated and manual M3/M5 critical scenarios pass against the release set.
  • Website/downloads clearly distinguish classic and replacement until the switch, with licenses/notices intact.
  • Rollback thresholds and decision authority are named before maintenance begins.
  • Former component repositories are archived only after support/rollback gates and final releases are preserved; no source or state is deleted.

Dependencies and parallelization

Depends on #61-#64, the root cutover issues, client packaging, protocol compatibility freeze, content/asset licensing closure, and website launch.

Licensing and migration rule

Replacement Go code is MIT and independently implemented. Preserve existing gameplay/content design choices and separately licensed data; do not translate GPL runtime source or tests unless an exact contribution has a documented rights-holder MIT grant.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Fields

    Priority

    None yet

    Effort

    None yet

    Projects

    Status
    Backlog

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions