Skip to content

Document and evidence self-hosted Server restore - #240

Merged
rmcdaniel merged 4 commits into
mainfrom
codex/server-236-restore-procedure
Sep 27, 2026
Merged

rmcdaniel merged 4 commits into
mainfrom
codex/server-236-restore-procedure

Conversation

@rmcdaniel

@rmcdaniel rmcdaniel commented Sep 27, 2026 •

Copy link
Copy Markdown
Member

Change

Adds an operator-facing self-hosted backup and fresh-stack restore procedure for #236. It connects the published Compose MySQL snapshot, the owner-scoped external-payload hold, object byte verification, isolated replacement, credential checks and acknowledged-work reconciliation. A linked evidence directory retains the pinned configuration, synthetic test helpers and raw JSON results from the published-artifact drill.

Measured evidence

  • Published Server 2.4.18, MySQL 8.4, Redis 7.2, Python SDK 2.0.0 and a pinned SeaweedFS S3 store were exercised in separate source and replacement Compose projects.
  • Four externalized inputs, 43,824 encoded bytes in the object store, were copied and read back with matching SHA-256 values while the backup hold was active. The 198,969-byte SQL dump imported into fresh MySQL with Server processes stopped.
  • All source and replacement workflow histories and inputs matched byte-for-byte before resuming. Pending and newly acknowledged workflows completed with the expected result digest; the previously completed history stayed unchanged.
  • The restored timer fired at its original deadline and completed through the published Python SDK. Final event counts show one WorkflowCompleted for each of four workflows and one TimerFired for the timer.
  • Restored operator credential HTTP 200, invalid credential HTTP 401. Inclusive manual restore-to-verified-worker-completion interval: 152 seconds, including pauses.
  • A separate in-flight activity restore exposed a missing automatic repair sweep for remote SDK queues in the published Compose stack. Manual repair recovered the activity. Candidate Compose fix Repair expired SDK tasks in default self-hosted schedulers #241 recovered the same saved snapshot automatically; its checks and published-release verification remain open.
  • The published example's PROCESS privilege error was corrected separately in merged Use consistent unprivileged MySQL dumps for Server backups #239; this procedure builds on that fix.

Qualification state

The restore procedure and timer evidence are complete and CI is green. #236 remains open until the Compose repair fix in #241 is merged, released and verified as a published artifact. No customer backup or Cloud state was used.

git diff --check and all required CI checks passed.

@rmcdaniel
rmcdaniel marked this pull request as ready for review September 27, 2026 19:30
@rmcdaniel
rmcdaniel merged commit 9797ff6 into main Sep 27, 2026
6 checks passed
@rmcdaniel
rmcdaniel deleted the codex/server-236-restore-procedure branch September 27, 2026 19:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants