@roarpeng/graphflow 1.9.14 → 1.9.16

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.
Files changed (117) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/README.md +21 -8
  3. package/README.zh.md +14 -6
  4. package/cordis.patch.yml +16 -4
  5. package/dist/graph/context-slicer-types.d.ts +7 -1
  6. package/dist/graph/context-slicer-types.d.ts.map +1 -1
  7. package/dist/graph/context-slicer-types.js.map +1 -1
  8. package/dist/graph/context-slicer.d.ts +6 -1
  9. package/dist/graph/context-slicer.d.ts.map +1 -1
  10. package/dist/graph/context-slicer.js +120 -39
  11. package/dist/graph/context-slicer.js.map +1 -1
  12. package/dist/graph/token-savings.d.ts +13 -0
  13. package/dist/graph/token-savings.d.ts.map +1 -1
  14. package/dist/graph/token-savings.js +36 -6
  15. package/dist/graph/token-savings.js.map +1 -1
  16. package/dist/hooks/auto-capture.d.ts +3 -2
  17. package/dist/hooks/auto-capture.d.ts.map +1 -1
  18. package/dist/hooks/auto-capture.js +3 -2
  19. package/dist/hooks/auto-capture.js.map +1 -1
  20. package/dist/index.d.ts +6 -2
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +13 -2
  23. package/dist/index.js.map +1 -1
  24. package/dist/integrations/claude-code-hooks.d.ts +6 -3
  25. package/dist/integrations/claude-code-hooks.d.ts.map +1 -1
  26. package/dist/integrations/claude-code-hooks.js +20 -8
  27. package/dist/integrations/claude-code-hooks.js.map +1 -1
  28. package/dist/integrations/dsh-harness-installer.d.ts +5 -1
  29. package/dist/integrations/dsh-harness-installer.d.ts.map +1 -1
  30. package/dist/integrations/dsh-harness-installer.js +24 -6
  31. package/dist/integrations/dsh-harness-installer.js.map +1 -1
  32. package/dist/integrations/skill-installer.d.ts.map +1 -1
  33. package/dist/integrations/skill-installer.js +9 -2
  34. package/dist/integrations/skill-installer.js.map +1 -1
  35. package/dist/learning/canary-gate.d.ts +5 -2
  36. package/dist/learning/canary-gate.d.ts.map +1 -1
  37. package/dist/learning/canary-gate.js +11 -3
  38. package/dist/learning/canary-gate.js.map +1 -1
  39. package/dist/learning/dialogue-thread.d.ts +15 -0
  40. package/dist/learning/dialogue-thread.d.ts.map +1 -1
  41. package/dist/learning/dialogue-thread.js +58 -1
  42. package/dist/learning/dialogue-thread.js.map +1 -1
  43. package/dist/learning/episodic-memory.d.ts +16 -0
  44. package/dist/learning/episodic-memory.d.ts.map +1 -1
  45. package/dist/learning/episodic-memory.js +61 -1
  46. package/dist/learning/episodic-memory.js.map +1 -1
  47. package/dist/learning/skill-admission.d.ts +38 -0
  48. package/dist/learning/skill-admission.d.ts.map +1 -0
  49. package/dist/learning/skill-admission.js +195 -0
  50. package/dist/learning/skill-admission.js.map +1 -0
  51. package/dist/learning/skill-consolidate.d.ts +4 -1
  52. package/dist/learning/skill-consolidate.d.ts.map +1 -1
  53. package/dist/learning/skill-consolidate.js +56 -6
  54. package/dist/learning/skill-consolidate.js.map +1 -1
  55. package/dist/learning/skill-flywheel.d.ts +8 -2
  56. package/dist/learning/skill-flywheel.d.ts.map +1 -1
  57. package/dist/learning/skill-flywheel.js +65 -38
  58. package/dist/learning/skill-flywheel.js.map +1 -1
  59. package/dist/learning/skill-opt-lite.d.ts +17 -0
  60. package/dist/learning/skill-opt-lite.d.ts.map +1 -1
  61. package/dist/learning/skill-opt-lite.js +108 -0
  62. package/dist/learning/skill-opt-lite.js.map +1 -1
  63. package/dist/learning/skill-store.d.ts.map +1 -1
  64. package/dist/learning/skill-store.js +44 -4
  65. package/dist/learning/skill-store.js.map +1 -1
  66. package/dist/learning/skill-types.d.ts +15 -0
  67. package/dist/learning/skill-types.d.ts.map +1 -1
  68. package/dist/learning/skill-types.js +11 -0
  69. package/dist/learning/skill-types.js.map +1 -1
  70. package/dist/learning/turn-distillation.d.ts +16 -0
  71. package/dist/learning/turn-distillation.d.ts.map +1 -0
  72. package/dist/learning/turn-distillation.js +161 -0
  73. package/dist/learning/turn-distillation.js.map +1 -0
  74. package/dist/learning/workflow-skill.d.ts +25 -0
  75. package/dist/learning/workflow-skill.d.ts.map +1 -0
  76. package/dist/learning/workflow-skill.js +91 -0
  77. package/dist/learning/workflow-skill.js.map +1 -0
  78. package/dist/surfaces/cli/index.js +40 -32
  79. package/dist/surfaces/cli/index.js.map +1 -1
  80. package/dist/surfaces/cli/init.d.ts.map +1 -1
  81. package/dist/surfaces/cli/init.js +9 -1
  82. package/dist/surfaces/cli/init.js.map +1 -1
  83. package/dist/surfaces/cli/output.d.ts.map +1 -1
  84. package/dist/surfaces/cli/output.js +2 -1
  85. package/dist/surfaces/cli/output.js.map +1 -1
  86. package/dist/surfaces/cli/runtime/dialogue.d.ts +36 -0
  87. package/dist/surfaces/cli/runtime/dialogue.d.ts.map +1 -1
  88. package/dist/surfaces/cli/runtime/dialogue.js +78 -0
  89. package/dist/surfaces/cli/runtime/dialogue.js.map +1 -1
  90. package/dist/surfaces/cli/runtime/graph.d.ts +14 -21
  91. package/dist/surfaces/cli/runtime/graph.d.ts.map +1 -1
  92. package/dist/surfaces/cli/runtime/graph.js +59 -21
  93. package/dist/surfaces/cli/runtime/graph.js.map +1 -1
  94. package/dist/surfaces/cli/runtime/memory.d.ts +7 -6
  95. package/dist/surfaces/cli/runtime/memory.d.ts.map +1 -1
  96. package/dist/surfaces/cli/runtime/memory.js +12 -21
  97. package/dist/surfaces/cli/runtime/memory.js.map +1 -1
  98. package/dist/surfaces/cli/runtime/routing.d.ts +4 -1
  99. package/dist/surfaces/cli/runtime/routing.d.ts.map +1 -1
  100. package/dist/surfaces/cli/runtime/routing.js +10 -4
  101. package/dist/surfaces/cli/runtime/routing.js.map +1 -1
  102. package/dist/surfaces/cli/runtime/types.d.ts +15 -0
  103. package/dist/surfaces/cli/runtime/types.d.ts.map +1 -1
  104. package/dist/surfaces/cli/runtime.d.ts +1 -1
  105. package/dist/surfaces/cli/runtime.d.ts.map +1 -1
  106. package/dist/surfaces/cli/runtime.js +3 -1
  107. package/dist/surfaces/cli/runtime.js.map +1 -1
  108. package/dist/surfaces/mcp/tool-definitions.js +1 -1
  109. package/dist/surfaces/mcp/tool-definitions.js.map +1 -1
  110. package/dist/surfaces/trae-skill/graphflow/SKILL.md +5 -4
  111. package/dsh/plugin.mjs +454 -0
  112. package/package.json +12 -1
  113. package/plugin.json +2 -2
  114. package/skills/graphflow/SKILL.md +5 -4
  115. package/src/surfaces/trae-skill/graphflow/SKILL.md +5 -4
  116. package/web/README.md +36 -0
  117. package/web/plugin.mjs +448 -0
