该技能适用于跨越文件与物理硬件边界的 Arduino 或嵌入式工作,建议在涉及物理硬件、跨多个会话、待定测量、现场测试或恢复任务时,先于 arduino-workflow-router 加载。它负责持久目标、下一步待办、证据边界、回滚路径与物理验证闸门,随后由路由选择开发板、接线、代码、工具链、测试与部署专家,且不代替本循环收尾。
状态文件存放于项目内 .arduino/ 或用户指定的外部证据目录:goal.md、next-todo.md、board-profile.md、evidence/{build,upload,hardware,system,deployment}/、experiment-log.jsonl、resume-token.md。其中 goal.md 记录确切目标、成功标准、非目标、安全约束、停止条件与回滚路径;next-todo 只包含一个行动、负责人、前置条件、预期证据、闸门与状态。机密、令牌、私有网络凭据和未脱敏个人数据不得写入这些产物。
迭代过程为:读取目标、待办、板卡档案与上一条账本记录;选择一项固件、接线、电源、测量或诊断的因果改动;运行最窄的安全主机/构建检查;若下一步需用户操作则在物理闸门处停止;对比所提供的观察与预期结果及独立安全闸门;追加记录行动、证据路径、决策、回滚与下一步待办;仅保留已验证候选,否则记录阻塞或恢复当前实验面。单次迭代不得合并多项接线、固件镜像、电源或测量改动,保证失败可归因。
物理闸门以具体问题等待观察,例如要求指定板卡/版本、单一动作、电源状态、测量/日志/照片采集位置与预期可观察结果,回复观察结果或 blocked: <原因>,不接受未经验证的肯定。证据边界为:构建证据仅证明源码/配置与依赖编译;上传证据仅证明镜像被指定目标路径接受;硬件证据需目标身份加测量、串口输出、连续性、示波器数据或带上下文照片;系统证据需集成场景与代表性负载;部署证据需健康检查、分阶段更新、回滚、恢复与维护记录。证据缺失时应标注未验证或阻塞,保持待办开放。执行擦除、引导程序修复或重新烧录前,需阅读路由器的恢复参考。
该技能内置反合理化清单,例如“复选框已完成”需提供产物与证明阶段,“编译通过”不得升级为上传、硬件或系统证明,不得假设用户已接线,不得同时尝试三个修复,擦除前需确认目标、最后已知良好镜像、恢复路径与数据丢失影响。验证包括状态文件存在且待办为单一确定动作、每个完成的物理步骤链接到带证明阶段标签的证据、账本追加记录决策/回滚/下一候选、停止条件与修复上限明确。仓库内可运行 python3 scripts/run_arduino_evals.py,其中 loop-engine-evidence-contract 用例检查有效与无效持久循环产物,缺必需状态或账本字段时失败关闭。输出遵循共享 Arduino 技能契约:假设、所需工具与版本、实施步骤、按证明阶段的测试/证据、已知限制、恢复/安全说明。