Files
danyang-match/docs/PENDING_DECISIONS.md
T
WorkBuddy 21275ef770
CI/CD Pipeline / Backend Build & Test (push) Canceled after 0s
CI/CD Pipeline / Admin Web Build (push) Canceled after 0s
CI/CD Pipeline / Mini Program Compile Check (push) Canceled after 0s
CI/CD Pipeline / Test Shell Guard (Phase 23 Gate) (push) Canceled after 0s
CI/CD Pipeline / UI Contracts (source-structure gates) (push) Canceled after 0s
CI/CD Pipeline / Migration Validation (push) Canceled after 0s
CI/CD Pipeline / E2E (live stack) (push) Canceled after 0s
docs(governance): 受控联系立项治理登记(OQ-003 转 IN_PROGRESS / OQ-009~010 新增 / DEC-MATCHMAKER-003-B1 落账)
- config-register.md: matchmaker.contact.* 五 canonical key 登记(enabled fail-safe 缺省 false / approver-authorities 双岗并列 / consent-deadline-hours 72 / default-validity-days 7 / retention-days 365,均 DEFAULT+CONFIG 非 LOCKED 待产品+法务终审)
- open-questions.md: OQ-MATCHMAKER-003 DEFERRED→IN_PROGRESS(V056 立项实现,双守卫翻转,5 项 LEGAL_VERIFY 逐项标注当前实现态与默认配置键);新增 OQ-MATCHMAKER-009(审批双岗并列待收敛,OPEN)与 OQ-MATCHMAKER-010(enabled=false 行为用例待补,QA P2-2)
- PENDING_DECISIONS.md: 受控联系行更新为已立项实现(DEC-MATCHMAKER-003-B1,V056,提交 d3735e3);剩余决策=双岗收敛+LEGAL_VERIFY 终审
- decision-register.md: DEC-MATCHMAKER-003-B1(2026-10-11 LOCKED→已实现)登记,验证数字 mvn verify 895/895、UI 24/24、后端契约 228/CURATED 20、真编译 87 WXML、负向注入 5+2
2026-10-11 13:11:52 +08:00

151 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 待确认决策项 — PENDING_DECISIONS.md
> 以下参数尚未由产品负责人确认。已确认项请参见已确认列表。
>
> **治理结构(V1.0.1 配置与规则纠偏,2026-09-20)**:本文件不再同时承担「已确认决策 / 技术默认值 / 待确认事项」。
> 已拆分到 `docs/governance/`:**配置登记表** `config-register.md`(canonical 键 + 分类 + 是否产品确认)、
> **开放问题** `open-questions.md`(OQ-*,待产品裁决)、**决策登记表** `decision-register.md`(仅已确认项)。
> 本文件保留历史待确认区与「已确认列表」,并与上述三表互链;**矛盾以 governance 三表为准**。
---
## V1.1 新增待确认事项
### 人脸核验
| 决策项 | 选项 | 状态 |
|--------|------|------|
| 人脸核验是否V1.1首发强制 | 否(Feature Flag 控制,`identity.liveness.enabled` 默认 `false`) | ⏳ 待确认(CONFIG/TBD,**非 V1 强制**;本轮已接 `IdentityPolicy` 真实业务判定点,见 config-register / OQ-IDENTITY-001) |
| 人脸核验 Provider | 待定(`identity.liveness.provider` 默认 `none`) | ⏳ 待确认(选型未定,见 OQ-IDENTITY-001) |
### 本地资格
| 决策项 | 选项 | 状态 |
|--------|------|------|
| 本地资格佐证触发策略 | 全部用户 / 按需触发 / 特定场景 | ⏳ 待确认 |
| 本地资格文件保留期限 | 待定(需合规审核) | ⏳ 待确认 |
### 婚恋咨询
| 决策项 | 选项 | 状态 |
|--------|------|------|
| 咨询服务人员实际资质要求 | 待定 | ⏳ 待确认 |
| 服务预约时段规则 | 待定 | ⏳ 待确认 |
| 是否支持电话预约方式 | FALSE(已确认) | ✅ 已完成 |
### 服务站
| 决策项 | 选项 | 状态 |
|--------|------|------|
| 服务站正式开放时间 | 待定 | ⏳ 待确认 |
### Banner/推荐
| 决策项 | 技术默认值 | 状态 |
|--------|-----------|------|
| Banner最大活跃数量 | 待定(**真缺口**:代码无此限制,仅 seed 死值 5) | ⏳ 待确认(OQ-BANNER-001,需产品定值后实现 active-count 校验) |
| 推荐每日数量 | 6人 | ✅ 已完成(LOCKED,`match.default-daily-limit`) |
| 推荐阈值/最终权重 | **技术默认 60,未产品确认**(`matching.recommendation.minScore`,可配置 + V050 阈值快照) | ⏳ 待确认(OQ-MATCH-001;消解本文 :「阈值60分已确认」矛盾 —— 60 只是默认值) |
| Pass冷却时间 | 180天 | ✅ 已完成(LOCKED,`match.default-cooldown-days`) |
| 照片上限 | **技术默认 6,未产品确认**(`profile.photo.maxCount`,已配置化 + 服务器端强校验) | ⏳ 待确认(OQ-PROFILE-001;原标「✅ 已确认 6」有误,6 非产品正式确认值) |
### 数据统计
| 决策项 | 选项 | 状态 |
|--------|------|------|
| 有效交友匹配正式报送口径 | 待定(建议:Mutual Match + Two-Way Chat) | ⏳ 待确认 |
### 申诉
| 决策项 | 选项 | 状态 |
|--------|------|------|
| 申诉是否V1.1首发 | 否(Feature Flag 预留) | ✅ 已完成 |
### 红娘角色权限(ZC-MM-001~007,2026-10-10 回写)
> 正式决策与开发规则见《善缘丹阳 V1.1 红娘角色权限正式决策与开发规则》V1.1;
> 治理登记以 `docs/governance/decision-register.md`「红娘角色权限专项」与 `open-questions.md` OQ-MATCHMAKER-003~008 为准。
| 决策项 | 确认值 | 状态 |
|--------|--------|------|
| DEC-MATCHMAKER-001 红娘角色定位与权限边界 | 受授权、受范围限制的公益服务角色 | ✅ 已完成(LOCKED;落地 2d60f78 审计 → 861c78e/3caf5f8/5e484d0/1be0d98 全链路) |
| DEC-MATCHMAKER-002 / A1 服务对象分配 | 平台授权人员或红娘组长分配;普通红娘仅访问本人有效分配对象;禁止认领 | ✅ 已完成(LOCKED;V053/V054 + ServiceAssignmentPolicy,861c78e) |
| DEC-MATCHMAKER-003 / B1 联系用户渠道 | 默认平台内渠道;电话/线下不默认开放 | ✅ 已完成(LOCKED;守卫锁定 5e484d0;开放前置确认见 OQ-MATCHMAKER-003【LEGAL_VERIFY】) |
| DEC-MATCHMAKER-004 不得代替用户决定 | Like/Pass/活动意向/开启聊天等用户本人操作 | ✅ 已完成(LOCKED;5e484d0 锁定) |
| DEC-MATCHMAKER-005 数据最小必要 | RBAC + 数据范围 + 字段隐私 + 服务授权 | ✅ 已完成(LOCKED;3caf5f8 + 1be0d98) |
| DEC-MATCHMAKER-006 全程留痕 | 分配/受限查看/越权拒绝等审计 + 第八节字段 | ✅ 已完成(LOCKED;V055 + 1be0d98) |
| 受控联系(电话/线下)授权机制 | **已立项实现**(DEC-MATCHMAKER-003 B1 例外通道,V056,提交 d3735e3,QA PASS 0 P0/P1):申请(须持有效分配)→ 审批(双岗 DEFAULT+CONFIG)→ **用户单独同意**(PIPL 单独同意动作:独立端点、无预同意参数、守卫三端锁定)→ 限时生效(默认 7 天)→ 撤销/过期全链路上线;唯一披露出口专用 disclose 端点(enabled fail-safe + 404 化 deny + user_phone_disclosure 敏感审计 + phone 不落日志) | ⏳ 剩余决策:双岗收敛(OQ-MATCHMAKER-009)+ 5 项 LEGAL_VERIFY 终审(OQ-MATCHMAKER-003);参数均 DEFAULT+CONFIG,终审后改配置生效 |
| C 端死代码退役 3 项 | MatchmakerServiceService.getCandidates / cancelService / getRecommendationsForUser(grep 全仓零调用已核,2026-10-10) | ⏳ 待产品确认:是否批准专项治理批次执行(与 ZC-MM-006 G6 评估清单合并为一个退役 PR,不混入功能提交) |
---
## 已确认决策列表(不得再放 Pending)
以下事项已由产品负责人确认,进入正式开发基线:
| 类别 | 确认项 |
|------|--------|
| 品牌 | 善缘丹阳品牌正式启用 |
| 红娘权限 | DEC-MATCHMAKER-001~006 全部 LOCKED(A1 服务对象分配 / B1 平台内联系 / 不得代用户决定 / 数据最小必要 / 全程留痕;详见 decision-register「红娘角色权限专项」与 open-questions OQ-MATCHMAKER-003~008) |
| 首页 | Banner运营 + 8个核心入口 + 固定顺序 |
| 数据保留 | **注销后用户数据保留不得低于 36 个月**(2026-09-19 产品确认;到期后经人工审核匿名化清除;保留期配置化 `account.data-retention-months`,默认 36;已落地 V049 `users.closed_at` + `DataRetentionService` + `account.retention.purge` 权限。隐私政策 §3.3 与 PIA §8 原文「30 天内删除」已同步修订) |
| 服务站 | 万善公园婚姻登记处为固定阵地 |
| 服务 | 婚恋咨询 + 婚前辅导进入V1.1首发 |
| 内容 | 婚恋课堂 + 婚恋反诈进入V1.1首发 |
| 活动 | 多类型公益活动 + 活动双向沟通确认进入V1.1首发 |
| 核心规则 | Required不可放宽 / Mutual后才Chat / Block优先 |
| 推荐 | 每日6人(LOCKED)/ Pass冷却180天(LOCKED);**阈值60分仅为技术默认值,未产品确认**(OQ-MATCH-001) |
| 资料 | 兴趣标签上限8个 / 自我介绍500字符(LOCKED);**照片上限6张仅为技术默认值,未产品确认**(OQ-PROFILE-001) |
| 隐私 | Privacy默认全TRUE |
| 活动规则 | 需审核 / 男女名额独立配置 / 互选最大3人 / 截止后48小时 |
| 关系状态 | searching/getting_to_know/paused/matched_successfully/service_exited |
| 推荐重置 | 每日00:00 Asia/Shanghai |
---
*最后更新: 2026-09-09 — V1.1 基线阶段,共 13 项待确认,已确认 16 项*
---
## V1.1 历史部署声明(复验处置结果,2026-09-18 回写)
以下记录只说明相关代码、配置或迁移曾被创建。重新审查曾发现部分声明与实际运行不一致,故在对应 Phase 重新通过前不得称为“已上线”。
> **2026-09-18 文档治理**:按各 Phase Recovery 报告的实测证据回写处置结果 ——「待 Phase XX 复验」不得长期停留为悬空状态。
| 决策项 | 确认值 | 处置结果(2026-09-18 回写) |
|--------|--------|------|
| 首页8核心入口固定顺序 | 找对象/公益红娘/公益活动/婚恋咨询/婚恋课堂/婚前辅导/婚恋反诈/善缘服务站 | ✅ 已关闭(Phase 07 业务复验 2026-09-13;UI 首批 11 页 2026-09-16 通过用户验收) |
| Banner仅内部跳转 | target_type CHECK约束已生效 | ✅ 已关闭(Phase 19 复验 2026-09-17;外链校验 + 软删过滤已修) |
| 活动互选二阶段同意 | 互选→双方确认→Match/Conversation | ✅ 已关闭(Phase 16 复验 2026-09-17;**原「双确认后根本不建 Match/会话」Gate 缺陷已修**) |
| Counselor只能访问Assigned Service | Assigned DataScope | ✅ 已关闭(Phase 13A 复验 2026-09-17;INV-012 守卫 + 权限矩阵守卫) |
| ContentEditor零用户数据权限 | 默认无user.view权限 | ✅ 已关闭(权限矩阵守卫由硬编码改为**扫描全部迁移**,消除后续迁移权限变更隐形) |
| ServiceStationOperator数据范围 | 仅服务站相关操作 | ✅ 已关闭(Phase 19 复验 2026-09-17;**原类级 `view` 兜底致越权写已修**,权限下沉方法级并纳入覆盖守卫) |
| 本地资格与实名认证分离 | 独立表、独立流程 | ✅ 已关闭(Phase 04/05 复验 2026-09-12) |
| 运营商密码登录 | 凭证由本地环境变量或安全 Seed 提供 | ✅ 纪律项(非待办):不在文档保存密码,继续由环境变量/安全 Seed 提供 |
| Feature Flags灰度控制 | 配置项存在 | ⚠️ **部分关闭**(Phase 22 复验 2026-09-18):`FeatureFlagController` 的 2 处真实缺陷已修;但 **T01~T05 与 T07 为「死配置」——配置暴露但从未被业务读取**,已如实降级登记,交各模块 Phase 处理 |
| V1.1仪表盘 | 统计接口存在 | ✅ 已关闭(Phase 20 复验 2026-09-17;**D12 口径造假/死代码/系统性软删过滤修复 45 处**) |
---
## 第三方开放 / 平台化遗留待决策项(2026-09-18 补登)
> 来源:`docs/HTTP语义检修报告-2026-09-18.md` 第六节「遗留:真正开放第三方还需要什么」+
> `docs/幂等键检修报告-2026-09-18.md` 第七节「遗留与需要留意」。
> 均属**范围扩张**,需产品决策 —— 本轮及此前检修均**未擅自实施**。
| 决策项 | 现状(已就位部分) | 待确认 |
|---|---|---|
| 第三方凭据机制 | 目前只有微信登录与运营账号登录;第三方**无标准途径获取 token** | 是否定义 API Key / OAuth Client Credentials,及其**权限范围与配额** |
| 限流是否真实生效 | `RATE_LIMITED` 业务码与 429 映射已就位 | 限流本身**是否启用、阈值多少**(本轮未验证) |
| OpenAPI 文档对外发布 | `OpenApiConfig` 已存在 | 是否对外开放、**开放哪些端点** |
| `POST /activities/{id}/interests` 语义 | `API_INVENTORY` 曾承诺、后端**从未实现**;已更正文档并删除指向 404 的前端死代码 | 该端点**是否需要在 V1.1 内真正实现**(涉及活动意向的产品语义) |
| 第三方调用审计与配额计量 | 内部角色的敏感访问审计已就位(Phase 17) | 第三方需**独立的调用审计与配额计量** |
| 敏感字段脱敏边界(第三方场景) | INV-011 等约束面向内部角色 | 第三方场景需**重新界定**脱敏边界 |
| 幂等键 TTL 语义 | `idempotency_records` 有 TTL(默认 86400s)+ `idx_idempotency_expires` 清理扫描 | 需知悉:**清理后同一把键会被当作新操作** —— 幂等保证的是「短时间内不重复」,**不是「永久去重」**(永久去重仍由业务层唯一约束承担)。若开放第三方,需决定**键的 TTL 是否按调用方分级** |
---
*最后更新: 2026-10-11 — 受控联系行更新为「已立项实现」(DEC-MATCHMAKER-003-B1,V056,提交 d3735e3,QA PASS 0 P0/P1;验证 mvn verify 895/895 / UI 24/24 / 后端契约 228/CURATED 20 / 真编译 87 WXML / 负向注入 5+2);剩余决策 = OQ-MATCHMAKER-009 双岗收敛 + OQ-MATCHMAKER-003 的 5 项 LEGAL_VERIFY 终审。此前:2026-10-10 红娘角色权限专项回写(DEC-MATCHMAKER-001~006 全部 LOCKED 已落地,ZC-MM-001~007 全链路);2026-09-20 V1.0.1 配置与规则纠偏(消解「推荐阈值 60 已确认 / 待定」矛盾等)。*