SuperAPI AI 工具集

cli-autocalibrate

测试与质量

查看项目

更新于 10-15 20:14

技能介绍

用途:cli-autocalibrate 是 Hive 两阶段终端状态评估引擎的调优闭环。Stage 1(internal/domain/terminal/assess)为无状态规则分类,把窗格内容映射为 assess.State;Stage 2(internal/domain/terminal/status)有状态,将 assess.State 去抖为发布的 terminal.Status。该技能基于已提交、确定性的录制语料进行调优,而非无法复现的实时判断。

语料结构:assess/testdata/<tool>/<scenario>.txt 为 Stage 1 单帧夹具,登记在 assess/fixtures_test.go 表格;test/calibration/sequences/<name>.jsonl 与同名 .expected.json 为多帧录制及预期发布状态序列,覆盖单帧夹具无法覆盖的去抖时序;test/calibration/scenarios/<name>.yaml 为面向真实窗格的脚本,需手动运行,未接入 mise run cli:integration。

调优流程:先跑守卫测试定位不一致:go test ./cmd/hive/internal/commands/... -run TestCalibrationCorpus_ReplayMatchesExpected -v,它在虚拟时钟上重放全部序列并与预期对比,失败会指出序列名与分歧帧号。单序列可用 hive x assess replay <frames.jsonl> --jsonl 查看逐帧决策轨迹。用 hive x assess file <frame.txt> --tool claude 隔离问题帧,查看触发的规则与解析区域。

修复位置:Stage 1 分类问题改 rules_claude.go、rules_codex.go、rules_generic.go、rules_common.go;Stage 2 时序问题改 status/options.go 的 DefaultOptions()(ConfirmIdle、ConfirmApproval、ChurnWindow)或 debounce.go 的状态转移表。改完运行 mise run test 验证全量夹具与语料。硬性约束:修复不得以破坏其他已提交夹具或序列为代价;若出现回归,应缩小匹配条件或增加区分信号,而不是替换失败。未经独立核实,不得修改或删除既有夹具与预期。每解决一个不一致,必须留下新的回归测试:单帧问题新增 assess/testdata/<tool>/ 文件并在 fixtures_test.go 加行;多帧时序问题新增 .jsonl 与人工核验的 .expected.json。

可选实机层级(仅容器内):mise run cli:container 后在容器内使用 hive x assess drive、scenario、watch。drive 通过 tmux respawn-pane -k 会杀掉并替换窗格进程,具有破坏性;scenario 发送真实按键并输出含通过率、检测延迟与抖动计数的报告;watch 只读窗格,可加 --record 录制新序列,录制内容可能含源码与密钥,需按敏感数据对待。所有会改动窗格的操作必须在容器内运行,--allow-host 仅为深思熟虑的例外;建议始终显式指定 --tool,避免自动检测在标识文本滚出可视区后误判。