@yolk_vat-y/dsh-project-memory 0.5.6 → 0.5.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,51 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.5.7 (2026-09-20) — bug-fix release
4
+
5
+ 发布前审计在 313 项全绿下发现并修复以下缺陷,新增 18 项回归测试(共 331)。
6
+
7
+ ### 数据完整性
8
+
9
+ - 旧库迁移:`index.json` 损坏时会连带删除完好的 `entries.json`(静默清空整个 store)
10
+ - `store.load()` 不幂等,重复调用丢掉未落盘的变更
11
+ - 符号后到时 doc↔symbol 链接不落盘;畸形 shard/insight 条目会让所有读取抛错
12
+
13
+ ### 召回与注入
14
+
15
+ - 提示通道覆盖率语料与 BM25 排序不一致:只匹配 `fix` 的查询会让整条提示通道沉默
16
+ - `recallItems` 改为每层各自 top-k(文档不再挤掉符号层);任务级 draft 不再泄漏
17
+ - 未加引号的 CJK 文件名不再触发 `when.intents`
18
+ - `when.writes` 纳入人类消息里的路径(动手前可命中;读取路径不算)
19
+ - 会话条目字符额度不再截断常驻任务卡;`entryOn:false` 与显式 `0` 生效;`fitBody` 边界
20
+
21
+ ### insight
22
+
23
+ - `applyDecay` 判据不可达,`decayDays` 完全失效
24
+ - 提升/降级同样收口 `maxProject` / `maxGlobalProcedures`
25
+ - 跨层移动保留 `hitCount`/`createdAt`/`triggerDerived`;global 也回填派生 trigger
26
+
27
+ ### 索引
28
+
29
+ - watch 不再每轮重读重哈希所有未变文件;`index_doc` 补 `terms` 回填
30
+ - `readTextFile` 先 stat 再读;chunker `sourceLine` 不再漂移
31
+ - `export`/多行 interface 与 type 别名可被 L1 扫到;扩展名大小写不敏感
32
+ - 损坏 PDF 销毁 loading task;TS 增强器 type 别名与关闭开关
33
+ - scoped 依赖 tag 修正;畸形依赖不再清空全部 tags
34
+
35
+ ### 工具与命令
36
+
37
+ - `query_memory(type:'task')` 读错步骤字段;空查询被拒绝
38
+ - 任务文件超限淘汰最冷文件;任务 id 补随机后缀
39
+ - `/insight edit` 合并 trigger 而非重建;`/task rename|todos` 保留内部空白
40
+ - 写类工具校验 root;`invocationContext` 补 `agent.session` 降级
41
+
42
+ ### 重构(已在 main 上,无行为变更)
43
+
44
+ - 索引逻辑收敛为 `src/index-pipeline.js`;auto-inject 会话状态收敛为 `InjectionSessions`
45
+ - 命令处理器共用 `invocationContext` / `fencedJson`
46
+
47
+ 未修的低优先级发现见 `RELEASE-NOTES-0.5.7.md` 的 backlog。
48
+
3
49
  ## 0.5.6 (2026-09-16) — injection admission (lessons/decisions/procedures stop arriving by coincidence)
4
50
 
5
51
  ### Changed (only what you are about to *do* can trigger an injection)
package/README.md CHANGED
@@ -352,7 +352,7 @@ These commands are for **maintaining the plugin code** — regular users do not
352
352
 
