D1/D2 实测定案(本次亲自跑,非转述): - api 测试 = **381**:surefire 分模块 auth 40 + common 3 + community 107 + pet 100 + user 131 = 381,零失败零错误零跳过。iteration-4/04 给的 分解精确吻合;iteration-4/01「379 是 surefire 数、381 是注解数」两头 都不对——注解(@Test + @ParameterizedTest)实为 389。故 379 单纯是 releases.md 与 feature-checklist.md 的过期数字。 - 白名单 = **41**:EventDictionary.java `:42` 单个 WHITELIST map 内恰 41 个 Map.entry((另两处 WHITELIST 为读取用法)。原「community 域 19 + experiment_exposed = 42」把 experiment_exposed 重复计了一次。 - E2E 断言机械可数 = **226**:M2 42 + M3 84 + M3.5 84 = 210 个 check(, 加 M1 16 个 ✗。原记 234 无可复核来源,停止引用;已查到循环体内确有 断言(M2 3 处 / M3 14 处 / M3.5 3 处),故运行时数可能更高,要精确值 需给脚本加计数器。 常设页纠错:releases.md(api 381、flutter 标注 +2 skipped、断言口径改 226 并说明 234 的去向)、feature-checklist.md(381、41 并注明 EventDictionaryTest 无条数断言故此类漂移无门禁可拦,补断言列为 M4 前置)。 iteration-3/06(迭代存档,原文不改写)追加修正注记三条:09-21 时限失效 (本文 5 处)、A/B 前置条件 2 判绿依据失效并重置为 5 绿 3 半、字典 v3 community 域计数偏大 1。 验证:secret-scan exit 0;mkdocs build --strict exit 0。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
> 目的:直观呈现哪些功能**已完成且有自动化测试**、哪些**部分完成**、哪些**尚未开始**,方便针对性验证与回归。
|
||||
> 维护约定:每波工单合入后由执行人更新本清单;状态以 `dev` 分支 + 门禁全绿为准。
|
||||
> 最后更新:2026-09-14(**v0.4.0 发布**:patbond-api `3cd8005` 379 测试、patbond-flutter `fbcd734` 597 测试,均门禁全绿;E2E 四份 42/42 场景零失败、契约偏差 0;M2 条目见第 7~9 节,M3 见第 10~12 节,M3.5 见第 13 节)
|
||||
> 最后更新:2026-09-14(**v0.4.0 发布**:patbond-api `3cd8005` 381 测试、patbond-flutter `fbcd734` 597 测试(+2 skipped),均门禁全绿;E2E 四份 42/42 场景零失败、契约偏差 0;M2 条目见第 7~9 节,M3 见第 10~12 节,M3.5 见第 13 节)
|
||||
|
||||
图例:✅ 已完成且已测试 | 🟡 部分完成/有已知限制 | ⬜ 未开始
|
||||
|
||||
@@ -215,7 +215,7 @@ curl -s -i http://127.0.0.1:8082/internal/users/by-username/demo_user | head -1
|
||||
| 功能 | 状态 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 队列三项加固(30s 定时冲刷 / 指数退避 / anonymousId 持久化) | ✅ | 13 号规范四触发点补齐;退避 30s→5min 只挡定时冲刷;anonymousId 跨冷启动稳定(A/B 前置 #4) |
|
||||
| 事件字典 v3 白名单(community 域 19 + experiment_exposed) | ✅ | EventDictionary 22→42;**7 个被否决事件锁死 unknown**(含逐卡曝光 post_impression) |
|
||||
| 事件字典 v3 白名单(community 域 18 + experiment_exposed) | ✅ | EventDictionary 22→**41**(`Map.entry(` 实测 41;原记「community 域 19 + experiment_exposed = 42」把 `experiment_exposed` 重复计了一次,该类 Javadoc 的 8+2+8 拆分同为 18);**7 个被否决事件锁死 unknown**(含逐卡曝光 post_impression)|⚠️ `EventDictionaryTest` 无条数断言,故此类漂移无门禁可拦——补断言列为 M4 前置 |
|
||||
| 客户端挂接 21 事件 | ✅ | feed 2(聚合 feed_viewed:≥50% 可见 ≥500ms、段内去重、离开结算)+ 互动 8 + 媒体三段 3 + 发布漏斗 5 + page_viewed 页名增量 |
|
||||
| 逐卡 Feed 曝光 | ⬜ | ADR-020 否决(量级测算 7~14 个月击穿分区阈值 + 无背压);留 backlog 待 M4+ 服务端下发日志 |
|
||||
| Android 真机验证(M2 两项 + M3 四项) | 🟡 | 步骤全部备齐在[真机验证清单](device-verification.md);桌面 `platform=linux` 整批 400 属契约内,落库只能真机验 |
|
||||
|
||||
@@ -7,6 +7,11 @@
|
||||
> 范围:M3 社区纵切(Feed、帖子、草稿/发布、媒体、评论、点赞、收藏、关注、话题);AI 创作、本地服务不在本轮定义
|
||||
> 性质:纯规划文档,供 M3 开发工单直接引用;不含任何代码改动
|
||||
|
||||
> **⚠️ 后续修正(2026-09-14,依据 iteration-4/06 §0 与 §1.4)**——本报告按迭代报告存档惯例全文保留,但以下结论已不成立,勿再引用:
|
||||
> ① **「2026-09-21 北极星首次出数」已失效**(本文 `:312`、`:320`、`:328`、`:343`、`:454` 共 5 处):09-21 是 W37 队列(首记落在 09-07~09-13)+8 天的成熟日,该队列入队窗口已于 09-13 结束,无任何补救能为其增加分母。现改为触发条件表述(`T0` = 首个有真实移动端首记的 ISO 周,`T0+8` 天后的首个周一出数),见 [真机验证清单](../../device-verification.md) 顶部与 iteration-4/06 §0.4 档 A。
|
||||
> ② **`:343` 的 A/B 前置条件 2 判「绿」依据已失效**:该绿是前瞻式的,挂在「09-21 起自然达成」上。A/B 前置状态经 iteration-4/06 §1.4 逐项取证后**由「6 绿 1 半」重置为「5 绿 3 半」**(条件 4 分流哈希、条件 7 feature flag、Flutter 曝光封装三者代码零实现);`iteration-4/06` 另按放行条件口径记为 0/6 满足,故 M4 首个实验定为 A/A 基建验证空跑。
|
||||
> ③ **本文 §1 的「字典 v3 增量 19 个新事件」中 community 域计数偏大 1**:`EventDictionary.java` 实际白名单为 **41 条**(非各处文档所载 42),根因是 `experiment_exposed` 被重复计入 community 域增量(该类自身 Javadoc 的 8+2+8 拆分等于 18,而非 19)。取证见 iteration-4/07 §基线对账。
|
||||
|
||||
**速览(五个核心结论)**:
|
||||
|
||||
1. 事件字典 v3 增量 **19 个新事件**(post 域 8 + feed 域 2 + 互动 8 + 实验基建 `experiment_exposed` 1),命名沿 v1/v2 惯例,结果编码进事件名,见 §1。
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
| 仓库 | tag | 提交 | 内容 |
|
||||
| --- | --- | --- | --- |
|
||||
| patbond-api | `v0.4.0` | `3cd8005` | 用户资料读写 + 宠物头像 + 社区统计;379 测试;契约 v1.4.0 快照 |
|
||||
| patbond-api | `v0.4.0` | `3cd8005` | 用户资料读写 + 宠物头像 + 社区统计;381 测试;契约 v1.4.0 快照 |
|
||||
| patbond-flutter | `v0.4.0` | `fbcd734` | 中文本地化 + 日期录入收口 + 资料页/编辑页 + 头像接线;597 测试;四份 E2E 脚本 |
|
||||
| patbond-doc | `v0.4.0` | 本记录所在提交 | 契约 v1.4.0 + M3.5 报告 01~08 + 安全事件复盘 + 服务器暴露面清单 |
|
||||
|
||||
@@ -32,8 +32,8 @@
|
||||
|
||||
| 门禁项 | 结果 | 证据 |
|
||||
| --- | --- | --- |
|
||||
| 全量测试 | ✅ | api **379** / flutter **597**,双绿 |
|
||||
| **E2E 回归(四份,同环境串行)** | ✅ | M1 7/7 + M2 11/11 + M3 14/14 + **M3.5 10/10** = **42/42 场景、234 断言零失败** — [08 号报告](iterations/iteration-3.5/08-release-e2e-regression.md) |
|
||||
| 全量测试 | ✅ | api **381** / flutter **597**(+2 skipped),双绿 |
|
||||
| **E2E 回归(四份,同环境串行)** | ✅ | M1 7/7 + M2 11/11 + M3 14/14 + **M3.5 10/10** = **42/42 场景零失败**;断言数机械可数 **226**(210 `check(` + M1 16 `✗`),原记「234」无可复核来源、已停止引用(脚本无计数器,循环内断言使运行时数可能更高——补计数器见 iteration-4/04) — [08 号报告](iterations/iteration-3.5/08-release-e2e-regression.md) |
|
||||
| 契约偏差 | ✅ **0** | 逐场景对照 v1.4.0;契约计数机械复核 32/45/75 |
|
||||
| 契约向后兼容 | ✅ | v1.3.0→v1.4.0 纯增量,v1.3.0 客户端无需改动 |
|
||||
| 契约一致性矩阵 | ✅ | 173→**181 格**,11 格「未声明字段即漂移」的红全部转绿,mutation 三处注毒自证 |
|
||||
|
||||
Reference in New Issue
Block a user