package/CHANGELOG.md CHANGED
@@ -4,6 +4,51 @@ All notable changes to this project are documented in this file.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [1.9.16] - 2026-08-21
8
+
9
+ ### Added
10
+
11
+ - **dsh 对话自动闭环**:`dsh/plugin.mjs` 监听 `session/event` 的 `assistant/message`,自动把每轮回复填入 `dialogue-turn` 节点(`dialogue record --reply`),与 `agent/inbox/inserted` 提问记录配对;提问/回复均按 dsh 会话 id 隔离(`--session`),同工作区多会话不串
12
+ - **对话节点提炼**:新增 `src/learning/turn-distillation.ts`(离线启发式)——`deriveTurnTitle` 剥离问候/祈使前缀取首子句(30 字符),`deriveTurnSummary` 结论标记句优先/末段落回退(200 字符);`DialogueTurnRecord` 增加可选 `title/summary`,记录/回填时自动生成
13
+ - **CLI `graphflow dialogue distill [--all] [--session]`**:批量回填遗留轮次的 title/summary(幂等);`dialogue list` 输出 title/summary
14
+ - **对话记录噪声治理**:`isUserOriginatedMessage` 按 `message.source.kind` 过滤 harness 系统注入(job 完成/子代理/Cordis 通知不再入图),未知来源回退 role 判断
15
+ - **web 知识节点栏源码种子**:`web/plugin.mjs`(Host+Client 双半部参考实现)+ `web/README.md`;`docs/dsh-install-guide.md` 新 harness 安装启用指南
16
+ - **ROADMAP 进化方向**:R0-R4 深度调研版(真实证据链 / 性能收敛 / MCP 2.0 与 SKILL.md 对齐 / 概念层落地 / 工程治理)
17
+
18
+ ### Fixed
19
+
20
+ - **CLI `dialogue record --reply` 解析 bug**:reply-only 填充此前被参数解析短路——`--reply` 的值被裸参数拼接当成 query,导致填充变成新建垃圾轮次;新增 `resolveDialogueRecordInput`(reply-only 优先、flag 值不泄漏进 query、兼容 `--flag=value`)+ 4 个回归用例
21
+ - **doctor 指令状态检查竞态**:`getAgentInstructionStatus` 的 `existsSync`+`readFileSync` 非原子,并行场景(测试/安装并发)下 ENOENT 会抛异常;读失败改为视为未安装
22
+
23
+ ### Tests
24
+
25
+ - `tests/dsh-plugin-glue.test.ts`:回复补全(spawn 参数/三态跳过/session/event 接线去重)+ 消息来源过滤(plugin/tool/model 不入图)
26
+ - `tests/turn-distillation.test.ts`(新增 14 用例):标题/摘要单元 + `dialogue distill` 端到端幂等
27
+ - `tests/dialogue-thread.test.ts`:`resolveDialogueRecordInput` 4 用例
28
+
29
+ ## [1.9.15] - 2026-08-20
30
+
31
+ ### Added
32
+
33
+ - **Experience v2**:噪声技能按名字清理(含 legacy `kind: evolution` / `readme+update` 融合);held-out golden overlap 准入;ACE 式 playbook 增量计数;成功 DAG 蒸馏为 workflow skill;`forgetEpisode` 按 `provenance.episodeId` 软隐藏派生技能;L3 钉住 goal/alignment/deviation
34
+ - **DeepSeek Harness glue 收口**:MCP 行 `cwd: !!js process.cwd()`;bundle ESM `@roarpeng/graphflow/dsh`(`dsh/plugin.mjs` 打进 npm `files` + `exports`);`dsh plugin add` 时 `ctx.skills.register`;`graphflow install` / `doctor` / `uninstall` 检测 home overlay、glue 行、`$DSH_HOME/skills/graphflow/SKILL.md`
35
+ - File expand 返回全文(上限 20 万字符);`FlywheelReport.fidelity` 拆开 packaging ROI 与 `pendingRatio`
36
+
37
+ ### Changed
38
+
39
+ - SessionEnd / dsh `agent/disposed` **不默认把 pending episode 标成成功**。Claude Code 空 `$2`、dsh 未设 `GRAPHFLOW_HOOK_SUCCESS` 时保持 pending;显式 `true`/`false` 才调用 `graphflow outcome report`
40
+ - Token savings 不再冒充信息保真度(`explainSavings()` / `kind: tokens-not-fidelity`)
41
+
42
+ ### Docs
43
+
44
+ - README 诚实矩阵:dsh 上 MCP 10 工具 + skill + 会话结束捕获可用;VS Code/Cursor UI 与 Claude Code Session* 文件 hooks 不移植
45
+ - [docs/context-contract.md](docs/context-contract.md) 写明 preview 是指针,精确编辑要 expand File
46
+
47
+ ### Tests
48
+
49
+ - `tests/dsh-plugin-glue.test.ts`:glue 不监听 `session/flush`;无 `GRAPHFLOW_HOOK_SUCCESS` 不默认 pass
50
+ - `tests/m-skill-admission.test.ts` / `m-playbook-delta.test.ts` / `m-workflow-skill.test.ts` / `m-skill-revoke.test.ts` / `m-context-fidelity.test.ts` / `m-l3-constraint-pin.test.ts`
51
+
7
52
  ## [1.9.14] - 2026-08-15
