Commit Graph

11 Commits

Author SHA1 Message Date
lixi 39cf422f89 docs: ADR-023 M4 架构与关键决策成文 + ADR-018 视频后置标记取代 + 补仓内 .gitignore
CI / docs-build (push) Successful in 46s
ADR-023 收录 M4 全部跨角色决策(13 节),来源为开工分析八份报告与逐项
讨论拍板。要点:

- 范围:视频与图片同批交付,**取代 ADR-018 的「视频后置」**(该条已加
  supersede 标记,其余裁剪继续有效)。schema 侧本无障碍——目标模型自始
  按 media_kind IN ('image','video') 建模;成本集中在契约与客户端。
  供应商:视频 Seedance、图片 gpt-image-2;生产服务器无 GPU 故一律云 API。
- 服务划分:新建 Java 模块 patbond-creation(:8085) 持有队列与客户端端点;
  patbond-ai 为独立 Python 仓、只调服务商 API、不访问数据库。
- 队列:Postgres FOR UPDATE SKIP LOCKED + 租约,不引入 Redis/MQ
  (偏离 development-plan.md:205,判例同 ADR-002 移除 Nacos)。
- Java↔Python:统一异步、REST 非 gRPC、内部契约独立 openapi-internal.yaml
  不进快照锁、轮询为保证回调仅预留字段、服务端轮询节律与租约 TTL 约束。
  产物走 presignPut 直传——**据此更正开工报告的「服务端零对象写能力=缺失
  地基」推论**:缺 putObject 是事实,但服务端需要的是签发上传凭证,
  presignPut/presignGet 早已存在;附带使 Python 零对象存储凭证。
- 鉴权:服务身份 JWT 独立密钥对,禁止转发用户 token。事实依据:现有
  JwtVerifier 仅验签名、不校验 aud/iss,且用户 token 无 aud claim,
  复用密钥对会使四个模块把服务票当合法用户 token 接受。
- 数据模型:V6 两处偏离(input_asset_id 可空、新增 first_attempt_at)
  逐条记录原因;V7 目录种子待官方文档,不编造取值。
- 对象存储:**决策挂起,现有本地实现一行不动**。已核实 media.assets 的
  storage_type IN ('object','external') 使两种存储可共存、渐进迁移,
  任一选择均无需 DDL;另登记「六容器栈当前仅在开发机运行」与「MinIO 9000
  对真机不可达」两项上线前置。
- 埋点:eventVersion 定型为每事件 props schema 版本 + bump 规则;服务端
  指标以 generation_jobs 为权威不建第二管道;毒丸批次放大器须修;
  A/B 前置重置 5 绿 3 半、首个实验为 A/A;北极星改事件驱动触发条件。
- 契约 v1.5.0 纯增量、429 拆两码、AI 来源须由服务端从 generation_job_id
  派生(不得由客户端声明或由 purpose 推断,否则可被任意图片伪造)。
- 客户端:自适应轮询非 SSE、超时按 media_kind 由服务端下发、不承诺推送、
  不押注百分比进度、第六个 UI 态僵死/超时。
- 遗留:widthPx/heightPx 两侧同批必修、SegmentedButton 降 P2(实测
  7.19:1 达标)、收藏与草稿两页搭车、草稿类目静默降级须与放开写侧同提交修。
- 门禁:必需上下文已改 (pull_request) 并复核生效;patbond-ai 纳入发布语义。
- 版本号:v0.5.0。

另补本仓 .gitignore:site/ 此前仅靠机器级 ~/.gitignore_global 屏蔽,
换机器或进 CI 时一次 git add -A 会提交上百个构建产物(ADR-023 §12)。

