@devflow-tools/claude-code-plugin 0.19.14 → 0.19.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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "devflow",
3
3
  "description": "DevFlow — Developer Intelligence Platform: project context, code graph, knowledge base, memory engine, and workflow automation with 14 domain plugins",
4
- "version": "0.19.14",
4
+ "version": "0.19.16",
5
5
  "author": {
6
6
  "name": "DevFlow"
7
7
  },
@@ -8,7 +8,7 @@
8
8
  ],
9
9
  "blockedNative": [],
10
10
  "source": "core",
11
- "sourceVersion": "0.19.14",
11
+ "sourceVersion": "0.19.16",
12
12
  "requiresContext": false,
13
13
  "evidenceMode": "runtime",
14
14
  "skillPath": "skills/devflow:doctor/SKILL.md",
@@ -35,7 +35,7 @@
35
35
  "WebFetch"
36
36
  ],
37
37
  "source": "core",
38
- "sourceVersion": "0.19.14",
38
+ "sourceVersion": "0.19.16",
39
39
  "requiresContext": true,
40
40
  "evidenceMode": "mixed",
41
41
  "skillPath": "skills/devflow:context/SKILL.md",
@@ -60,7 +60,7 @@
60
60
  "Explore"
61
61
  ],
62
62
  "source": "core",
63
- "sourceVersion": "0.19.14",
63
+ "sourceVersion": "0.19.16",
64
64
  "requiresContext": true,
65
65
  "evidenceMode": "mixed",
66
66
  "skillPath": "skills/devflow:graph/SKILL.md",
@@ -79,7 +79,7 @@
79
79
  "WebFetch"
80
80
  ],
81
81
  "source": "core",
82
- "sourceVersion": "0.19.14",
82
+ "sourceVersion": "0.19.16",
83
83
  "requiresContext": true,
84
84
  "evidenceMode": "mixed",
85
85
  "skillPath": "skills/devflow:knowledge/SKILL.md",
@@ -103,7 +103,7 @@
103
103
  "Explore"
104
104
  ],
105
105
  "source": "core",
106
- "sourceVersion": "0.19.14",
106
+ "sourceVersion": "0.19.16",
107
107
  "requiresContext": true,
108
108
  "evidenceMode": "mixed",
109
109
  "skillPath": "skills/devflow:memory/SKILL.md",
@@ -119,7 +119,7 @@
119
119
  ],
120
120
  "blockedNative": [],
121
121
  "source": "core",
122
- "sourceVersion": "0.19.14",
122
+ "sourceVersion": "0.19.16",
123
123
  "requiresContext": true,
124
124
  "evidenceMode": "mixed",
125
125
  "skillPath": "skills/devflow:workflow/SKILL.md",
@@ -154,7 +154,7 @@
154
154
  ],
155
155
  "blockedNative": [],
156
156
  "source": "core",
157
- "sourceVersion": "0.19.14",
157
+ "sourceVersion": "0.19.16",
158
158
  "requiresContext": true,
159
159
  "evidenceMode": "mixed",
160
160
  "skillPath": "skills/devflow:delivery/SKILL.md",
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "manifestVersion": "devflow-runtime.v1",
3
- "packageVersion": "0.19.14",
4
- "sourceCommit": "2120981fcd1d3e906c8c4663ecc56506ed66ce1a",
3
+ "packageVersion": "0.19.16",
4
+ "sourceCommit": "2818d7fe7371d48feb8e52c9302281c978e1b16a",
5
5
  "bundleHashes": {
6
6
  "hooks": "858e24cc2bc01cdc69e47010e9e51eafc9d9230c9799a421821c3aa917f9c062",
7
- "mcp": "426258c76db3c4032baafd4b3926795e053b2a3df1ae72f0f2425f2e3f1e3c99",
7
+ "mcp": "4b1b4152fca04afcbc8466ed46799b60a35c6c4c5b5f7c7ed8252387d5c359df",
8
8
  "cli": "6205081f819ee3651962df36edd626b993a917fb8691f20c84e6b6e04af81d16"
9
9
  },
10
- "registryHash": "dc90b308b7fa01ffb9a2609656f812da675067822856b2e599585a16ddb3a5e8",
10
+ "registryHash": "c0ff7330fe9a57e884b27ab48020ec66c6726549f37ed999d324174b19a8df88",
11
11
  "stateDbPath": "<projectRoot>/.devflow/delivery-line/state.db",
12
- "builtAt": 1793950586617,
13
- "manifestHash": "92f95224c931a25f9a7b612c46fb472aa25402a347d72b02e1879d5e88147292"
12
+ "builtAt": 1794194872950,
13
+ "manifestHash": "419c3ec21c9983fecd0712d13502995dc3586abdeee755d54651a6daec89057b"
14
14
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devflow-tools/claude-code-plugin",
3
- "version": "0.19.14",
3
+ "version": "0.19.16",
4
4
  "description": "Claude Code hooks and skills for the DevFlow development intelligence runtime.",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -12,20 +12,20 @@
