UserStatus 迁移、DeviceAuth 拒绝非 active、admin-h5 CTA; Reviewer Closed。Human 授权 LOOP_AUTHORIZATION(免逐闸确认)。 Co-authored-by: Cursor <cursoragent@cursor.com>
29 lines
1.1 KiB
Markdown
29 lines
1.1 KiB
Markdown
# ENGINEERING_SPEC — ECR-013B AccountLifecycle
|
||
|
||
权威设计:`docs/BACKEND_DESIGN/BD-2026-013B-account-lifecycle.md`
|
||
产品:`.ai/product/feature-spec/ops-account-lifecycle.md`
|
||
**当前:Implemented · awaiting Reviewer。**
|
||
|
||
## Implement order(已执行)
|
||
|
||
1. Migration:`account_state_transitions`;`admin.users.status.write` 种子;必要时 status CHECK
|
||
2. Service:合法边校验 · 写 status + transition + audit(同事务)
|
||
3. DeviceAuth / session 解析:User.status ≠ active → 拒绝
|
||
4. Admin handlers:POST status · GET transitions;挂 `RequireAdminPermission`
|
||
5. OpenAPI
|
||
6. admin-h5:用户详情最小状态 CTA(依赖 `can('admin.users.status.write')`)
|
||
7. Integration:AC-F/S/O;Perf 抽样 AC-P-01
|
||
8. TEST_REPORT · CODE_REVIEW · TRACEABILITY
|
||
|
||
## Constraints
|
||
|
||
- 函数 ≤50 · 文件 ≤400
|
||
- Handler → Service → Repository
|
||
- 禁止 soft-delete
|
||
- 禁止改 RBAC 模型(仅 additive permission)
|
||
- 不提交密钥
|
||
|
||
## Done when
|
||
|
||
ECR Acceptance + 四类 AC 映射绿 + `ess-validate --phase review` + boundary-rules 无回归
|