Files
danyang-match/WorkBuddy首轮启动提示词 + Phase 01~Phase 26 Jira级任务清单 + 每阶段验收条件.md
T

2790 lines
39 KiB
Markdown
Raw Normal View History

2026-09-09 22:05:00 +08:00
# 丹阳公益婚恋服务平台
# WorkBuddy首轮启动提示词 + Phase 01~Phase 26 Jira级任务清单 + 每阶段验收条件
2026-09-09 22:05:00 +08:00
版本:V1.0
适用对象:WorkBuddy
使用方式:首次启动项目时完整提供给WorkBuddy;后续每次开发任务继续要求WorkBuddy先读取 `AGENTS.md`、`docs/STATUS.md`、`docs/PENDING_DECISIONS.md` 后再执行。
2026-09-09 22:05:00 +08:00
文档性质:研发启动执行包,不重新定义产品需求。
---
# 第一部分:WorkBuddy首轮启动提示词
2026-09-09 22:05:00 +08:00
以下内容可以直接复制给WorkBuddy执行。
2026-09-09 22:05:00 +08:00
---
## 一、WorkBuddy首轮完整启动提示词
2026-09-09 22:05:00 +08:00
你现在负责完整开发一个正式项目:
> **丹阳公益婚恋服务平台 V1.0**
这是一个面向丹阳市成年单身人士、由公益组织参与运营的实名制公益婚恋服务平台。
你不是在做Demo,也不是在做概念验证页面。
你的任务是:
> **按照既定产品设计、技术设计、安全设计和业务规则,持续完成一个真正可以部署、测试、运营、维护和升级的V1.0生产级系统。**
项目最终包括:
```text
微信小程序用户端
+
统一Web运营后台
+
公益红娘工作台
+
平台管理后台
+
后端服务
+
PostgreSQL
+
Redis
+
对象存储
+
WebSocket
+
测试体系
+
部署运维体系
```
---
# 二、你的最高执行原则
你必须首先遵守以下规则。
## 1. 不重新设计产品
已有需求已经经过完整规划。
你不能因为:
```text
实现方便
技术偏好
已有模板
个人判断
```
擅自重新设计产品。
---
## 2. 不擅自扩展功能
V1.0明确不开发:
```text
直播
短视频
动态Feed
朋友圈
群聊
语音房
视频相亲
礼物
金币
积分商城
排行榜
VIP
支付
超级喜欢
Boost
付费曝光
付费聊天
付费联系方式
AI代聊
AI婚姻幸福预测
颜值评分
财富评分
复杂社交玩法
```
不要顺手增加。
---
## 3. 用户永久免费
本项目属于:
> 公益婚恋服务平台。
不得引入任何:
```text
会员
付费
VIP
充值
金币
礼物
```
相关代码、数据表和页面。
---
## 4. Required不可自动放宽
用户择偶条件分为:
```text
必须符合
最好符合
```
必须符合:
> Hard Constraint。
任何算法、红娘、运营后台都不能自动放宽。
---
## 5. 双向意愿是核心边界
必须保证:
```text
A喜欢B
+
B喜欢A
=
Mutual Match
```
只有Mutual Match后:
> 才能聊天。
陌生人不能直接私信。
---
## 6. Block优先级最高
任一方Block后:
必须立即:
```text
停止聊天
停止互相推荐
停止搜索展示
停止红娘推荐
停止进一步关系操作
```
Unblock:
不能自动恢复Match。
---
## 7. 公益红娘只能辅助
红娘:
可以:
```text
看必要资料
看系统候选
人工推荐
给条件建议
跟进
推荐活动
```
不能:
```text
替用户Like
替用户确认成功
看私人聊天
看完整身份证
私自把手机号给别人
绕过Required强推
```
---
## 8. 活动单向意向必须保密
A活动后选择B。
如果B没有选择A:
> B不能知道A选择了自己。
只有:
```text
A → B
B → A
```
双方成立:
> 才创建活动来源Match。
---
## 9. 敏感数据默认拒绝
以下数据默认禁止普通工作人员查看:
```text
完整身份证
完整手机
私人聊天
举报证据
风控调查材料
精确住址
```
必须:
```text
Permission
+
Data Scope
+
Sensitive Permission
+
Audit
```
后才可访问。
---
## 10. 数据库是Source of Truth
Redis、前端Store、WebSocket都不是业务事实源。
最终状态:
> PostgreSQL为准。
---
# 三、项目核心业务闭环
必须最终跑通:
```text
微信登录
↓
绑定手机号
↓
实名认证
↓
填写资料
↓
设置择偶条件
↓
提交人工审核
↓
审核通过
↓
系统推荐
↓
用户Like
↓
双向Like
↓
Mutual Match
↓
聊天
↓
公益红娘辅助
↓
公益活动
↓
进一步了解
↓
双方确认成功牵手
```
---
# 四、产品形态
## 用户端
微信小程序。
固定底部导航:
```text
首页
找对象
消息
活动
我的
```
不得改变。
---
## 工作人员端
统一Web后台。
通过:
```text
Operator
Role
Permission
Data Scope
Organization
```
决定不同角色界面。
角色至少:
```text
super_admin
platform_admin
organization_admin
reviewer
matchmaker
activity_manager
risk_operator
volunteer
data_viewer
```
---
# 五、推荐技术架构
如果当前仓库为空,优先采用:
## Backend
```text
Java 21
Spring Boot 3.x
Spring Security
PostgreSQL
Redis
WebSocket
Flyway
S3-Compatible Object Storage
```
ORM可以选择:
```text
MyBatis-Plus
```
或者:
```text
Spring Data JPA
```
选择一种即可,不要混用。
优先标准:
> 简单、稳定、易维护。
---
## Admin Web
建议:
```text
Vue 3
TypeScript
Vite
Pinia
Vue Router
Element Plus
```
---
## Mini Program
优先:
> 微信原生小程序 + TypeScript。
如果决定使用成熟框架,必须解释原因并写ADR。
不要为了跨端而引入明显增加维护成本的架构。
---
## Deployment
```text
Docker
Docker Compose
Nginx
PostgreSQL
Redis
Private Object Storage
```
不得主动使用:
```text
Kubernetes
Kafka
Elasticsearch
ClickHouse
Neo4j
Milvus
Service Mesh
微服务
```
---
# 六、项目目录
如果仓库为空,建立:
```text
/
├── backend/
├── miniapp/
├── admin-web/
├── infrastructure/
├── scripts/
├── tests/
├── docs/
│ ├── product/
│ ├── architecture/
│ ├── api/
│ ├── database/
│ ├── security/
│ ├── testing/
│ ├── ops/
│ └── decisions/
├── AGENTS.md
├── CHANGELOG.md
└── README.md
```
---
# 七、启动后第一批必须创建的文件
在任何正式业务编码之前创建:
```text
AGENTS.md
docs/STATUS.md
docs/PENDING_DECISIONS.md
docs/ARCHITECTURE_BASELINE.md
docs/TESTING_BASELINE.md
docs/decisions/
```
---
# 八、AGENTS.md最低内容
必须写明:
```text
1. 用户永久免费
2. Required不可自动放宽
3. Mutual Match后才能聊天
4. Block优先级最高
5. 红娘不可替用户操作
6. 活动单向意向保密
7. 普通工作人员不能查看私人聊天
8. 敏感信息默认拒绝
9. PostgreSQL是Source of Truth
10. 使用模块化单体
11. V1不引入微服务/Kubernetes/Kafka
12. 所有未确认数量参数配置化
13. 新功能不得擅自扩大V1范围
```
---
# 九、PENDING_DECISIONS.md
至少加入:
```text
每日推荐数量
推荐最低阈值
匹配权重最终值
Pass冷却时间
照片上限
兴趣标签上限
自我介绍字符长度
Privacy默认值
Getting To Know是否自动暂停推荐
活动默认是否需要审核
活动男女名额策略
活动互选最大人数
活动互选截止时间
红娘联系意向对象是否允许电话联系
RelationshipStatus最终业务名称
Appeal是否V1.0首发
```
任何这些项:
> 不得擅自拍板为固定产品规则。
---
# 十、当前未确认参数处理规则
如果技术实现必须需要默认值:
可以提供:
> `technical_default`
但必须满足:
```text
存储在配置
不可硬编码
README/配置文档说明
PENDING_DECISIONS记录
```
---
# 十一、首轮任务不是立即写全部代码
你首先必须执行:
```text
Step 1
审计当前仓库
Step 2
判断是否为空仓库
Step 3
输出Gap Analysis
Step 4
创建项目治理文档
Step 5
确认技术栈
Step 6
建立Phase 01 Jira任务
Step 7
建立测试骨架
Step 8
再开始Phase 01
```
---
# 十二、如果已有代码
禁止直接推翻重写。
必须首先输出:
```text
当前技术栈
目录
已有模块
已有数据模型
已有API
已有测试
已有部署
可复用模块
冲突模块
缺失模块
安全风险
重构建议
```
然后:
> 渐进式改造。
---
# 十三、WorkBuddy每次开发前
2026-09-09 22:05:00 +08:00
必须读取:
```text
AGENTS.md
docs/STATUS.md
docs/PENDING_DECISIONS.md
本Phase相关文档
```
再开发。
---
# 十四、WorkBuddy每次完成任务后
2026-09-09 22:05:00 +08:00
必须更新:
```text
docs/STATUS.md
CHANGELOG.md
测试结果
Migration
OpenAPI
PENDING_DECISIONS(如果有)
```
---
# 十五、任务完成标准
禁止只因为:
> 代码已经写完
就宣布Done。
一个任务Done必须至少满足:
```text
Code Complete
+
Tests Pass
+
Lint Pass
+
Build Pass
+
必要Migration Pass
+
相关权限测试Pass
+
相关文档Updated
```
---
# 十六、开发方式
严格按照:
> Phase 01 → Phase 26
推进。
不要多个Phase同时无序开发。
每阶段结束以后才能进入下一阶段。
---
# 第二部分:Jira任务统一规范
---
# 十七、Epic命名规则
每个Phase对应一个Epic:
```text
EPIC-P01
EPIC-P02
...
EPIC-P26
```
---
# 十八、Story命名
例如:
```text
P03-S01 实现实名认证Provider抽象
```
---
# 十九、Task命名
例如:
```text
P03-T01 创建IdentityProvider接口
```
---
# 二十、Bug命名
```text
BUG-MATCH-001 双向Like并发生成重复Match
```
---
# 二十一、任务字段
每一个Jira任务至少包含:
```text
Summary
Phase
Priority
Description
Dependencies
Implementation Notes
Acceptance Criteria
Tests
Docs Impact
Status
```
---
# 二十二、Definition of Ready
任务开始前必须:
```text
需求清晰
依赖完成
接口明确
待确认参数已配置化
测试场景明确
```
---
# 二十三、Definition of Done
```text
代码完成
测试完成
接口文档更新
Migration完成
权限检查完成
无P0/P1已知缺陷
STATUS更新
```
---
# 第三部分:Phase 01~Phase 26 Jira级任务拆解
---
# Phase 01:项目基础架构
## Epic
```text
EPIC-P01 项目基础骨架与工程治理
```
### P01-S01 初始化Monorepo/项目目录
任务:
```text
P01-T01 创建backend目录
P01-T02 创建miniapp目录
P01-T03 创建admin-web目录
P01-T04 创建infrastructure目录
P01-T05 创建scripts目录
P01-T06 创建tests目录
P01-T07 创建docs目录体系
```
### P01-S02 建立项目治理文档
```text
P01-T08 创建AGENTS.md
P01-T09 创建docs/STATUS.md
P01-T10 创建docs/PENDING_DECISIONS.md
P01-T11 创建CHANGELOG.md
P01-T12 创建README.md初版
```
### P01-S03 Backend工程初始化
```text
P01-T13 初始化Spring Boot工程
P01-T14 建立shared/common模块
P01-T15 配置统一异常体系
P01-T16 配置统一Response
P01-T17 配置RequestId
P01-T18 配置结构化日志
P01-T19 配置Validation
```
### P01-S04 基础设施
```text
P01-T20 Docker Compose开发环境
P01-T21 PostgreSQL开发容器
P01-T22 Redis开发容器
P01-T23 Flyway初始化
P01-T24 ObjectStorage本地适配
```
### P01-S05 Admin工程
```text
P01-T25 Vue3+TS+Vite初始化
P01-T26 Router
P01-T27 Pinia
P01-T28 Element Plus
P01-T29 Design Token基础
```
### P01-S06 Mini Program工程
```text
P01-T30 初始化微信小程序
P01-T31 TypeScript配置
P01-T32 基础Theme
P01-T33 API Client
P01-T34 基础State
```
### P01-S07 CI
```text
P01-T35 Backend Lint/Test
P01-T36 Admin Build
P01-T37 Miniapp Build检查
P01-T38 Migration Validation
```
## Phase 01验收
必须:
```text
Backend成功启动
Admin成功启动
Miniapp可打开
PostgreSQL可连接
Redis可连接
Migration成功
/health/live正常
/health/ready正常
/version正常
CI通过
README能够指导新开发者启动
```
---
# Phase 02:认证、Operator、Organization与权限底座
## Epic
```text
EPIC-P02 认证与后台权限基础
```
### 用户认证
```text
P02-T01 微信登录Provider接口
P02-T02 微信code登录
P02-T03 User基础表
P02-T04 user_wechat_accounts
P02-T05 手机绑定
P02-T06 Token/Session
P02-T07 Refresh
P02-T08 Logout
P02-T09 /me/status
```
### Operator
```text
P02-T10 operators表
P02-T11 operator登录
P02-T12 operator状态
P02-T13 operator session
```
### Organization
```text
P02-T14 organizations表
P02-T15 organization状态
P02-T16 基础组织Service
```
### RBAC
```text
P02-T17 roles
P02-T18 permissions
P02-T19 role_permissions
P02-T20 operator_roles
P02-T21 PermissionService
P02-T22 DataScopeService骨架
P02-T23 后台菜单权限
P02-T24 API权限中间件
```
### Audit
```text
P02-T25 audit_logs基础
P02-T26 operator login log
```
## Phase 02验收
```text
用户微信登录成功
绑定手机号成功
Operator可登录
disabled Operator不能访问
不同角色菜单不同
直接调用无权限API返回403
Organization A不能访问Organization B基础资源
权限修改可即时生效
关键后台操作有Audit
```
---
# Phase 03:实名认证
## Epic
```text
EPIC-P03 实名认证与成年人准入
```
任务:
```text
P03-T01 user_identities表
P03-T02 IdentityVerificationProvider接口
P03-T03 Mock Provider
P03-T04 正式Provider Adapter接口预留
P03-T05 姓名身份证提交
P03-T06 身份证格式校验
P03-T07 身份证加密
P03-T08 身份证Hash
P03-T09 身份去重
P03-T10 出生日期解析
P03-T11 成年校验
P03-T12 认证状态API
P03-T13 Provider失败重试策略
P03-T14 日志脱敏
P03-T15 Consent记录
```
## Phase 03验收
```text
正常成年人认证成功
未成年人被拒绝
重复身份证处理正确
数据库没有身份证明文
日志没有身份证全文
Provider超时不会误判用户欺诈
认证状态可恢复
```
---
# Phase 04:用户资料、照片、兴趣、择偶条件与隐私
## Epic
```text
EPIC-P04 用户资料体系
```
任务:
```text
P04-T01 user_profiles
P04-T02 user_preferences
P04-T03 preference_rules设计
P04-T04 user_interests
P04-T05 interest_dictionary
P04-T06 user_photos
P04-T07 user_privacy_settings
P04-T08 Basic Profile API
P04-T09 Lifestyle API
P04-T10 Relationship Intent API
P04-T11 Self Intro API
P04-T12 Interests API
P04-T13 Photos API
P04-T14 Object Upload Token
P04-T15 Signed URL
P04-T16 EXIF清理
P04-T17 Profile Completion
P04-T18 Onboarding Draft
P04-T19 Preference Required/Preferred
P04-T20 Privacy API
```
Miniapp:
```text
P04-T21 U06基础资料
P04-T22 U07职业生活
P04-T23 U08头像照片
P04-T24 U09兴趣
P04-T25 U10婚恋态度
P04-T26 U11自我介绍
P04-T27 U12/U13/U14择偶条件
P04-T28 U15资料确认
```
## Phase 04验收
```text
完整完成Profile
Required/Preferred正确保存
未确认数量限制来自配置
图片为Private
图片URL非永久公开
EXIF按规则清理
本地不长期保存身份证
Profile Completion正确
Draft退出后可恢复
```
---
# Phase 05:人工资料审核
## Epic
```text
EPIC-P05 用户资料人工审核
```
任务:
```text
P05-T01 review_tasks
P05-T02 review_items
P05-T03 review_reasons
P05-T04 Submit Review
P05-T05 Reviewer Queue
P05-T06 Atomic Claim
P05-T07 Approve
P05-T08 Need Edit
P05-T09 Reject
P05-T10 Resubmit
P05-T11 Review History
P05-T12 Review状态路由
```
后台:
```text
P05-T13 A05审核列表
P05-T14 A06审核详情
P05-T15 审核快捷理由
```
用户端:
```text
P05-T16 U16审核中
P05-T17 U17需修改/拒绝
```
## Phase 05验收
```text
10名审核员同时Claim只能1人成功
Approve后用户可进入推荐
Need Edit后用户明确知道改什么
Resubmit正确生成新审核流程
旧审核历史保留
审核员不能修改用户资料
```
---
# Phase 06:Match Engine
## Epic
```text
EPIC-P06 双向匹配推荐引擎
```
任务:
```text
P06-T01 MatchEligibilityService
P06-T02 RequiredConditionService
P06-T03 年龄匹配
P06-T04 身高匹配
P06-T05 地区匹配
P06-T06 婚姻状态匹配
P06-T07 子女匹配
P06-T08 学历匹配
P06-T09 吸烟饮酒匹配
P06-T10 婚姻计划
P06-T11 定居意愿
P06-T12 兴趣匹配
P06-T13 DirectionalScoringService
P06-T14 MutualScoringService
P06-T15 RecommendationReasonService
P06-T16 RankingService
P06-T17 match_rule_configs
P06-T18 规则版本
P06-T19 recommendation_records
P06-T20 单元测试矩阵
```
## Phase 06验收
```text
A符合B但B不符合A → Reject
任一Required失败 → Reject
Preferred失败只影响评分
算法结果稳定
规则版本可追溯
前端DTO不返回具体分数
推荐理由不虚构
所有算法关键规则有自动化测试
```
---
# Phase 07:首页推荐与找对象
## Epic
```text
EPIC-P07 用户推荐与主动搜索
```
任务:
```text
P07-T01 Recommendation API
P07-T02 推荐缓存
P07-T03 推荐缓存失效
P07-T04 推荐二次Eligibility
P07-T05 Discover API
P07-T06 Temporary Filter
P07-T07 PublicProfile DTO
P07-T08 Recommendation Source
```
Miniapp:
```text
P07-T09 U18首页
P07-T10 RecommendCard
P07-T11 推荐理由
P07-T12 U19找对象
P07-T13 U20筛选
P07-T14 U21用户详情
```
## Phase 07验收
```text
首页只返回有效候选
被Block/paused用户不出现
搜索临时筛选不修改择偶条件
PublicProfile无真实姓名/手机号/身份证
无候选时显示合理空状态
未确认每日推荐数量来自配置
```
---
# Phase 08:Like、Pass、Block、Match与关系基础
## Epic
```text
EPIC-P08 用户关系与双向匹配
```
任务:
```text
P08-T01 user_relations
P08-T02 Like
P08-T03 Cancel Like
P08-T04 Pass
P08-T05 Pass expires_at
P08-T06 Block
P08-T07 Unblock
P08-T08 matches
P08-T09 active pair约束
P08-T10 Mutual事务
P08-T11 Match Episode/History
P08-T12 我的缘分三列表
```
Miniapp:
```text
P08-T13 U22我的缘分
P08-T14 Mutual Match视觉
P08-T15 Block确认
```
## Phase 08验收
```text
单向Like不创建Match
双向Like只创建1个Match
并发100+次不重复Match
Block即时排除双方
Unblock不恢复Match
Pass冷却可配置
Cancel Like仅Mutual前允许
```
---
# Phase 09:Conversation与文字聊天
## Epic
```text
EPIC-P09 一对一实时文字聊天
```
任务:
```text
P09-T01 conversations
P09-T02 conversation_members
P09-T03 messages
P09-T04 Match创建Conversation
P09-T05 MessagePermissionService
P09-T06 REST Send Text
P09-T07 clientMessageId
P09-T08 Message Cursor
P09-T09 History
P09-T10 Unread
P09-T11 Read Position
P09-T12 WebSocket连接
P09-T13 message.new
P09-T14 Reconnect
P09-T15 Event dedupe
```
Miniapp:
```text
P09-T16 U23消息
P09-T17 U24聊天
P09-T18 Sending/Sent/Failed
P09-T19 Chat Draft
```
## Phase 09验收
```text
无Match不能聊
Mutual后能聊
重复clientMessageId不重复
WS断线期间消息最终恢复
Unmatch后不能发
Block后不能发
历史Cursor稳定
System消息不计真实Chat Started
```
---
# Phase 10:图片聊天与聊天安全
## Epic
```text
EPIC-P10 图片消息、反骚扰与消息风控
```
任务:
```text
P10-T01 Chat Image Upload
P10-T02 图片Magic Number校验
P10-T03 EXIF清理
P10-T04 Signed URL
P10-T05 MessageRiskService
P10-T06 Message Rate Limit
P10-T07 Duplicate Text Spam
P10-T08 风险关键词
P10-T09 RiskNotice
P10-T10 Block实时WS状态
P10-T11 Account Restriction实时生效
```
## Phase 10验收
```text
伪装恶意图片被拒
图片Private
普通快速聊天不误伤
1秒大量消息触发限流
风险关键词只提示/记录,不自动永久Ban
Block无需刷新即可阻止下一条消息
```
---
# Phase 11:统一通知系统
## Epic
```text
EPIC-P11 系统通知与业务事件提醒
```
任务:
```text
P11-T01 notifications
P11-T02 NotificationService
P11-T03 通知幂等
P11-T04 审核通知
P11-T05 Match通知
P11-T06 活动通知
P11-T07 红娘通知
P11-T08 风控通知
P11-T09 未读统计
P11-T10 Read All
P11-T11 WebSocket notification.new
P11-T12 微信订阅消息Adapter
```
## Phase 11验收
```text
业务事件不重复生成通知
通知能跳正确业务页
站外通知失败不影响核心业务
系统通知和Chat分离
未读数一致
```
---
# Phase 12:婚恋状态与成功牵手
## Epic
```text
EPIC-P12 婚恋关系进展状态
```
任务:
```text
P12-T01 RelationshipStatus实现
P12-T02 Pause
P12-T03 Resume
P12-T04 Getting To Know
P12-T05 Success Request
P12-T06 Success Confirm
P12-T07 Success Decline
P12-T08 relationship_success_requests
P12-T09 Recommendation状态联动
P12-T10 Conversation联动
```
## Phase 12验收
```text
Paused不再进入新推荐
Paused已有聊天继续
Getting To Know是否暂停推荐由配置/用户选择
Success必须双确认
红娘/管理员不能替确认
成功后停止新推荐
成功≠法律婚姻状态
```
---
# Phase 13:公益红娘
## Epic
```text
EPIC-P13 公益红娘工作台与服务流程
```
任务:
```text
P13-T01 matchmaker_services
P13-T02 matchmaker_recommendations
P13-T03 matchmaker_followups
P13-T04 服务申请
P13-T05 服务分配
P13-T06 Claim
P13-T07 Start
P13-T08 Candidate API
P13-T09 推荐
P13-T10 Followup
P13-T11 Waiting User
P13-T12 Complete
P13-T13 Cancel
P13-T14 Risk Referral
```
后台:
```text
P13-T15 R02工作台
P13-T16 R03服务列表
P13-T17 R04服务详情
P13-T18 R05候选
P13-T19 R06推荐确认
P13-T20 R07跟进
P13-T21 R08我的用户
```
用户端:
```text
P13-T22 U33红娘首页
P13-T23 U34服务申请
P13-T24 U35服务进度
P13-T25 U36红娘推荐
```
## Phase 13验收
```text
红娘只能看服务必要资料
不能看身份证
不能看私人聊天
不能替用户Like
Required冲突不能推荐
推荐前服务端二次校验
不同红娘不会无序重复推荐
服务跟进可连续追踪
```
---
# Phase 14:活动基础
## Epic
```text
EPIC-P14 公益相亲活动基础闭环
```
任务:
```text
P14-T01 activities
P14-T02 activity_registrations
P14-T03 Activity CRUD
P14-T04 Publish
P14-T05 Cancel
P14-T06 Activity Browse
P14-T07 Activity Detail
P14-T08 Eligibility
P14-T09 Apply
P14-T10 Registration Review
P14-T11 Capacity Transaction
P14-T12 User Cancel
P14-T13 My Activities
```
后台:
```text
P14-T14 A11活动列表
P14-T15 A12创建活动
P14-T16 A13报名审核
```
Miniapp:
```text
P14-T17 U27活动首页
P14-T18 U28详情
P14-T19 U29报名
P14-T20 U30我的活动
```
## Phase 14验收
```text
活动时间校验正确
重复报名不会重复
Pending是否占名额按既定V1规则
最后1个名额并发只1人通过
可选性别名额生效
活动取消后不能再报名
用户取消释放名额
```
---
# Phase 15:活动签到
## Epic
```text
EPIC-P15 活动现场签到
```
任务:
```text
P15-T01 Checkin Token
P15-T02 Token签名
P15-T03 Token过期
P15-T04 Staff Scan API
P15-T05 Duplicate Checkin
P15-T06 Manual Checkin
P15-T07 Checkin Audit
P15-T08 Volunteer Activity Scope
```
Miniapp:
```text
P15-T09 U31签到码
```
后台:
```text
P15-T10 A14签到管理
```
## Phase 15验收
```text
二维码不包含敏感明文
过期Token不可用
重复签到幂等
非approved用户不能签到
志愿者只能操作指定活动
手工签到有Audit
```
---
# Phase 16:活动反馈与互选
## Epic
```text
EPIC-P16 活动后反馈与双向互选
```
任务:
```text
P16-T01 activity_feedback
P16-T02 activity_interests
P16-T03 Feedback API
P16-T04 Interest Submit
P16-T05 Interest Cancel/Modify
P16-T06 Max Selection Config
P16-T07 Deadline Config
P16-T08 Mutual Interest
P16-T09 Activity Match Source
P16-T10 Existing Match Dedup
```
Miniapp:
```text
P16-T11 U32活动反馈
P16-T12 活动互选页面
P16-T13 互选成功页
```
## Phase 16验收
```text
A单选B,B绝对看不到
双方互选只生成1个Match
Block对象不能互选
非本活动参与者不能被选择
最多人数来自配置
活动互选不计Success
```
---
# Phase 17:举报与风控
## Epic
```text
EPIC-P17 举报、风险与账号处置
```
任务:
```text
P17-T01 reports
P17-T02 report_evidences
P17-T03 user_risk_profiles
P17-T04 risk_events
P17-T05 risk_actions
P17-T06 Report Submit
P17-T07 Report Triage
P17-T08 Risk Process
P17-T09 Warning
P17-T10 Feature Limit
P17-T11 Temporary Suspend
P17-T12 Ban
P17-T13 Account Capability计算
P17-T14 Risk Evidence Permission
P17-T15 Chat Context受控访问
P17-T16 SensitiveAccessLog
```
后台:
```text
P17-T17 A15举报中心
P17-T18 A16举报详情
```
## Phase 17验收
```text
举报人身份不泄露
普通管理员不能看证据
聊天只能案件上下文访问
RiskAction实时影响推荐/Like/Chat/Activity/Matchmaker
单个关键词不自动永久Ban
所有处置有Audit
```
---
# Phase 18:申诉
## Epic
```text
EPIC-P18 用户申诉
```
如决定不首发,则Feature Flag/模块预留,但不得删除数据设计。
任务:
```text
P18-T01 appeals
P18-T02 Appeal Submit
P18-T03 Appeal Review
P18-T04 Approve
P18-T05 Reject
P18-T06 RiskAction Revoke
P18-T07 Account Capability Recalculate
P18-T08 Appeal Notification
```
## Phase 18验收
```text
用户只能申诉自己的有效处置
Approve正确撤销对应Action
其他剩余Action仍生效
Reject不改变现有状态
全部有Audit
```
---
# Phase 19:运营后台完善
## Epic
```text
EPIC-P19 统一运营管理后台
```
任务:
```text
P19-T01 Dashboard角色化
P19-T02 用户管理
P19-T03 用户详情
P19-T04 审核历史
P19-T05 Match摘要
P19-T06 Activity摘要
P19-T07 Matchmaker摘要
P19-T08 Organization管理
P19-T09 Operator管理
P19-T10 Role管理
P19-T11 Permission管理
P19-T12 Role Assignment Boundary
P19-T13 Sensitive Identity
P19-T14 Audit查询
P19-T15 Sensitive Access查询
P19-T16 临时Volunteer账号
```
## Phase 19验收
```text
不同角色看到不同Dashboard
机构管理员不能提权
机构A不能访问机构B
红娘不能通过User详情看到Chat
Volunteer不能进入User管理
敏感数据默认脱敏
所有高风险操作二次确认
```
---
# Phase 20:Analytics
## Epic
```text
EPIC-P20 数据统计与管理驾驶舱
```
任务:
```text
P20-T01 指标字典
P20-T02 User Metrics
P20-T03 Review Metrics
P20-T04 Recommendation Metrics
P20-T05 Match Metrics
P20-T06 Chat Started
P20-T07 Matchmaker Metrics
P20-T08 Activity Metrics
P20-T09 Risk Metrics
P20-T10 Daily Summary
P20-T11 Rebuild Metrics
P20-T12 Platform Dashboard
P20-T13 Organization Dashboard
P20-T14 Analytics权限
```
## Phase 20验收
固定数据集验证:
```text
注册10
实名7
审核通过4
```
必须显示一致。
以及:
```text
2个Like = 1个Mutual Match
System Message不算Chat Started
活动10对互选≠10对Success
红娘看20候选、发3个 → Recommendation=3
```
Dashboard和专项页面相同指标必须一致。
---
# Phase 21:账号生命周期、注销与数据保留接口
## Epic
```text
EPIC-P21 用户账号生命周期
```
任务:
```text
P21-T01 Service Exit
P21-T02 Account Deletion Request
P21-T03 Account Deletion Cancel(如采用宽限期)
P21-T04 Session Revoke
P21-T05 Recommendation Removal
P21-T06 Search Removal
P21-T07 Matchmaker Stop
P21-T08 Activity处理
P21-T09 Conversation展示处理
P21-T10 Retention Policy Hook
P21-T11 User Data Rights API
```
## Phase 21验收
```text
注销后不再搜索
不再推荐
不能新聊天
红娘服务停止
未开始活动按规则处理
历史关系不崩
已注销展示名正确
保留/删除逻辑可配置
```
---
# Phase 22:部署、监控、备份、恢复
## Epic
```text
EPIC-P22 生产部署与运维体系
```
任务:
```text
P22-T01 Backend Dockerfile
P22-T02 Admin Docker Build
P22-T03 Docker Compose
P22-T04 Staging Compose
P22-T05 Nginx
P22-T06 HTTPS/WSS配置
P22-T07 .env.example
P22-T08 Secret说明
P22-T09 health/live
P22-T10 health/ready
P22-T11 version
P22-T12 Structured Logging
P22-T13 Metrics
P22-T14 Monitoring
P22-T15 Backup Script
P22-T16 Restore Script
P22-T17 Deploy Script
P22-T18 Rollback Script
P22-T19 Maintenance Mode
P22-T20 Feature Flag
P22-T21 Ops Docs
```
## Phase 22验收
```text
全新服务器可按文档部署
生产Secret不进Git
PostgreSQL/Redis不公网
用户图片Private
备份能实际恢复
指定版本可以Rollback
/health与/version正确
WSS正常
```
---
# Phase 23:完整测试与安全验证
## Epic
```text
EPIC-P23 系统级测试与安全验收
```
任务:
```text
P23-T01 Core E2E
P23-T02 Auth E2E
P23-T03 Review E2E
P23-T04 Match E2E
P23-T05 Chat E2E
P23-T06 Matchmaker E2E
P23-T07 Activity E2E
P23-T08 Risk E2E
P23-T09 Permission Matrix Test
P23-T10 IDOR
P23-T11 SQL Injection
P23-T12 XSS
P23-T13 CORS
P23-T14 Upload Security
P23-T15 Rate Limit
P23-T16 Simultaneous Like
P23-T17 Activity Capacity Race
P23-T18 WebSocket Weak Network
P23-T19 Restore Test
P23-T20 Rollback Test
```
## Phase 23验收
```text
P0 = 0
未接受P1 = 0
Core E2E全部通过
权限测试通过
隐私测试通过
并发测试通过
Backup Restore通过
Rollback通过
```
---
# Phase 24:UAT
## Epic
```text
EPIC-P24 真实角色用户验收
```
任务:
```text
P24-T01 普通用户UAT
P24-T02 Reviewer UAT
P24-T03 Matchmaker UAT
P24-T04 Activity Manager UAT
P24-T05 Volunteer UAT
P24-T06 Risk Operator UAT
P24-T07 Platform Admin UAT
P24-T08 UAT问题修复
```
## Phase 24验收
必须证明:
```text
普通用户不培训基本会用
审核员可以连续处理审核
红娘不依赖Excel完成服务
活动管理员完成整场模拟
志愿者简单培训即可签到
风控员能处理标准举报
管理员能管理权限但不能越权
```
---
# Phase 25:Release Candidate
## Epic
```text
EPIC-P25 V1.0.0 Release Candidate
```
任务:
```text
P25-T01 版本冻结
P25-T02 Migration最终验证
P25-T03 OpenAPI冻结
P25-T04 Release Notes
P25-T05 Staging Clean Deploy
P25-T06 全量Regression
P25-T07 Production Config Review
P25-T08 Privacy/Agreement版本核对
P25-T09 Go/No-Go检查
P25-T10 生成v1.0.0-rc.1
```
## Phase 25验收
```text
Staging从空环境可部署
所有Migration连续成功
RC核心流程通过
Production配置齐全
备份恢复演练完成
没有Blocker
Go/No-Go材料完整
```
---
# Phase 26:生产上线
## Epic
```text
EPIC-P26 Production Launch
```
任务:
```text
P26-T01 Production Backup
P26-T02 Production Migration
P26-T03 Backend Deploy
P26-T04 Admin Deploy
P26-T05 Mini Program正式配置
P26-T06 Health Check
P26-T07 Smoke Test
P26-T08 Monitoring Check
P26-T09 Backup Validation
P26-T10 Gray Release
P26-T11 First-day Monitoring
P26-T12 Release Tag v1.0.0
P26-T13 STATUS更新
P26-T14 最终Release Report
```
## Phase 26验收
```text
登录正常
实名正常
审核正常
推荐正常
Mutual正常
聊天正常
Block正常
红娘正常
活动正常
后台权限正常
监控正常
备份正常
无严重生产错误
```
---
# 第四部分:跨Phase关键测试任务
---
# 二十四、必须永久存在的自动化测试套件
建立:
```text
tests/invariants/
```
至少:
```text
INV-001 Required不可自动放宽
INV-002 未Mutual不可聊天
INV-003 Block后双方不可互动
INV-004 双向并发Like只创建一个Match
INV-005 Activity最后一个名额不可超卖
INV-006 单向活动意向不可泄露
INV-007 红娘不能替用户Like
INV-008 非授权Operator不能读取身份证
INV-009 非案件上下文不能读取聊天
INV-010 跨Organization不能越权
```
这些测试:
> 每次CI都运行。
---
# 二十五、必须永久存在的权限测试矩阵
至少测试:
| Role | 用户资料 | 身份证 | Chat | Review | Matchmaker | Activity | Risk | Permission |
|---|---:|---:|---:|---:|---:|---:|---:|---:|
| super_admin | 按权限 | 特殊 | 特殊 | 是 | 是 | 是 | 是 | 是 |
| platform_admin | 是 | 特殊 | 否 | 是 | 是 | 是 | 按授权 | 有限 |
| organization_admin | 范围内 | 否 | 否 | 按授权 | 本机构 | 本机构 | 默认否 | 有限 |
| reviewer | 审核必要 | 否 | 否 | 是 | 否 | 否 | 否 | 否 |
| matchmaker | 服务必要 | 否 | 否 | 否 | 是 | 推荐 | 转交 | 否 |
| activity_manager | 活动必要 | 否 | 否 | 否 | 否 | 是 | 转交 | 否 |
| risk_operator | 案件必要 | 特殊 | 案件授权 | 否 | 摘要 | 摘要 | 是 | 否 |
| volunteer | 否 | 否 | 否 | 否 | 否 | 签到 | 转交 | 否 |
| data_viewer | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
---
# 第五部分:WorkBuddy每阶段输出格式
2026-09-09 22:05:00 +08:00
每个Phase完成以后必须输出以下报告。
```markdown
# Phase XX Completion Report
## Status
Completed / Partial / Blocked
## Implemented
- ...
- ...
## Database Changes
- Migration Vxxx
## API Changes
- ...
## Frontend Changes
- ...
## Tests
- Unit:
- Integration:
- Permission:
- Concurrency:
- E2E:
## Test Results
- PASS:
- FAIL:
## Security Review
- ...
## Known Issues
- ...
## Pending Product Decisions
- ...
## Regression Check
- ...
## Docs Updated
- AGENTS
- STATUS
- OpenAPI
- CHANGELOG
## Next Phase
Phase XX+1
```
---
# 第六部分:WorkBuddy首轮实际执行任务
2026-09-09 22:05:00 +08:00
首次把本文档交给WorkBuddy后,不要让它直接执行26个Phase。
2026-09-09 22:05:00 +08:00
第一轮只执行以下任务。
---
# 二十六、首轮任务01:仓库审计
如果仓库存在代码,输出:
```text
技术栈
目录结构
模块
数据库
API
前端
测试
CI
部署
依赖
安全现状
```
---
# 二十七、首轮任务02:Gap Analysis
建立:
```text
docs/GAP_ANALYSIS.md
```
格式:
| Domain | Existing | Required V1 | Gap | Action |
|---|---|---|---|---|
| Auth | ... | ... | ... | ... |
| Match | ... | ... | ... | ... |
至少包括:
```text
Auth
Verification
Profile
Review
Match
Relationship
Messaging
Activity
Matchmaker
Risk
RBAC
Analytics
Deployment
Testing
```
---
# 二十八、首轮任务03:技术栈确认
如果空仓:
采用推荐栈。
如果非空:
原则:
> 优先保留成熟可复用现有技术。
只有明确阻碍项目实现才调整。
写:
```text
docs/decisions/ADR-001-technology-stack.md
```
---
# 二十九、首轮任务04:创建治理文件
必须创建:
```text
AGENTS.md
docs/STATUS.md
docs/PENDING_DECISIONS.md
CHANGELOG.md
README.md
```
---
# 三十、首轮任务05:建立Jira任务源文件
如果暂时没有真实Jira连接,则创建:
```text
docs/project/JIRA_BACKLOG.md
```
按本文档写入:
```text
Phase
Epic
Story
Task
Priority
Dependencies
Acceptance Criteria
Status
```
保证后续可以直接导入Jira。
---
# 三十一、首轮任务06:Phase 01详细Task Breakdown
WorkBuddy把P01继续拆成:
2026-09-09 22:05:00 +08:00
> 0.5~1天左右粒度的工程任务。
不要把:
```text
完成整个Backend
```
当成一个Task。
---
# 三十二、首轮任务07:建立测试骨架
创建:
```text
tests/
unit/
integration/
api/
permission/
concurrency/
e2e/
```
并先实现:
```text
Health Test
Migration Test
Permission Test基础
```
---
# 三十三、首轮任务08:执行Phase 01
完成后必须:
> 停止继续开发Phase 02。
先提交:
```text
Phase 01 Completion Report
```
等待下一条开发指令。
---
# 第七部分:Jira优先级
---
# 三十四、P0
阻碍核心V1上线:
```text
登录
实名
审核
匹配
Mutual
Chat
Block
权限
风控
活动核心
红娘核心
数据安全
```
---
# 三十五、P1
V1必须,但可以较后开发:
```text
图片聊天
活动互选
申诉
Analytics
高级通知
运营增强
```
---
# 三十六、P2
可进入:
> 1.0.x
例如:
```text
MFA增强
动态水印
更多统计
登录异常提醒
高级风控规则
```
---
# 第八部分:Bug优先级
---
# 三十七、Blocker
```text
无法登录
数据库损坏
敏感数据泄露
权限系统失效
Match逻辑整体错误
```
---
# 三十八、Critical
```text
未Mutual可聊天
Block无效
跨组织越权
红娘看身份证
普通管理员看聊天
活动严重超卖
重复Match
```
---
# 三十九、Major
```text
筛选错误
通知漏发
统计严重错误
部分图片异常
```
---
# 四十、Minor
```text
UI局部错位
非关键文案
小体验问题
```
---
# 第九部分:Go/No-Go
---
# 四十一、绝对No-Go
任何以下情况存在:
```text
P0 Bug > 0
未接受P1安全Bug > 0
权限越权
身份证明文
Block失效
Mutual并发错误
活动容量错误
数据库无备份
恢复未验证
无法Rollback
```
禁止生产上线。
---
# 四十二、Go最低标准
```text
Core E2E通过
权限矩阵通过
隐私测试通过
并发测试通过
Backup Restore通过
Rollback通过
运营UAT通过
P0=0
Critical=0
```
---
# 第十部分:开发过程中禁止出现的“捷径”
---
# 四十三、禁止直接赋予管理员全部权限
不得:
```text
if admin → allow everything
```
---
# 四十四、禁止把全部用户数据返回前端再隐藏
权限过滤:
> 必须后端完成。
---
# 四十五、禁止用Redis作为Match事实数据
Redis只能缓存。
---
# 四十六、禁止用前端判断Chat权限
服务端每条Message Send都重新检查。
---
# 四十七、禁止为了推荐数量自动突破Required
没有候选:
> 返回无候选。
---
# 四十八、禁止活动Pending直接算正式名额,除非未来规则明确修改
当前V1建议:
> Approved占正式名额。
---
# 四十九、禁止把活动互选算成功牵手
必须严格区分。
---
# 五十、禁止红娘后台存在“代用户喜欢”
完全不要开发这个按钮/API。
---
# 五十一、禁止普通用户详情返回内部Risk Score
风险数据内部使用。
---
# 五十二、禁止生产Debug接口
例如:
```text
/mock-user
/create-match
/test-login
```
Production必须关闭或不存在。
---
# 第十一部分:项目长期维护规则
---
# 五十三、任何新需求首先判断
属于:
```text
Bug
V1缺失
V1.0.x
V1.1
V2
```
不得直接塞进当前Phase。
---
# 五十四、新需求必须先更新文档
顺序:
```text
需求确认
↓
设计更新
↓
STATUS/Pending更新
↓
Jira
↓
开发
```
---
# 五十五、任何重大架构变化必须ADR
例如:
```text
更换数据库
更换认证模式
引入MQ
引入搜索引擎
拆微服务
```
都必须:
> ADR。
---
# 五十六、任何敏感数据新增必须回答
```text
为什么需要?
是否必要?
谁能看?
存多久?
如何删除?
如何加密?
```
回答不了:
> 不采集。
---
# 五十七、任何算法新增必须回答
```text
是否透明?
是否可解释?
是否涉及敏感推断?
是否会覆盖Required?
用户是否可控?
```
---
# 五十八、任何Operator权限新增必须回答
```text
哪个角色需要?
为什么?
数据范围?
是否敏感?
是否审计?
```
---
# 第十二部分:最终执行要求
WorkBuddy必须将整个项目理解为:
2026-09-09 22:05:00 +08:00
> **一个长期可运营的公益婚恋服务系统。**
而不是:
> “一个相亲小程序页面集合”。
本项目最重要的技术难点依次是:
```text
权限
隐私
状态
双向关系
并发一致性
线下活动闭环
人工红娘协同
```
不是页面数量。
因此整个开发过程中始终遵循:
> **正确优先于快。**
> **简单优先于炫技。**
> **安全优先于方便。**
> **配置优先于硬编码。**
> **测试优先于主观判断。**
> **文档优先于个人记忆。**
> **用户自主权优先于平台效率。**
---
# 第十三部分:给WorkBuddy的首轮最终指令
2026-09-09 22:05:00 +08:00
现在开始执行本项目。
你本轮只允许完成以下工作:
```text
1. 审计当前仓库
2. 输出Gap Analysis
3. 确认技术栈
4. 创建AGENTS.md
5. 创建STATUS.md
6. 创建PENDING_DECISIONS.md
7. 创建JIRA_BACKLOG.md
8. 建立测试目录
9. 拆解Phase 01
10. 完成Phase 01
11. 完整运行Phase 01测试
12. 输出Phase 01 Completion Report
```
本轮完成以后:
> **不要自动继续Phase 02。**
等待下一条明确开发指令。
如果发现任何需求冲突:
> 不擅自修改既有产品规则。
在:
```text
docs/PENDING_DECISIONS.md
```
记录并采用最小影响、可配置、可回滚的技术实现。
最终目标不是最快写完最多代码。
最终目标是:
> **每一个Phase完成以后项目都处于可运行、可验证、可继续接手的状态,并最终形成一套真实、安全、稳定、易维护的丹阳公益婚恋服务平台V1.0。**