Files
danyang-match/WorkBuddy首轮启动提示词 + Phase 01~Phase 26 Jira级任务清单 + 每阶段验收条件.md
T
Codex 60eeb8aef5 docs(brand): 全仓库 Codex 署名统一为 WorkBuddy + 5 个文件重命名
## 背景
用户指令:「先将 codex 的任务一并改为 workbuddy 的任务」。
Codex 已不再运行,当前由 WorkBuddy 承担开发执行,文档署名需同步。

## 判定规则(用大小写精确区分)
| 类别 | 写法 | 处置 |
|---|---|---|
| 工具署名 | 大写 Codex | → WorkBuddy |
| 分支名 | codex/ui-v11-fidelity | → workbuddy-ui-v11-fidelity(去斜杠,规避本仓库 ref 清理) |
| 已删除文件的历史路径 | 小写 2026-09-11-codex-baseline-cleanup* | 保持原样(记录真实曾存在的文件名,改了即失真) |

结果:26 个文件、126 处署名替换。残留小写 codex 仅 8 处,全部是历史路径。

## 文件重命名(git mv,保留历史)
- Codex开发执行总指令、项目规则与任务拆解.md → WorkBuddy 同名
- Codex首轮启动提示词 + Phase 01~Phase 26 Jira级任务清单 + 每阶段验收条件.md → WorkBuddy 同名
- docs/善缘丹阳 V1.1 Codex 开发执行计划修订版.md → docs/善缘丹阳 V1.1 WorkBuddy 开发执行计划修订版.md
- docs/善缘丹阳 V1.1 Codex-Jira 最终开发任务增量清单.md → docs/善缘丹阳 V1.1 WorkBuddy-Jira 最终开发任务增量清单.md
- docs/善缘丹阳 V1.1 Codex最终主启动提示词(整合版).md → docs/善缘丹阳 V1.1 WorkBuddy最终主启动提示词(整合版).md

引用已同步:AGENTS.md 6 处、AGENTS_SUMMARY.md、以及 4 份计划/规格文档。

## AGENTS.md 两处特别处理
- 「git config user.name = Codex」一句改为不点名工具的表述
- 「feature/ fix/ codex/ ui/ 前缀」示例去掉 codex/

## 有意未改动
- ui-tests/ui-document-baseline-contracts.mjs 的废弃清单仍列 codex-baseline-cleanup*
  那是「必须不存在」的断言目标,改了会让哨兵失去意义
- 仓库 git config user.name 仍是 Codex —— 未擅自改动环境身份。
  如需彻底交接:git config user.name WorkBuddy && git config user.email workbuddy@local

验证:UI 契约门禁 13/13;AGENTS.md 零 Codex 残留;5 个新文件名与全部引用一致
2026-09-16 14:37:44 +08:00

39 KiB
Raw Blame History

丹阳公益婚恋服务平台

WorkBuddy首轮启动提示词 + Phase 01~Phase 26 Jira级任务清单 + 每阶段验收条件

版本:V1.0
适用对象:WorkBuddy
使用方式:首次启动项目时完整提供给WorkBuddy;后续每次开发任务继续要求WorkBuddy先读取 AGENTS.md、docs/STATUS.md、docs/PENDING_DECISIONS.md 后再执行。
文档性质:研发启动执行包,不重新定义产品需求。


第一部分:WorkBuddy首轮启动提示词

以下内容可以直接复制给WorkBuddy执行。


一、WorkBuddy首轮完整启动提示词

你现在负责完整开发一个正式项目:

丹阳公益婚恋服务平台 V1.0

这是一个面向丹阳市成年单身人士、由公益组织参与运营的实名制公益婚恋服务平台。

你不是在做Demo,也不是在做概念验证页面。

你的任务是:

按照既定产品设计、技术设计、安全设计和业务规则,持续完成一个真正可以部署、测试、运营、维护和升级的V1.0生产级系统。

项目最终包括:

微信小程序用户端
+
统一Web运营后台
+
公益红娘工作台
+
平台管理后台
+
后端服务
+
PostgreSQL
+
Redis
+
对象存储
+
WebSocket
+
测试体系
+
部署运维体系

二、你的最高执行原则

你必须首先遵守以下规则。

1. 不重新设计产品

已有需求已经经过完整规划。

你不能因为:

实现方便
技术偏好
已有模板
个人判断

