From cf86ab688af920b8ad6eebdb44835a0f7e6110f2 Mon Sep 17 00:00:00 2001 From: lanrtop Date: Sat, 4 Jul 2026 16:42:02 +0900 Subject: [PATCH] =?UTF-8?q?docs(conventions):=20=E6=A2=A6=E6=A0=B8?= =?UTF-8?q?=E8=92=B8=E9=A6=8F=E2=80=94=E2=80=94=E8=A7=84=E5=88=99=E7=BD=AE?= =?UTF-8?q?=E4=BF=A1=E5=BA=A6=E6=9B=B4=E6=96=B0=20+=20=E6=A2=A6=E6=A0=B8?= =?UTF-8?q?=E5=86=99=E5=85=A5=E7=BA=AA=E5=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - R01 confidence 0.90→0.95(12 命中 0% 返工,最稳信号) - R13 confidence 0.80→0.88(11 命中 9% 返工,高频高效) - R08 confidence 0.87→0.72(3 命中 100% 返工,补 failure_case + boundaries) - R10 confidence 0.85→0.60(6 命中 83% 返工,补 failure_case + boundaries) - 追加梦核写入纪律:蒸馏替换而非追加,规则上限 ≤ 25 条 - 数据来源:2026-07-04 梦核分析,40 条复盘笔记 + Rules-Applied trailer --- .blueprint/CONVENTIONS.md | 36 ++++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/.blueprint/CONVENTIONS.md b/.blueprint/CONVENTIONS.md index 57d3da2..c919d9f 100644 --- a/.blueprint/CONVENTIONS.md +++ b/.blueprint/CONVENTIONS.md @@ -479,6 +479,16 @@ rule_effectiveness: R10=未验证(任务开始前未触发,事后归因) - **固化**:哪些跨项目重复出现的阻塞模式、哪些有效实践,值得写进 CONVENTIONS - **遗忘**:哪些休眠项目(90天无快照)的 AI 文档可以归档,哪些 CONVENTIONS 规则已过时 +### 梦核写入纪律(蒸馏,不是追加) + +梦核的产出是**替换操作,不是追加**。每次梦核后遵守: + +1. **项目专属规则不进全局** → 写到该项目的 `.blueprint/rules.md`,不写入 CONVENTIONS +2. **全局规则上限 ≤ 25 条** → 超出则先合并/删除再新增;规则总量是飞轮健康度的信号 +3. **改原条目,不加新条目** → R10 置信度需降,直接修改 R10 的 confidence 字段,不在旁边另起一条注释 +4. **置信度元数据就地维护** → confidence / evidence_count / failure_cases 内嵌在各规则条目中,不另建文件 +5. **一次性洞察不固化** → 梦核分析在对话中消费完毕,不另存 .md 文件;原料(复盘笔记)已在飞轮中,随时可重新生成 + ### 闭环路径 两条并行的反馈路径,速度不同: @@ -882,9 +892,9 @@ scope 描述规则的正向适用范围,**boundaries 描述已知的反向边 - **scope**: `tauri` - **触发条件**:在 `src-tauri/src/commands/` 下新增 `#[tauri::command]` 函数 - **自动动作**:读取 `src/lib/commands.ts`,确认是否有对应封装;缺失则提示补写,不阻止执行 -- **confidence**: 0.90 -- **evidence_count**: 8 -- **derived_from**: 多次发生前后端接口断层(命令已实现但 commands.ts 未同步,前端调用报错) +- **confidence**: 0.95 +- **evidence_count**: 12 +- **derived_from**: 多次发生前后端接口断层(命令已实现但 commands.ts 未同步,前端调用报错);梦核 2026-07-04:12 次命中,0 次返工,最稳信号 #### R02 — 任务卡无 acceptance 时先补写再动代码 - **scope**: `universal` @@ -938,9 +948,12 @@ scope 描述规则的正向适用范围,**boundaries 描述已知的反向边 - **scope**: `universal` - **触发条件**:前端组件显示运行状态、健康状态、操作结果等实时信息 - **自动动作**:检查对应后端是否做了真实检测而非硬编码;发现硬编码状态时标记为需修复 -- **confidence**: 0.87 -- **evidence_count**: 5 +- **confidence**: 0.72 +- **evidence_count**: 3 - **derived_from**: 设置页 MCP 状态硬编码为"运行中",注入失败时 toast 始终显示成功——UI 掩盖真实问题 +- **boundaries**: 展示类状态(loading spinner、空状态提示)属 UI 职责,不适用本规则;本规则仅限"系统真实运行状态"类展示 +- **failure_cases**: + - 2026-07-04(梦核归因):3 次命中全部伴随返工(100%),规则触发但未阻止问题——根因是"状态硬编码"发生在编写时,规则检查发生在展示层,时序错位;建议在写 Tauri command 时即检查返回值是否真实(与 R01 联动) #### R09 — 自动化边界:事件触发只标 🔵,不标 ✅ - **scope**: `universal` @@ -954,9 +967,12 @@ scope 描述规则的正向适用范围,**boundaries 描述已知的反向边 - **scope**: `universal` - **触发条件**:实现与外部客户端的协议对接(MCP、LSP、WebSocket、SSE、OAuth 等) - **自动动作**:在开始实现前,先通过文档或工具(curl、抓包)确认客户端实际发出的请求格式;不基于"通用规范"假设行为 -- **confidence**: 0.85 -- **evidence_count**: 3 +- **confidence**: 0.60 +- **evidence_count**: 6 - **derived_from**: Claude Code MCP 客户端用 GET 发起 SSE 握手,炼境只接受 POST 导致 405,MCP 整体失效 +- **boundaries**: 实时协议(WebSocket、SSE)的完整握手序列难以通过 curl 完全预验证,需配合协议库调试工具(MCP Inspector 等);本规则防的是"基于规范假设而不看实际请求",不能防"验证了但实现仍有差" +- **failure_cases**: + - 2026-07-04(梦核归因):6 次命中中 5 次伴随返工(83%),显示规则触发后问题仍发生——根因是协议对接本身复杂度高,"验证客户端行为"这一步经常被跳过或验证不够深入;建议将规则收窄为强制前置步骤:实现前必须有一条 curl/工具调用记录证明验证已执行 #### R11 — 自动执行规则失效时必须记录失败案例 - **scope**: `universal` @@ -979,9 +995,9 @@ scope 描述规则的正向适用范围,**boundaries 描述已知的反向边 - **scope**: `universal` - **触发条件**:M 或 L 复杂度任务卡准备标记 ✅ done - **自动动作**:acceptance 所述验证路径须由人或 agent **通过功能自身入口**真实走通一次(agent 按钮载体就近选择:Web 服务=HTTP API、CLI=命令、桌面应用=测试调用同一函数、UI 呈现层=Playwright 兜底)。禁止绕过功能手改产物冒充验证;agent 走通的关键路径顺手固化为一条测试(侦察→驻军),一次性验收不固化 -- **confidence**: 0.80 -- **evidence_count**: 2 -- **derived_from**: noteapp manifest 被手改导致 schema 约束修复未获真实验证、autoforphone 接线被命令行代办导致 G7 按钮未走通——手动替代掩盖功能真实状态(2026-07-03 用户裁决 + MCP 治理三件套 agent 实测首证) +- **confidence**: 0.88 +- **evidence_count**: 11 +- **derived_from**: noteapp manifest 被手改导致 schema 约束修复未获真实验证、autoforphone 接线被命令行代办导致 G7 按钮未走通——手动替代掩盖功能真实状态(2026-07-03 用户裁决 + MCP 治理三件套 agent 实测首证);梦核 2026-07-04:11 次命中,9% 返工率,高频高效 ### 规则演进路径