verify-cli-run 的核心用途是证明一个命令行工具确实完成了它声称的工作,而不是只相信它的退出码和输出。资料指出,退出码由执行工作的同一代码决定,stdout/stderr 也由该工具写出,两者相互一致恰恰不能作为证据;真正的证据必须来自执行动作之外的第三方,例如磁盘文件的前后变化,或事后再向远程服务询问。\n\n主要能力与方法包括:运行前先写下一行预期结果(EXPECT),预期无法事先陈述就无法验证;运行前对文件系统做快照,git 仓库内可用 git status --porcelain > /tmp/before.txt,仓库外可用 find 配合哈希;检查预期是否已经成立,避免把无操作的重建误判为成功;运行并分别捕获输出与退出码,但只用于解释结论;用 diff 或 git diff 读取实际变化作为证据,并额外检查是否有其他文件被意外改动;最后给出四种结论之一:yes、no、unknown 或 no-fault,其中 unknown 表示未能观测到,不能当作失败上报。\n\n使用方式上,该方法无需安装额外工具,只需四条规则和一些 git 命令;对网络类操作,文件系统无法证明,需要向远端服务核实(如 gh pr view、git ls-remote 或 curl 已部署 URL),且不能把工具自己写入的本地记录当作远端证据。可重复运行相同命令,观察第二次是否产生空 diff,以发现不幂等的工具。\n\n限制方面,资料明确列出默认存在的观测盲区:网络调用、声明根目录之外的写入(如 ~/.config、全局缓存、/tmp)、运行期间创建又删除的临时文件,以及子进程或超出命令生命周期的后台行为。该技能适用于验证 CLI、构建、迁移、格式化、代码生成等场景;验证 Web 应用或交互式 TUI 需升级到其他方法。具体平台与是否收费暂未提供。
verify-cli-run
通用与其它
更新于 10-16 01:48