擅自重新设计产品。


2. 不擅自扩展功能

V1.0明确不开发:

直播
短视频
动态Feed
朋友圈
群聊
语音房
视频相亲
礼物
金币
积分商城
排行榜
VIP
支付
超级喜欢
Boost
付费曝光
付费聊天
付费联系方式
AI代聊
AI婚姻幸福预测
颜值评分
财富评分
复杂社交玩法

不要顺手增加。


3. 用户永久免费

本项目属于:

公益婚恋服务平台。

不得引入任何:

会员
付费
VIP
充值
金币
礼物

相关代码、数据表和页面。


4. Required不可自动放宽

用户择偶条件分为:

必须符合
最好符合

必须符合:

Hard Constraint。

任何算法、红娘、运营后台都不能自动放宽。


5. 双向意愿是核心边界

必须保证:

A喜欢B
+
B喜欢A
=
Mutual Match

只有Mutual Match后:

才能聊天。

陌生人不能直接私信。


6. Block优先级最高

任一方Block后:

必须立即:

停止聊天
停止互相推荐
停止搜索展示
停止红娘推荐
停止进一步关系操作

Unblock:

不能自动恢复Match。


7. 公益红娘只能辅助

红娘:

可以:

看必要资料
看系统候选
人工推荐
给条件建议
跟进
推荐活动

不能:

替用户Like
替用户确认成功
看私人聊天
看完整身份证
私自把手机号给别人
绕过Required强推

8. 活动单向意向必须保密

A活动后选择B。

如果B没有选择A:

B不能知道A选择了自己。

只有:

A → B
B → A

双方成立:

才创建活动来源Match。


9. 敏感数据默认拒绝

以下数据默认禁止普通工作人员查看:

完整身份证
完整手机
私人聊天
举报证据
风控调查材料
精确住址

必须:

Permission
+
Data Scope
+
Sensitive Permission
+
Audit

后才可访问。


10. 数据库是Source of Truth

Redis、前端Store、WebSocket都不是业务事实源。

最终状态:

PostgreSQL为准。


三、项目核心业务闭环

必须最终跑通:

微信登录
↓
绑定手机号
↓
实名认证
↓
填写资料
↓
设置择偶条件
↓
提交人工审核
↓
审核通过
↓
系统推荐
↓
用户Like
↓
双向Like
↓
Mutual Match
↓
聊天
↓
公益红娘辅助
↓
公益活动
↓
进一步了解
↓
双方确认成功牵手

四、产品形态

用户端

微信小程序。

固定底部导航:

首页
找对象
消息
活动
我的

不得改变。


工作人员端

统一Web后台。

通过:

Operator
Role
Permission
Data Scope
Organization

决定不同角色界面。

角色至少:

super_admin
platform_admin
organization_admin
reviewer
matchmaker
activity_manager
risk_operator
volunteer
data_viewer

五、推荐技术架构

如果当前仓库为空,优先采用:

Backend

Java 21
Spring Boot 3.x
Spring Security
PostgreSQL
Redis
WebSocket
Flyway
S3-Compatible Object Storage

ORM可以选择:

MyBatis-Plus

或者:

Spring Data JPA

选择一种即可,不要混用。

优先标准:

简单、稳定、易维护。


Admin Web

建议:

Vue 3
TypeScript
Vite
Pinia
Vue Router
Element Plus

Mini Program

优先:

微信原生小程序 + TypeScript。

如果决定使用成熟框架,必须解释原因并写ADR。

不要为了跨端而引入明显增加维护成本的架构。


Deployment

Docker
Docker Compose
Nginx
PostgreSQL
Redis
Private Object Storage

不得主动使用:

Kubernetes
Kafka
Elasticsearch
ClickHouse
Neo4j
Milvus
Service Mesh
微服务

六、项目目录

如果仓库为空,建立:

/
├── backend/
├── miniapp/
├── admin-web/
├── infrastructure/
├── scripts/
├── tests/
├── docs/
│   ├── product/
│   ├── architecture/
│   ├── api/
│   ├── database/
│   ├── security/
│   ├── testing/
│   ├── ops/
│   └── decisions/
├── AGENTS.md
├── CHANGELOG.md
└── README.md

七、启动后第一批必须创建的文件

在任何正式业务编码之前创建:

AGENTS.md
docs/STATUS.md
docs/PENDING_DECISIONS.md
docs/ARCHITECTURE_BASELINE.md
docs/TESTING_BASELINE.md
docs/decisions/

八、AGENTS.md最低内容

必须写明:

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

至少加入:

每日推荐数量
推荐最低阈值
匹配权重最终值
Pass冷却时间
照片上限
兴趣标签上限
自我介绍字符长度
Privacy默认值
Getting To Know是否自动暂停推荐
活动默认是否需要审核
活动男女名额策略
活动互选最大人数
活动互选截止时间
红娘联系意向对象是否允许电话联系
RelationshipStatus最终业务名称
Appeal是否V1.0首发

任何这些项:

不得擅自拍板为固定产品规则。


十、当前未确认参数处理规则

如果技术实现必须需要默认值:

可以提供:

technical_default

但必须满足:

存储在配置
不可硬编码
README/配置文档说明
PENDING_DECISIONS记录

十一、首轮任务不是立即写全部代码

你首先必须执行:

Step 1
审计当前仓库

Step 2
判断是否为空仓库

Step 3
输出Gap Analysis

Step 4
创建项目治理文档

Step 5
确认技术栈

Step 6
建立Phase 01 Jira任务

Step 7
建立测试骨架

Step 8
再开始Phase 01

十二、如果已有代码

禁止直接推翻重写。

必须首先输出:

当前技术栈
目录
已有模块
已有数据模型
已有API
已有测试
已有部署
可复用模块
冲突模块
缺失模块
安全风险
重构建议

然后:

渐进式改造。


十三、WorkBuddy每次开发前

必须读取:

AGENTS.md
docs/STATUS.md
docs/PENDING_DECISIONS.md
本Phase相关文档

再开发。


十四、WorkBuddy每次完成任务后

必须更新:

docs/STATUS.md
CHANGELOG.md
测试结果
Migration
OpenAPI
PENDING_DECISIONS(如果有)

十五、任务完成标准

禁止只因为:

代码已经写完

就宣布Done。

一个任务Done必须至少满足:

Code Complete
+
Tests Pass
+
Lint Pass
+
Build Pass
+
必要Migration Pass
+
相关权限测试Pass
+
相关文档Updated

十六、开发方式

严格按照:

Phase 01 → Phase 26

推进。

不要多个Phase同时无序开发。

每阶段结束以后才能进入下一阶段。


第二部分:Jira任务统一规范


十七、Epic命名规则

每个Phase对应一个Epic:

EPIC-P01
EPIC-P02
...
EPIC-P26

十八、Story命名

例如:

P03-S01 实现实名认证Provider抽象

十九、Task命名

例如:

P03-T01 创建IdentityProvider接口

二十、Bug命名

BUG-MATCH-001 双向Like并发生成重复Match

二十一、任务字段

每一个Jira任务至少包含:

Summary
Phase
Priority
Description
Dependencies
Implementation Notes
Acceptance Criteria
Tests
Docs Impact
Status

二十二、Definition of Ready

任务开始前必须:

需求清晰
依赖完成
接口明确
待确认参数已配置化
测试场景明确

二十三、Definition of Done

代码完成
测试完成
接口文档更新
Migration完成
权限检查完成
无P0/P1已知缺陷
STATUS更新

第三部分:Phase 01~Phase 26 Jira级任务拆解


Phase 01:项目基础架构

Epic

EPIC-P01 项目基础骨架与工程治理

P01-S01 初始化Monorepo/项目目录

任务:

P01-T01 创建backend目录
P01-T02 创建miniapp目录
P01-T03 创建admin-web目录
P01-T04 创建infrastructure目录
P01-T05 创建scripts目录
P01-T06 创建tests目录
P01-T07 创建docs目录体系

P01-S02 建立项目治理文档

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工程初始化

P01-T13 初始化Spring Boot工程
P01-T14 建立shared/common模块
P01-T15 配置统一异常体系
P01-T16 配置统一Response
P01-T17 配置RequestId
P01-T18 配置结构化日志
P01-T19 配置Validation

P01-S04 基础设施

P01-T20 Docker Compose开发环境
P01-T21 PostgreSQL开发容器
P01-T22 Redis开发容器
P01-T23 Flyway初始化
P01-T24 ObjectStorage本地适配

P01-S05 Admin工程

P01-T25 Vue3+TS+Vite初始化
P01-T26 Router
P01-T27 Pinia
P01-T28 Element Plus
P01-T29 Design Token基础

P01-S06 Mini Program工程

P01-T30 初始化微信小程序
P01-T31 TypeScript配置
P01-T32 基础Theme
P01-T33 API Client
P01-T34 基础State

P01-S07 CI

P01-T35 Backend Lint/Test
P01-T36 Admin Build
P01-T37 Miniapp Build检查
P01-T38 Migration Validation

Phase 01验收

必须:

Backend成功启动
Admin成功启动
Miniapp可打开
PostgreSQL可连接
Redis可连接
Migration成功
/health/live正常
/health/ready正常
/version正常
CI通过
README能够指导新开发者启动

Phase 02:认证、Operator、Organization与权限底座

Epic

EPIC-P02 认证与后台权限基础

用户认证

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

P02-T10 operators表
P02-T11 operator登录
P02-T12 operator状态
P02-T13 operator session

Organization

P02-T14 organizations表
P02-T15 organization状态
P02-T16 基础组织Service

RBAC

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

P02-T25 audit_logs基础
P02-T26 operator login log

Phase 02验收

用户微信登录成功
绑定手机号成功
Operator可登录
disabled Operator不能访问
不同角色菜单不同
直接调用无权限API返回403
Organization A不能访问Organization B基础资源
权限修改可即时生效
关键后台操作有Audit

Phase 03:实名认证

Epic

EPIC-P03 实名认证与成年人准入

任务:

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验收

正常成年人认证成功
未成年人被拒绝
重复身份证处理正确
数据库没有身份证明文
日志没有身份证全文
Provider超时不会误判用户欺诈
认证状态可恢复

Phase 04:用户资料、照片、兴趣、择偶条件与隐私

Epic

EPIC-P04 用户资料体系

任务:

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:

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验收

完整完成Profile
Required/Preferred正确保存
未确认数量限制来自配置
图片为Private
图片URL非永久公开
EXIF按规则清理
本地不长期保存身份证
Profile Completion正确
Draft退出后可恢复

Phase 05:人工资料审核

Epic

EPIC-P05 用户资料人工审核

任务:

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状态路由

后台:

P05-T13 A05审核列表
P05-T14 A06审核详情
P05-T15 审核快捷理由

用户端:

P05-T16 U16审核中
P05-T17 U17需修改/拒绝

Phase 05验收

10名审核员同时Claim只能1人成功
Approve后用户可进入推荐
Need Edit后用户明确知道改什么
Resubmit正确生成新审核流程
旧审核历史保留
审核员不能修改用户资料

Phase 06:Match Engine

Epic

EPIC-P06 双向匹配推荐引擎

任务:

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验收

A符合B但B不符合A → Reject
任一Required失败 → Reject
Preferred失败只影响评分
算法结果稳定
规则版本可追溯
前端DTO不返回具体分数
推荐理由不虚构
所有算法关键规则有自动化测试

Phase 07:首页推荐与找对象

Epic

EPIC-P07 用户推荐与主动搜索

任务:

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:

P07-T09 U18首页
P07-T10 RecommendCard
P07-T11 推荐理由
P07-T12 U19找对象
P07-T13 U20筛选
P07-T14 U21用户详情

Phase 07验收

首页只返回有效候选
被Block/paused用户不出现
搜索临时筛选不修改择偶条件
PublicProfile无真实姓名/手机号/身份证
无候选时显示合理空状态
未确认每日推荐数量来自配置

Phase 08:Like、Pass、Block、Match与关系基础

Epic

EPIC-P08 用户关系与双向匹配

任务:

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:

P08-T13 U22我的缘分
P08-T14 Mutual Match视觉
P08-T15 Block确认

Phase 08验收

单向Like不创建Match
双向Like只创建1个Match
并发100+次不重复Match
Block即时排除双方
Unblock不恢复Match
Pass冷却可配置
Cancel Like仅Mutual前允许

Phase 09:Conversation与文字聊天

Epic

EPIC-P09 一对一实时文字聊天

任务:

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:

P09-T16 U23消息
P09-T17 U24聊天
P09-T18 Sending/Sent/Failed
P09-T19 Chat Draft

Phase 09验收

无Match不能聊
Mutual后能聊
重复clientMessageId不重复
WS断线期间消息最终恢复
Unmatch后不能发
Block后不能发
历史Cursor稳定
System消息不计真实Chat Started

