docs: plan complete ase housekeeping cutover
This commit is contained in:
1 parent
d42cd2af53
commit
74756dfed2
2 files changed
+1225
-23
No files matched your search
File diff suppressed because it is too large.
Load diff
@@ -18,6 +18,10 @@ delivery details differ, this document is authoritative for phases 02 onward.
|
|||||||
The master architecture remains authoritative for domain ownership and product
|
The master architecture remains authoritative for domain ownership and product
|
||||||
behavior.
|
behavior.
|
||||||
|
|
||||||
|
This completion specification supersedes the earlier documents only for the
|
||||||
|
route namespace: the new surface uses `/ase`, never `/admin`, as its canonical
|
||||||
|
production root.
|
||||||
|
|
||||||
## Approved decisions
|
## Approved decisions
|
||||||
|
|
||||||
- Build complete verticals behind the existing non-production gate.
|
- Build complete verticals behind the existing non-production gate.
|
||||||
@@ -26,8 +30,9 @@ behavior.
|
|||||||
- Implement in vertical slices rather than UI-first placeholders.
|
- Implement in vertical slices rather than UI-first placeholders.
|
||||||
- Keep current `/admin` and `/mod` behavior unchanged until the final cutover
|
- Keep current `/admin` and `/mod` behavior unchanged until the final cutover
|
||||||
commit.
|
commit.
|
||||||
- At cutover, make the new Command Deck the real `/admin`, remove `/mod`, and
|
- At cutover, make the new Command Deck live at `/ase`, remove the legacy
|
||||||
remove obsolete legacy routes without redirects.
|
`/admin`, `/admin-next`, and `/mod` trees, and remove obsolete legacy routes
|
||||||
|
without redirects.
|
||||||
- Use hybrid personalization: mandatory content is capability-derived; operators
|
- Use hybrid personalization: mandatory content is capability-derived; operators
|
||||||
may pin and reorder allowed shortcuts and optional widgets.
|
may pin and reorder allowed shortcuts and optional widgets.
|
||||||
- Add only backward-compatible database migrations before cutover.
|
- Add only backward-compatible database migrations before cutover.
|
||||||
@@ -55,10 +60,12 @@ All work is committed to `codex/housekeeping-complete`, based on the latest
|
|||||||
`origin/main`. No pull request is opened until every vertical and the cutover are
|
`origin/main`. No pull request is opened until every vertical and the cutover are
|
||||||
implemented, reviewed, and verified.
|
implemented, reviewed, and verified.
|
||||||
|
|
||||||
The existing `/admin-next` entry remains unavailable when
|
The foundation currently exposes `/admin-next`. The first completion change
|
||||||
`NODE_ENV=production`. Development and test environments use it to exercise the
|
renames that preview tree and its links to `/ase-next`; the preview remains
|
||||||
new shell before cutover. The final cutover changes the canonical `/admin` route;
|
unavailable when `NODE_ENV=production`. Development and test environments use
|
||||||
it does not weaken the production preview gate.
|
`/ase-next` to exercise the new shell before cutover. The final cutover publishes
|
||||||
|
the canonical `/ase` tree and removes the preview entry; it does not weaken the
|
||||||
|
production preview gate before that point.
|
||||||
|
|
||||||
The branch is built in this order:
|
The branch is built in this order:
|
||||||
|
|
||||||
@@ -75,17 +82,18 @@ The branch is built in this order:
|
|||||||
After cutover the public administration route tree is:
|
After cutover the public administration route tree is:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
/admin Operations workspace
|
/ase Operations workspace
|
||||||
/admin/people/* users, tickets, CFH, bans, moderation, teams
|
/ase/people/* users, tickets, CFH, bans, moderation, teams
|
||||||
/admin/content/* articles, events, polls, media, engagement
|
/ase/content/* articles, events, polls, media, engagement
|
||||||
/admin/economy/* catalog, shop, transactions, vouchers, values
|
/ase/economy/* catalog, shop, transactions, vouchers, values
|
||||||
/admin/hotel/* rooms, furni, badges, radio, emulator, Studio
|
/ase/hotel/* rooms, furni, badges, radio, emulator, Studio
|
||||||
/admin/system/* settings, ACL, logs, DevOps, maintenance
|
/ase/system/* settings, ACL, logs, DevOps, maintenance
|
||||||
```
|
```
|
||||||
|
|
||||||
`/admin` is the operational home, not a duplicate menu page. `/mod` has no route
|
`/ase` is the operational home, not a duplicate menu page. `/admin`,
|
||||||
after cutover. A workflow has one canonical owner and one canonical destination;
|
`/admin-next`, and `/mod` have no route after cutover. A workflow has one
|
||||||
the new tree must not retain duplicate hubs or aliases.
|
canonical owner and one canonical destination; the new tree must not retain
|
||||||
|
duplicate hubs or aliases.
|
||||||
|
|
||||||
## Module ownership
|
## Module ownership
|
||||||
|
|
||||||
@@ -331,11 +339,13 @@ legacy UI routes is an application cutover, not a destructive data migration.
|
|||||||
|
|
||||||
The final cutover commit is created only after all vertical gates pass. It:
|
The final cutover commit is created only after all vertical gates pass. It:
|
||||||
|
|
||||||
1. moves the completed shell and Operations workspace to `/admin`;
|
1. moves the completed shell and Operations workspace from `/ase-next` to
|
||||||
2. changes domain preview hrefs to canonical `/admin/<domain>` hrefs;
|
`/ase`;
|
||||||
|
2. changes domain preview hrefs to canonical `/ase/<domain>` hrefs;
|
||||||
3. updates internal links, navigation configuration, and authorization fallback
|
3. updates internal links, navigation configuration, and authorization fallback
|
||||||
destinations;
|
destinations;
|
||||||
4. removes `/mod` and every legacy route marked `REMOVE`;
|
4. removes the legacy `/admin`, `/admin-next`, and `/mod` route trees plus every
|
||||||
|
legacy route marked `REMOVE`;
|
||||||
5. removes legacy pages whose behavior moved or merged into canonical routes;
|
5. removes legacy pages whose behavior moved or merged into canonical routes;
|
||||||
6. removes the temporary preview entry and flag if no longer used by tests;
|
6. removes the temporary preview entry and flag if no longer used by tests;
|
||||||
7. adds no compatibility redirects.
|
7. adds no compatibility redirects.
|
||||||
@@ -363,8 +373,8 @@ The final branch requires:
|
|||||||
- production build with temporary environment restoration;
|
- production build with temporary environment restoration;
|
||||||
- visual verification at desktop and mobile widths for every domain and shared
|
- visual verification at desktop and mobile widths for every domain and shared
|
||||||
state;
|
state;
|
||||||
- route-level smoke checks for canonical pages, denied access, and removal of
|
- route-level smoke checks for canonical `/ase` pages, denied access, and
|
||||||
`/mod`/obsolete routes;
|
removal of `/admin`, `/admin-next`, `/mod`, and obsolete routes;
|
||||||
- a broad whole-branch code review followed by one reviewed fix wave if needed.
|
- a broad whole-branch code review followed by one reviewed fix wave if needed.
|
||||||
|
|
||||||
Repository-wide pre-existing formatter debt is reported separately and must not
|
Repository-wide pre-existing formatter debt is reported separately and must not
|
||||||
@@ -389,7 +399,8 @@ before serving the cutover release.
|
|||||||
- A new task-assignment system for inbox items.
|
- A new task-assignment system for inbox items.
|
||||||
- A replacement authentication or ACL model.
|
- A replacement authentication or ACL model.
|
||||||
- Rank-based authorization thresholds.
|
- Rank-based authorization thresholds.
|
||||||
- Compatibility redirects for removed admin/mod routes.
|
- Compatibility redirects for removed `/admin`, `/admin-next`, or `/mod`
|
||||||
|
routes.
|
||||||
- Destructive cleanup of legacy database data.
|
- Destructive cleanup of legacy database data.
|
||||||
- Rewriting specialized domain engines that already work; they are integrated
|
- Rewriting specialized domain engines that already work; they are integrated
|
||||||
behind consistent domain contracts instead.
|
behind consistent domain contracts instead.
|
||||||
@@ -406,6 +417,6 @@ The program is complete only when:
|
|||||||
operate against real domain services;
|
operate against real domain services;
|
||||||
- capability enforcement and audit evidence cover every exposed read and
|
- capability enforcement and audit evidence cover every exposed read and
|
||||||
mutation path;
|
mutation path;
|
||||||
- `/admin` serves the new HK, `/mod` and removed legacy routes are unreachable,
|
- `/ase` serves the new HK; `/admin`, `/admin-next`, `/mod`, and removed legacy
|
||||||
and no compatibility redirects exist;
|
routes are unreachable; and no compatibility redirects exist;
|
||||||
- final local, CI, deployment, health, and visual evidence are all recorded.
|
- final local, CI, deployment, health, and visual evidence are all recorded.
|
||||||
Reference in new issue
Block a user