state-hub/workplans/STATE-WP-0089-rename-redirect-recovery.md

64 lines
2.6 KiB
Markdown
Raw Normal View History

---
id: STATE-WP-0089
type: workplan
title: "Recover an externally completed Forgejo rename through its old-name redirect"
domain: infotech
repo: state-hub
status: finished
owner: codex
created: "2026-09-05"
updated: "2026-09-05"
state_hub_workstream_id: "f21470d4-e15c-5596-bd9c-1aa1460d7dc5"
---
# Recover the canon federation rename journal
CFED-WP-0001-T03 renamed Forgejo repository 46 from identity-canon to
commerce-canon through the approved operator credential lane. Journal
615e7b44-d84e-4feb-92c5-1708feaf1e65 remains preflighted because the Forge adapter
rejects the old coordinate's 307 redirect. New coordinate and exact source head
40d5792fafbb2de778eabb56cfeaf00aecd058e1 are independently verified.
## Handle the redirect without weakening identity checks
```task
id: STATE-WP-0089-T01
status: done
priority: high
state_hub_task_id: "7bfa3d77-e05d-523e-9846-73c5668fa7e4"
```
Report redirects without following them or forwarding credentials. For forward
recovery, inspect the new coordinate directly and verify immutable ID, branch,
head and projection first. Accept the old redirect only if it names that exact
same-instance/owner/new-coordinate API URL. Wrong identity, external redirects,
wrong owner, missing Location and both names occupied remain failures.
Add transport and API regression tests, and run the rename suite.
## Promote the tested fix and resume the existing journal
```task
id: STATE-WP-0089-T02
status: done
priority: high
state_hub_task_id: "45735bc2-5134-5de5-9226-e70da359a17b"
```
Commit/push; promote the immutable CI image through the existing Helm release
with reused values and atomic rollback. Preserve API-only signing configuration.
Verify healthy primary/railiance01, then retry forge-renamed and statehub-rebound
on the same journal. Record image/revision and live recovery evidence. The donor
rename, checkout moves and consumer acceptance remain CFED-WP-0001-T03 and
IDENTITY-WP-0004 responsibilities. No direct DB edits or journal replacement.
Validation: rename API, CLI and workplan tests pass (46 tests), including seven
new transport/forward-recovery cases. `git diff --check` passes.
Live recovery passed: immutable CI image main-fe6b8d9, Helm revision 60;
primary/railiance01 healthy. Existing journal 615e7b44-d84e-4feb-92c5-1708feaf1e65
replayed forge-renamed, rebound the same repository UUID, then passed all
continuity checks and completed. No direct DB changes or replacement operation.
CFED-WP-0001-T03 retains the donor metadata/checkout evidence; its T09 owns
remaining fleet references. No residual implementation work in this fix.