知食份子——冲刺随笔Day6
冲刺日志 Day6 · 冻结日:全量回归、K2 双签、tag v1.0-alpha
| 项 | 内容 |
|---|---|
| 这个作业属于哪个课程 | 2601_CS_SE_FZU 课程社区 |
| 这个作业要求在哪里 | 团队第四次作业——站立式会议 + α 冲刺 |
| 这个作业的目标 | 记录 α 冲刺第 6 天站立式会议的成员进展、K2 冻结结果与下一步安排 |
| 其他参考文献 | 《构建之法》第 2 章、第 13 章 |
一、今日站会
| 项 | 内容 |
|---|---|
| 时间 | 2026-10-28(周三)14:45,10 分钟 |
| 地点 | 腾讯会议(线上) |
| 主持 | 林青妍(A) |
| 出席 | 8 人全到 |
| 昨日承诺完成率 | **12 / 12 点 + K1 卡口——100%**,连续四天满额。包括:饮食计划 1/3/7 天端点收口、档案三处统一读、AC17—25 走查完成、上云与两条校验、令牌 15/15 清零、25 条 AC 判据评分表 |
线上会议截图

主议题:今天 18:00 完成 K2 双签,冻结代码与数据
今天是冲刺的冻结日。K2 的判据是 D6 18:00 前完成代码冻结和数据冻结双签,之后只允许修改日志和文档。交付要能对应到一个具体版本:tag 指向 commit,commit 对应数据快照,快照对应 78 张表的核对结果;如果冻结之后仍有人修改代码,这条对应关系就会中断,明天答辩时交付版本与演示内容就对不上。所以今天所有人的工作都围绕代码冻结、数据冻结、口径冻结三件事推进。
会上我们统一了三条要求:
- 17:00 之后不再启动新的改动。手上还有未收尾工作的,要么在 17:00 前收口,要么回退到可运行的版本,不允许把半成品留在
main上,因为冻结的对象就是main。 - 回归脚本要具备报错能力。此前 K1 检查脚本出现过只截图、不断言的问题,今天先对回归脚本做一次自检:故意删除 3 条打卡记录,确认脚本会报错,再还原数据确认恢复正常;脚本自身验证有效,回归结果才能作为冻结依据。
- 冻结之后打 tag
v1.0-alpha。tag 打在哪个 commit、由谁执行,都写进日志,答辩时以此说明交付的具体版本。
K2 双签判定(18:00)
代码冻结 + 数据冻结双签:通过。
- tag
v1.0-alpha已打在冻结 commitf396ec4(docs(release): 冻结与 tag v1.0-alpha)上,打 tag 人:林青妍(A) - 数据冻结快照
mysqldump全库导出,文件名带 commit 短 SHA;代码冻结与数据冻结双签于 18:00 通过 - 冻结之后只允许改日志和文档,代码改动一律留到 β
二、燃尽图
| 天 | D0 | D1 | D2 | D3 | D4 | D5 | D6 | D7 |
|---|---|---|---|---|---|---|---|---|
| 计划剩余 | 64 | 64 | 51 | 39 | 27 | 15 | 4 | 0 |
| 实际剩余 | 64 | 64 | 51 | 39 | 27 | 15 | 4 |