12
12
  "verify:runtime-dependencies": "node --import tsx scripts/verify-runtime-dependencies.ts"
13
13
  },
14
14
  "dependencies": {
15
- "@devflow-tools/benchmark": "0.19.14",
16
- "@devflow-tools/context-engine": "0.19.14",
17
- "@devflow-tools/database": "0.19.14",
18
- "@devflow-tools/mcp-server": "0.19.14",
19
- "@devflow-tools/memory-engine": "0.19.14",
20
- "@devflow-tools/sdk": "0.19.14",
21
- "@devflow-tools/semantic-engine": "0.19.14",
22
- "@devflow-tools/server": "0.19.14",
23
- "@devflow-tools/task-runtime": "0.19.14",
24
- "@devflow-tools/telemetry": "0.19.14",
25
- "@devflow-tools/workflow-engine": "0.19.14"
15
+ "@devflow-tools/benchmark": "0.19.16",
16
+ "@devflow-tools/context-engine": "0.19.16",
17
+ "@devflow-tools/database": "0.19.16",
18
+ "@devflow-tools/mcp-server": "0.19.16",
19
+ "@devflow-tools/memory-engine": "0.19.16",
20
+ "@devflow-tools/sdk": "0.19.16",
21
+ "@devflow-tools/semantic-engine": "0.19.16",
22
+ "@devflow-tools/server": "0.19.16",
23
+ "@devflow-tools/task-runtime": "0.19.16",
24
+ "@devflow-tools/telemetry": "0.19.16",
25
+ "@devflow-tools/workflow-engine": "0.19.16"
26
26
  },
27
27
  "devDependencies": {
28
- "@devflow-tools/devflow": "0.19.14"
28
+ "@devflow-tools/devflow": "0.19.16"
29
29
  },
30
30
  "allowScripts": {
31
31
  "better-sqlite3@12.11.1": true,
@@ -50,7 +50,7 @@
50
50
  "hooks",
51
51
  "skills"
52
52
  ],
53
- "gitHead": "2120981fcd1d3e906c8c4663ecc56506ed66ce1a",
53
+ "gitHead": "21d71f688c7d760bcaa35b2c5902c5141dea7f9b",
54
54
  "license": "MIT",
55
55
  "repository": {
56
56
  "type": "git",
@@ -107,16 +107,25 @@ integration ref)完整保留。执行车辆是会话本身,交付线只做
107
107
 
108
108
  流程(对每个 pending 任务重复 2-6):
109
109
 
110
- 1. `plan_approved` 阶段且 `nextActions` 含 `begin_foreground_execution` 时,必须先用 `AskUserQuestion`
111
- 询问执行方式(前台执行 / 后台 worker)——这是机器语义 gate,不得跳过询问直接 resume。
112
- 选前台后调用 `mcp__plugin_devflow_devflow__delivery_begin_foreground_execution` 获取任务租约
113
- (此后宿主会话的 Write/Edit/Bash 对本案件放行——你就是在受审计地扮演 worker)。
110
+ 1. `plan_approved` 阶段且 `nextActions` 含 `begin_foreground_execution` 时,调用
111
+ `delivery_propose_trusted_action(action=begin_foreground_execution)` 并把生成的 pending decision
112
+ 用 `AskUserQuestion` **一次性**渲染(选项即 前台执行/放弃;放弃后可走 `delivery_resume` 后台)。
113
+ 不得先问一遍执行方式再弹一次确认——一次决策完成选择与授权。确认后宿主会话即持有任务租约
114
+ (你就是在受审计地扮演 worker)。
114
115
  2. 从 `delivery_status` 的任务列表取第一个 `pending` 任务,向用户展示任务卡:目标、`allowedFiles`、
115
- `implementationSteps`(RED/GREEN 顺序)、验收标准、验证命令。明确声明 allowedFiles 之外不做任何修改。
116
+ `implementationSteps`、验收标准、验证命令。明确声明 allowedFiles 之外不做任何修改。
116
117
  3. 基于任务的 base revision 建独立 worktree(候选必须是 base 后代,否则 import 会被权威校验拒绝):
117
118
  `git worktree add <临时目录> -b devflow-fg/<caseId>/<taskId> <baseRevision>`,在该目录中工作。