Phase 10:图片聊天与聊天安全

Epic

EPIC-P10 图片消息、反骚扰与消息风控

任务:

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验收

伪装恶意图片被拒
图片Private
普通快速聊天不误伤
1秒大量消息触发限流
风险关键词只提示/记录,不自动永久Ban
Block无需刷新即可阻止下一条消息

Phase 11:统一通知系统

Epic

EPIC-P11 系统通知与业务事件提醒

任务:

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验收

业务事件不重复生成通知
通知能跳正确业务页
站外通知失败不影响核心业务
系统通知和Chat分离
未读数一致

Phase 12:婚恋状态与成功牵手

Epic

EPIC-P12 婚恋关系进展状态

任务:

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验收

Paused不再进入新推荐
Paused已有聊天继续
Getting To Know是否暂停推荐由配置/用户选择
Success必须双确认
红娘/管理员不能替确认
成功后停止新推荐
成功≠法律婚姻状态

Phase 13:公益红娘

Epic

EPIC-P13 公益红娘工作台与服务流程

任务:

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

后台:

P13-T15 R02工作台
P13-T16 R03服务列表
P13-T17 R04服务详情
P13-T18 R05候选
P13-T19 R06推荐确认
P13-T20 R07跟进
P13-T21 R08我的用户

用户端:

P13-T22 U33红娘首页
P13-T23 U34服务申请
P13-T24 U35服务进度
P13-T25 U36红娘推荐

Phase 13验收

红娘只能看服务必要资料
不能看身份证
不能看私人聊天
不能替用户Like
Required冲突不能推荐
推荐前服务端二次校验
不同红娘不会无序重复推荐
服务跟进可连续追踪

Phase 14:活动基础

Epic

EPIC-P14 公益相亲活动基础闭环

任务:

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

后台:

P14-T14 A11活动列表
P14-T15 A12创建活动
P14-T16 A13报名审核

Miniapp:

P14-T17 U27活动首页
P14-T18 U28详情
P14-T19 U29报名
P14-T20 U30我的活动

Phase 14验收

活动时间校验正确
重复报名不会重复
Pending是否占名额按既定V1规则
最后1个名额并发只1人通过
可选性别名额生效
活动取消后不能再报名
用户取消释放名额

Phase 15:活动签到

Epic

EPIC-P15 活动现场签到

任务:

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:

P15-T09 U31签到码

后台:

P15-T10 A14签到管理

Phase 15验收

二维码不包含敏感明文
过期Token不可用
重复签到幂等
非approved用户不能签到
志愿者只能操作指定活动
手工签到有Audit

Phase 16:活动反馈与互选

Epic

EPIC-P16 活动后反馈与双向互选

任务:

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:

P16-T11 U32活动反馈
P16-T12 活动互选页面
P16-T13 互选成功页

Phase 16验收

A单选B,B绝对看不到
双方互选只生成1个Match
Block对象不能互选
非本活动参与者不能被选择
最多人数来自配置
活动互选不计Success

Phase 17:举报与风控

Epic

EPIC-P17 举报、风险与账号处置

任务:

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

后台:

P17-T17 A15举报中心
P17-T18 A16举报详情

Phase 17验收

举报人身份不泄露
普通管理员不能看证据
聊天只能案件上下文访问
RiskAction实时影响推荐/Like/Chat/Activity/Matchmaker
单个关键词不自动永久Ban
所有处置有Audit

Phase 18:申诉

Epic

EPIC-P18 用户申诉

如决定不首发,则Feature Flag/模块预留,但不得删除数据设计。

任务:

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验收

用户只能申诉自己的有效处置
Approve正确撤销对应Action
其他剩余Action仍生效
Reject不改变现有状态
全部有Audit

Phase 19:运营后台完善

Epic

EPIC-P19 统一运营管理后台

任务:

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验收

不同角色看到不同Dashboard
机构管理员不能提权
机构A不能访问机构B
红娘不能通过User详情看到Chat
Volunteer不能进入User管理
敏感数据默认脱敏
所有高风险操作二次确认

Phase 20:Analytics

Epic

EPIC-P20 数据统计与管理驾驶舱

任务:

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验收

固定数据集验证:

注册10
实名7
审核通过4

必须显示一致。

以及:

