- iteration-3 报告 01-08(PM 拆解/后端/Flutter/RC 首个 CERTIFIED/UI/埋点/证据基线/Git) - ADR-016 自托管 MinIO 起步预留迁云(用户确认现无云存储)、ADR-017 patbond-community :8084 + media 归 user + 作者信息跨 schema 只读、ADR-018 范围裁剪(话题剪出/单层评论)、 ADR-019 幂等按域(PUT/DELETE + request_hash)、ADR-020 聚合 feed_viewed/字典 v3/ 北极星不变/队列三项升第一波、ADR-021 Git 修订(main 更正/PR 情形触发/首发布重建 main/ 防泄漏 grep 先行) - mkdocs 挂「第三迭代」导航,build --strict 通过 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -142,3 +142,41 @@
|
||||
## ADR-015 照护人邀请流程后置出 M2
|
||||
|
||||
**决策**(2026-09-07):owner/caregiver/viewer 权限模型与校验进入 M2,但照护人邀请/绑定流程后置到后续迭代;M2 权限校验以测试数据覆盖三角色场景验证。
|
||||
|
||||
## ADR-016 对象存储:自托管 MinIO 起步,预留迁云
|
||||
|
||||
**决策**(2026-09-08):M3 媒体存储采用**自托管 MinIO**(部署在现有腾讯云服务器,随 compose 编排),S3 兼容 API + 预签名直传;代码经存储适配层隔离供应商,本地开发与 Testcontainers 用同一 MinIO 镜像,三环境零分叉。
|
||||
|
||||
**背景**:现有腾讯云服务器仅含本地盘、未购对象存储(用户确认);后端评估(iteration-3/02)指出 Feed 图片下行将受限于单机公网带宽——此约束**接受为当前限制**并作为迁移触发条件:当图片下行带宽成为可感知瓶颈或预算允许时,迁移至云对象存储(COS 类,S3 API 兼容、适配层保证仅换配置与凭证)。本地磁盘直存方案违反 ADR-007 无状态容器纪律,排除。
|
||||
|
||||
## ADR-017 社区模块归属与作者信息取数
|
||||
|
||||
**决策**(2026-09-08):
|
||||
- 社区域新建 Maven 模块 `patbond-community`(:8084),沿 ADR-009 先例(新模块 + 共库 + patbond-user 单迁移链)。
|
||||
- media 上传流程实现在 `patbond-user`(横切基础能力、与 V1 media schema 同源,避免业务模块被反向依赖)。
|
||||
- Feed/评论的作者公开信息(昵称/头像)由 community 模块**跨 schema 只读** identity 域取数(同库零网络开销);微服务化拆库时改为内部批量接口,与单迁移链同一演进逻辑。
|
||||
|
||||
## ADR-018 M3 范围裁剪
|
||||
|
||||
**决策**(2026-09-08):M3 MVP = 图片媒体上传闭环 + 帖子草稿/发布/删除 + 公共 Feed 游标分页 + 单层评论 + 点赞/收藏幂等 + Flutter 三页(home/create/post_detail)替换 demo 与乐观更新回滚。关注做最小数据接口(follow/unfollow + 数量);**话题首版剪出**;评论仅单层不做楼中楼。视频后置。
|
||||
|
||||
## ADR-019 写接口幂等形态按域选择
|
||||
|
||||
**决策**(2026-09-08):二元状态互动(点赞/收藏/关注)用 **PUT/DELETE 语义幂等**(重复调用同终态,无键管理);创建型写入(发帖/评论/媒体登记)用**表内幂等列(request_hash)**。M2 的 Idempotency-Key 键派生机制在 pets 域维持不变,不回改。
|
||||
|
||||
## ADR-020 M3 埋点与实验决策
|
||||
|
||||
**决策**(2026-09-08):
|
||||
- Feed 曝光采用**聚合 `feed_viewed`**(浏览段聚合),否决逐卡曝光(量级测算 7~14 个月击穿分区阈值且接收端无限流背压,见 iteration-3/06);逐帖曝光留 backlog 待 M4+ 排序实验走服务端日志。
|
||||
- 事件字典 v3 增量 19 事件 + `experiment_exposed` 提前进字典(A/B 前置 #5 顺带变绿)。
|
||||
- 北极星保持「7 日回访记录率」不变,复评点 = M3 收官 + H7 读数。
|
||||
- 埋点队列三项遗留(30s 定时冲刷、上传退避、anonymousId 持久化)升为 M3 第一波必做。
|
||||
|
||||
## ADR-021 Git 工作流修订(修订 ADR-011)
|
||||
|
||||
**决策**(2026-09-08):
|
||||
- ADR-011 中「master」统一更正为 **main**(远端实际分支名;master 从未存在于远端)。
|
||||
- PR 触发条件由「改动类别」改为「情形」:仅**两人并行同仓期间**与**首次发布后影响 main 的变更**强制走 PR;其余直推 dev + CI 绿(M2 全程直推零风险事件的机制归因见 iteration-3/08)。
|
||||
- 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。
|
||||
|
||||
Reference in New Issue
Block a user