diff --git a/docs/ai-context/intent-catalog-guide.md b/docs/ai-context/intent-catalog-guide.md index c17beb6..c58f9b3 100644 --- a/docs/ai-context/intent-catalog-guide.md +++ b/docs/ai-context/intent-catalog-guide.md @@ -50,6 +50,9 @@ | 假设 | 否 | 指向既有的证伪落点(某张 spike 卡或复盘),目录里不存证伪状态 | | 证据 | 否 | 指向已有证据(卡上的 verify 记录、PR) | | 墙 | 否 | 关联的承重墙编号,例如 `W12,W13` | +| 形态 | 否 | `定型`(缺省)或 `探索`;只能由人确认修改,见「探索章与结晶」 | + +**不必开章的情况**:只是修修补补的卡,照常做,不写 intent;属于某个已有章的,就挂上去,算补丁级。完全没有意图、直接做 MVP 的,先不开章,做两三轮以后再从试用反馈里提炼。目录和卡侧 intent 都是可选的,不会挡住任何工作。 **防膨胀(硬限制)**: @@ -119,6 +122,45 @@ git rev-parse --short HEAD:.blueprint/catalog.md **在制品保护**:钉旧版的 🔵 卡照常做完,只复核 acceptance。章被撤销,或新的「不做」覆盖了这张卡时,停下找人。任何情况下都不自动改写卡。 +## 探索章与结晶 + +意图常常不是一开始就清楚的,而是做 MVP、反复试用以后才长出来。探索章就是给这种情况用的:先写下在找什么、找多久,等意图结晶出来再改成定型章。 + +```markdown +## INT-04 <轮廓名> +- rev: 1.1 +- 形态: 探索 +- 轮廓: <人的原话,模糊也可以> +- 试探: <这一阶段想弄清的问题,例如「哪种交互最顺手」> +- 不做: <再模糊也要有的边界> +- 预算: <最多 N 轮 MVP 或 N 天> +- 收敛信号: <出现什么就说明方向定了,例如「连续两轮不再想改核心交互」> +- 证据: <各轮试验卡的指针> +``` + +| | 定型章 | 探索章 | +|---|---|---| +| 必填 | rev、意图、人看、机器、不做 | rev、形态: 探索、轮廓、试探、不做、预算、收敛信号 | +| 回答 | 做到什么样算对 | 我们在找什么、找多久 | +| goal 终点 | 交付终点 | 每轮试验的终点 | +| 度量 | goal 一次判对率 | 几轮收敛、是否守住预算、否决理由是否越来越少 | + +**每轮试验**: +- 拆一张试验卡,挂到探索章上:`- intent: INT-NN@X.Y`。 +- 人试用后,agent 把反应记成卡上的终验行:`- 终验: YYYY-MM-DD 保留|否决:<理由>`。 +- 这些保留和否决的理由,就是结晶的原料。 + +**结晶(探索 → 定型)**: +- 收敛信号出现,或预算用完时,agent 汇总各轮终验行,起草「意图提炼」:建议的意图、人看、机器、不做,以及依据(哪几轮保留、哪几轮否决、为什么)。 +- 人确认后,形态改为定型,按小版本修订:Y+1,本章 rev 更新,轮廓、试探、预算、收敛信号几行换成意图、人看、机器。 + +**预算用完仍未收敛**:由人三选一: +- 追加预算继续,小版本; +- 换方向重写轮廓,小版本; +- 放弃,大版本,留墓碑。 + +agent 不得自行延长预算。 + ## goal 编译 本流程只依赖读文件和 git,不依赖任何特定客户端或模型。Claude 的 /architect 只是可选包装,任何 agent 都可以照着手工执行。产出是一张目标确认卡加一段 /goal 文本。 @@ -136,6 +178,12 @@ git rev-parse --short HEAD:.blueprint/catalog.md - 取各卡 agent_verify 的合取,改写成在会话里能判定的形式:贴出命令和预期输出、纳入卡前缀都是 ✅、回执已写入。 - human_verify 不进终点,单列为终验待办。 - 过程词黑名单命中数必须为 0:「按方针」「符合设计」「设计已完成」「基本完成」,以及任何无法从会话输出判定的形容词。 + - **探索章**不编译「意图的终点」,只编译本轮试验的终点: + - 做出可试用的 MVP 变体,写明最小动作和可演示方式; + - 校验命令通过; + - 试验卡为 ✅ 且已写回执。 + - 人的试用反馈作为终验待办,记到终验行。 + - 确认卡写明这是第几轮、共几轮预算;超出预算就不编译,转入结晶或请人三选一。 6. **写停止条件**:遇到以下任一情况必须停下找人: - human_verify; - 写运行中的数据库; @@ -155,6 +203,7 @@ git rev-parse --short HEAD:.blueprint/catalog.md [INT-NN@X.Y#] 目标确认卡 项目: | 分支/worktree: @ | HEAD: 章意图: <一句> | 不做: <…> +形态: 定型 | 探索(第 k/N 轮;收敛信号: <…>) 纳入卡: <卡键>(来源 agent_verify 原文)、<卡键>(…) 终点(合取): 1) <命令> → <预期输出> 2) … 3) 纳入卡均 ✅ 且已写 Goal-Receipt 终验待办: <各卡 human_verify> @@ -207,6 +256,8 @@ awk '/^## INT-[0-9]{2} /{c=$2} /^- rev:/{print c, $3}' .blueprint/catalog.md cat .blueprint/modules/*.md | grep -c '^### ' # 10. goal 文本的过程词黑名单(把 /goal 文本存成临时文件后检查) grep -cE '按方针|符合设计|设计已完成|基本完成' # → 0 +# 11. 探索章的必填字段齐全(没有输出即通过) +awk '/^## /{if(e&&!(b&&s))print "缺预算或收敛信号: "c; c=$2;e=0;b=0;s=0} /^- 形态: 探索/{e=1} /^- 预算:/{b=1} /^- 收敛信号:/{s=1} END{if(e&&!(b&&s))print "缺预算或收敛信号: "c}' .blueprint/catalog.md ``` card: 指针目前只能人工核对,到模块文件里搜索卡键,Phase 4 后由门控自动校验。指针中带 `#标题` 的部分,也是同样的人工核对方式。 diff --git a/docs/tasks/2026-10-04-intent-catalog-design.md b/docs/tasks/2026-10-04-intent-catalog-design.md index d000d3c..438929b 100644 --- a/docs/tasks/2026-10-04-intent-catalog-design.md +++ b/docs/tasks/2026-10-04-intent-catalog-design.md @@ -1,6 +1,7 @@ # 设计决策:意图目录(intent-catalog)· IC1 > status: 已确认(2026-10-04,五项待拍板全部采纳推荐)| complexity: L(本文只到设计,实现拆为 IC2–IC13)| created: 2026-10-04 | blueprint: intent-catalog +> 修订 2026-10-04:增加探索章(意图从迭代中结晶),见模块决策记录与指南「探索章与结晶」;本文未逐节同步。 > ⚠️ 处置条款:用户确认后,稳定结论回写 `.blueprint/modules/intent-catalog.md`(决策记录与任务卡),本文件在 IC3 完成后 24h 内删除,不做第二事实来源。 > 产出方式:/architect 评审团工作流 wf_60e4c430-bb1。3 个独立方案(最小文件优先、结构化优先、最大化复用)交 2 位评委(agent 友好度与成本、治理与风险)打分,由综合者定稿;关键代码事实已由主会话复核。