feat: generate repository rename adoption plans
Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a049a4-ee9f-78e1-9d66-2cb0f9bea3e3
This commit is contained in:
parent
bdf3a1fdf8
commit
ef0b6df3b8
7 changed files with 1294 additions and 5 deletions
|
|
@ -400,7 +400,7 @@ dashboard retains the pre-existing `/docs/intakes` broken-link warning.
|
|||
|
||||
```task
|
||||
id: STATE-WP-0085-T06
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "154bdbb3-d3bf-5bac-85d7-eecd88545841"
|
||||
```
|
||||
|
|
@ -441,6 +441,37 @@ Acceptance:
|
|||
- template snapshot tests cover repositories with active work, archived
|
||||
workplans, missing local paths, private forge visibility, and old aliases.
|
||||
|
||||
Result (2026-08-29): added `statehub repo rename generate-workplan <old>
|
||||
<new>` with a pure deterministic renderer over the registered repository,
|
||||
captured rename preflight, indexed workplans, and visible repository metadata.
|
||||
Prefix discovery uses the repository's declared convention when present and
|
||||
otherwise requires one unambiguous prefix across active and archived workplan
|
||||
records; it never derives a prefix from the proposed slug. Number allocation
|
||||
includes archived records, so the fixed flex-auth snapshot selects
|
||||
`FLEX-WP-0019` while retaining `FLEX-WP-` task/work-record identity.
|
||||
|
||||
The generated ready/proposed plan carries DoR evidence and eleven ordered
|
||||
tasks for baseline capture, metadata preparation, separate product/runtime
|
||||
naming decisions, consumer/CI/package/deployment/credential/fabric/SBOM/docs
|
||||
inventory, renewed preflight and approval, Forgejo rename, State Hub rebind,
|
||||
fresh-clone registration, relationship-aware verification, rollback, soak,
|
||||
residuals, and old-checkout cleanup. Live rename and destructive cleanup tasks
|
||||
start in `wait`. Every captured blocker, warning, active work item, alias, and
|
||||
external handoff is rendered; an ownership ledger requires exact repository
|
||||
slugs and prohibits the target plan from closing another repository's work.
|
||||
Tokens are omitted. Existing UUID-bearing files remain untouched, and no new
|
||||
`state_hub_workstream_id` or `state_hub_task_id` is invented.
|
||||
|
||||
Output uses exclusive create with no overwrite/force mode; private preflight
|
||||
files retain the mode-0600 input guard. Missing checkouts can render from
|
||||
indexed records only with an explicit output path and remain visibly blocked
|
||||
for baseline capture. Snapshot/parser/quality tests cover deterministic
|
||||
flex-auth output, active work, archived numbering, missing paths, unreadable
|
||||
private Forge state, old aliases, ambiguous prefixes, UUID preservation, and
|
||||
overwrite refusal. Verification: 801 Python tests and the 70-page dashboard
|
||||
build pass; a clean wheel installation exposes the generator command. The
|
||||
dashboard retains the pre-existing `/docs/intakes` broken-link warning.
|
||||
|
||||
## Prove failure recovery and telemetry continuity
|
||||
|
||||
```task
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue