## 背景 当前 `scd-discovery` 采用“一次互动只请求一个决策”的访谈节奏。实测问题:决策数等于交互来回数,典型新产品 Discovery 有 30–50 个决策,需要 40–60 次来回;每次来回都是一次模型推理加一次用户上下文切换,长会话还会滑入上下文劣化区。 参考 mattpocock/skills 的 `grilling` 原语(v1.2.0 起改为轮次制):把决策树访谈组织为**轮次**,每轮一次性抛出整个**前沿**(前置决策已全部落定、彼此互不依赖的未决决策集合),用户按编号作答整轮,答案重算前沿进入下一轮。同轮内禁止互相依赖的问题,因此批量提问不会互相作废;13 个决策约 3 轮走完,来回次数降为约十分之一。 本变更按用户决策只面向强模型环境,不设针对弱模型的轮容量上限。 ## 变更内容 1. `skills/scd-discovery/SKILL.md`:“沿决策树访谈”改为“沿决策树按轮访谈”:每轮抛出整个前沿;每题固定格式(编号、标题、为何现在重要、实质差异备选项、单独一行推荐答案);用户按编号作答整轮;“每解决三到五个重要决策收敛一次”改为每轮结束收敛一次;未答题目进入临时假设。 2. `skills/scd-discovery/references/interviewing.md`:“组织一次决策”改为“组织一轮”;“按依赖顺序推进”改为前沿定义与同轮依赖互斥规则,明确**临时假设视为临时落定**、解锁下游进入前沿;“决策没有得到回答时”改为按轮处理(同轮其余问题照常作答,整轮无实质回答才呈现阻塞);“定期收敛”改为“每轮收敛”。 3. 保留不变:临时假设机制语义、最终契约统一确认累计假设、确认语义(沉默、切换话题、部分同意都不构成确认)、备选项纪律、readiness 对抗式审查、“先问上游问题,再问其后果”的依赖纪律。 4. `tests/discovery-contract.test.mjs`:更新访谈节奏断言以匹配轮次制,新增前沿、按编号作答、每轮收敛、临时假设解锁下游的正向断言。 ## 验收条件 - A1:`SKILL.md` 声明每轮一次性抛出整个前沿(互不依赖的未决决策集合)且用户按编号作答;不再出现“一次只询问一个决策”。 - A2:`interviewing.md` 给出前沿定义(前置已落定+彼此互不依赖)、同轮依赖禁止规则、临时假设视为临时落定并解锁下游问题。 - A3:`interviewing.md` 的未回答处理按轮:同轮其余问题照常作答、临时假设继续解锁;整轮无任何实质回答才呈现阻塞;不再出现“仍然每次只请求一个决策”。 - A4:收敛机制为每轮一次;不再出现“每解决三到五个重要决策”。 - A5:保留项不变:`SKILL.md` 仍含“必须明确确认”;`readiness-review.md` 仍含“静默对抗式审查”与“A1:”;`interviewing.md` 仍含“先问上游问题,再问其后果”。 - A6:`node --test tests/discovery-contract.test.mjs` 通过,且仓库全量测试无回归。 ## 实施任务 - [ ] 修改 `skills/scd-discovery/SKILL.md` 访谈章节 - [ ] 修改 `skills/scd-discovery/references/interviewing.md` 对应四节 - [ ] 更新 `tests/discovery-contract.test.mjs` 断言 - [ ] 运行聚焦测试与全量测试 - [ ] PR、独立验收、合并、安装刷新、关闭 Issue
Activity
mindcarver commentedon Oct 8, 2026
实施账目更新
需要确认:否(默认免确认)
实施任务
skills/scd-discovery/SKILL.md访谈章节(“沿决策树访谈”→“沿决策树按轮访谈”)references/interviewing.md:组织一轮(含固定题式与同轮互斥)、前沿定义与临时假设解锁、按轮未回答处理、每轮收敛tests/discovery-contract.test.mjs断言(新增前沿/互不依赖/按编号作答/临时假设临时落定/每轮收敛正向断言与旧措辞反向断言)tests/readme-diagrams.test.mjs:72阶段追溯断言至新标题“沿决策树按轮访谈”(同轮次内完成的范围内发现,属本 Issue 拥有差异)验证证据(提交 563d378)
node --test tests/discovery-contract.test.mjs→ 4/4 通过;SKILL.md含“每轮一次性抛出整个前沿”“互不依赖”“按编号作答”,全文无“一次只询问一个决策”。PASSinterviewing.md含“前沿是前置决策已全部落定、彼此互不依赖的未决决策集合”“临时假设视为临时落定”“## 每轮收敛”,全文无“每次只请求一个决策”“每解决三到五个”。契约测试断言逐一命中。PASSSKILL.md含“必须明确确认”;readiness-review.md含“静默对抗式审查”与“A1:”;interviewing.md含“先问上游问题,再问其后果”。PASSnode --test tests/*.test.mjs= 337 通过 / 17 失败,与干净 main 基线(337/17,Windows 环境预置失败清单逐一比对)完全一致,本变更零新增失败。PASS(本地环境维度)交付状态
mindcarver commentedon Oct 8, 2026
完成审计(最终)
独立验收结论:PASS(全新上下文验收子代理,基于直接证据)
tests/discovery-contract.test.mjs4/4 通过;readme-diagrams + architecture-contract12/11/1,唯一失败README flow diagrams are reproducible在干净 main(78f41cd)临时 worktree 复跑结果完全相同,证明为 Windows 环境预置失败、与本变更无关;CI(ubuntu)全绿(19s)。三本账
交付记录
非阻塞观察(移交后续,不阻止关闭)
references/artifacts.md连续性状态描述仍用“只保留一个下一决策”单决策词汇,属 Issue 范围外既有文案,可在后续维护中统一为轮次措辞。mindcarver commentedon Oct 8, 2026
合并与清理证据(回填)
71d808382f3f9eb5e1f3601d397fb333f1999504(未使用自动关闭语法)。main已同步至71d8083,grep确认合并版本包含“每轮一次性抛出整个前沿”。.scd/tasks/current.md不存在)。清理账本闭合。安装状态账本(合并后检查)
D:\mindcarver\thinloop\skills;scd-discovery/SKILL.md 直接命中新表述;codex-cli 0.147.0claude plugin marketplace update thinloop+claude plugin update thinloop@thinloop --scope user:0.16.0 → 0.17.1;缓存~/.claude/plugins/cache/thinloop/thinloop/0.17.1中 SKILL.md 与测试均含本次变更refresh-install.mjs --platform zcode需zcode app-serverCLI,本机仅有桌面应用(D:\zcode\ZCode.exe),无 CLI 可调;按约定不代装/不升级宿主关闭条件说明
三本账与合并版本均闭合;唯一未闭合项为 ZCode 插件缓存刷新(需宿主内操作:在 ZCode 插件页或
/plugin更新 thinloop 至 0.17.1)。该项保持 UNVERIFIED 上报,不视为 PASS;待刷新后关闭本 Issue。mindcarver commentedon Oct 8, 2026
ZCode 刷新完成,安装账本闭合
上一个评论中唯一的 UNVERIFIED 项已解决。ZCode 桌面安装虽无 PATH 上的
zcodeCLI,但其内置 CLI 入口存在:node D:/zcode/resources/glm/zcode.cjs(--version → 0.16.9,支持app-server与plugins子命令)。通过临时驱动脚本以该入口注入runCommand/request,完整复用仓库scripts/refresh-install.mjs导出的refreshInstallation(含 marketplace directory 守卫:确认指向D:\mindcarver\thinloop后才执行原生plugins/marketplace/update+plugins/updateRPC)。输出REFRESH_OK。验证证据:
~/.zcode/cli/plugins/installed_plugins.json:thinloop@thinloop →version: 0.17.1,installPath指向cache\thinloop\thinloop\0.17.1,updatedAt: 2026-10-08T08:27:23Z;cache\thinloop\thinloop\0.17.1\skills\scd-discovery\SKILL.md含"每轮一次性抛出整个前沿"(本次合并变更);旧版本目录 0.15.0/0.16.0 按既有行为保留;zcode.cjs plugins list --json→ thinloop@thinloopversion 0.17.1、enabled、skillCount 12、两个 hooks 均runnable(PreCompact 不支持警告为该运行时既有行为,非本次引入);最终关闭判定
三本账闭合(验收 A1–A6 全 PASS、实施任务全 DONE、交付状态含清理账本闭合);合并版本
71d8083在 main;全部已安装平台的 payload 均已刷新并验证(Codex/OpenCode/DSH 源链接自动最新、Claude Code 0.16.0→0.17.1 已实证、ZCode 0.16.0→0.17.1 已实证)。Pi/CodeWhale/Reasonix 为本机从未安装的预置状态,不属本 Issue 范围。关闭条件满足。