本版主线是让「机制到底跑没跑过」变成可读的数据,并把散落的词法判据收成一张带正/反例的表;另清掉一批死代码与过期文档。三者都指向同一个病根——「静默失效」在本项目反复出现,而修法不该是再加功能。
新增:机制健康自检(治「机制从来没响过」)
- 新增
core/mechanisms.ts:提示槽 + 触发器 +lume_*工具的唯一机制目录。度量聚合据此回答两个问题——每类机制命中几次、哪些从未命中(0 只代表样本期内没被触发过,不代表机制失效)。 - 提示槽命中随状态快照落盘(
SessionRuntime.mechanismFires,与配额used分开:forceNotice绕过配额,混用会让触发器类机制永远显示 0);lume_metrics摘要新增「机制健康」一段。 - 启动期新增能力矩阵日志(layered / project / identity / reflection / rpc 的降级状态一行可 grep),把「静默降级」变成可核对的事实。
重构:机械判据集中化 + fixture 驱动
- 新增
core/criteria.ts:16 条词法判据(敏感 / 锚点 / 死路 / 构建 / 测试 / 约定 / 形状闸 / 命令 / 清单 / 问句 / 拒绝 / 用户规范…)从各模块收口到一处,每条带正/反例。 - 新增
test/criteria.test.ts:强制每条例都有正/反例且行为正确——加判据必须同时写清「挡什么、不挡什么」,替代「误报就加一张例外表」的旧修法。 core/knowledge.ts改为消费该注册表,行为不变(正反例沿用真机事故句子)。
清理:死代码与文档漂移
- 删未调用函数
existingTarget、冗余字段lastQuery,以及靠allow-unused挂着的死依赖ProjectAccessDeps.config/LumeRpcDeps.personalities;架构检查的「依赖声明」由 2 个未使用转为 0。 - 修
ARCHITECTURE.md过期的行数/字段数;修RELEASING.md「本仓没有 prepare」的过期说明(0.8.3 已补)。
后续补入(同日)
- 类型门禁:tsconfig 开
noUnusedLocals(纳入npm run lint),一次清掉 88 处死导入/死局部——其中index.ts62 处是wiring.ts抽取后的遗留。这类「死代码能一路活到真机」从此变成编译期错误。 - 触发器跨轮窗口:
TriggerCounters增加 48 步滑动窗口(不随turn/end清零),converge判据改为max(轮内连击, 窗口尾部连续只读探查)——跨轮的撒网不再测不到(此前轮边界清零连击,长任务的收敛提醒永远不触发)。 - 宿主自愈前置(观测):新增宿主能力矩阵(apply 时探测 API 面 + 点名降级项)与工具事件形状漂移检测(入参/名字持续解不出且过半即告警 + 落
host-shape-drift度量)——把「六功能静默失效」那类事故变成当场可查,而不是事后反推。
后续补入(同日·二)
- 提示槽幂等:
setNotice文本逐字未变时不算新命中——否则调用方每步重生成同一句就会把每会话配额烧光,而配额正是防噪音用的。 - 工具使用纳入度量:
lume_*工具调用计入机制健康(回答「模型到底调没调lume_contract/lume_hypothesis」这个历史上多次全部落空的问题);旧记录没有mechanismFires时不再误报「从未命中」(只统计触发器并注明)。 - 注入选条与预算:项目知识超过上限时按相关性(主导)+ 新近度(平局)+ 死路优先取 top-k(空 query 退化为最近 N 条);块预算新增
weight,超限时先丢低权重可丢块——方法指令(1)先于会话记忆(2)、项目知识(3)被丢,事实回显在预算紧张时优先保住。 - 撤销入口:新增
lume_forget工具与deleteProjectEntryRPC——自动入账的改动/假设/设计/需求此前没有定点删除入口(facts 有lume_project_forget),出错只能整库清空;现在可按 kind + ref 撤销,模型可代用户执行。
工程
- 机制覆盖 52/52(新增 mechanism-health / criteria-fixtures / host-capabilities / host-shape-drift / lume_forget,均由行为测试锁定);全量测试 715 条(以
npm test当场输出为准);npm run lint(架构 / 格式 / 类型 / 机制覆盖)全绿。
安装:dsh plugin add lume-dsh-plugin(指定版本:dsh plugin add github:cayan0x/Lume#v0.8.4)
npm:https://www.npmjs.com/package/lume-dsh-plugin/v/0.8.4