今日关闭 11 点:W-26 偏差清单定稿 3 · W-32 全量回归 2 · W-37 上云第三校验 1 · W-31 走查收尾 1 · W-39 答辩材料 4。
从曲线上看,实际剩余 4 点与计划重合,D0 以来连续第六天按计划走完。剩下的 4 点全部落在 D7 的验收和答辩上。今天真正落定的是三个冻结:代码冻结(tag)、数据冻结(快照)、口径冻结(78 表逐表终对的结果)。这三项冻结落定,D7 才能明确交付的具体版本,否则交付只能以"代码都在仓库里"作解释。
今天耗时最多的是 W-32 全量回归。这一轮和前几天不一样:以前回归是"跑一遍确认没坏",今天这轮是冻结前的最后一道闸,跑完之后代码就不允许再改动。所以除了跑绿,还要先证明这个回归本身是有效的——这也是第三节先做"故意删数据"自检的原因。
三、今日三件冻结
冻结日不再开发新功能,工作集中在代码冻结、数据冻结、口径冻结三件事上。下面三张表是当天的完整记录,也是答辩时的口径依据。
3.1 全量回归(W-32)
| 项 | 结果 |
|---|---|
| 断言集 | 2 个(api-integration / e2e-verify)→ 跑绿 |
| 走查用例 | 19 个 walkthrough-* → 通过 18,跳过 1(r69-proto 属设计走查,不参与本次回归) |
| 新增断言 | 13 个端点 × 4 类 = 52 条 → 全绿 |
| 全页手工检查 | 45 页逐页检查(39 业务 + 6 管理端),发现 4 个问题,3 个当场修复,1 条挂账 |
| 回归脚本自检 | 先故意删了 3 条打卡记录,脚本必须报错——报了,才算这个脚本有效 |
回归自检花费的时间不多,但作用关键:删除 3 条打卡记录,确认脚本能报错;还原数据后,确认一切恢复正常。脚本自身的有效性得到验证,这一轮回归的结果才能作为冻结依据。
3.2 数据冻结(W-07)
| 项 | 结果 |
|---|---|
| 自检六条 | 6/6 通过(含 D5 修掉的种子唯一键冲突) |
| 冻结快照 | mysqldump 全库导出,文件名带 commit 短 SHA |
| 线上数据核对 | 78 张表存在 78 张(含二期 51 张),行数与预期一致 |
| 演示数据 | 打卡 30 / 成就 12 / 宠物 1 / 档案 3 / 待办 5 |
3.3 口径冻结(W-07 / W-36 收口)
| 项 | 结果 |
|---|---|
| 78 表与表清单终对 | 表名 78/78 一致;字段数逐表一致;外键 106 条中 92 条已建,14 条暂不建,原因和归属阶段逐条写在注释里 |
| 端点 | 114 + 13 = 127,与契约清单一致 |
| 页面 | 45(39 业务 + 6 管理端),其中 7 页标禁用态并进 backlog |
| tag | v1.0-alpha 打在冻结 commit f396ec4 上,打 tag 人林青妍 |
四、成员进展
林青妍(A 交付 owner)
- 已完成任务:
- 主持 K2 双签,18:00 前完成代码冻结与数据冻结;tag
v1.0-alpha打在冻结 commit 上。 - 答辩材料 15 页大纲成稿(W-39 材料计 4 点),叙述顺序按"问题→做法→结果"重排,答辩前 3 分钟先讲结论。
- 主持 K2 双签,18:00 前完成代码冻结与数据冻结;tag
- 问题 / 困难:打 tag 之前照例看了一眼
git log,才发现本地main比远端多 2 个没推的 commit。要是直接打,tag 就冻在一个不是最新的版本上,交付和演示又对不上了。先把 commit 推完、确认本地远端一致,才打的 tag。 - 明日任务:主持 25 条 AC 终判和答辩试讲;出 α 冲刺总结。
- 心得:tag 冻结的是交付的具体版本,打出之前必须先过一遍
git status和git log,确认本地与远端一致;这个动作应当写进发布流程,不依赖个人记忆。
张伟林(B 架构 + 部署)
- 已完成任务:
- 数据卷挂载补完,第三条校验"容器重启后数据仍在"通过(W-37 计 1 点),上云三条校验全部收口。
- 出回滚预案三步:
docker compose down(不带-v)→ 切回上一版镜像 tag →up -d。
- 问题 / 困难:回滚预案第一版写了
docker compose down -v。-v删的是数据卷,数据库文件、MinIO 对象、Redis 持久化都在里面,这一跑等于清库重装——回滚要做的事一件没做,还把用户数据一起删掉了。评审时被当场拦下,改成不带-v的写法,并在预案里加了一句:生产环境的 shell 里不出现任何带-v的 down。 - 明日任务:K3 公网四链路终检(登录 / 浏览 / 打卡 / AI);出巡检表。
- 心得:回滚脚本平时不执行,真正执行时已经是事故现场,预案中每条命令影响的数据库范围都必须有人逐条核对,不能写完就直接归档。
方韵希(C 后端实现)
- 已完成任务:
- 127 个端点的接口文档 diff 出表,与契约清单逐一对齐。
- 回归中发现 1 个 admin 端点只校验了登录、没校验角色,当场补上角色校验,越权用例转绿。
- 问题 / 困难:admin 端 44 个端点里有 1 个漏了角色校验。这条漏判在功能测试里一路全绿——管理员账号调它当然是通的;只有拿普通用户的令牌去调,才会暴露出来。这次是全量回归的越权用例把它抓出来的。
- 明日任务:配合杨雨薇出 25 条 AC 的验收报告;准备答辩技术问题。
- 心得:权限漏判在功能测试里不会暴露,只能靠越权用例发现;admin 端点应逐条覆盖"未登录"和"非管理员"两类请求,漏掉一条就等于留下一道后门。
邱语堂(D 数据)
- 已完成任务:
- 数据冻结快照:
mysqldump全库导出,文件名带 commit 短 SHA,与代码冻结的版本一一对应。 - 78 张表逐表终对;14 条挂起外键逐条标注原因和归属阶段。
- 数据冻结快照:
- 问题 / 困难:终对时发现 78 张表里有 3 张表名和设计文档差一个字母,比如
review_dimension_meal_mode被截断了。这种错数据库不报、页面也照常运行,只有拿表清单和设计文档逐表比对才会现形。改完表名、重导快照,再对一遍才敢冻结。 - 明日任务:配合 25 条 AC 终判的数据侧取证;准备答辩数据问题。
- 心得:表名截断这类错误数据库不会报错,只有拿表清单与设计文档逐表比对才会发现,建表完成后应例行做一次反向核对。
郭洁颖(E 前端功能)
- 已完成任务:
- 完成 45 个页面(39 业务 + 6 管理端)的逐页手工检查,共发现 4 个问题,3 个当场修复,1 条挂账。
- 修复 3 个页面在无数据时的白屏。
- 问题 / 困难:三页白屏排查下来根因相同:
data.list.map未判空,接口在无数据时返回的list为null,页面直接崩溃。修完第一处后没有停在单页,把全项目的.map(搜索了一遍,又发现几处同样的写法,一并补上判空。检查中发现的第 4 个问题当场无法修复,按流程登记挂账,理由与处理意见写进回归报告。 - 明日任务:陪 AC 终判逐条过页面;准备答辩演示脚本。
- 心得:多个页面的白屏往往是同一类写法引起的,修复时应全局搜索同类代码一并处理,逐页单独修改只会造成重复劳动。
郑春天(F UI 整合)
- 已完成任务:
- 偏差清单 8 条全部整改完成,出整改前后对比图。
- 宠物社区列表高度跳动(CLS)修复。
- 问题 / 困难:宠物社区的高度跳动,根因是图片没设固定高,加载完成才把列表撑开,页面前后跳一下。给图片加了
aspect-ratio,把高度提前预留出来,跳动消失。 - 明日任务:出最终基线截图配合王一帆复验;PPT 定稿。
- 心得:图片未设固定高度会引发加载后的布局跳动(CLS),这不只是观感问题;收尾阶段应把"加载过程"也作为一个状态单独检查一遍。
杨雨薇(G QA-1 功能)
- 已完成任务:
- 全量回归跑绿(W-32 计 2 点):断言集 2 个、走查用例 19 个、新增断言 52 条。
- 回归脚本"故意失败"自检:先删 3 条打卡记录确认脚本会报错,再还原。
- AC 走查收尾(W-31 计 1 点);缺陷池 4 条全部清零。
- 问题 / 困难:19 个走查用例里 1 条挂账:
r69-proto属设计走查,验证对象是原型站页面的设计还原度,不纳入本次代码回归。挂账不能直接删,必须写明"为什么可以不修",理由已写进回归报告。 - 明日任务:出 25 行验收报告;配合 AC 终判。
- 心得:挂账条目必须写清"为什么可以不修",写不出来就得修;回归脚本同理,只有自身具备失败能力,它的通过结果才有意义。
王一帆(H QA-2 UI)
- 已完成任务:
- 偏差清单定稿(W-26 计 3 点),条目统一为编号 / 页面 / 期望 / 实际 / 影响页数五列。
- 21 张最终基线截图归档。
- 问题 / 困难:定稿前把清单翻了三遍,发现期望值的写法不统一——前三版有的写"间距过大",有的写"应为 16px"。写"间距过大"这种描述,整改的人只能猜。全部统一成"应为 X",每一条都落到能核对的值。
- 明日任务:出 UI 验收结论并签字。
- 心得:偏差条目必须写明"应改为 X"并落到可核对的值,描述若停留在现象层面,整改时就只能靠猜测。
五、证据附件
林青妍(文档)
- 签入记录:
f396ec4docs(release): 冻结与 tag v1.0-alpha - Issue:#W-39
- 测试结果:K2 代码 + 数据双签 18:00 通过;答辩材料 15 页成稿
张伟林(部署)
- 签入记录:
ec60f88fix(deploy): 数据卷持久化 + 回滚预案 - Issue:#W-37
- 测试结果:重启不丢通过——重启前 30 条、重启后 30 条(截图见「七、运行证据」)
方韵希(开发)
- 签入记录:
d5dca1afix(admin): 补角色校验 + 接口文档 diff - Issue:—
- 测试结果:127 端点 diff 对齐;1 个 admin 端点补角色校验后越权用例转绿
邱语堂(开发)
- 签入记录:
2e04be7chore(db): 冻结快照 + 78 表终对 - Issue:#W-07
- 测试结果:78 表终对——表名 78/78、外键 92 建 / 14 挂;自检 6/6
郭洁颖(开发)
- 签入记录:
fcab128fix(ui): 三页空数据白屏 - Issue:—
- 测试结果:45 页检查完,4 个问题 3 修 1 挂账;白屏 3→0
郑春天(样式)
- 签入记录:
4338913style(ui): 8 条偏差整改 + CLS 修复 - Issue:#W-26
- 测试结果:8 条偏差整改完;宠物社区 CLS 修复
杨雨薇(测试)
- 签入记录:—
- Issue:#W-31 / #W-32
- 测试结果:52 条断言全绿;走查 18 通过 / 1 跳过;缺陷池清零
王一帆(测试)
- 签入记录:—
- Issue:#W-26
- 测试结果:偏差清单定稿(8 条);21 张基线归档
分支与提交记录
- 分支:
feat/sprint-d6(→master,已合入) - 冻结 commit:
f396ec4(docs(release): 冻结与 tag v1.0-alpha);tagv1.0-alpha打在该 commit 上,打 tag 人:林青妍 - 提交数:9 条(8 条开发提交,A→H 各一条 + 1 条合并提交),2026-10-28,见下方提交记录截图
- 合并请求:!6(2026-10-28 12:06 创建,2026-10-28 14:05 由邱语堂合入
master) - 合并人:邱语堂(仓库所有者)
- 变更规模:+96 / −0(8 个文件)
合并请求(D6 !6 已合并)

合并请求列表按「已合并」筛选共 5 条,D6 为 !6:2026-10-28 12:06 创建,14:05 由邱语堂合入 master,为避免误操作,合入前两道门禁已通过。
提交记录(2026-10-28,D6 九条)

master 上共 9 条:首条 11bcbac(merge feat/sprint-d6 into master,验证通过),其后为 A→H 八条开发提交。
六、AI 技术员今日工作
| AI | 服务岗 | 今日任务 | 产出 | 采纳 | 人工改了什么 |
|---|---|---|---|---|---|
| A1 | 林青妍 | 答辩 15 页大纲(P-A8) | 15 页骨架 | 部分采纳 | AI 排的顺序是"技术→功能→数据",人工改成"问题→做法→结果",因为答辩前 3 分钟最容易被追问 |
| A2 | 张伟林 | 回滚预案(P-B8) | 三步命令 | 驳回 | 第一步写了 docker compose down -v,-v 会删数据卷;改成 down(不带 -v)+ 保留上一版镜像 |
| A3 | 方韵希 | 权限漏判扫描(P-C8) | 找出 3 处可疑 | 部分采纳 | 1 处真漏(admin 端点),2 处是误报(公共接口) |
| A4 | 邱语堂 | 78 表逐表比对(P-D8) | 差 3 张表 | 采纳 | 直接命中表名截断问题 |
| A5 | 郭洁颖 | 扫全项目 map 未判空(P-E8) | 11 处 | 采纳 | 补了 2 处可选链写法 |
| A6 | 郑春天 | CLS 定位(P-F8) | 指出 5 张无高度图片 | 采纳 | 加了 aspect-ratio |
| A7 | 杨雨薇 | 回归报告模板(P-G8) | 通过/失败/跳过三态 | 部分采纳 | 补了"跳过原因"必填列,AI 原稿没有 |
| A8 | 王一帆 | 偏差条目改写(P-H8) | 8 条改成"应为 X" | 采纳 | 有 2 条改完后人工又调了数值 |
今日一个具体案例:AI 的回滚预案会清库
输入:问 A2,上云后出问题、要回滚到上一版,命令怎么写。
AI 产出:
docker compose down -v docker compose up -d附言说
-v能确保环境干净,避免旧数据干扰。问题:
-v删的是数据卷,数据库文件、MinIO 对象、Redis 持久化都在里面。这一跑等于清库重装,回滚要做的事一件没做。真出事时执行这一条,用户数据会全部丢失。AI 附带的理由听起来还成立,更不容易被察觉。处理:改成
docker compose down(不删卷),切回上一版镜像 tag,再up -d。预案里加了一句:生产的 shell 里不出现任何带-v的 down。结论:AI 会把重置当成回滚,这两个词在英文里都可对应 rollback/reset,在运维场景里却是完全相反的两件事。今天补了一条检查项:删除类命令要当场说明它删的是哪一块数据,说不清就不进脚本。
AI 对话截图
A1 林青妍 · 提示词 P-A8

A2 张伟林 · 提示词 P-B8

A3 方韵希 · 提示词 P-C8

A4 邱语堂 · 提示词 P-D8

A5 郭洁颖 · 提示词 P-E8

A6 郑春天 · 提示词 P-F8

A7 杨雨薇 · 提示词 P-G8

A8 王一帆 · 提示词 P-H8

七、运行证据
| 类型 | 内容 |
|---|---|
| 截图 / gif | 公网首页 + 主链点通 + 容器重启后数据仍在(第三条校验已出图,见下) |
| 公网链接 | https://dafu-moment.zviolin.online/ |
| 冻结版本 | tag v1.0-alpha,对应 commit f396ec4 |
运行证据截图
公网首页(三条校验之一)

公网域名正常打开,首页数据回显正常。
主链点通(登录 → 浏览 → 打卡)


登录、浏览点位、提交打卡一次走通,主链无阻断。
容器重启后数据仍在(第三条校验)

重启前打卡 30 条,容器重启后仍为 30 条,数据落在宿主机数据卷上。
每日成果截图
| 页面 | 截图 |
|---|---|
| 我的 | |
| |
| 任务 | |
| |
| 共建 | |
| |
| 报表 | |
| |
| 设置 | |
| |
测试结果图
测试结果摘要
- A 林青妍(K2 双签 + 答辩大纲):18:00 双签完成;15 页大纲成稿。
- B 张伟林(数据卷 + 回滚预案):重启不丢通过;预案三步定稿。
- C 方韵希(127 端点 diff + 权限修复):文档对齐 127/127;越权用例转绿。
- D 邱语堂(冻结快照 + 78 表终对):自检 6/6;表名 78/78 一致。
- E 郭洁颖(45 页逐页检查 + 白屏修复):45 页检查完;白屏 3→0。
- F 郑春天(8 条偏差整改 + CLS):8/8 整改完;对比图已出。
- G 杨雨薇(全量回归 + 走查收尾):52 条断言全绿;走查 18 通过、1 跳过;缺陷池清零。
- H 王一帆(偏差清单定稿 + 21 张基线):清单定稿;基线 21 张归档。
- 网页验证:公网首页、宠物社区。
- 可执行回归:断言集
api-integration/e2e-verify通过;新增 52 条断言全绿;19 个走查用例 18 通过、1 跳过(r69-proto属设计走查,不参与本次回归)。


八、明日重点与风险
| 项 | 内容 |
|---|---|
| 明日硬任务 | K3 12:00 公网四链路(登录 / 浏览 / 打卡 / AI);25 条 AC 终判;UI 验收签字;W-39 答辩与总结 4 点 |
| 最大风险 | 答辩当天现场环境与本地不一致(数据库字符集、时区、AI 供应商密钥未配);今天需提前在答辩所用机器上完整演示一遍并确认各项配置 |
| 需要谁支持 | 张伟林负责现场环境;杨雨薇负责验收报告;王一帆负责 UI 结论签字;郑春天负责 PPT 与投屏适配 |
| 今日遗留 | 1 条走查用例挂账(r69-proto,属设计走查,不参与本次回归);14 条外键以注释挂起;宠物社区 375 视口已修复但未进基线 |







