SuperAPI AI 工具集

embedded-project-loop

智能体与模型

查看项目

更新于 10-16 10:39

技能介绍

embedded-project-loop

embedded-project-loop 是一个用于 Arduino 和嵌入式硬件工作的技能。当请求涉及物理硬件、跨多个会话、有待完成的测量、现场测试或恢复工作时,它应作为较早加载的入口。该技能管理持久目标、下一步待办、证据边界、回滚路径和物理门禁。

用途

它适用于跨越文件与物理硬件边界的工作。智能体可以准备和验证主机侧产物,但不得臆造焊接、烧录、测量或现场证据。它应在 arduino-workflow-router 之前加载;由路由器选择板卡、接线、代码、工具链、测试和部署方面的专门能力,而不会代替本技能关闭循环。

状态文件

在项目中使用 .arduino/ 目录,或用户选择的外部证据目录:

.arduino/goal.md
.arduino/next-todo.md
.arduino/board-profile.md
.arduino/evidence/{build,upload,hardware,system,deployment}/
.arduino/experiment-log.jsonl
.arduino/resume-token.md

这些产物中不得包含密钥、令牌、私有网络凭据和未脱敏的个人数据。goal.md 记录确切目标、成功标准、非目标、安全约束、停止条件和回滚路径。next-todo 文件包含一个动作、负责人、前置条件、预期证据、门禁和状态。

有界迭代

  1. 读取目标、下一步待办、板卡配置和最后一条台账记录。
  2. 选择一项因果性的固件、接线、电源、测量或诊断变更。
  3. 运行可用的最窄安全主机/构建检查。
  4. 如果下一步动作需要用户,则在物理门禁处停下。
  5. 将提供的观察结果与预期结果和独立安全门禁进行比对。
  6. 追加动作、证据路径、决策、回滚和下一步待办。
  7. 只保留经过验证的候选;否则记录阻塞项或恢复当前实验面。

一次迭代不得同时组合多个接线变更、固件镜像、电源或测量。单一变更使失败可归因。

物理门禁

使用具体问题并等待观察结果:

Physical gate: On <exact board/revision>, perform <one action> with power
<state>. Capture <measurement/log/photo> at <location>. Expected:
<observable result>. Reply with the observation or `blocked: <reason>`; do not
reply with an unverified yes.

对于上传失败,要求提供确切的端口/设备标识、镜像/哈希以及脱敏后的上传日志。对于电源问题,要求提供万用表位置、单位和观测到的最小/最大值。对于接线,要求在启用负载前进行连续性/极性检查或提供带标签的照片。

证据边界

  • 构建证据仅证明源代码/配置和依赖编译。
  • 上传证据仅证明某个镜像被指定目标路径接受。
  • 硬件证据要求目标标识加上测量、串口输出、连续性、示波器数据或带上下文的照片。
  • 系统证据要求集成场景和代表性负载。
  • 部署证据要求健康检查、分阶段更新、回滚、恢复和维护记录。

如果证据缺失,应说明 unverified 或 blocked,并保持下一步待办开放。在执行擦除、引导加载程序修复或重新烧录之前,请阅读路由器恢复参考。

反合理化

捷径 回应
“复选框已完成。” 要求提供产物和证明阶段。
“编译通过了。” 不要将其提升为上传、硬件或系统证明。
“用户大概已经接好线了。” 提出具体的门禁问题并等待。
“把三个修复一起试。” 将它们拆分为单变更迭代。
“先擦除。” 确认目标、最后已知良好镜像、恢复路径和数据丢失影响。
“没有新输出意味着成功。” 记录一次无操作观察;它不会关闭目标。

验证

  • 状态文件存在,且下一步待办只指定一个确定性动作。
  • 每个已完成的物理步骤都链接到带有证明阶段标签的证据。
  • 台账以仅追加方式记录决策、回滚和下一候选。
  • 停止条件和修复上限是明确的。
  • 在本仓库中,运行 python3 scripts/run_arduino_evals.py;loop-engine-evidence-contract 用例检查有效和无效的持久循环产物,并在所需状态或台账字段缺失时失败关闭。

共享输出契约

使用共享 Arduino 技能契约:说明假设、所需工具和版本、实现步骤、按证明阶段划分的测试/证据、已知限制以及恢复/安全注意事项。