v0.8.0 — 0.7.4 把载具与触发器接通后,现场又暴露出另一类失效:「跑了但没生效、没生效也不留痕」—— 补蒸馏静默不跑、诊断日志
0.7.4 把载具与触发器接通后,现场又暴露出另一类失效:「跑了但没生效、没生效也不留痕」——
补蒸馏静默不跑、诊断日志写了等于没写、声明了依赖却没调用、工具结果文本深一层让四个机制一起静默失效。
本版功能主线是跨会话记忆,另一半是把这类失效变成看得见、拦得住。
新增
- 跨会话项目知识真正落地:工作目录从运行时快照解析;三来源自动沉淀(工具结果 / 助手结论 / 你的规范陈述);
新会话开局即可用、任何轮次都可见,且用「会话目录名 → 工作目录」映射在装配前补 cwd(第一轮即带知识)。 - 记忆编号与内容寻址去重:同主题即同 id,精确合并(换句话不再写第二条),更具体的版本才覆盖;
新增lume_project_forget,可用编号点名删除过时知识。 - 知识作用域(repo / task):需求特有的结论不再污染别的需求;需求名与标识符取自
doc/<需求名>/。 - 会话记忆与上下文预警:每轮导出目标 / 已拍板 / 未决 / 关键定位;占用到 75% / 90% 时提醒收尾并开新会话;
新会话开局注入上次记忆,说一句「继续」即可接上。 - 历史会话补蒸馏:启动时扫最近 7 天会话(含已经撑满、聊不动的),分片执行、幂等不重复。
- 需求层与设计层:需求锚点(逐字回显 + 漂移词法检查,只扫可见正文且每会话限次)、设计 pass 与
lume_design跨轮回放。 - 证据核对四件:引用核对(引用本次没打开过的代码行)、断言核对(对没见过的符号下否定断言)、
需求覆盖核对(需求原句与交付物句子并列)、提问核对(把「我没查」包装成「待你定」)。
修复(均为现场事故驱动)
- 真机
tool/result文本比读取层深一层 → 自动沉淀 / 失败识别 / grep 证据 / 断言证据四个机制一起静默失效(已修 + 真机形状回归测试)。 - 补蒸馏拿不到会话目录时静默不跑、诊断日志因
DSH_HOME缺失而写了等于没写 → 均改候选探测;留痕保留但降噪(每会话 1–2 行)。 carrierBlocks声明了依赖却没调用(ensureSessionWorkspace)→ 第一轮仍缺知识;并新增 lint 规则防再犯。- 问答 / 查找模式一刀切禁工具,导致"提交情况"这类
git log就能答的问题被回"不确定" → 改为只读核实该做就做;
协议新增 P0 事实优先:禁止用「我不确定」「这是新会话」当答案。 - 知识归属错乱(两个需求被数成三个)→ 按真实需求与文档标识符归属;并加「作用域只许升不许降」。
- 客户端 bundle 重复声明
TEXT_CAP导致 Harness 起不来 → 已修,并加两条产物断言(可解析 / 无重复顶层声明)。
工程
- lint 规则增至 9 条(新增:依赖必须真的被使用 / 文档引用必须存在 / 禁
as any/ 类型边界);
机制覆盖门禁:39 个机制必须有「跑出行为」的测试(0.8.0 封版时的数字;之后新增 5 类,见顶部「未发布」一节 → 45)。 - 发布门禁 37 条(对着产物断言,每条绑一个历史事故)+ 新增
npm run verify:live(真机清单一条命令)。 - 测试 446 → 577;架构:
index.ts1723 → 755 行、全仓any164 → 23;lib/与.goose/不再入库。
与 0.7.x 的关系:0.7.x 是"把机制接通",0.8.0 是"让记忆跨会话活着、让失效自己现形"。
发布前补入(本节原标「未发布」,随 0.8.0 一起发布)
这一版回答的是「它到底有没有变聪明」。此前整条链路只有约束(别做错),没有任何度量:
路由判错率、触发器命中后行为是否真的变了、条款加权有没有用——一个都没测,
于是每加一条规则只能靠感觉说「这次好像好点」。本版先装仪表盘,再动方向盘与油门。
新增:度量闭环(先装仪表盘)
- 运行时度量:路由判定(模式 + 命中判据 + 证据来源)、触发器命中(含当时计数器快照)、
块装配(留下 / 丢弃 / 字符数 + 本轮加权条款)、每轮状态快照(契约 / 设计 / 台账 / 假设),
以及外部结果信号(用户纠正 / 重复请求 / 越权改动 / 执行轮零动作)逐条落lume-metrics.jsonl。 - 触发器效能判定:命中后 3 轮内是否出现机械可判的预期变化(真验证命令、契约 / 设计 / 台账 / 假设从无到有);
没有机械口径的(判据漂移、知识采集)明确标「未判定」,不混进比例凑数。 lume_metrics工具:模型与用户都能查;摘要带口径与落点,落点不可用时如实说明。- 度量回灌:本会话被用户纠正 ≥2 次时顶一句〔路由自校〕(带次数与落在哪个模式),上限 2 次防噪音。
新增:路由从「这一句话的词」换成「最近几轮轨迹的证据」
- 判定结论带命中判据与证据来源(text / trajectory / sticky / correction)——误判才有得统计。
- 纠正后按被纠正前那句话重算(不在纠正句上再猜一次);在途任务对承接式追问有粘性;
任务型轨迹上的一句短话按轨迹判;证据不足一律回落到单句结果(轨迹只补、不猜)。 - 补上「动词」与「语用」的分界:「把这部分整理一下」这类动词进表;
「看看这块能不能优化」按可行性询问判诊断(给判断与办法,不直接动手);
「怎么整理这段数据比较好」不再被动词带走。
新增:条款预算(每轮只加权最相关的三条)
- 协议条款从正文切出来当数据(改正文只改一处,切分完整性有测试锁住),每轮按形态选三条放进易变段重述:
纠正 > 压缩 > 模式,模式内再按「已动过 / 未写契约 / 常规执行」分流。 - 文本明确写明「条款一条没少」——只做注意力加权,不缩减协议;漏选也不会让条款消失。
工程
- 单测落盘目录改到临时目录(
test/setup.ts):度量与诊断日志不再把测试数据写进真实指标文件——
否则「用来判断是不是变聪明的数据」会被自己的测试污染。 - 机制覆盖新增 5 条(条款预算 / 轨迹路由 / 运行时度量 / 度量回灌),当前 45/45、依赖声明 176 项 0 未使用。
- 测试 577 → 620(本批提交时的数字;条数以
npm test当场输出为准——文档不再维护硬数字)。
安装:dsh plugin add lume-dsh-plugin(指定版本:dsh plugin add github:cayan0x/Lume#v0.8.0)
npm:https://www.npmjs.com/package/lume-dsh-plugin/v/0.8.0