8
53
 
9
54
  ### Added
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  English | [中文](README.zh.md)
4
4
 
5
- [![npm version](https://img.shields.io/badge/npm-1.9.14-blue)](https://www.npmjs.com/package/@roarpeng/graphflow)
5
+ [![npm version](https://img.shields.io/badge/npm-1.9.16-blue)](https://www.npmjs.com/package/@roarpeng/graphflow)
6
6
 
7
7
  > **The memory & context harness for coding agents.** Local-first code knowledge graph · bounded context compression (~98% token savings) · cross-session learning flywheel.
8
8
 
@@ -11,7 +11,7 @@ The community is converging on an "agent harness" vocabulary: **memory + hooks +
11
11
  | Harness primitive | GraphFlow implementation |
12
12
  | --- | --- |
13
13
  | **Memory** | 12-language AST code graph + Episodic / Skill / Decision nodes — project knowledge *and* project experience persist across sessions |
14
- | **Hooks** | Outcome auto-capture (on by default) + Claude Code `SessionEnd` / `Stop` hooks close the learning loop automatically — no manual outcome reporting required |
14
+ | **Hooks** | Outcome auto-capture (on by default) + Claude Code `SessionEnd` / `Stop` and DeepSeek Harness `agent/disposed` glue close the learning loop automatically — no manual outcome reporting required |
15
15
  | **Skills** | A four-class flywheel (`proven` / `correctable` / `anti-pattern` / `noise`) with canary validation — skills are promoted by evidence, not by assertion |
16
16
 
17
17
  Pure TypeScript/Node. CLI + MCP + VS Code extension. Fully offline, no API key required.
@@ -228,14 +228,26 @@ That removes user + workspace MCP entries, `skills/graphflow` folders, GraphFlow
228
228
 
229
229
  ## DeepSeek Harness 插件(用法与能力)
230
230
 
231
- GraphFlow 是 [DeepSeek Harness](https://github.com/Roarpeng/deepseek-harness) 的 [`dsh-plugin`](https://github.com/topics/dsh-plugin)。包内 `dsh.bundle` + `cordis.patch.yml` 会把 GraphFlow MCP 挂到内置 `@deepseek-ai/dsh-mcp-client`。模型看到的工具名是 `mcp__graphflow__graphflow_*`。中文说明见 [README.zh.md](README.zh.md)。
231
+ GraphFlow 是 [DeepSeek Harness](https://www.deepseek.com/harness/en/) 的 [`dsh-plugin`](https://github.com/topics/dsh-plugin)。包内 `dsh.bundle` + `cordis.patch.yml` 会把 GraphFlow MCP 挂到内置 `@deepseek-ai/dsh-mcp-client`,并把 `@roarpeng/graphflow/dsh` glue 插入插件树。模型看到的工具名是 `mcp__graphflow__graphflow_*`。中文说明见 [README.zh.md](README.zh.md)。
232
232
 
233
- **能力(10 个工具):** 压缩上下文、任务规划 DAG、桥接执行描述、结果回填飞轮、ATP insight、增量/全量建图、技能洞察、诊断、图谱产物、技能指南。
233
+ **在 dsh 上能工作 vs 不能工作:**
234
234
 
235
- **装进某个 profile:**
235
+ | 能力 | dsh |
236
+ | --- | --- |
237
+ | 10 个 MCP 工具(`mcp__graphflow__graphflow_*`),stdio `cwd` = 会话工作区 | 是 |
238
+ | Skill(on-demand `skill({name:"graphflow"})`;bundle glue 注册,不必先 `graphflow install`) | 是 |
239
+ | 会话结束飞轮:仅 `agent/disposed` 关闭 pending episode(不是 live `session/flush`;`GRAPHFLOW_AUTO_CAPTURE=0` 可关) | 是 |
240
+ | 首轮短 hint:先调 `graphflow_context`(`rootDir` = cwd) | 是 |
241
+ | Workbench 数据(`topicId` / outline)经 MCP `graphflow_context` / `graphflow_diagnose` | 是 |
242
+ | VS Code/Cursor 图谱面板、Settings webview、Workbench Tree、`@graphflow` chat | **否**(宿主 UI,不移植) |
243
+ | Cursor Agent Plugins 1.0 发现 | **否**(dsh 用 `dsh.bundle`) |
244
+ | Claude Code `SessionStart/End/Stop` **文件** hooks | **否**(dsh analog 是上面的 glue) |
245
+
246
+ **装进某个 profile(推荐):**
236
247
 
237
248
  ```bash
238
249
  dsh plugin --profile web add @roarpeng/graphflow
250
+ npx @deepseek-ai/dsh web
239
251
  ```
240
252
 
241
253
  **或在已有 `~/.dsh` 时写 home 级 overlay(对所有 profile 生效):**
@@ -244,9 +256,9 @@ dsh plugin --profile web add @roarpeng/graphflow
244
256
  npx @roarpeng/graphflow install
245
257
  ```
246
258
 
247
- 会写入 `$DSH_HOME/cordis.patch.yml` `$DSH_HOME/skills/graphflow/SKILL.md`。卸载:`npx @roarpeng/graphflow uninstall`,或 `dsh plugin --profile web remove @roarpeng/graphflow`。
259
+ 会写入 `$DSH_HOME/cordis.patch.yml`(MCP + glue)与 `$DSH_HOME/skills/graphflow/SKILL.md`。卸载:`npx @roarpeng/graphflow uninstall`,或 `dsh plugin --profile web remove @roarpeng/graphflow`。`graphflow doctor` 会检查 overlay、glue、skill。
248
260
 
249
- **用法:** `mcp__graphflow__graphflow_context`(传入 `rootDir`),复杂任务再 `graphflow_plan`;改完代码后 `graphflow_index`;若走了 `graphflow_run`,结束后必须 `graphflow_report_outcome`。不要在 patch 里写死 `GRAPHFLOW_WORKSPACE_ROOT`。
261
+ **用法:** 第一轮先 `mcp__graphflow__graphflow_context`(传入 `rootDir` = 仓库绝对路径),复杂任务再 `graphflow_plan`;改完代码后 `graphflow_index`;若走了 `graphflow_run`,结束后必须 `graphflow_report_outcome`。不要在 patch 里写死 `GRAPHFLOW_WORKSPACE_ROOT`。
250
262
 
251
263
  ## Agent integrations
252
264
 
@@ -295,7 +307,8 @@ Requires Node.js ≥ 20, npm ≥ 10. Expected: lint clean, build succeeds, 692 t
295
307
  GraphFlow/
296
308
  ├── plugin.json # Agent Plugins 1.0 manifest
297
309
  ├── mcp.json # Agent Plugins MCP (stdio)
298
- ├── cordis.patch.yml # DeepSeek Harness (dsh) bundle layer
310
+ ├── cordis.patch.yml # DeepSeek Harness (dsh) bundle layer (MCP + glue)
311
+ ├── dsh/plugin.mjs # dsh ESM glue: skill register + session-end capture
299
312
  ├── skills/graphflow/ # portable Agent Skill (canonical SKILL.md)
300
313
  ├── src/
301
314
  │ ├── core/ # orchestration core: orchestrator, triage, dag-engine, agent-delegation
package/README.zh.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [English](README.md) | 中文
4
4
 
5
- [![npm version](https://img.shields.io/badge/npm-1.9.14-blue)](https://www.npmjs.com/package/@roarpeng/graphflow)
5
+ [![npm version](https://img.shields.io/badge/npm-1.9.16-blue)](https://www.npmjs.com/package/@roarpeng/graphflow)
6
6
 
7
7
  > **给编程 Agent 用的记忆与上下文 harness。** 本地优先的代码知识图谱 · 有界上下文压缩(约 98% token 节省) · 跨会话学习飞轮。
8
8
 
@@ -47,7 +47,7 @@ graphflow context preview --reply "助手原文回答"
47
47
 
48
48
  ## DeepSeek Harness 插件
49
49
 
50
- GraphFlow 本身就是一个 **dsh 插件包**(topic:`dsh-plugin`)。`package.json` 声明 `dsh.bundle`,根目录 `cordis.patch.yml` 把 GraphFlow MCP 插入 Harness 的插件树。
50
+ GraphFlow 本身就是一个 **dsh 插件包**(topic:`dsh-plugin`)。`package.json` 声明 `dsh.bundle`,根目录 `cordis.patch.yml` 把 GraphFlow MCP 与 ESM glue 插入 Harness 的插件树。
51
51
 
52
52
  ### 能力
53
53
 
@@ -64,7 +64,15 @@ GraphFlow 本身就是一个 **dsh 插件包**(topic:`dsh-plugin`)。`pack
64
64
  | 产物 | 图谱 import / export | `mcp__graphflow__graphflow_artifact` |
65
65
  | 技能指南 | 给已连接 Agent 的用法说明 | `mcp__graphflow__graphflow_skill_guide` |
66
66
 
67
- 核心价值:本地 AST 知识图谱、L1–L3 分层压缩(实测约 98% token 节省)、跨会话 Episodic / Skill 飞轮。GraphFlow **不执行代码**,只给宿主 Agent 压缩上下文和计划。
67
+ | dsh | 状态 |
68
+ | --- | --- |
69
+ | 上述 10 个 MCP 工具(stdio `cwd` = 会话工作区) | 支持 |
70
+ | Skill(bundle glue 注册;`dsh plugin add` 即可) | 支持 |
71
+ | 会话结束飞轮(仅 `agent/disposed` → `outcome report`;不是 live `session/flush`) | 支持 |
72
+ | VS Code/Cursor 图谱面板、Settings、Workbench Tree、`@graphflow` chat | **不移植** |
73
+ | Cursor Agent Plugins 发现 / Claude Code Session* **文件** hooks | **不移植**(dsh 用 bundle + glue) |
74
+
75
+ 核心价值:本地 AST 知识图谱、L1–L3 分层压缩(实测约 98% token 节省)、跨会话 Episodic / Skill 飞轮。GraphFlow **不执行代码**,只给宿主 Agent 压缩上下文和计划。Workbench 数据走 MCP `graphflow_context` / `graphflow_diagnose` 即可。
68
76
 
69
77
  ### 安装
70
78
 
@@ -72,7 +80,7 @@ GraphFlow 本身就是一个 **dsh 插件包**(topic:`dsh-plugin`)。`pack
72
80
 
73
81
  ```bash
74
82
  dsh plugin --profile web add @roarpeng/graphflow
75
- dsh --profile web
83
+ npx @deepseek-ai/dsh web
76
84
  ```
77
85
 
78
86
  **方式 B:home 级 overlay(所有 profile 生效)**
@@ -87,8 +95,8 @@ npx @roarpeng/graphflow install
87
95
 
88
96
  | 路径 | 作用 |
89
97
  | --- | --- |
90
- | `$DSH_HOME/cordis.patch.yml` | 插入 `mcp-graphflow` 行(stdio 拉起 `graphflow-mcp`) |
91
- | `$DSH_HOME/skills/graphflow/SKILL.md` | Skill 目录,教模型何时、如何调用上述工具 |
98
+ | `$DSH_HOME/cordis.patch.yml` | 插入 `mcp-graphflow`(`cwd: process.cwd()`)与 `graphflow-dsh` glue |
99
+ | `$DSH_HOME/skills/graphflow/SKILL.md` | Skill 目录(`graphflow install`);bundle glue 也会在运行时 `ctx.skills.register` |
92
100
 
93
101
  开发态也可:
94
102
 
package/cordis.patch.yml CHANGED
@@ -2,12 +2,21 @@
2
2
  #
3
3
  # 用法:
4
4
  # dsh plugin --profile web add @roarpeng/graphflow
5
+ # npx @deepseek-ai/dsh web
5
6
  # 或已有 ~/.dsh 时: npx @roarpeng/graphflow install
6
7
  #
7
- # 能力: 把 GraphFlow 的 10 个 MCP 工具挂到 ctx.tools。
8
- # 模型侧名称: mcp__graphflow__graphflow_context / _plan / _run /
9
- # _report_outcome / _insight / _index / _skill_insights /
10
- # _diagnose / _artifact / _skill_guide
8
+ # 能力:
9
+ # 1) MCP 10 工具挂到 ctx.tools(cwd = 会话/工作区 process.cwd())。
10
+ # 模型侧名称: mcp__graphflow__graphflow_context / _plan / _run /
11
+ # _report_outcome / _insight / _index / _skill_insights /
12
+ # _diagnose / _artifact / _skill_guide
13
+ # 2) ESM glue `@roarpeng/graphflow/dsh`:ctx.skills.register(graphflow)
14
+ # (dsh plugin add 即可用 skill,不必先 graphflow install);
15
+ # agent/disposed 时不默认把 pending episode 标成成功(等同 Claude Code
16
+ # SessionEnd 空 $2 保持 pending)。显式 GRAPHFLOW_HOOK_SUCCESS=true|false
17
+ # 才调用 graphflow outcome report。不监听 live session/flush。
18
+ # 3) 首轮 agent/pre-step 注入一句短 hint:先调 graphflow_context(rootDir=cwd)。
19
+ #
11
20
  # 调用约定: 先 context(传 rootDir),复杂任务再 plan;改完代码后 index;
12
21
  # 若走了 run,结束后必须 report_outcome。不要写死 GRAPHFLOW_WORKSPACE_ROOT。
13
22
  #
@@ -27,4 +36,7 @@
27
36
  env:
28
37
  GRAPHFLOW_MCP_STDIO: '1'
29
38
  GRAPHFLOW_LOG_JSON: '1'
39
+ cwd: !!js process.cwd()
30
40
  failOnStartupError: false
41
+ - id: graphflow-dsh
42
+ name: '@roarpeng/graphflow/dsh'
@@ -50,9 +50,15 @@ export interface LayeredPackageOptions {
50
50
  hnswIndexPath?: string;
51
51
  /** Hard cap on anchor count. Default 15. Set to Infinity to disable. */
52
52
  maxAnchors?: number;
53
- /** Always inject L2 module nodes and L3 skill/decision nodes regardless of query pattern. Default false. */
53
+ /**
54
+ * Always inject L2 module nodes and L3 skill/decision nodes regardless of query pattern.
55
+ * When packing L3, Decision/goal alignment/deviation nodes are pinned so budget
56
+ * truncation cannot drop them (Governance Decay). Default false.
57
+ */
54
58
  enableAlwaysOnLayers?: boolean;
55
59
  }
60
+ /** Governance pin kinds for L3 Decision/goal nodes. */
61
+ export type L3PinKind = "alignment" | "deviation" | "goal";
56
62
  export interface SubgraphExpansionOptions {
57
63
  hops?: number;
58
64
  maxNodes?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"context-slicer-types.d.ts","sourceRoot":"","sources":["../../src/graph/context-slicer-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE9C,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACxB,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE;QACX,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,uFAAuF;IACvF,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,uBAAuB,CAAC,EAAE,wBAAwB,CAAC;IACnD,sDAAsD;IACtD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,4DAA4D;IAC5D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,wHAAwH;IACxH,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,sFAAsF;IACtF,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iEAAiE;IACjE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4GAA4G;IAC5G,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC9D,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACpD;AAED,eAAO,MAAM,2BAA2B,EAAE,SAAS,CAAC,UAAU,CAAC,EAU9D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAC4G,CAAC"}
1
+ {"version":3,"file":"context-slicer-types.d.ts","sourceRoot":"","sources":["../../src/graph/context-slicer-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE9C,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACxB,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE;QACX,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,uFAAuF;IACvF,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,uBAAuB,CAAC,EAAE,wBAAwB,CAAC;IACnD,sDAAsD;IACtD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,4DAA4D;IAC5D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,wHAAwH;IACxH,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,sFAAsF;IACtF,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iEAAiE;IACjE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,uDAAuD;AACvD,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,MAAM,CAAC;AAE3D,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC9D,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACpD;AAED,eAAO,MAAM,2BAA2B,EAAE,SAAS,CAAC,UAAU,CAAC,EAU9D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAC4G,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"context-slicer-types.js","sourceRoot":"","sources":["../../src/graph/context-slicer-types.ts"],"names":[],"mappings":";;;AAwEa,QAAA,2BAA2B,GAA4B;IAClE,YAAY;IACZ,SAAS;IACT,YAAY;IACZ,cAAc;IACd,OAAO;IACP,SAAS;IACT,WAAW;IACX,YAAY;IACZ,cAAc;CACf,CAAC;AAEF;;;GAGG;AACU,QAAA,kBAAkB,GAC7B,yIAAyI,CAAC"}
1
+ {"version":3,"file":"context-slicer-types.js","sourceRoot":"","sources":["../../src/graph/context-slicer-types.ts"],"names":[],"mappings":";;;AA+Ea,QAAA,2BAA2B,GAA4B;IAClE,YAAY;IACZ,SAAS;IACT,YAAY;IACZ,cAAc;IACd,OAAO;IACP,SAAS;IACT,WAAW;IACX,YAAY;IACZ,cAAc;CACf,CAAC;AAEF;;;GAGG;AACU,QAAA,kBAAkB,GAC7B,yIAAyI,CAAC"}
@@ -1,7 +1,12 @@
1
1
  import type { GraphNode } from "../core/types.js";
2
2
  import type { GraphClient } from "./client-factory.js";
3
- export type { ContextSlice, ContextLayer, ContextAnchorItem, LayeredContextPackage, LayeredPackageOptions, SubgraphExpansionOptions, ContextRefillManager, } from "./context-slicer-types.js";
3
+ export type { ContextSlice, ContextLayer, ContextAnchorItem, LayeredContextPackage, LayeredPackageOptions, SubgraphExpansionOptions, ContextRefillManager, L3PinKind, } from "./context-slicer-types.js";
4
4
  export { DEFAULT_EXPANSION_RELATIONS, ARCHITECTURE_QUERY, } from "./context-slicer-types.js";
5
+ /**
6
+ * Governance pins for L3: Decision/goal nodes that packing must prefer so
7
+ * budget truncation cannot drop alignment / deviation / goal constraints.
8
+ */
9
+ export declare function isPinnedL3Node(node: GraphNode): boolean;
5
10
  export { getEncoder, estimateTokens, summarizeNodes, classifyLayer, canUseLayer, markLayerUsed, modulePathKey, deriveModuleId, extractFileFromSymbolId, } from "./context-slicer-utils.js";
6
11
  export { diversifyHitsBySourceFile, expandSiblingDirectoryHits, hasModuleFamilyIntent, prepareHitsForPackaging, DEFAULT_MAX_SYMBOLS_PER_FILE, DEFAULT_MAX_SIBLING_FILES, } from "./hit-diversify.js";
7
12
  import type { ContextSlice, LayeredContextPackage, LayeredPackageOptions, SubgraphExpansionOptions, ContextRefillManager } from "./context-slicer-types.js";
@@ -1 +1 @@
1
- {"version":3,"file":"context-slicer.d.ts","sourceRoot":"","sources":["../../src/graph/context-slicer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAMlD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAcvD,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,UAAU,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,WAAW,EACX,aAAa,EACb,aAAa,EACb,cAAc,EACd,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAa5B,OAAO,KAAK,EACV,YAAY,EAEZ,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAGnC,wBAAsB,cAAc,CAClC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,SAAS,EAAE,CAAC,CAyBtB;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,CAAC,CAGvB;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,EAAE,EAClB,cAAc,EAAE,MAAM,EAAE,EACxB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GACpB,SAAS,EAAE,CAWb;AA+CD,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CA4KhC;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,oBAAoB,CAsCtB;AAED;;;;;;;;;GASG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CA2QhC"}
1
+ {"version":3,"file":"context-slicer.d.ts","sourceRoot":"","sources":["../../src/graph/context-slicer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAMlD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAcvD,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,SAAS,GACV,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAInC;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAcvD;AA4DD,OAAO,EACL,UAAU,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,WAAW,EACX,aAAa,EACb,aAAa,EACb,cAAc,EACd,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAa5B,OAAO,KAAK,EACV,YAAY,EAEZ,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAGnC,wBAAsB,cAAc,CAClC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,SAAS,EAAE,CAAC,CAyBtB;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,CAAC,CAGvB;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,EAAE,EAClB,cAAc,EAAE,MAAM,EAAE,EACxB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GACpB,SAAS,EAAE,CAWb;AA+CD,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CA8KhC;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,oBAAoB,CAsCtB;AAED;;;;;;;;;GASG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAyRhC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DEFAULT_MAX_SIBLING_FILES = exports.DEFAULT_MAX_SYMBOLS_PER_FILE = exports.prepareHitsForPackaging = exports.hasModuleFamilyIntent = exports.expandSiblingDirectoryHits = exports.diversifyHitsBySourceFile = exports.extractFileFromSymbolId = exports.deriveModuleId = exports.modulePathKey = exports.markLayerUsed = exports.canUseLayer = exports.classifyLayer = exports.summarizeNodes = exports.estimateTokens = exports.getEncoder = exports.ARCHITECTURE_QUERY = exports.DEFAULT_EXPANSION_RELATIONS = void 0;
4
+ exports.isPinnedL3Node = isPinnedL3Node;
4
5
  exports.expandSubgraph = expandSubgraph;
5
6
  exports.buildContextSlice = buildContextSlice;
6
7
  exports.vectorRecall = vectorRecall;
@@ -19,6 +20,67 @@ const symbol_extract_js_1 = require("./symbol-extract.js");
19
20
  var context_slicer_types_js_1 = require("./context-slicer-types.js");
20
21
  Object.defineProperty(exports, "DEFAULT_EXPANSION_RELATIONS", { enumerable: true, get: function () { return context_slicer_types_js_1.DEFAULT_EXPANSION_RELATIONS; } });
21
22
  Object.defineProperty(exports, "ARCHITECTURE_QUERY", { enumerable: true, get: function () { return context_slicer_types_js_1.ARCHITECTURE_QUERY; } });
23
+ const L3_PIN_HINT = /alignment|deviation|goal/i;
24
+ /**
25
+ * Governance pins for L3: Decision/goal nodes that packing must prefer so
26
+ * budget truncation cannot drop alignment / deviation / goal constraints.
27
+ */
28
+ function isPinnedL3Node(node) {
29
+ if (node.id.startsWith("goal:")) {
30
+ return true;
31
+ }
32
+ if (node.type !== "Decision") {
33
+ return false;
34
+ }
35
+ if (L3_PIN_HINT.test(node.content)) {
36
+ return true;
37
+ }
38
+ if (node.metadata && L3_PIN_HINT.test(JSON.stringify(node.metadata))) {
39
+ return true;
40
+ }
41
+ return false;
42
+ }
43
+ function collectPinnedL3Nodes(ranked, snapshotNodes, added) {
44
+ const pins = [];
45
+ const seen = new Set();
46
+ const consider = (node) => {
47
+ if (added.has(node.id) || seen.has(node.id) || !isPinnedL3Node(node)) {
48
+ return;
49
+ }
50
+ seen.add(node.id);
51
+ pins.push(node);
52
+ };
53
+ for (const node of ranked)
54
+ consider(node);
55
+ if (snapshotNodes) {
56
+ for (const node of snapshotNodes)
57
+ consider(node);
58
+ }
59
+ return pins;
60
+ }
61
+ function tryAppendL3Node(node, ctx, acc) {
62
+ if (ctx.maxAnchors !== undefined && ctx.anchorChannel.length >= ctx.maxAnchors) {
63
+ return "skip";
64
+ }
65
+ if (ctx.added.has(node.id)) {
66
+ return "skip";
67
+ }
68
+ if (!(0, context_slicer_utils_js_2.canUseLayer)("L3", ctx.quota, ctx.used)) {
69
+ return "skip";
70
+ }
71
+ const summary = `${node.type}: ${node.content}`;
72
+ const estimate = (0, context_slicer_utils_js_2.estimateTokens)(summary);
73
+ if (acc.tokens + estimate > ctx.maxTokens) {
74
+ acc.truncated = true;
75
+ return "budget";
76
+ }
77
+ ctx.summaryChannel.push(summary);
78
+ ctx.anchorChannel.push({ id: node.id, type: node.type, layer: "L3" });
79
+ ctx.added.add(node.id);
80
+ acc.tokens += estimate;
81
+ (0, context_slicer_utils_js_2.markLayerUsed)("L3", ctx.used);
82
+ return "packed";
83
+ }
22
84
  // Re-export utility functions that were previously exported
23
85
  var context_slicer_utils_js_1 = require("./context-slicer-utils.js");
24
86
  Object.defineProperty(exports, "getEncoder", { enumerable: true, get: function () { return context_slicer_utils_js_1.getEncoder; } });
@@ -204,7 +266,8 @@ async function buildLayeredContextPackage(client, query, maxTokens, options) {
204
266
  (0, context_slicer_utils_js_2.markLayerUsed)("L2", used);
205
267
  }
206
268
  }
207
- if (!truncated && context_slicer_types_js_2.ARCHITECTURE_QUERY.test((0, graph_utils_js_1.composeContextQuery)(query, options?.englishQuery))) {
269
+ const archIntent = context_slicer_types_js_2.ARCHITECTURE_QUERY.test((0, graph_utils_js_1.composeContextQuery)(query, options?.englishQuery));
270
+ if (options?.enableAlwaysOnLayers || archIntent) {
208
271
  const l3Candidates = (0, graph_utils_js_1.rankNodesForContextQuery)((await client.queryByKeyword(query)).filter((n) => n.type === "Skill" || n.type === "Decision"), query, {
209
272
  scoreTokens: (0, graph_utils_js_1.buildSearchScoreTokens)(query, options?.englishQuery),
210
273
  matchQueries: options?.englishQuery?.trim()
@@ -212,26 +275,31 @@ async function buildLayeredContextPackage(client, query, maxTokens, options) {
212
275
  : [query],
213
276
  ...(options?.englishQuery !== undefined ? { englishQuery: options.englishQuery } : {}),
214
277
  });
215
- let l3Added = 0;
216
- for (const node of l3Candidates) {
217
- if (l3Added >= 2)
218
- break;
219
- if (added.has(node.id))
220
- continue;
221
- if (!(0, context_slicer_utils_js_2.canUseLayer)("L3", quota, used))
222
- break;
223
- const summary = `${node.type}: ${node.content}`;
224
- const estimate = (0, context_slicer_utils_js_2.estimateTokens)(summary);
225
- if (tokens + estimate > maxTokens) {
226
- truncated = true;
278
+ const snapshotForPins = client.readSnapshot?.()?.nodes;
279
+ const acc = { tokens, truncated };
280
+ const packCtx = { summaryChannel, anchorChannel, added, quota, used, maxTokens };
281
+ const pins = collectPinnedL3Nodes(l3Candidates, snapshotForPins, added);
282
+ for (const node of pins) {
283
+ if (tryAppendL3Node(node, packCtx, acc) === "budget")
227
284
  break;
285
+ }
286
+ tokens = acc.tokens;
287
+ truncated = acc.truncated;
288
+ if (!truncated) {
289
+ let l3Added = pins.filter((n) => added.has(n.id)).length;
290
+ for (const node of l3Candidates) {
291
+ if (l3Added >= 2)
292
+ break;
293
+ if (isPinnedL3Node(node))
294
+ continue;
295
+ const result = tryAppendL3Node(node, packCtx, acc);
296
+ if (result === "budget")
297
+ break;
298
+ if (result === "packed")
299
+ l3Added += 1;
228
300
  }
229
- summaryChannel.push(summary);
230
- anchorChannel.push({ id: node.id, type: node.type, layer: "L3" });
231
- added.add(node.id);
232
- tokens += estimate;
233
- (0, context_slicer_utils_js_2.markLayerUsed)("L3", used);
234
- l3Added += 1;
301
+ tokens = acc.tokens;
302
+ truncated = acc.truncated;
235
303
  }
236
304
  }
237
305
  const enableExpansion = options?.enableEdgeExpansion !== false;
@@ -450,9 +518,10 @@ async function buildEnhancedContextPackage(client, query, task, maxTokens, optio
450
518
  }
451
519
  }
452
520
  // Step 4c: L3 skill/decision injection — always-on when enableAlwaysOnLayers,
453
- // otherwise only for architecture queries.
521
+ // otherwise only for architecture queries. Pin goal/alignment/deviation
522
+ // Decision nodes first so budget truncation cannot drop them.
454
523
  const archIntent = context_slicer_types_js_2.ARCHITECTURE_QUERY.test((0, graph_utils_js_1.composeContextQuery)(query, options?.englishQuery));
455
- if (!truncated && anchorChannel.length < maxAnchors && (options?.enableAlwaysOnLayers || archIntent)) {
524
+ if (anchorChannel.length < maxAnchors && (options?.enableAlwaysOnLayers || archIntent)) {
456
525
  const l3Candidates = (0, graph_utils_js_1.rankNodesForContextQuery)((await client.queryByKeyword(query)).filter((n) => n.type === "Skill" || n.type === "Decision"), query, {
457
526
  scoreTokens: (0, graph_utils_js_1.buildSearchScoreTokens)(query, options?.englishQuery),
458
527
  matchQueries: options?.englishQuery?.trim()
@@ -460,26 +529,38 @@ async function buildEnhancedContextPackage(client, query, task, maxTokens, optio
460
529
  : [query],
461
530
  ...(options?.englishQuery !== undefined ? { englishQuery: options.englishQuery } : {}),
462
531
  });
463
- let l3Added = 0;
464
- for (const node of l3Candidates) {
465
- if (l3Added >= 2 || anchorChannel.length >= maxAnchors)
466
- break;
467
- if (added.has(node.id))
468
- continue;
469
- if (!(0, context_slicer_utils_js_2.canUseLayer)("L3", quota, used))
470
- break;
471
- const summary = `${node.type}: ${node.content}`;
472
- const estimate = (0, context_slicer_utils_js_2.estimateTokens)(summary);
473
- if (tokens + estimate > maxTokens) {
474
- truncated = true;
532
+ const acc = { tokens, truncated };
533
+ const packCtx = {
534
+ summaryChannel,
535
+ anchorChannel,
536
+ added,
537
+ quota,
538
+ used,
539
+ maxTokens,
540
+ maxAnchors,
541
+ };
542
+ const pins = collectPinnedL3Nodes(l3Candidates, snapshotNodes, added);
543
+ for (const node of pins) {
544
+ if (tryAppendL3Node(node, packCtx, acc) === "budget")
475
545
  break;
546
+ }
547
+ tokens = acc.tokens;
548
+ truncated = acc.truncated;
549
+ if (!truncated) {
550
+ let l3Added = pins.filter((n) => added.has(n.id)).length;
551
+ for (const node of l3Candidates) {
552
+ if (l3Added >= 2 || anchorChannel.length >= maxAnchors)
553
+ break;
554
+ if (isPinnedL3Node(node))
555
+ continue;
556
+ const result = tryAppendL3Node(node, packCtx, acc);
557
+ if (result === "budget")
558
+ break;
559
+ if (result === "packed")
560
+ l3Added += 1;
476
561
  }
477
- summaryChannel.push(summary);
478
- anchorChannel.push({ id: node.id, type: node.type, layer: "L3" });
479
- added.add(node.id);
480
- tokens += estimate;
481
- (0, context_slicer_utils_js_2.markLayerUsed)("L3", used);
482
- l3Added += 1;
562
+ tokens = acc.tokens;
563
+ truncated = acc.truncated;
483
564
  }
484
565
  }
485
566
  // Step 5: Import-based multi-hop expansion + same-file symbol boosting.
@@ -1 +1 @@
1
- {"version":3,"file":"context-slicer.js","sourceRoot":"","sources":["../../src/graph/context-slicer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-slicer.js","sourceRoot":"","sources":["../../src/graph/context-slicer.ts"],"names":[],"mappings":"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"}