首页 demo 仅做问候语、昵称允许重名、注册不加昵称输入、宠物头像 WRITE 档、 本迭代零迁移(列均已存在 + purpose 白名单是配置项)、获赞走读侧聚合新端点; 交付按 v0.4.0 发布。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -180,3 +180,16 @@
|
||||
- M3 末执行首次 dev→main 发布(8 步 checklist 见 iteration-3/08);patbond-api 远端 main 与 dev 历史不相干,届时经 Gitea 平台删除重建 main,禁止 force push 缝合。
|
||||
- 对象存储凭证(MinIO AK/SK)防泄漏:CI 兜底 grep 在第一波、**先于凭证进开发机**落地。
|
||||
- E2E 烟囱不进 push 门禁,保持波次手动 + 可选 workflow_dispatch。
|
||||
|
||||
## ADR-022 M3.5 体验补齐的范围与关键决策
|
||||
|
||||
**决策**(2026-09-10,用户实测反馈后拍板):
|
||||
|
||||
- **首页 demo 裁剪范围**:本迭代**仅做问候语真实化**(改用真实昵称)。天气与位置(需接外部服务,含 key 与配额管理)、圈子入口(实为话题,ADR-018 已剪出)、促销卡(属 M5 服务域)三项**留待对应里程碑**;保留期间须在代码注释与迭代报告显式标注为「刻意保留的 demo 占位」,避免后续实测重复反馈。
|
||||
- **昵称不设唯一约束**:`identity.users.nickname` 维持现状(仅 `ck_users_nickname` 的 btrim + 1~32 长度校验),**允许重名**,靠 userId 区分(社区产品常规做法)。加唯一约束需迁移,且会破坏本迭代零迁移前提。
|
||||
- **注册流程不加昵称输入**:沿 ADR-004 的最小注册面,注册仍只收用户名/手机号/密码;昵称在资料页设置,未设置时展示层回退 username(回退逻辑已在 `/internal/users/profiles` 的 SQL 层实现,M3 T3-05 交付)。
|
||||
- **宠物头像的写权限为 WRITE 档**(owner + caregiver 均可改,ADR-015 三档权限模型下):头像属日常照护信息,与体重/疫苗记录同档;viewer 只读。
|
||||
- **本迭代零 Flyway 迁移**:开工审计确认所需列均已存在——`identity.users.nickname` 与 `avatar_asset_id`(V1)、`pet_health.pets.avatar_asset_id`(V3)、`community.posts.like_count` 等冗余列(V5);`media.assets.purpose` 无 CHECK 约束、白名单为配置项 `MediaProperties.allowedPurposes`,新增 `user_avatar`/`pet_avatar` 只改配置与契约枚举。下一个 Flyway 版本号 V6 留给后续真正需要建表的迭代。
|
||||
- **获赞总数走读侧实时聚合**(`SUM(like_count)` over 本人未删帖),**不引入新冗余列**:写侧维护成本高于读侧聚合收益,且数据量级远未到瓶颈。端点为新增的 `GET /api/v1/me/community-stats`,不并入既有 `follow-stats`(后者主体是「某用户的关注数」,混入「我的获赞」会造成主体歧义)。
|
||||
|
||||
**版本号**:本迭代交付按 **v0.4.0** 发布(新增端点与字段属功能增量,非纯补丁)。
|
||||
|
||||
Reference in New Issue
Block a user