353
353
  ```bash
354
354
  npm install
355
- npm test # 313 tests (184 core + 16 TaskBridge + 11 insight-store + 9 insight-actions + 8 doc-index + 7 auto-inject + 9 host-contract + 5 reflection + 4 llm-route + 2 client-hints + 8 recall + 14 readiness + 7 insight-derive + 6 readiness-eval + 6 ops + 6 injection-audit + 5 injection-budget + 6 injection-scenarios)
355
+ npm test # 331 tests (184 core + 16 TaskBridge + 11 insight-store + 9 insight-actions + 8 doc-index + 7 auto-inject + 9 host-contract + 5 reflection + 4 llm-route + 2 client-hints + 8 recall + 14 readiness + 7 insight-derive + 6 readiness-eval + 6 ops + 6 injection-audit + 5 injection-budget + 6 injection-scenarios + 18 bugfix-0.5.7)
356
356
  npm run eval:injection # scenario P/R: 14/14 hits, 0 false positives, control group clean
357
357
  npm run selfcheck:triggers # which entries can still push, which declarations are dead
358
358
  npm run bench -- /path/to/project # index/query performance on any project — no dsh needed
package/README.zh-CN.md CHANGED
@@ -351,7 +351,7 @@ dsh web --patch ./config.yml
351
351
 
352
352
  ```bash
353
353
  npm install
354
- npm test # 313 项测试(核心 184 + TaskBridge 16 + insight-store 11 + insight-actions 9 + doc-index 8 + auto-inject 7 + host-contract 9 + reflection 5 + llm-route 4 + client-hints 2 + recall 8 + readiness 14 + insight-derive 7 + readiness-eval 6 + ops 6 + injection-audit 6 + injection-budget 5 + injection-scenarios 6)
354
+ npm test # 331 项测试(核心 184 + TaskBridge 16 + insight-store 11 + insight-actions 9 + doc-index 8 + auto-inject 7 + host-contract 9 + reflection 5 + llm-route 4 + client-hints 2 + recall 8 + readiness 14 + insight-derive 7 + readiness-eval 6 + ops 6 + injection-audit 6 + injection-budget 5 + injection-scenarios 6 + bugfix-0.5.7 18)
355
355
  npm run eval:injection # 场景 P/R:命中 14/14、假阳性 0、对照组零注入
356
356
  npm run selfcheck:triggers # 哪些条目还推得动、哪些声明是死的
357
357
  npm run bench -- /你的/项目路径 # 对任意项目量索引/查询性能,不需要 dsh
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yolk_vat-y/dsh-project-memory",
3
- "version": "0.5.6",
3
+ "version": "0.5.7",
4
4
  "description": "Persistent project memory for dsh agents: index docs (PDF/Markdown/text) and code symbols into a searchable per-workspace store, recall them with cited sources, and keep experience entries (problems -> solutions) searchable on demand.",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
@@ -18,7 +18,7 @@
18
18
  "url": "https://github.com/00080000/dsh-project-memory.git"
19
19
  },
20
20
  "scripts": {
21
- "test": "node test/run-test.mjs && node test/taskbridge.test.mjs && node test/insight-store.test.mjs && node test/reflection-pipeline.test.mjs && node test/auto-inject.test.mjs && node test/insight-actions.test.mjs && node test/host-contract.test.mjs && node test/llm-route.test.mjs && node test/doc-index.test.mjs && node test/client-hints.test.mjs && node test/recall.test.mjs && node test/readiness.test.mjs && node test/insight-derive.test.mjs && node test/readiness-eval.test.mjs && node test/ops.test.mjs && node test/injection-audit.test.mjs && node test/injection-budget.test.mjs && node test/injection-scenarios.test.mjs",
21
+ "test": "node test/run-test.mjs && node test/taskbridge.test.mjs && node test/insight-store.test.mjs && node test/reflection-pipeline.test.mjs && node test/auto-inject.test.mjs && node test/insight-actions.test.mjs && node test/host-contract.test.mjs && node test/llm-route.test.mjs && node test/doc-index.test.mjs && node test/client-hints.test.mjs && node test/recall.test.mjs && node test/readiness.test.mjs && node test/insight-derive.test.mjs && node test/readiness-eval.test.mjs && node test/ops.test.mjs && node test/injection-audit.test.mjs && node test/injection-budget.test.mjs && node test/injection-scenarios.test.mjs && node test/bugfix-0.5.7.test.mjs",
22
22
  "eval:injection": "node test/injection-scenarios.test.mjs",
23
23
  "selfcheck:triggers": "node test/injection-scenarios.test.mjs --selfcheck",
24
24
  "bench": "node scripts/bench.mjs",