b81c050e03
CI / docs-build (push) Successful in 58s
- 22~26 Flutter 接入五单报告(T2-11~14 + 白名单扩充,flutter 测试 64→272) - 27 第三波收口总表:demo 数据消亡、四态纪律、埋点端到端贯通、DEBT-1 偿还 - 三次 compose 实测无契约偏差;波内 agent 中断续跑事故记录在案 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
63 lines
3.9 KiB
Markdown
63 lines
3.9 KiB
Markdown
# M2 第三波收口报告:Flutter 页面接入完成
|
||
|
||
**执行日期**:2026-09-08
|
||
**参与方**:Frontend Developer × 4 批次 / Senior Developer(后端白名单)/ 主会话协调
|
||
**交付形态**:冻结契约下宠物健康档案全页面族接入真实后端,demo 数据消亡
|
||
|
||
---
|
||
|
||
## 0. 执行概要
|
||
|
||
第三波目标:冻结契约(v1.2.0)下 Flutter 页面接入(T2-11~14)+ 埋点挂接(T2-17)。
|
||
|
||
**结果:全部完成。** patbond-flutter 测试 64 → **272** 全绿,patbond-api 追加白名单扩充(182→191)。档案 Tab 从 demo 数据全面切换到真实后端,四态齐备,三次 compose 实测均无契约偏差。
|
||
|
||
| 工单 | 交付 | 提交(flutter dev) | 测试增量 |
|
||
|------|------|------|------|
|
||
| T2-11 数据层 | DTO/Client/Repository 18 操作全覆盖 + 8 新错误码类型化 | 7fb9031 | 64→126 |
|
||
| T2-12 宠物页面 | 列表/详情/表单四态 + DEBT-1 偿还 + pet 域埋点 | 3179528/c0a8a56/97a1f46 | 126→177 |
|
||
| T2-13 体重疫苗 | 记录页 + 表单 + summary 接数替换 demo | 5b34fa3/c91f18a | 177→224 |
|
||
| T2-14 时间线提醒 | 六类事件 + 四类提醒 + 月度花费 + T2-13 遗留 | e186ba3/ba50332 | 224→272 |
|
||
| T2-17 后端半边 | EventDictionary 白名单 +10 事件(api dev@64c9b72) | — | 182→191 |
|
||
|
||
## 1. 里程碑意义
|
||
|
||
- **demo 数据在档案域消亡**:AppState 的宠物/疫苗 demo 及其持久化全部删除,体重/疫苗进度/下一针/月度花费全部改为服务端事实字段实时聚合(summary 接口),不持久化展示字符串的红线两端贯通
|
||
- **四态纪律建立**:所有网络页面 loading/empty/error+retry/ready 四态齐备且有 widget 测试,含 cursor 分页的加载更多/翻页失败保留重试交互
|
||
- **埋点端到端贯通**:字典 v2 的 13 个事件(pet 域 3 + health_record 域 6 + page_viewed 正稿)客户端挂接 + 后端白名单承接;deleted 事件因 M2 无删除端点合理留白
|
||
- **DEBT-1 正式偿还**:TagPill 深变体映射四组全达 WCAG AA,既有调用零参数回归;PetAvatar/RecordTypeDot/EmptyStateIllustration 三组件按 05 号规范落位
|
||
- **冲突体验闭环**:40902 乐观锁冲突自动取新 version 重提(测试锁定提交序列),40903/40904/42201/42202 字段级/横幅分层提示
|
||
|
||
## 2. 实测证据(三次 compose 全链路)
|
||
|
||
- T2-12:空态→品种目录→建档→列表→详情→差量编辑→40902→40903→自定义品种,无契约偏差
|
||
- T2-13(跨设备验收):建档记体重登疫苗后同账号全新会话全量可见;第二账号四路访问均 40401 防枚举;summary 三聚合逐项核对无偏差
|
||
- T2-14:11 步实测(事件分页/PATCH/40902、提醒状态机 42202 三路、tz 双口径、疫苗补录、第二账号 40401)全部符合契约
|
||
|
||
每次实测后 compose down,patbond-api 代码零改动。
|
||
|
||
## 3. 波内事故记录
|
||
|
||
T2-13 agent 首跑因平台 API 错误中途终止(仅留 2 个早期文件),经上下文续跑无损完成——半成品检查 + 断点续作模式有效。
|
||
|
||
## 4. 遗留(第四波/后续)
|
||
|
||
1. health_record_deleted 事件(待删除端点,非 M2 范围)
|
||
2. 提醒完成/忽略不埋点(06 号 §7 既定取舍)
|
||
3. T2-12 报告 §8 三项交互待拍板:单宠直进/切换器、归档入口(listPets 过滤语义)、sterilizedOn 表单编辑
|
||
4. 真机联调补验(第一波方案 A 挂起项)
|
||
5. auth 域契约测试补齐(机制可复用,另立工单)
|
||
|
||
## 5. 三仓状态(收口时点)
|
||
|
||
| 仓库 | HEAD | 测试 |
|
||
|------|------|------|
|
||
| patbond-api | dev@64c9b72 | 191/191 |
|
||
| patbond-flutter | dev@ba50332 | 272/272 |
|
||
| patbond-doc | 本收口提交 | strict 通过 |
|
||
|
||
## 6. 下一步:第四波收官
|
||
|
||
- **T2-18 E2E 烟囱**:compose 起后端→登录→建档→记体重→登记疫苗→记事件→摘要核对→第二账号被拒→跨设备读取,收集脱敏证据(需用户配合联调;真机若到位一并补第一波挂起项)
|
||
- **T2-19 文档收口**:OpenAPI 定稿归档、feature-checklist 增补 M2、任务板更新、收官总结
|