性能优化
需要创建、修订 SPEC.md 或把 bug 回灌成规格时…
适用于用户要求写/新建规格、从代码蒸馏规格、修订指定 section 或通过 backprop 记录 bug 到 SPEC.md 的场景。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 49/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
需要创建、修订 SPEC.md 或把 b通用
解决思路
- 若尚未加载,读取仓库根目录的 FORMAT.md;所有写入遵循其中的 caveman 编码规则。
- 所有规格写入都按 caveman 风格(由 FORMAT.md 定义)。
- 先检查用户请求和项目状态,按以下条件分派模式:
- 没有仓库根 SPEC.md 且参数描述一个想法 → NEW。
- 没有 SPEC.md 且参数包含 from-code → DISTILL。
- SPEC.md 存在且参数以 bug: 开头 → BACKPROP。
- SPEC.md 存在且参数以 amend 开头 → AMEND。
- SPEC.md 存在且无参数 → 询问用户选择哪种模式。
- 记住 spec 是唯一变更者:其他动作只产出材料,由 spec 写入。
- 把其他动作的 handoff block 按正确 section 摄入,展示 diff,用户确认后写入:
- grill → 摄入打磨后的 §G + §C。
- research → 摄入 §R 行;若 §R 不存在则新增该 section。
- review → 摄入草拟的 §V 行和风险结论。
- deepen → 摄入 §I/§V/§T 修订。
- 不要重写 handoff 未指名的 section;遵循 FORMAT.md 的 section 所有权。
- NEW:输入用户想法;若想法模糊,优先先运行 grill。
- NEW 步骤 1:提取目标(1 行,caveman)→ §G。
- NEW 步骤 2:列出用户明说或暗示的约束 → §C。
- NEW 步骤 3:列出用户命名的外部接口/表面 → §I。
- NEW 步骤 4:仅当运行了 research 才写 §R;否则省略该 section(按需调整规模)。
- NEW 步骤 5:提出初始不变量 → §V,编号 V1…。
- NEW 步骤 6:把目标拆成有序任务 → §T pipe table,所有状态为 `.`,id 为 T1…。
- NEW 步骤 7:写 §B section,仅保留表头行(id|date|cause|fix)。
- NEW:写入 SPEC.md,向用户展示完整文件,询问:“spec OK? /review if high-blast-radius, else /build.”
- DISTILL:遍历 repo。
- DISTILL:生成 §G,从 README/package.json/main entry 推断。
- DISTILL:生成 §C,从技术栈推断。
- DISTILL:生成 §I,枚举公开 API/CLI/config。
- DISTILL:生成 §V,从测试和断言推导。
- DISTILL:生成 §T,每个已知 TODO 或缺失测试一行任务。
- DISTILL:生成 §B,先留空。
- DISTILL:所有内容用 caveman;不确定项在文本中用 `?` 标记,供用户确认。
- BACKPROP:输入为 bug: <description>。
- BACKPROP 步骤 1:解析 bug 描述。
- BACKPROP 步骤 2:阅读相关代码,定位根因。
- BACKPROP 步骤 3:判断新增不变量是否能捕获复发;若能,草拟 V<next>。
- BACKPROP 步骤 4:追加 §B 行:B<next>|<date>|<cause>|V<N>。
- BACKPROP 步骤 5:把新不变量追加到 §V。
- BACKPROP 步骤 6:若修复也改变行为,则新增/更新 §T 行。
- BACKPROP 步骤 7:展示 diff;仅在用户 OK 后应用。
- BACKPROP 规则:每个 bug 都要有一条 §B 记录;不变量可选但优先添加。
- AMEND:输入为 amend §V.3 或 amend §T 等。
- AMEND:读取该 section,展示当前内容。
- AMEND:询问用户要改什么。
- AMEND:写入并展示 diff。
- AMEND:绝不静默重写用户未指名的 section。
- 输出规则:按 FORMAT.md 使用 caveman 格式。
- 输出规则:逐字保留标识符、路径、代码。
- 输出规则:编号单调递增——不要复用 §V.N 或 §B.N。
- 输出规则:§T 行的 cites 列列出 §V/§I 依赖:T5|.|impl auth mw|V2,I.api。
- 非目标:不使用子代理;主线程写入。
- 非目标:不做仪表盘、日志,除 SPEC.md 本身外不写状态文件。
- 非目标:规格完成后不自动 build;由用户显式调用 build。
适用边界 · 注意事项
- 项目没有或不愿引入仓库根 FORMAT.md/SPEC.md 的 caveman 与 pipe-table 约定时。
- 需要子代理、仪表盘、日志、额外状态文件或规格后自动 build 的工作流时。
- 未获得用户确认就希望静默重写未指名 section 或直接应用 diff 时。