用途:运行一条命令,读取该次运行刚产生的遥测,并对照给定的行为预期给出 verify-behavior 回执。它面向开发内循环,把遥测当作验证证据:扇出从 2 次变 14 次、重试触发 5 次、错误被吞成 200、N+1 查询等,通常不会让测试变红。
输入:command(必填,运行被测代码的命令)、expectations(必填,一条或多条行为断言;可由读源码构造满足的断言会被拒绝)、rung(可选,1 或 2,默认由 rules/rungs.md 决定)、run_id(可选,默认生成 dev.run.id)、caller(可选,仅用于日志)。返回恰好一份回执,末行为 [receipt] verdict: <confirms|contradicts|ambiguous|null>。
自跳过门:先解析仓库已提交的 Observability Profile(<repo>/memory/observability-profile/INDEX.md),若完全无 profile 或未指定 dev run target,则静默自跳过,不消耗 token、不输出报告行;expectation 集为空时同样静默自跳过,而非空洞地返回 confirms。仅在显式 /observe-run 调用时,才额外输出一行指向 Skill("measurable", "setup")。
流程:自跳过门 → 断言来源校验(拒绝 by-construction 预期)→ 读取 dev-run lessons(合并 repo+global,LoreKit 缺失则静默无操作)→ 选择 rung(默认 rung 1,内存/文件 exporter;跨进程扇出、多服务断言或基线比较才升到 rung 2 即代理加 dash0 spans 查询)→ 打运行身份(dev.run.id 与 deployment.environment.name、vcs.ref.head.name;dev.run.id 只打在 spans 和 logs,绝不打在 metrics)→ 运行命令并读取遥测 → 映射verdict → 仅在遇到摩擦时写一条 dev-run lesson(不影响回执)。
限制:rung 只读取本次运行发出的、限定在该 run 的 dev.run.id 与 dev dataset 范围内的遥测,无法获取生产 span;把预期写成“与生产 span 匹配”会始终返回 null。代理降级状态(错误事件、*.failed > 0、超时关闭)记为 ambiguous 而非 contradicts。缺少 Dash0 CLI 不影响 rung 1。分类:智能体与模型。