118
- 4. 前台实现:按 `implementationSteps` 先写失败测试再实现(原生 Read/Write/Edit/Bash,输出对用户可见,
119
- 可用原生 Task/Agent 工具拆子任务)。验证命令在前台逐条运行并向用户展示结果。
119
+ 4. 前台实现——**基建检索先行**(案件 `stackFacts.detectedStacks` 已标注项目栈,按栈用基建):
120
+ a. 动手前调 `mcp__plugin_devflow_devflow__get_knowledge`(按 detectedStacks 查域文档,如 shadcn 组件
121
+ 规范、React 模式)和 `search_symbol`(定位复用点/被影响面)——**不要用 git ls-files + rg 手工
122
+ 模拟符号搜索**,基建的语义索引更准且省 token。
123
+ b. 按 `implementationSteps` 实现(原生 Read/Write/Edit/Bash,输出对用户可见,可用原生 Task/Agent
124
+ 工具拆子任务)。涉及跨文件改动前查 `get_dependency_graph` 确认影响面。
125
+ c. 验证命令在前台逐条运行并向用户展示结果。
126
+ **纯 UI 组件且项目无 DOM 测试设施时,不要编写"读源码断言字符串"的伪测试**——用计划里的
127
+ `testFirstWaiver`(verificationAlternative 填 build + typecheck + 既有测试套件),build/类型检查
128
+ 就是该场景下的诚实验证。伪测试不产生行为覆盖,只是为了让 gate 通过的仪式。
120
129
  5. 在 worktree 中以规范 commit message 提交,得到 candidateRevision。
121
130
  6. 调用 `delivery_import_external_change(caseId, taskId, candidateRevision, reason)`——系统自动完成
122
131
  authority 校验(base 后代 + allowedFiles 边界)、独立验证与 integration ref 写入。导入被拒时按
@@ -124,7 +133,7 @@ integration ref)完整保留。执行车辆是会话本身,交付线只做
124
133
  全部任务 integrated 后按 `nextActions` 进入 review/export gate。
125
134
 
126
135
  边界:前台模式不改变 Delivery authority——不碰 target ref、不跳过验证、不伪造证据;import 失败照常
127
- 按错误处理规则恢复。
136
+ 按错误处理规则恢复。worktree 用完即清(`git worktree remove --force`)。
128
137
 
129
138
  ## 人工 Review Gate(REVIEW_AWAITING_HUMAN)
130
139
 
@@ -134,7 +143,8 @@ integration ref)完整保留。执行车辆是会话本身,交付线只做
134
143
  流程:
135
144
  1. 收到 `REVIEW_AWAITING_HUMAN` 后,先向用户展示审查材料:集成 diff(`git diff <parentRevision>..<integrationRevision>`)、
136
145
  验证证据摘要(verification 命令与结果)、任务验收标准。
137
- 2. 用 `AskUserQuestion` 一次收集三类裁决(bugs / security / compliance),每类选项:通过 / 退回(附 finding)。
146
+ 2. 用 `AskUserQuestion` **单次调用**收集三类裁决——一次调用带 3 个 question(bugs / security / compliance),
147
+ 每类选项:通过 / 退回(附 finding)。不要分三次弹窗。
138
148
  用户的裁决必须原样提交,不得代答或合并。
139
149
  3. 调用 `delivery_submit_review(caseId, verdicts)` 提交三类 verdict(每项 `{ kind, passed, findings? }`,
140
150
  findings 的 severity 用 blocker/major/minor/informational)。宿主可信通道会签名该决策。
@@ -143,6 +153,22 @@ integration ref)完整保留。执行车辆是会话本身,交付线只做
143
153
 
144
154
  禁止:agent 不得代替用户生成 verdict;不得在未展示 diff 与验证证据的情况下请求裁决;三类缺一不可。
145
155
 
156
+ ## 交付收尾(delivered 之后)
157
+
158
+ export 产出交付包后,闭环还差两步,按 `nextActions` 继续:
159
+
160
+ 1. **合入目标分支**:`nextActions` 含 `merge_to_target` 时,调用
161
+ `delivery_propose_trusted_action(action=merge_to_target)` 并渲染确认决策。确认后系统执行
162
+ fast-forward-only 合入(target 分叉时报 `TARGET_DIVERGED`,由用户手工解决,绝不强制合并)。
163
+ 合入成功后本轮交付的代码才真正落到 targetRef。
164
+ 2. **记忆沉淀(闭环第⑨步)**:合入完成后,调用 `mcp__plugin_devflow_devflow__memory_save_distilled`
165
+ 提炼本案的持久知识,至少包含:新增/变更的组件与位置(observation:decision_made/config_discovery)、
166
+ 设计决策与被否方案及理由(decision_made)、验证约定(config_discovery,如"本地工具链形式命令已验证可用")。
167
+ 没有这一步,下一个同类需求无法从本轮受益——闭环"每圈更便宜"依赖它。
168
+ 3. **域插件回执**:import 时系统自动对 `stackFacts.selectedRunners` 中的域插件(如 plugin-react)
169
+ 执行 capability 校验(authority 边界 + 回执入库)。若回执报 `PLUGIN_CAPABILITY_INVALID`,
170
+ 说明改动越出了域插件的权威范围或 runner 本身异常——修正后重新 import,不得绕过。
171
+
146
172
  ## 可用操作
147
173
 
148
174
  - 澄清和设计:`delivery_propose_options`、`delivery_answer`、`delivery_revise`、`delivery_compare_options`、`delivery_prepare_plan`