CI/CD Pipeline / Test Shell Guard (Phase 23 Gate) (push) Waiting to run
CI/CD Pipeline / Backend Build & Test (push) Waiting to run
CI/CD Pipeline / Admin Web Build (push) Waiting to run
CI/CD Pipeline / Mini Program Compile Check (push) Waiting to run
CI/CD Pipeline / Migration Validation (push) Blocked by required conditions
CI/CD Pipeline / UI Contracts (source-structure gates) (push) Waiting to run
CI/CD Pipeline / E2E (live stack) (push) Blocked by required conditions
9.8 KiB
9.8 KiB
决策登记表 — decision-register.md
版本:V1.0.1 配置与规则纠偏基线 · 生效:2026-09-20 · owner:产品负责人 只登记产品负责人已正式确认的决策(LOCKED / 已确认默认)。未确认项一律在
open-questions.md,不得出现在本表(消解 PENDING「同一事项既待确认又已确认」矛盾)。 确认值同步记入config-register.md的「产品正式确认」列。
已确认决策
| 类别 | 确认项 | 分类 | 代码载体 / 备注 |
|---|---|---|---|
| 品牌 | 善缘丹阳品牌正式启用 | LOCKED | 品牌资源统一走 admin-web/src/brand.ts 的 BASE_URL 拼接 |
| 首页 | Banner 运营 + 8 个核心入口 + 固定顺序 | LOCKED | INV-017 顺序固定,运营不可重排;Banner 仅内部跳转(INV-016) |
| 数据保留 | 注销后用户数据保留不得低于 36 个月(2026-09-19 产品确认) | LOCKED | account.data-retention-months(默认 36);到期人工审核匿名化清除(V049 users.closed_at + DataRetentionService + account.retention.purge);隐私政策 §3.3 / PIA §8 已修订 |
| 服务站 | 万善公园婚姻登记处为固定阵地 | LOCKED | service_locations 种子数据 |
| 服务 | 婚恋咨询 + 婚前辅导进入 V1.1 首发 | LOCKED | counseling / premarital 模块 |
| 内容 | 婚恋课堂 + 婚恋反诈进入 V1.1 首发 | LOCKED | content 模块 |
| 活动 | 多类型公益活动 + 活动双向沟通确认进入 V1.1 首发 | LOCKED | 二阶段同意(INV-014/015) |
| 核心规则 | Required 不可放宽 / Mutual 后才 Chat / Block 优先 | LOCKED | 匹配/聊天不变量 |
| 推荐 | 每日 6 人 / Pass 冷却 180 天 | LOCKED | match.default-daily-limit=6、match.default-cooldown-days=180 |
| 资料 | 兴趣标签上限 8 个 / 自我介绍 500 字符 | LOCKED | 前端常量 + 后端校验 |
| 资料审核 | 实名认证后的个人资料任何变更都必须生成新版本并重新进入审核;新版本审核通过前不得正常展示、推荐或参与匹配 | LOCKED | V1.2 用户确认;实现为 profile revision + published revision,后端门禁优先于前端隐藏 |
| 隐私 | Privacy 默认全 TRUE | LOCKED | user_privacy_settings |
| 活动规则 | 需审核 / 男女名额独立配置 / 互选最大 3 人 / 截止后 48 小时 | LOCKED | activity 模块 |
| 关系状态 | searching / getting_to_know / paused / matched_successfully / service_exited | LOCKED | 关系状态枚举 |
| 推荐重置 | 每日 00:00 Asia/Shanghai | LOCKED | 时区统一 Asia/Shanghai |
| 红娘权限 | DEC-MATCHMAKER-001 红娘角色定位与权限边界(受授权、受范围限制的公益服务角色,非管理员/裁决者/风控) | LOCKED | 见下方「红娘角色权限专项」 |
| 红娘权限 | DEC-MATCHMAKER-002 / A1 服务对象由平台授权人员或红娘组长分配,普通红娘仅访问本人有效分配对象 | LOCKED | 见下方「红娘角色权限专项」 |
| 红娘权限 | DEC-MATCHMAKER-003 / B1 红娘联系用户默认平台内渠道,不默认开放电话/线下/完整联系方式 | LOCKED | 见下方「红娘角色权限专项」 |
| 红娘权限 | DEC-MATCHMAKER-004 红娘不得代替用户执行交友决策(Like/Pass/活动意向/开启聊天/修改择偶条件/同意公开资料) | LOCKED | 见下方「红娘角色权限专项」 |
| 红娘权限 | DEC-MATCHMAKER-005 红娘数据访问最小必要(角色权限∧有效分配∧范围∧字段隐私∧服务目的,五条件同时满足) | LOCKED | 见下方「红娘角色权限专项」 |
| 红娘权限 | DEC-MATCHMAKER-006 红娘操作全程留痕(分配/受限查看/授权/越权拒绝等审计事件 + 第八节字段要求) | LOCKED | 见下方「红娘角色权限专项」 |
| V1.2 账号登录 | 用户使用已核验手机号 + 密码登录 | LOCKED | 新账号和历史微信账号关联均须完成手机号核验;不再新增独立用户名登录主路径 |
| V1.2 初始凭据 | 系统生成一次性初始密码,由后台授权人员线下核验后发放 | LOCKED | 只存密码哈希;首次登录强制改密;发放失败进入人工补发队列 |
| V1.2 服务授权 | 两份授权书分别确认;拒绝任一份即不能进入匹配、展示及相关服务 | LOCKED | 授权书版本、确认人、时间和审计信息独立保存 |
| V1.2 历史账号 | 历史微信用户必须完成手机号核验后关联;重复或歧义账号不得自动合并 | LOCKED | 进入人工关联队列,禁止覆盖已有用户数据 |
| V1.2 重复资料 | 重复手机号或资料不得自动覆盖,进入人工处理队列 | LOCKED | 注册、后台建档和导入均执行同一规则 |
| V1.2 红娘分配 | 首版沿用人工分配;自动分配算法另行确认 | LOCKED | 无可用红娘时进入待分配队列,不阻塞用户注册 |
| V1.2 看板范围 | 看板按当前登录主体的数据权限计算 | LOCKED | 普通红娘=本人;组长=本组织;管理员=平台范围;详情查询不得扩大范围 |
| V1.2 组长权限 | 红娘组长仅管理本组织内红娘及用户 | LOCKED | 不得跨组织建档、导入、分配或调整关系 |
| V1.2 工作台权限冲突裁决(2026-10-25) | 普通红娘与红娘组长均可查看五类工作台业务卡片,并在本人/本组织范围内执行审核、业务待办分配、确认、完成;不得跨组织、查看敏感原始佐证/咨询备注或代替用户作出 Like/Pass 等意思表示 | LOCKED | V068/V069 的授权意图按最新需求保留;V070/V071 仅作为历史收敛迁移,不得覆盖本裁决;后续幂等迁移恢复最小权限 |
红娘角色权限专项(ZC-MM-001~007,2026-10-10 登记)
决策基准:《善缘丹阳 V1.1 红娘角色权限正式决策与开发规则》V1.1(A1/B1 均标记 LOCKED)。 实施全链路:审计先行 → A1 建模 → 数据范围/字段隐私 → B1/代操作护栏 → 审计与权限回收 → 本登记。
| 决策 | 实施摘要 | 落地提交 | 验证 |
|---|---|---|---|
| DEC-MATCHMAKER-001~006 差距审计 | 全仓只读走查(角色/分配建模/数据范围/联系方式/代操作/审计/测试/治理 9 项),产出 P0×5 / P1×6 / P2×6 差距清单 | 2d60f78(ZC-MM-001 审计报告) | — |
| DEC-MATCHMAKER-002 / A1 | matchmaker_assignments 五态状态机(V053 部分唯一索引防多主责 + 存量回填)、matchmaker_leader 角色 + matchmaker.team.assign(V054)、ServiceAssignmentPolicy 唯一判定器、claim 端点删除、/pending 权限收敛 |
861c78e(ZC-MM-002) | 定向 38/38、UI 24/24、小程序真编译通过 |
| DEC-MATCHMAKER-005 / §5.2 | 读侧纯判定器(删除 assigned_operator_id 回退)、非持有人 404 防探测、字段白名单 7 键 + showOccupation 接入、组长团队脱敏统计 | 3caf5f8(ZC-MM-005) | mvn verify 884/884、UI 契约 24/24、后端契约 198 |
| DEC-MATCHMAKER-003 / B1 | 纯护栏(零生产代码改动):MM-CONTACT-001~004 守卫锁定(无联系端点/无授权机制/零联系方式回显,含紧急联系人 write-only);受控联系机制 DEFERRED(见 OQ-MATCHMAKER-003) | 5e484d0(ZC-MM-003) | MatchmakerContactGuardTest(负向注入) |
| DEC-MATCHMAKER-004 | 代操作核查 + 锁定:红娘可调写端点逐一无代用户意思表示;operator 主体调用户决策端点认证层 403(SecurityConfig 身份类型防线);转介 must-confirm 语义测试锁死 | 5e484d0(ZC-MM-004) | MatchmakerActionGuardTest(负向注入) |
| DEC-MATCHMAKER-005/006 | V055 audit_logs 补 purpose_code/service_assignment_id/actor_role_snapshot/request_trace_id;JWT 权限实时查库回收(零缓存);SensitiveAccessLog 接入服务详情;写接口 404 化防探测统一 | 1be0d98(ZC-MM-006) | mvn verify 884/884、后端契约 198 |
| DEC-MATCHMAKER-003-B1 例外通道立项(2026-10-11 LOCKED→已实现) | 受控联系全链路:V056 matchmaker_contact_authorizations 六态状态机(申请→审批→用户单独同意[PIPL,独立端点/无预同意参数]→限时生效→撤销/过期)+ ContactAuthorizationPolicy/Service + 双控制器 + 前端三端(miniapp 同意页/工作台入口、admin-web 审批 tab);唯一披露出口 disclose 专用端点(enabled fail-safe + 404 化 deny + user_phone_disclosure 敏感审计 + phone 不落应用日志);守卫翻转五条(ReferralService 响应键白名单与无 @Scheduled 保留,其余从「锁不存在」改「锁新机制契约」);审批岗/有效期/保留期等全部 DEFAULT+CONFIG(config-register matchmaker.contact.* 五键,非 LOCKED 待终审) |
d3735e3 |
mvn verify 895/895、UI 契约 24/24、后端契约 228/CURATED 20、小程序真编译 87 WXML、守卫负向注入 5+2 |
专项验证汇总:mvn verify 全量 884/884、UI 契约 24/24、后端契约 198、守卫负向注入变异验证 7 处判红→还原(守卫有效性自证)。
明确「非」已确认(防止误登记,OQ 见 open-questions.md)
| 事项 | 正确定位 | 参见 |
|---|---|---|
| 照片上限 6 | 技术默认,未产品确认(OQ-PROFILE-001) | open-questions |
| 推荐阈值 60 | 技术默认,未产品确认(OQ-MATCH-001) | open-questions |
| 活体核验强制 | V1.1 首发不强制,Flag 默认关(OQ-IDENTITY-001) | open-questions |
| Banner 最大活跃数量 | 未定 + 代码未实现(OQ-BANNER-001,真缺口) | open-questions |
| 有效匹配报送口径 | PROVISIONAL,未产品裁决(OQ-ANALYTICS-001) | open-questions |
最后更新: 2026-10-23 — 登记 V1.2 Gate 0 账号生命周期、授权、资料发布、红娘分配和看板范围决策;此前已登记 V1.1 核心与红娘权限专项决策。