Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@
},
"metadata": {
"description": "Thinloop skills and continuity hooks for Issue-backed discovery, read-only project-status navigation, multi-Issue project DAG decomposition and execution, evidence-backed reengineering and delivery, and approved skill evolution.",
"version": "0.19.0"
"version": "0.20.0"
},
"plugins": [
{
"name": "thinloop",
"source": ".",
"description": "Discovery, Web UIUX, architecture, Next project-status navigation, Project DAG decomposition, Execute READY-wave orchestration, Reengineering gates, QuickDev delivery, maintenance, knowledge, and evolution skills with continuity checks; Project itself remains non-executing.",
"version": "0.19.0"
"version": "0.20.0"
}
]
}
2 changes: 1 addition & 1 deletion .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "thinloop",
"version": "0.19.0",
"version": "0.20.0",
"description": "Simplify complex development with Issue-backed discovery, risk-adaptive Web experience and architecture design, non-executing multi-Issue project decomposition into dependency DAGs, bounded READY-wave execution, read-only project-status navigation, project-scale refactoring and cross-stack reimplementation, autonomous single-Issue PR delivery, evidence-backed maintenance, concise experiential knowledge, and human-approved skill evolution.",
"author": {
"name": "mindcarver"
Expand Down
4 changes: 2 additions & 2 deletions .codebuddy-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@
},
"metadata": {
"description": "Thinloop skills and continuity hooks for Issue-backed discovery, read-only project-status navigation, multi-Issue project DAG decomposition and execution, evidence-backed reengineering and delivery, and approved skill evolution.",
"version": "0.19.0"
"version": "0.20.0"
},
"plugins": [
{
"name": "thinloop",
"source": ".",
"description": "Discovery, Web UIUX, architecture, Next project-status navigation, Project DAG decomposition, Execute READY-wave orchestration, Reengineering gates, QuickDev delivery, maintenance, knowledge, and evolution skills with continuity checks; Project itself remains non-executing.",
"version": "0.19.0"
"version": "0.20.0"
}
]
}
2 changes: 1 addition & 1 deletion .codebuddy-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "thinloop",
"version": "0.19.0",
"version": "0.20.0",
"description": "Simplify complex development with Issue-backed discovery, risk-adaptive Web experience and architecture design, non-executing multi-Issue project decomposition into dependency DAGs, bounded READY-wave execution, read-only project-status navigation, project-scale refactoring and cross-stack reimplementation, autonomous single-Issue PR delivery, evidence-backed maintenance, concise experiential knowledge, and human-approved skill evolution.",
"author": {
"name": "mindcarver"
Expand Down
4 changes: 2 additions & 2 deletions .codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "thinloop",
"version": "0.19.0",
"version": "0.20.0",
"description": "Simplify complex development with Issue-backed discovery, risk-adaptive Web experience and architecture design, non-executing multi-Issue project decomposition into dependency DAGs, bounded READY-wave execution, read-only project-status navigation, project-scale refactoring and cross-stack reimplementation, autonomous single-Issue PR delivery, evidence-backed maintenance, concise experiential knowledge, and human-approved skill evolution.",
"author": {
"name": "mindcarver"
Expand Down Expand Up @@ -46,6 +46,6 @@
"Interactive",
"Write"
],
"defaultPrompt": "Thinloop routing source: config/routing-kernel.json. Use SCD Next for progress, unfinished work, blockers, or what to do next; read live project evidence and recommend the single next action without changing state. Use SCD QuickDev for one clear Issue-backed delivery; merge only after direct evidence and independent acceptance, and stop for explicit approval before high-risk actions. Confirm concrete technical choices and the exact Git plan, then obtain implementation authorization before execution; unanswered choices remain pending. Use SCD Discovery when product outcomes remain open, especially for a new product or interdependent product decisions. Use SCD Project when an approved outcome needs multiple independently verifiable deliveries; create and validate the Initiative, Delivery Issues, and dependency DAG, but it does not run an implementation loop. Use SCD Execute to start, continue, resume, or finish an approved Initiative by selecting the current safe READY wave and launching one isolated QuickDev lane per Issue. Use SCD Reengineering for project-scale refactoring or cross-language, framework, architecture, storage, or runtime replacement; fix source, compatibility, parity, and cutover gates before consuming the approved DAG through a safe READY wave. Add design only when the complexity is real: use SCD UIUX for consequential Web experiences, SCD UI Polish for visual refinement of existing Web pages, and SCD Architecture for domain, system, or shared-interface boundaries. Use SCD Maintenance, SCD Knowledge, SCD Evolve, or SCD Interview only when explicitly requested; ordinary development must not trigger them automatically."
"defaultPrompt": "Thinloop routing source: config/routing-kernel.json. Use SCD Next for progress, unfinished work, blockers, or what to do next; read live project evidence and recommend the single next action without changing state. Use SCD QuickDev for one clear Issue-backed delivery; merge only after direct evidence and independent acceptance, and stop for explicit approval before high-risk actions. Confirm concrete technical choices and the exact Git plan, then obtain implementation authorization before execution; unanswered choices remain pending. Use SCD Research for pre-build user, demand, competitor and alternative research, or a new product lacking critical opportunity evidence; research can finish independently, handing findings to Discovery only when product definition is wanted. Use SCD Discovery when product outcomes remain open, consuming Research evidence when needed and preserving approved scope and clear-change fast paths. Use SCD Project when an approved outcome needs multiple independently verifiable deliveries; create and validate the Initiative, Delivery Issues, and dependency DAG, but it does not run an implementation loop. Use SCD Execute to start, continue, resume, or finish an approved Initiative by selecting the current safe READY wave and launching one isolated QuickDev lane per Issue. Use SCD Reengineering for project-scale refactoring or cross-language, framework, architecture, storage, or runtime replacement; fix source, compatibility, parity, and cutover gates before consuming the approved DAG through a safe READY wave. Add design only when the complexity is real: use SCD UIUX for consequential Web experiences, SCD UI Polish for visual refinement of existing Web pages, and SCD Architecture for domain, system, or shared-interface boundaries. Use SCD Maintenance, SCD Knowledge, SCD Evolve, or SCD Interview only when explicitly requested; ordinary development must not trigger them automatically."
}
}
2 changes: 1 addition & 1 deletion .dsh-plugin/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ SCD 管理但不可恢复,就 `agent.steer(...)` 一条纠正消息,让 Agen

