merge: 合入本地 Ops 扩展与 origin/main(ECR-009–016)

保留远程用户侧 ECR-009–016 与本地 Ops 目录/RBAC/CMS/危机等能力;文档标注分叉期间 ECR 编号冲突。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
jackyu66git
2026-08-13 01:45:53 +08:00
co-authored by Cursor
593 changed files with 21918 additions and 328 deletions
@@ -0,0 +1,44 @@
# PRODUCT_SPEC — ECR-012 星座对齐收口
对齐 Feature Spec`.ai/product/feature-spec/star-profile.md`
## Outcome
1. 用户在 `/star` 完成「填生日 → 看星盘/运势/行星 → 深度墙」路径,体验与 Spec §4–6 一致。
2. 合盘 `/synastry` 五主盘 + 次限推运 + 三指数与 Spec 一致;邀请/附近不回退。
3. 成长报告详情中 `type=star` 的运势展示与主路径对齐,避免「主页有、报告页空」。
4. 工程与文档不再出现已废弃的 summary.`fortune` / `lucky` 读路径。
5. P2-BACKLOG 可在 Closed 后去掉「对齐中」措辞。
## Actors
| Actor | 能力(本 ECR 后) |
|-------|-------------------|
| Visitor + 档案 | 基础星盘 · 日–一生运势摘要 · 行运 · 合盘指数与盘缩略 |
| DeepAccess / VIP | detail:完整相位 · 年/一生深析 · 合盘相处/推运深文案 |
| 无档案 | `/star` Empty 页内生日(可选时/地) |
## Success Metrics
- Spec §12 五条 Given/When/Then 均有自动化或明确手工证据
- e2e / 单测失败率不因本 ECR 回退
- lexicon 硬禁止词不出现在星座/合盘主路径 UI 与 API 样例
## Out of scope
见 ECR-012 Forbidden;真支付、登录增强、节律/卡片、Ops-D+ 另开。
## Gap 基线(Architect 盘点 · 2026-08-07
| ID | Gap | 建议级别 |
|----|-----|----------|
| G1 | Spec §12 / 注释仍写 fortune;缺 Gaps 栏 | **Done**(本 ECR |
| G2 | H5 组件/类型残留 `lucky`;内部 `fortune` 命名与 JSON `outlook` 混用 | **Done** |
| G3 | `ReportStarPanel` 运势层薄于 `StarFortunePanel` | **Done**(复用面板) |
| G4 | e2e star mock 过瘦(无 outlook/planets | **Done** |
| G5 | 分享 payload 可能仍标 `portrait` | **Done**type=star |
| G6 | feature-map / P2-BACKLOG「对齐中」状态未闭环 | **Pending Closed** |
## 附录:排期约束
- **真支付最后做**(产品指令);本 ECR 继续 pay-mock。
+50
View File
@@ -0,0 +1,50 @@
# PRODUCT_SPEC — ECR-013A Admin RBAC
对齐 Feature Spec`.ai/product/feature-spec/ops-rbac.md`
Parent: **WAVE0-FROZEN** (`27f27a1`)
Phase: **Contract Definition**No Coding
## Meta
| 字段 | 值 |
|------|-----|
| ECR | ECR-013A |
| Status | Draft |
| Capability (L0) | `AdminGovernance` |
| Bounded Context (L1) | `Admin_RBAC` |
| Change Level | L2 |
## L0 Capability
| 字段 | 内容 |
|------|------|
| Capability ID | `AdminGovernance` |
| Purpose | 最小权限约束管理员运营动作 |
| Why now | 扁平 Admin 无法支撑多角色与越权审计 |
| Non-goals | AccountLifecycle(013B) · 真支付 · UGC · Prompt |
## L1 Bounded Context
`.ai/domain/boundary-rules.md``Admin_RBAC`
## L2 Domain
`AdminRole` · `AdminPermission` · `AdminAccount.role_id` — glossary 已登记。
## L3 API
见 Spec §L3`docs/CONTRACT_DIFF/ECR-013A.yaml`
## L4 AC
Spec AC-F / AC-S / AC-P / AC-O 全表 — 实现轮 TEST_REPORT 必须引用 ID。
## Outcome(实现后)
1. 角色权限可配置且可审计
2. 缺权 403
3. `GET /me` 暴露 permissions 供 admin-h5 隐藏无权限入口(最小)
## Out of scope
ECR-013BPaymentCommunity。
@@ -0,0 +1,50 @@
# PRODUCT_SPEC — ECR-013B AccountLifecycle
对齐 Feature Spec`.ai/product/feature-spec/ops-account-lifecycle.md`
Parent: **WAVE0-FROZEN** (`27f27a1`) · Predecessor: **ECR-013A Closed**
Phase: **Implemented · review**
## Meta
| 字段 | 值 |
|------|-----|
| ECR | ECR-013B |
| Status | Approved |
| Capability (L0) | `AccountLifecycle` |
| Bounded Context (L1) | `Identity_Profile` |
| Change Level | L2 |
## L0 Capability
| 字段 | 内容 |
|------|------|
| Capability ID | `AccountLifecycle` |
| Purpose | 可审计的用户账户启停/封禁,并阻断 C 端会话 |
| Why now | status 字段无运营闭环;013A 已提供权限挂载点 |
| Non-goals | soft-delete · UGC · 真支付 · Admin 账号启停深化 |
## L1 Bounded Context
`.ai/domain/boundary-rules.md``Identity_Profile`owns UserStatus)。
## L2 Domain
`UserStatus` · `AccountStateTransition` — glossary 已登记;状态机见 Spec。
## L3 API
见 Spec §L3`docs/CONTRACT_DIFF/ECR-013B.yaml`
## L4 AC
Spec AC-F / AC-S / AC-P / AC-O — 实现轮 TEST_REPORT 必须引用 ID。
## Outcome(实现后)
1. 运营可迁移 UserStatus
2. 非 active C 端拒绝
3. 迁移可审计(AuditLog + Transition
## Out of scope
soft-deletePaymentCommunityECR-013C+。
@@ -0,0 +1,12 @@
# PRODUCT_SPEC — ECR-014 MembershipPlan
对齐 `.ai/product/feature-spec/ops-membership-plan.md`
Status: Approved · Loop continuous
| ECR | ECR-014 |
| Capability | CommerceEntitlement |
| BC | Membership_Orders |
| Change Level | L2 |
Outcome:运营可改会员套餐时长与标价;mock 履约读表。
Out:真支付 · 兑换码 · ask_pack。
@@ -0,0 +1,4 @@
# PRODUCT_SPEC — ECR-015
对齐 Spec ops-redemption-code.md · Approved · Loop continuous
Capability CommerceEntitlement · BC Membership_Orders · L2
@@ -0,0 +1,3 @@
# PRODUCT_SPEC — ECR-016
对齐 ops-user-intelligence.md · Approved · Loop · L2 · 只读聚合
@@ -0,0 +1,3 @@
# PRODUCT_SPEC — ECR-017
对齐 ops-ask-operations.md · Approved · Loop · L2 · AskSessionView 只读
+3
View File
@@ -0,0 +1,3 @@
# PRODUCT_SPEC — ECR-018
对齐 ops-entitlement.md · Approved · Loop · L2 · Entitlement 只读聚合
@@ -0,0 +1,3 @@
# PRODUCT_SPEC — ECR-019
对齐 ops-content-safety.md · Approved · Loop · L2 · FilterRule 只读
@@ -0,0 +1,3 @@
# PRODUCT_SPEC — ECR-020
对齐 ops-quality-feedback.md · Approved · Loop · L2 · QualityFeedback
@@ -0,0 +1,3 @@
# PRODUCT_SPEC — ECR-021
对齐 ops-ai-core-config.md · Approved · Loop · L2 · SystemPrompt 只读
+3
View File
@@ -0,0 +1,3 @@
# PRODUCT_SPEC — ECR-022
对齐 ops-crisis-care.md · Approved · Loop · L2 · CrisisPolicy 只读
@@ -0,0 +1,3 @@
# PRODUCT_SPEC — ECR-023
对齐 ops-knowledge-source.md · Approved · Loop · L2 · KnowledgeSource 只读
+3
View File
@@ -0,0 +1,3 @@
# PRODUCT_SPEC — ECR-024
对齐 ops-banner.md · Approved · Loop · L2 · Banner 只读
+3
View File
@@ -0,0 +1,3 @@
# PRODUCT_SPEC — ECR-025
对齐 ops-feed-slot.md · Approved · Loop · L2 · FeedSlot 只读
@@ -0,0 +1,3 @@
# PRODUCT_SPEC — ECR-026
对齐 ops-scheduled-publication.md · Approved · Loop · L2 · ScheduledPublication 只读
@@ -0,0 +1,3 @@
# PRODUCT_SPEC — ECR-027
对齐 ops-knowledge-chunk.md · Approved · Loop · L2 · KnowledgeChunk 只读
@@ -0,0 +1,3 @@
# PRODUCT_SPEC — ECR-028
对齐 ops-tool-definition.md · Approved · Loop · L2 · ToolDefinition 只读
@@ -0,0 +1,3 @@
# PRODUCT_SPEC — ECR-029
对齐 ops-block-policy.md · Approved · Loop · L2 · BlockPolicy 只读
@@ -0,0 +1,3 @@
# PRODUCT_SPEC — ECR-030
对齐 ops-moderation-case.md · Approved · Loop · L2 · ModerationCase 只读
@@ -0,0 +1,3 @@
# PRODUCT_SPEC — ECR-031
对齐 ops-crisis-event.md · Approved · Loop · L2 · CrisisEvent 只读
@@ -0,0 +1,3 @@
# PRODUCT_SPEC — ECR-032
对齐 ops-intervention-outcome.md · Approved · Loop · L2 · InterventionOutcome 只读
@@ -0,0 +1,3 @@
# PRODUCT_SPEC — ECR-033
对齐 ops-handoff-case.md · Approved · Loop · L2 · HandoffCase 只读
@@ -0,0 +1,3 @@
# PRODUCT_SPEC — ECR-034
对齐 ops-privacy-request.md · Approved · Loop · L2 · PrivacyRequest 只读
+3
View File
@@ -0,0 +1,3 @@
# PRODUCT_SPEC — ECR-035
对齐 ops-star-config.md · Approved · Loop · L2 · StarConfig 只读
@@ -0,0 +1,3 @@
# PRODUCT_SPEC — ECR-036
对齐 ops-rhythm-config.md · Approved · Loop · L2 · RhythmConfig 只读
@@ -0,0 +1,3 @@
# PRODUCT_SPEC — ECR-037
对齐 ops-image-card-deck.md · Approved · Loop · L2 · ImageCardDeck 只读
@@ -0,0 +1,3 @@
# PRODUCT_SPEC — ECR-038
对齐 ops-report-template.md · Approved · Loop · L2 · ReportTemplate 只读
@@ -0,0 +1,3 @@
# PRODUCT_SPEC — ECR-039
对齐 ops-funnel-definition.md · Approved · Loop · L2 · FunnelDefinition 只读
@@ -0,0 +1,3 @@
# PRODUCT_SPEC — ECR-040
对齐 ops-scale-definition.md · Approved · Loop · L2 · ScaleDefinition 只读