chichuan
c5b537c8cf
fix(drive): 修正 --latest 不完整扫描建议的自相矛盾并补齐叶子 Selection
P2-1 LATEST_SCAN_INCOMPLETE 的 Suggestion 与示例自相矛盾
问题:正文让用户「去掉 --latest 重跑」看失败明细,紧跟的唯一示例却是
dws drive list --folder <子目录ID> --latest N —— 照抄必然复现同一个错误。
根因:两条互斥的出路(缩范围后仍取 Top-N / 去掉 --latest 看明细)挤在一句里,
却只给了一条命令。
修法:每个「;」子句自带与该子句正文一致的命令 —— 重取 Top-N 那条保留 --latest,
去掉 --latest 那条给 --depth 版本。同时把 partial + errors[] 的承诺显式限定在
--depth>1:单层(含知识库 maxDepth=1)去掉 --latest 会路由回普通单层 list,
本就没有 errors[] 契约,无条件承诺只是把矛盾换成另一种不准确。
LATEST_SCAN_TRUNCATED 那条只有一个子句且命令保留 --latest,本身自洽,不动。
测试:新增 assertDriveLatestSuggestion 逐子句校验自洽性,替换 5 处只断言
Suggestion != "" 的弱断言。该断言对修改前的文案是红的(3 个 INCOMPLETE 用例
精确报出矛盾子句),对未改动的 TRUNCATED 文案是绿的 —— 证明它不是为新文案量身定做。
P2-2 drive list / drive recent 的 Selection 没跟上 Agent 路由目标
问题:上一轮改了 skill 文档与 flag help,但叶子 Contract 一字未动 ——
drive list 的 UseWhen 无 --latest 正选、Examples 两条都是 --limit 分页、
AvoidWhen 仍无条件让路给 drive recent(与 skill 里的三者路由矛盾);
drive recent 也没有反向指回 drive list --latest。
修法:drive list 追加 --latest 正选,AvoidWhen 第 3 条改写成「个人访问记录 →
recent / 文件修改时间 → 本命令 --latest」的分流;drive recent 追加对应反选。
措辞与 skills/**/drive.md 的三者路由一致。
Examples 是替换而非新增:schema_agent_examples.go 硬限最多 2 条
(has %d examples; maximum is 2),加第 3 条直接挂门禁。替换第 2 条不丢覆盖面 ——
--limit 仍由第 1 条示范、--folder 由第 2 条继续示范,第 2 条顺带示范 --latest,
且无 --limit(运行时互斥)、无 --yes(门禁禁止)。
删掉 docs/drive-list-latest-design.md
设计细节收敛到 skills/**/drive.md 单一出处。本轮 P2-2 正是「文档写对了、
Contract 没跟上」造成的,两份文档并存只会让下一次再跑偏。CHANGELOG 里唯一
指向它的链接行一并删除(第 23 行本身以句号结尾,bullet 依然完整)。
2026-08-06 15:29:14 +08:00
..
2026-07-16 10:58:56 +08:00
2026-08-05 18:19:16 +08:00
2026-07-16 10:58:56 +08:00
2026-08-05 11:24:58 +08:00
2026-08-05 15:59:17 +08:00
2026-07-11 10:28:10 +08:00
2026-08-05 15:59:17 +08:00
2026-08-04 14:24:49 +08:00
2026-08-03 20:00:47 +08:00
2026-08-03 23:30:54 +08:00
2026-08-04 17:19:51 +08:00
2026-08-06 15:29:14 +08:00
2026-07-16 10:58:56 +08:00
2026-07-16 10:26:19 +08:00
2026-07-16 10:58:56 +08:00
2026-07-23 13:31:23 +08:00
2026-07-17 10:47:24 +08:00
2026-08-03 20:00:47 +08:00
2026-08-03 12:10:54 +08:00
2026-08-03 20:00:47 +08:00
2026-07-21 11:33:03 +08:00
2026-08-05 09:35:57 +08:00
2026-07-16 10:58:56 +08:00
2026-07-16 10:58:56 +08:00
2026-07-16 10:58:56 +08:00
2026-07-16 11:56:44 +08:00
2026-08-05 14:27:53 +08:00
2026-07-17 14:41:05 +08:00
2026-08-03 20:00:47 +08:00
2026-07-30 16:08:19 +08:00
2026-07-16 10:58:56 +08:00
2026-07-16 10:58:56 +08:00