验证:secret-scan exit 0;mkdocs build --strict exit 0。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-18 16:43:49 +08:00
lixi 6e1ab8ebf1 docs(architecture): ADR-022 M3.5 范围与关键决策拍板
CI / docs-build (push) Failing after 2s
首页 demo 仅做问候语、昵称允许重名、注册不加昵称输入、宠物头像 WRITE 档、
本迭代零迁移(列均已存在 + purpose 白名单是配置项)、获赞走读侧聚合新端点;
交付按 v0.4.0 发布。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-11 09:30:44 +08:00
lixi b3a4efd7e0 docs(architecture): 模块速览同步第一波终态——六容器/media 职责/pet 收官状态
CI / docs-build (push) Successful in 28s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-09 09:33:30 +08:00
lixi f17e6f1215 docs: M3 第一波收口——报告 09~14 与契约草案入档挂导航
CI / docs-build (push) Successful in 34s
- 09 V5+community 骨架(191→206)、10 埋点队列三项(272→286)、
  11 契约草案(13 路径/19 操作)、12 防泄漏三仓落地、
  13 media MinIO 闭环 + auth 契约测试(→226,抓修 1 漂移)、14 收口总表
- backend-modules.md 更新五模块/六容器口径
- 媒体凭据形态已定型(契约冻结输入),剩余待定型点在 T3-04/05

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-08 17:13:49 +08:00
lixi d2867826d3 docs: M3 开工分析 8 份报告入档 + ADR-016~021 拍板决策
CI / docs-build (push) Successful in 55s
- 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>
2026-09-08 16:02:53 +08:00
lixi 5de9f397cb docs(architecture): 新增后端模块结构与职责速览页
CI / docs-build (push) Successful in 33s
四模块(common/auth/user/pet)职责、端口、单迁移链纪律、
演进方向(微服务化/M5 FK 补回/media 域)一页速览,
挂「架构」导航首位,作为后端结构唯一权威入口。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-07 17:25:55 +08:00
lixi 1891d9b7b4 docs: M2 开工前分析 10 份报告入档 + ADR-009~015 拍板决策
CI / docs-build (push) Successful in 1m3s
- iteration-2 报告 01-08(PM 拆解/后端/Flutter 评估/现实核查/UI 规范/埋点规划/证据基线/Git 规划),04、06 已由正式角色复核定稿
- mkdocs 挂「第二迭代」导航,build --strict 通过
- ADR-009 新建 patbond-pet 模块、ADR-010 照片剪出 M2、ADR-011 dev 主干/master 发布、ADR-012 北极星与 H1-H4、ADR-013 废弃 health_record_action、ADR-014 DEBT-1 随 M2、ADR-015 照护人邀请后置

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-07 13:54:35 +08:00
lixi 18746ce6fc docs: 增加 ADR-008 将 PostgreSQL 版本基线定为 18
- 零数据窗口期定版:与本机开发库 18.6 对齐,Testcontainers/编排/交付统一 postgres:18
- 切换当日 37 测试于 postgres:18 全绿,Flyway V1 兼容
- 同步开发计划 5.1/M0/CI 门禁与进展看板的版本表述
- 门禁:mkdocs build --strict 通过
2026-09-04 11:33:58 +08:00
lixi b747e09af8 docs: 增加 ADR-007 部署形态决策
- 容器化无状态应用 + MVP 用 compose 数据库挂 volume 加每日备份,规模化后迁云托管数据库
- 连接信息经环境变量注入,保证换库应用层零改动
- 门禁:mkdocs build --strict 通过
2026-09-04 11:30:18 +08:00
lixi 209021e7d2 docs: 迁入第一迭代过程报告并建立进展看板
- 新增 development/iterations/iteration-1/:15 份角色报告 + 进展看板(已完成/未闭环/下一步),作为双人协作的进度事实来源
- 新增 ADR-006:测试与交付容器化策略(Testcontainers / 交付 Docker 包 / 本机库仅个人联调)
- Git 工作流规范补充:敏感信息只进忽略文件或 sample、测试数据不入库、测试代码限标准测试目录
- 门禁:mkdocs build --strict 通过(零警告)
2026-09-04 10:45:05 +08:00
lixi ca8cb72554 完善开发文档 2026-09-03 18:00:52 +08:00