@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 +46 -0
- package/README.md +1 -1
- package/README.zh-CN.md +1 -1
- package/package.json +2 -2
- package/src/auto-inject.js +346 -281
- package/src/chunker.js +14 -6
- package/src/commands/insight-actions.js +18 -14
- package/src/commands/invocation.js +36 -0
- package/src/commands/task-actions.js +24 -39
- package/src/commands/tasks.js +18 -13
- package/src/enhancer.js +11 -2
- package/src/index-pipeline.js +119 -0
- package/src/insight-store.js +57 -28
- package/src/lazy.js +15 -46
- package/src/link.js +10 -1
- package/src/parsers/pdfjs-parser.js +2 -4
- package/src/project-profile.js +12 -5
- package/src/readiness.js +27 -3
- package/src/recall.js +28 -8
- package/src/setup/taskbridge.js +11 -9
- package/src/store.js +56 -17
- package/src/symbols.js +58 -19
- package/src/tools/forget.js +2 -1
- package/src/tools/index-doc.js +4 -1
- package/src/tools/index-repo.js +33 -86
- package/src/tools/lesson-tools.js +2 -1
- package/src/tools/query-memory.js +17 -3
- package/src/tools/remember.js +3 -1
- package/src/tools/task-tools.js +4 -1
- package/src/tools/watch-repo.js +9 -5
- package/src/util/fs.js +14 -0
- package/src/util/session-cache.js +72 -0
- package/src/watch.js +39 -81
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 #
|
|
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 #
|
|
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.
|
|
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",
|