Files
user-system/docs/evidence/ops/2026-03-27/e2e/ADMIN_BOOTSTRAP_CLOSURE_20260327-173914.md

60 lines
2.1 KiB
Markdown
Raw Permalink Normal View History

# Admin Bootstrap Closure Evidence
Generated at: `2026-03-27 17:39:14 +08:00`
## Scope
This evidence package covers the first-admin bootstrap closure for the current repository state:
- public backend endpoint: `POST /api/v1/auth/bootstrap-admin`
- public frontend route: `/bootstrap-admin`
- login/register first-run entry points
- supported-browser validation for `首次管理员初始化 -> 进入后台 -> 登出`
## Implemented closure
- Backend:
- added one-time admin bootstrap service flow guarded by `GET /api/v1/auth/capabilities -> admin_bootstrap_required`
- bootstrap now creates the first active admin, binds the `admin` role, issues a real session, and closes the bootstrap window afterward
- Frontend:
- added `/bootstrap-admin` page
- added login/register entry points when bootstrap is still required
- added post-bootstrap auto-login into `/dashboard`
- E2E:
- `frontend/admin/scripts/run-playwright-auth-e2e.ps1` no longer depends on startup-injected admin credentials
- the Playwright CDP suite now validates real bootstrap creation before the rest of the admin workflow scenarios
## Verification executed
```powershell
go test ./... -count=1
go build ./cmd/server
cd D:\project\frontend\admin
npm.cmd run lint
npm.cmd run test:run
npm.cmd run build
powershell -ExecutionPolicy Bypass -File .\scripts\run-playwright-auth-e2e.ps1
```
## Latest supported-browser result
The latest real-browser run completed with:
- `PASS admin-bootstrap`
- `PASS public-registration`
- `PASS email-activation`
- `PASS login-surface`
- `PASS auth-workflow`
- `PASS responsive-login`
- `PASS desktop-mobile-navigation`
- `Playwright CDP E2E completed successfully`
## Real boundary
- This closes the product loop for first-admin initialization in the current supported browser-validation environment.
- It does not change the previously stated external boundaries:
- no live third-party OAuth provider evidence yet
- no live external SMTP provider deliverability evidence yet
- no external production delivery/governance evidence beyond the local auditable package already formed in-repo