1. 确认 `.dsh-plugin/` 与 `hooks/` 都留在同一份 Thinloop 检出内:插件通过
相对路径导入 `../hooks/validate-state.mjs`,两处必须同时存在。
2. 把十三个 Skill 链接到 `$DSH_HOME/skills`(见
2. 把十四个 Skill 链接到 `$DSH_HOME/skills`(见
[docs/installation.md](../docs/installation.md) 的统一链接脚本)。
3. 在 `$DSH_HOME/cordis.patch.yml` 顶层列表追加一个 `insert` 块(文件为
`[]` 时替换为下面内容;已有其他条目时保留它们):
Expand Down
68 changes: 68 additions & 0 deletions .scd/plans/20261109-160001-discovery-product-research/decisions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
---
status: approved
version: 2
created_at: 2026-11-09T16:00:01+08:00
updated_at: 2026-11-09T16:50:08+08:00
recorded_timezone: Asia/Shanghai
---

# 决策与事件

## E1:用户请求(非具体方案批准)

- 类型:需求来源
- 原文:“我不需要你安装……把他的能力,内化到我的scd 技能里,可以完全参考,或者取可取的地方,我有的就不要加,我缺少的优化”。
- 解释:允许调查 pm-skills、对照 Thinloop 和提出缺口内化;不安装该外部插件。
- 任务范围:现有 SCD 的产品前期用户/竞品/假设验证能力。
- 文件及版本:本目录四份文档 v2 / draft。
- 目标Git SHA:`7da112df7d373d63c9ffb2e8dfedc12fee7215b9`(调查基线,非方案批准)。
- occurred_at:null(原消息精确时间不可得)。
- recorded_at:2026-11-09T16:00:01+08:00

## E2:用户确认独立技能

- 类型:产品组织决策(已确认)
- 原文:“我觉得还是单独会比较好点”。前文明确问题是是否创建新的 SCD 技能。
- 结论:采用独立技能,取代 v1 的“增强 Discovery、不新增技能”组织方案。
- 尚未确认:具体名称 scd-research、自动路由条件、交接规则、文件/版本/验证方案及该版本开工授权;这些均作为下面整版方案待确认项。
- 目标Git SHA:`981cbe1cbc5a1f2510b82e9b9e8b2ac834b9f113`(被修订的 v1 计划)。
- occurred_at:null(原消息精确时间不可得)。
- recorded_at:2026-11-09T16:42:23+08:00

## 待确认的推荐选择(可一次批准)

1. 新增 scd-research,研究方法独立放置;Discovery 只负责产品契约并消费研究结论。总目录 14 个技能、9 条规范路由。
2. 显式研究请求与缺乏关键机会证据的新产品进入 Research;已有依据、固定形态、明确跳过或清晰变更保持原快速路径。
3. 按 requirements.md R1–R5 落地用户/替代、竞品、证据、假设验证;只研究时就结束,不自动生成 PRD 或启动实施。
4. 按 implementation.md 的具体文件范围同步目录/路由/兼容性、0.20.0 版本,运行工程检查与独立行为场景;不改历史评测结果或运行旧 36 次完整评测。
5. 整版批准后创建中文 Issue,连续完成普通 Git/PR/合并和已安装宿主 Thinloop 刷新(含第 14 个技能);不安装 phuryn/pm-skills 或缺失宿主。

v2 方案批准:尚未收到。v2 开工授权:尚未收到。已确认“独立”不等于批准尚未展示的全部具体选择。

## E3:v2 方案批准与开工授权

- 类型:批准与开工(用户明确合并授权)。
- 原文:“确认按 v2 方案开始实施,新增独立的 scd-research,完成验证和合并后同步更新本机已有的 SCD 技能。”
- 目标Git SHA:`515ade14d4e5e1b0543deb73bfd4b4b9d4aefafd`。
- 精确文件:本目录 plan.md、requirements.md、implementation.md、decisions.md,v2。
- 范围:v2 的 T1–T7、A1–A6,包括普通交付和本机已有 Thinloop 同步;不安装外部 pm-skills。
- occurred_at:null(消息精确时间不可得)。
- recorded_at:2026-11-09T16:50:08+08:00
- 未决选择:本版范围内无;实质变化另行确认。

## E4:实施与工程检查

- recorded_at:2026-11-09T16:55:45+08:00
- 方案:v2,批准版本 515ade14d4e5e1b0543deb73bfd4b4b9d4aefafd,Issue #118。
- 当前评测定义 evals/thinloop/manifest.json 的载荷技能表同步新增 scd-research,否则已有 dry-run 明确报目录不一致;属于第 14 个技能的必要目录同步,不改变历史冻结评测或评分器。
- 工程:369/369 测试通过,版本/路由/评测定义与 dry-run、交付协议、流程图和插件 strict validation 通过。Research/Discovery quick_validate 通过(uv 临时 PyYAML,不增加项目依赖)。
- 独立验收、远端 CI、合并、安装更新与资源清理尚待完成。

## E5:批准来源复核与状态同步

- 类型:行政记录,无方案或技能变更。
- 原始 user 消息 `msg_01a1bf7f-7266-7922-bc28-4149d8411969` 已核实为 E3 的授权原文。
- E3 occurred_at 补充核实为 2026-11-09T16:49:23.047+08:00;此前留空是当时未读取原始记录,未回填伪造时间。
- plan.md 当前进度说明同步为已批准/已实施工程检查;v1/v2 历史待确认记录保留,以 E3 为后续授权依据。
- 方案 v2 的精确批准提交与文件清单未改变。
- recorded_at:2026-11-09T16:58:17+08:00
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
---
status: approved
version: 2
created_at: 2026-11-09T16:00:01+08:00
updated_at: 2026-11-09T16:50:08+08:00
recorded_timezone: Asia/Shanghai
---

# 实施计划

## 文件和组织(推荐选择)

1. 新建 `skills/scd-research/SKILL.md` 与 `agents/openai.yaml`,中文入口名为“SCD 产品研究”;入口负责适用范围、研究决策、方法/深度选择、证据与权限底线、结果和自然交接,描述足以自动发现但不吸收普通编码/通用检索。
2. 新建 `skills/scd-research/references/product-research.md`:承载 R1–R4 的用户、竞品/替代、证据、风险与最小验证细则,并附固定上游来源及所借鉴内容的 MIT 版权许可。按需加载;不整包复制,不新增脚本/依赖。
3. `skills/scd-discovery/SKILL.md` 增加条件路由和消费研究结论的说明;仅对 `references/interviewing.md` 中与前期调研冲突的措辞作衔接调整。Discovery 保留原产品访谈、就绪、PRD、确认机制,不内置重复研究流程。不修改 PRD 模板、readiness 或 artifacts,除非实现时发现直接冲突;此类额外变更须先说明并修订计划。
4. `config/routing-kernel.json` 新增独立 Research 规范路由(由八条变九条),Discovery 路由只补衔接;`scripts/sync-routing-kernel.mjs` 的目录覆盖检查由 13 调整到 14。沿用生成命令同步 AGENTS、README 与实际生成的 Agent 表面,不手改生成段。
5. README 增加 Research 能力卡及 Research → Discovery 的使用说明;`scripts/generate-readme-diagrams.mjs` 增加 Research 流程定义,按已有格式生成 `assets/flows/scd-research.svg`,不重排旧技能稳定名称。没有产品 UI 变更;流程图检查不是产品浏览器验收。
6. 同步 `config/platform-capabilities.json` 中当前技能数量文案,并通过既有生成器更新 `docs/installation.md`、`docs/verification.md` 等当前安装说明;`.dsh-plugin/README.md` 当前技能总数改为十四。历史发布说明/历史评测冻结快照保留原计数,不做全仓 13→14 替换。
7. 必要的技能目录和覆盖回归修改限定为 `tests/routing-kernel.test.mjs`、`plugin-compatibility.test.mjs`、`opencode-compatibility.test.mjs`、`chinese-skill-payload.test.mjs`、`step-communication.test.mjs`、`readme-product-surface.test.mjs`、`thinloop-current-eval.test.mjs`、`platform-capabilities.test.mjs`;当前 ZCode fixture `tests/fixtures/zcode/{array,envelope}.json` 的 skillCount 与当前完整载荷一致。保留其他 13(如验收项编号)和冻结历史测试不变。
8. 在 `evals/discovery/product-research-scenarios.md` 保存下述可复现行为场景和原始材料;复用独立上下文执行,不添加新运行器、服务、评分器或强制网络依赖。用语匹配和目录数量检查只证明结构,不能宣称行为通过。
9. 功能版从 0.19.0 升至 0.20.0:同步 `.codex-plugin/plugin.json`、`.claude-plugin/plugin.json`、`.claude-plugin/marketplace.json`、`.codebuddy-plugin/plugin.json`、`.codebuddy-plugin/marketplace.json`、`.zcode-plugin/plugin.json`、`marketplace.json`、README badge、`docs/installation.md` 最新条目;新增 `docs/releases/v0.20.0.md`。不主动打 tag 或发布外部包。

## 行为验证场景

| 场景 | 原始输入 | 应观察结果 |
| --- | --- | --- |
| 未验证消费产品 | 希望做生活管理工具;原始材料显示数据在手机内、用户缺乏搬运意愿 | 通过 Research 研究行为、替代和采用成本,把数据进入/持续投入作为假设,不先承诺完整功能或手机集成可用 |
| 明确局部改动 | 已有列表空状态改一句文案,范围完整 | 直接走既有局部变更路径,不添加竞品、画像或市场证明 |
| 证据薄且矛盾 | 同源营销转载与少量真实用户意见不一致;无样本总体 | 保留反证与局限,不把转载算独立需求支持、不估造发生率或模拟访谈 |
| 用户固定产品形态 | 明确只做本地桌面内部工具,接受已知手工步骤 | 尊重约束,研究实际未决问题,不强迫商业化/手机端,也不反复要求市场证明 |
| 明确深度研究 | 给定产品主题与若干可读取的官方/用户原始材料,另有不可访问来源 | 实际读材料、核对主张、说明覆盖与来源限制,提出关键假设的下一验证;不联系别人、收款或写实施代码 |
| 已批准产品 | 完整 PRD、来源证据和明确开工授权 | 直接进入既有交付路径,复用有效研究与已批准契约,只调查真实新增缺口,不重新进入整套市场调研 |

独立验收亲读批准提交、实际差异及上述原始场景;分别核对 Research 独立完成、Research 到 Discovery 交接、Discovery 快速路径不倒退;使用隔离输出目录,逐场景记录行为、证据和 PASS/FAIL/BLOCKED。带固定材料的场景验证证据处理与路由,不能称为在线市场调研效果或跨模型收益。真实联网场景需以工具读取得到的来源为证据;网络不可用记具名限制。

## 工程验证

先运行仓库现有 CI 的无模型检查:`node --test tests/*.test.mjs`、`node scripts/check-version.mjs`、`node scripts/sync-routing-kernel.mjs --check`、`node evals/validate-discovery-cases.mjs`、`node evals/validate-knowledge-cases.mjs`、`node evals/knowledge/validate.mjs`、`node evals/thinloop/validate.mjs`、Knowledge 与 Thinloop 的 dry run、`node evals/delivery/run.mjs --mode protocol`、`node scripts/generate-readme-diagrams.mjs --check`、Claude plugin strict validation。对新增 Research 和改动 Discovery 分别执行 skill-creator quick_validate;仓库无编译构建步骤,不伪称执行了应用构建。

不运行旧版固定模型的 36 次完整研究评测,不改旧结果、不承诺通过未跑的运行时验证。新行为以此次独立上下文、隔离场景直接验收,不以文本存在或绿色 CI 替代。

## 执行顺序与交付

T1 确认本计划的精确版本并记录批准/开工事件,创建一个中文 Issue 引用计划 SHA 与 A1–A6。
T2 实现上述技能与路由/文档增量、版本同步;保留本任务外文件。
T3 执行工程检查和行为验证,修复本任务回归;无法核验的项目明确标记。
T4 按 release-contract 调用独立新上下文验收,读取 Issue/批准依据/真实差异和行为证据,只有 PASS 才进入合并。
T5 提交任务分支并推送,PR 使用 Refs;等必需检查通过后合并,保留获批计划 Git 历史,独立新克隆验证精确 SHA:file 可读。
T6 同步主检出 main,按既有安装契约刷新已安装 Agent 的 Thinloop 载荷(不安装 phuryn/pm-skills 或缺失宿主),核对版本、十四技能及平台支持的 hooks;记录 MANUAL/UNVERIFIED/SKIP,真实验收由用户保留。
T7 Issue 完成审计后按实际证据关闭并清理本任务 worktree/分支;不能恢复批准历史或安装必需证据不完整时保留资源并报告。

## 风险与停止条件

- 不把开产品之前“先研究”泛化成任何 Bug 都要访谈或竞品报告;按触发、复用和用户约束验收。
- 证据搜集与用户契约确认分开,不允许引用网页指令改变任务权限;研究不自动授权外联/实验副作用。
- 现有三份无关未跟踪产物留在原主检出,本任务隔离 worktree 操作。
- 缺失批准、GitHub 权限、必需检查、独立验收或高风险授权时,停止受影响动作并具名报告。
Loading
Loading