Skip to content

v0.7.0 — 本版主题:从「纪律」到「方法」——任务载具与行为触发器。

Choose a tag to compare

@cayan0x cayan0x released this 26 Sep 12:53
· 107 commits to main since this release

本版主题:从「纪律」到「方法」——任务载具与行为触发器。0.6.x 解决的是「缓存与位置」,本版解决的是「思考方式」。

诊断来自一次真实会话的轨迹复盘(session-5677db41,2 轮 / 58 步 / 106 次工具调用):不是不知道该怎么做,而是没有地方放、也没有东西在轨迹上提醒——34 次 glob/grep/read 撒网式探查、25 次 edit 里 18 次连击无验证、17 次 pwsh 全在撞同一个不可用的 Maven 环境、交付前靠用户发话才自审。两次「何时收敛 / 何时换验证方式」的元决策都是由用户亲自下的。

  • feat 任务载具(四个模型工具,零额外 LLM 调用):
    • lume_contract 任务契约:目标 / 范围 / 数量(先估后回填) / 完成判据 / 非目标 / 待确认;支持局部更新(回填数量不会清空判据)。交付轮自动切换成对账口径——对照的是开工时写下的原始判据,而不是模型此刻的记忆版本,这是防「判据漂移」的关键
    • lume_change 改动台账:文件·符号·章节 → 改什么 → 怎么验 → 状态;可按 target 单独推进状态。文档任务用章节名当 target,天然形成分节记账
    • lume_hypothesis 假设台账:假设 + 证据 + 状态(含已排除);已排除项照常回显,避免重复验证同一个假设
    • lume_project_note 项目知识:构建/测试命令、模块链路、仓库约定、死路记录
  • feat 项目域(lume_project,跨会话):项目知识按工作目录归属(projectKeyOf),与人格记忆分开存放——代码路径与仓库约定是工作事实,换人设不该失忆,也不该随人设卡被导出分享。会话结束时清掉任务态(契约/台账/假设),项目知识保留
  • feat 行为触发器(六类,阈值可配):把元决策从用户手里接过来,且只在行为模式成立时注入一句带具体数字的提醒
    • 收敛提醒(连续 ≥12 次只读探查且未写契约)/ 增量验证(连续 ≥6 次改动无验证)/ 死路重撞(同一验证连续失败 ≥3 次,环境类占多数时给验证降级阶梯:编译器 → 语法检查 → 静态交叉引用 → 手工走读+风险清单)/ 假设维护 / 契约对账(每 3 轮 + 压缩后)/ 项目知识采集
    • 每类每轮最多一次且有轮级冷却;环境性死路自动落成项目知识,下次会话不必重踩
    • 工具按行为类别归类(inspect/mutate/verify/plan)而不是按名字,宿主或扩展改名不失效;lume_* 人格工具归 other,不污染改动连击
  • feat 方法层(按任务形态注入):文档编辑方法(先取结构 → 最小编辑保留格式与编号 → 术语全文一致 → 交付前回读并列出「改了什么/没动什么/未核对什么」)、改动影响面清单(谁调用、被谁实现、配置与 SQL 映射、前端引用 + 每处验证方式)、结构定位提示(检测到 analyze/tree 类工具时建议符号级定位替代通篇 read)
  • feat 反思日志补第五维「诊断深度与假设管理」:跨会话提醒终于能指向思维方式而不只是纪律;旧日志记 -1(统计时跳过该维,不当作 0 分)
  • feat RPC:getProjectState(诊断视图:契约/台账/假设/项目知识/触发器计数)、clearProjectFacts(一键忘掉某项目的知识积累)
  • feat 配置:projectMemory(默认 true)、behaviorTriggers(默认 true)、triggerInspectStreak / triggerChangeStreak / triggerDeadPathFails
  • test 新增 5 个测试文件(ledger / signals / triggers / methods / project-store)并把 apply 层夹具升级为可调用真实工具:313 用例全绿(原 263 + 50),其中锁死了「载具只进尾部快照、绝不进 system 段」这条 0.6.2 的分层不变量

成本说明:所有载具与方法块都注入在对话尾部快照(易变层),因此只在内容变化时付费——实测 58 步只产生 9 条快照,每轮多几百字可接受;预算用尽时按 droppable 标记从后往前丢块,关键载具与触发器提醒永不被丢。


安装:dsh plugin add lume-dsh-plugin(指定版本:dsh plugin add github:cayan0x/Lume#v0.7.0)
npm:https://www.npmjs.com/package/lume-dsh-plugin/v/0.7.0