A snapshot: read at commit 707a04c7ce8 on 2026-10-18T00:06:01Z by majordomus 0.29.0. Nothing on this page is read again. See it live
I0917
A bad deployment can be undone deterministically
Where it stands
devtask.issue- Readiness
- cancelled withdrawn
- Status
- CANCELLED
- Can start
- not now
- Milestone
- Milestone status
- ACTIVE
- Wave
5- Waiting on
- Holds back
- Behind it in all
3- Evidence
0of2
| In the way | Subject | Detail |
|---|---|---|
| issue | I0914 | I0914 is not DONE |
Moves
plan.transitionWhat it is
- Objective
- Record the deployed image reference before changing production and provide a rollback that rests on what the provider actually supports, so that a failed smoke run has an exit.
- Why
- Autostop and a single machine mean a bad image is the only image. Knowing the previous reference before the change is what makes recovery a command instead of an investigation.
- Now
- Nothing is deployed and nothing records what was deployed before.
- Wanted
- The previous image reference is captured before every deploy, a failed smoke run reports both references safely, and one documented command returns production to the previous image.
- Done when
- Cancelled 2026-10-14 on master e28daccd9b: it rolls back the image reference deployed to a provider; the GHCR image is an immutable per-commit tag and nothing is deployed to roll back. The owner disconnected Fly.io on 2026-10-12; this repository deploys release binaries, the GHCR image and GitHub Pages (commit 9af3fa65a4 removed fly.toml).
- Risk
- An automatic rollback that has never run is a second failure mode during the first real incident. Either it is tested or it is a documented manual command.
Acceptance
- The previously deployed image reference is captured before the deployment mutates anything
- A failed post-deployment smoke run fails the deployment clearly and reports the new and previous references without exposing a credential
- The rollback path rests on the provider's documented current behaviour, and is either executed automatically because it has been proved to work or offered as one deterministic command
- The rollback is documented where an operator under pressure will find it
- Validation
majordomus deploy doctorbash test/run.sh- Evidence required
previous_image_recordedrollback_path- Evidence present
- unknown: the record carries no `evidence` entries
Scope
- Touches
apps/majordomus-cli/src/deploy/rollback.rs- Not
Inventing a provider command that does not existAutomatic rollback that has never been executed successfully in a test- Depends on
- Priority
- p1
- Profile
- implementation
- Parallel safe
- true
- Owner
- unknown: the record declares no `owner`
The work so far
- Branches
- none
- Merged
- none
- Commits
0- Trunk
- master
- Sessions
- none
- Created
- 2026-09-06
- Updated
- 2026-10-14
- Started
- unknown: the record declares no `started_at`
- Verified
- unknown: the record declares no `verified_at`
- Completed
- unknown: the record declares no `completed_at`
Synchronisation
- Adapter
scripts/github-sync- Repository
- unknown: the derived plan's header carries no repository
- External issue
- unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it
- State there
- unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it
Findings
Nothing is wrong with these records.