docs(ECR-013B): 启动 AccountLifecycle 契约定义

Human Start Authorization:UserStatus 状态机 Spec/BD/contract_diff;
禁止 coding,待 Approve + coding Start Authorization。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
jackyu66git
2026-08-07 17:23:04 +08:00
co-authored by Cursor
parent b5a05941d9
commit f75b42397f
17 changed files with 549 additions and 9 deletions
@@ -0,0 +1,28 @@
# ENGINEERING_SPEC — ECR-013B AccountLifecycle
权威设计:`docs/BACKEND_DESIGN/BD-2026-013B-account-lifecycle.md`
产品:`.ai/product/feature-spec/ops-account-lifecycle.md`
**当前:Contract Definition — 禁止执行下列 Implement order。**
## Implement order(仅 Approved + coding Start Authorization 后)
1. Migration`account_state_transitions``admin.users.status.write` 种子;必要时 status CHECK
2. Service:合法边校验 · 写 status + transition + audit(同事务)
3. DeviceAuth / session 解析:User.status ≠ active → 拒绝
4. Admin handlersPOST status · GET transitions;挂 `RequireAdminPermission`
5. OpenAPI
6. admin-h5:用户详情最小状态 CTA(依赖 `can('admin.users.status.write')`
7. IntegrationAC-F/S/OPerf 抽样 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 无回归