2个Like = 1个Mutual Match
System Message不算Chat Started
活动10对互选≠10对Success
红娘看20候选、发3个 → Recommendation=3

Dashboard和专项页面相同指标必须一致。


Phase 21:账号生命周期、注销与数据保留接口

Epic

EPIC-P21 用户账号生命周期

任务:

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验收

注销后不再搜索
不再推荐
不能新聊天
红娘服务停止
未开始活动按规则处理
历史关系不崩
已注销展示名正确
保留/删除逻辑可配置

Phase 22:部署、监控、备份、恢复

Epic

EPIC-P22 生产部署与运维体系

任务:

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验收

全新服务器可按文档部署
生产Secret不进Git
PostgreSQL/Redis不公网
用户图片Private
备份能实际恢复
指定版本可以Rollback
/health与/version正确
WSS正常

Phase 23:完整测试与安全验证

Epic

EPIC-P23 系统级测试与安全验收

任务:

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验收

P0 = 0
未接受P1 = 0
Core E2E全部通过
权限测试通过
隐私测试通过
并发测试通过
Backup Restore通过
Rollback通过

Phase 24:UAT

Epic

EPIC-P24 真实角色用户验收

任务:

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验收

必须证明:

普通用户不培训基本会用
审核员可以连续处理审核
红娘不依赖Excel完成服务
活动管理员完成整场模拟
志愿者简单培训即可签到
风控员能处理标准举报
管理员能管理权限但不能越权

Phase 25:Release Candidate

Epic

EPIC-P25 V1.0.0 Release Candidate

任务:

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验收

Staging从空环境可部署
所有Migration连续成功
RC核心流程通过
Production配置齐全
备份恢复演练完成
没有Blocker
Go/No-Go材料完整

Phase 26:生产上线

Epic

EPIC-P26 Production Launch

任务:

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验收

登录正常
实名正常
审核正常
推荐正常
Mutual正常
聊天正常
Block正常
红娘正常
活动正常
后台权限正常
监控正常
备份正常
无严重生产错误

第四部分:跨Phase关键测试任务


二十四、必须永久存在的自动化测试套件

建立:

tests/invariants/

至少:

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每阶段输出格式

每个Phase完成以后必须输出以下报告。

# 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首轮实际执行任务

首次把本文档交给WorkBuddy后,不要让它直接执行26个Phase。

第一轮只执行以下任务。


二十六、首轮任务01:仓库审计

如果仓库存在代码,输出:

技术栈
目录结构
模块
数据库
API
前端
测试
CI
部署
依赖
安全现状

二十七、首轮任务02:Gap Analysis

建立:

docs/GAP_ANALYSIS.md

格式:

Domain Existing Required V1 Gap Action
Auth ... ... ... ...
Match ... ... ... ...

至少包括:

Auth
Verification
Profile
Review
Match
Relationship
Messaging
Activity
Matchmaker
Risk
RBAC
Analytics
Deployment
Testing

二十八、首轮任务03:技术栈确认

如果空仓:

采用推荐栈。

如果非空:

原则:

优先保留成熟可复用现有技术。

只有明确阻碍项目实现才调整。

写:

docs/decisions/ADR-001-technology-stack.md

二十九、首轮任务04:创建治理文件

必须创建:

AGENTS.md
docs/STATUS.md
docs/PENDING_DECISIONS.md
CHANGELOG.md
README.md

三十、首轮任务05:建立Jira任务源文件

如果暂时没有真实Jira连接,则创建:

docs/project/JIRA_BACKLOG.md

按本文档写入:

Phase
Epic
Story
Task
Priority
Dependencies
Acceptance Criteria
Status

保证后续可以直接导入Jira。


三十一、首轮任务06:Phase 01详细Task Breakdown

WorkBuddy把P01继续拆成:

0.5~1天左右粒度的工程任务。

不要把:

完成整个Backend

当成一个Task。


三十二、首轮任务07:建立测试骨架

创建:

tests/
unit/
integration/
api/
permission/
concurrency/
e2e/

并先实现:

Health Test
Migration Test
Permission Test基础

三十三、首轮任务08:执行Phase 01

完成后必须:

停止继续开发Phase 02。

先提交:

Phase 01 Completion Report

等待下一条开发指令。


第七部分:Jira优先级


三十四、P0

阻碍核心V1上线:

登录
实名
审核
匹配
Mutual
Chat
Block
权限
风控
活动核心
红娘核心
数据安全

三十五、P1

V1必须,但可以较后开发:

图片聊天
活动互选
申诉
Analytics
高级通知
运营增强

三十六、P2

可进入:

1.0.x

例如:

MFA增强
动态水印
更多统计
登录异常提醒
高级风控规则

第八部分:Bug优先级


三十七、Blocker

无法登录
数据库损坏
敏感数据泄露
权限系统失效
Match逻辑整体错误

三十八、Critical

未Mutual可聊天
Block无效
跨组织越权
红娘看身份证
普通管理员看聊天
活动严重超卖
重复Match

三十九、Major

筛选错误
通知漏发
统计严重错误
部分图片异常

四十、Minor

UI局部错位
非关键文案
小体验问题

第九部分:Go/No-Go


四十一、绝对No-Go

任何以下情况存在:

P0 Bug > 0
未接受P1安全Bug > 0
权限越权
身份证明文
Block失效
Mutual并发错误
活动容量错误
数据库无备份
恢复未验证
无法Rollback

禁止生产上线。


四十二、Go最低标准

Core E2E通过
权限矩阵通过
隐私测试通过
并发测试通过
Backup Restore通过
Rollback通过
运营UAT通过
P0=0
Critical=0

第十部分:开发过程中禁止出现的“捷径”


四十三、禁止直接赋予管理员全部权限

不得:

if admin → allow everything

四十四、禁止把全部用户数据返回前端再隐藏

权限过滤:

必须后端完成。


四十五、禁止用Redis作为Match事实数据

Redis只能缓存。


四十六、禁止用前端判断Chat权限

服务端每条Message Send都重新检查。


四十七、禁止为了推荐数量自动突破Required

没有候选:

返回无候选。


四十八、禁止活动Pending直接算正式名额,除非未来规则明确修改

当前V1建议:

Approved占正式名额。


四十九、禁止把活动互选算成功牵手

必须严格区分。


五十、禁止红娘后台存在“代用户喜欢”

完全不要开发这个按钮/API。


五十一、禁止普通用户详情返回内部Risk Score

风险数据内部使用。


五十二、禁止生产Debug接口

例如:

/mock-user
/create-match
/test-login

Production必须关闭或不存在。


第十一部分:项目长期维护规则


五十三、任何新需求首先判断

属于:

Bug
V1缺失
V1.0.x
V1.1
V2

不得直接塞进当前Phase。


五十四、新需求必须先更新文档

顺序:

需求确认
↓
设计更新
↓
STATUS/Pending更新
↓
Jira
↓
开发

五十五、任何重大架构变化必须ADR

例如:

更换数据库
更换认证模式
引入MQ
引入搜索引擎
拆微服务

都必须:

ADR。


五十六、任何敏感数据新增必须回答

为什么需要?
是否必要?
谁能看?
存多久?
如何删除?
如何加密?

回答不了:

不采集。


五十七、任何算法新增必须回答

是否透明?
是否可解释?
是否涉及敏感推断?
是否会覆盖Required?
用户是否可控?

五十八、任何Operator权限新增必须回答

哪个角色需要?
为什么?
数据范围?
是否敏感?
是否审计?

第十二部分:最终执行要求

WorkBuddy必须将整个项目理解为:

一个长期可运营的公益婚恋服务系统。

而不是:

“一个相亲小程序页面集合”。

本项目最重要的技术难点依次是:

权限
隐私
状态
双向关系
并发一致性
线下活动闭环
人工红娘协同

不是页面数量。

因此整个开发过程中始终遵循:

正确优先于快。

简单优先于炫技。

安全优先于方便。

配置优先于硬编码。

测试优先于主观判断。

文档优先于个人记忆。

用户自主权优先于平台效率。


第十三部分:给WorkBuddy的首轮最终指令

现在开始执行本项目。

你本轮只允许完成以下工作:

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。

等待下一条明确开发指令。

如果发现任何需求冲突:

不擅自修改既有产品规则。

在:

docs/PENDING_DECISIONS.md

记录并采用最小影响、可配置、可回滚的技术实现。

最终目标不是最快写完最多代码。

最终目标是:

每一个Phase完成以后项目都处于可运行、可验证、可继续接手的状态,并最终形成一套真实、安全、稳定、易维护的丹阳公益婚恋服务平台V1.0。