dev-flow-deepseek 0.8.9 → 0.9.1

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/README.md CHANGED
@@ -67,6 +67,11 @@ dsh --profile $ProfileName --dump-config
67
67
 
68
68
  ## 启动一个 Task
69
69
 
70
+ 仓库调查遵循当前用户指令和适用的 `AGENTS.md`。需要项目索引时,DeepSeek 在当前 Workspace Root
71
+ 和权限内只读检查索引、候选项目说明及相关代码与配置,形成完整候选范围,再逐仓确认并准备工作树;
72
+ Task 创建后范围固定。选择代码检索工具时,这些指令优先于 `host_preferences.deepseek.codebase_memory`
73
+ 默认偏好。
74
+
70
75
  先把开发请求正常发给 DSH。Adapter 只读检查候选实现、调用关系、测试、配置和 Git 状态,返回
71
76
  `small|standard|large|uncertain`、已经找到的影响面、未知项和建议;这一轮不调用 Core、不修改 Git、
72
77
  不运行测试,也不创建 Task。即使第一条消息已经包含 `/dev-flow`,新请求也不能跳过评估和确认。
@@ -115,12 +120,14 @@ Adapter 在 TASKS 完成需求、设计、工作拆分、影响面和现有测
115
120
  留在 TEST。为了更全面、提高信心、保险起见或“还有预算”都不能支持增加。
116
121
 
117
122
  每次完整套件前都重新判断广泛影响、定向/包级检查是否足够、待补的具体风险和仓库当前检查点要求,
118
- 本次理由写入 `full_suite_reason`,小修复后不自动沿用旧理由。测试代码只为稳定行为、公共合同、重要
123
+ 本次理由写入 `full_suite_reason`,小修复后不自动沿用旧理由。测试代码只为稳定行为、公开接口规范、重要
119
124
  失败路径或真实回归保留;一次性 README 词语要求只做一次文本搜索。
120
125
 
121
126
  普通实现后的复核只看当前 diff、直接或间接影响和验收所需路径。修复复核发现后只检查原问题、相关
122
127
  回归和对应定向检查,不重启全仓库审计。显式 code review 阶段只读,交付完整发现后等待单独修复授权。
123
128
 
129
+ 普通修改后的复核和交付只报告与当前改动有因果关系的问题,无关历史问题不进入报告。
130
+
124
131
  ## 范围外文件先询问
125
132
 
126
133
  Adapter 在 DSH `tools/pre-execute` 中检查 `write`、`edit` 和变更型 `str_replace_editor`。当前 direct
@@ -170,7 +177,7 @@ dsh --profile "$PROFILE" --dump-config
170
177
  ## DeepSeek 权限与边界
171
178
 
172
179
  - DSH 启动时的 canonical Workspace Root 是权限边界;仓库和 symlink 解析结果必须位于其中;
173
- - Dev Flow 不扩大 Workspace Root,也不会通过索引发现并加入相邻仓库;需要 sibling worktree 时重启到
180
+ - Dev Flow 保持当前 Workspace Root 权限边界,索引结果不改变已创建 Task 的 Scope;需要 sibling worktree 时重启到
174
181
  Coordinator 返回的新 Root;
175
182
  - Core 只读观察 Git,不执行 fetch、branch、worktree、commit、push、merge、rebase、tag 或 publish;
176
183
  - DeepSeek 负责用户确认后的 fetch、branch、worktree、文件修改和命令执行;Host gate 检查列出的
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dev-flow-deepseek",
3
- "version": "0.8.9",
3
+ "version": "0.9.1",
4
4
  "private": false,
5
5
  "description": "Explicit DeepSeek Harness adapter for the Dev Flow process graph.",
6
6
  "license": "Apache-2.0",
@@ -17,6 +17,14 @@ inspect Git without changing it, and inspect candidate implementation, callers,
17
17
  and package manifests. Do not edit files, run tests or builds, install dependencies, call any Dev Flow
18
18
  Core or Host tool, fetch, create a branch or worktree, or write a receipt.
19
19
 
20
+ Resolve candidate repositories from the current user request and applicable `AGENTS.md` instructions.
21
+ When those instructions require project-index discovery, read the index and each candidate's project
22
+ documentation, then inspect relevant code and configuration to establish the complete proposed
23
+ Repository Scope. Keep discovery read-only and within the current Workspace Root and Host permissions.
24
+ Otherwise use the repositories declared by the user. Every proposed repository must pass the explicit
25
+ worktree confirmation below before Task creation; index results alone do not authorize provisioning
26
+ or change an existing Task's immutable Scope.
27
+
20
28
  Return exactly these developer-readable fields:
21
29
 
22
30
  ```text
@@ -133,17 +141,20 @@ failed handshake.
133
141
  ## Optional code discovery
134
142
 
135
143
  After the successful handshake, consume only `host_preferences.deepseek.codebase_memory` and the
136
- capabilities actually visible in this DeepSeek session:
144
+ capabilities actually visible in this DeepSeek session. Current user instructions and applicable
145
+ `AGENTS.md` instructions take precedence over this default preference when choosing code-discovery
146
+ tools. Use the preference rules below only when those instructions do not select a discovery method:
137
147
 
138
- - When the preference is `false`, do not call any codebase-memory tool even when one is visible. Use
139
- built-in Git inspection, file reads, file search, and text search, and do not prompt for installation.
148
+ - When the preference is `false`, use built-in Git inspection, file reads, file search, and text
149
+ search, and do not prompt for installation.
140
150
  - When the preference is `true` and codebase-memory is already visible and usable, it may be
141
- preferred for cross-repository symbol discovery, relationships, and impact analysis. Repository
142
- Scope still comes only from the user's declarations, Workspace Root remains the permission
143
- boundary, and file modification uses ordinary Host file tools.
144
- - When the preference is `true` but the capability is absent, incomplete, or becomes unavailable,
145
- notify the user at most once in the current Dev Flow session and immediately fall back to built-in
146
- search without blocking Task creation or progress.
151
+ preferred for symbol discovery, relationships, and impact analysis within the confirmed Task Scope.
152
+
153
+ Whether selected by user instructions, `AGENTS.md`, or the preference, an absent, incomplete, or
154
+ unavailable index triggers at most one notice in the current Dev Flow session and an immediate
155
+ fallback to built-in search without blocking Task creation or progress. Repository Scope remains
156
+ the complete set confirmed before provisioning and retained by Core; Workspace Root remains the
157
+ permission boundary, and file modification uses ordinary Host file tools.
147
158
 
148
159
  Never install, configure, upgrade, start, repair, or remove codebase-memory; never call plugin
149
160
  management to install it; never change MCP configuration; and never start a daemon. Index results
@@ -531,8 +542,8 @@ restart a repository-wide audit after each edit. Any added review area needs a s
531
542
  from the current change.
532
543
 
533
544
  Fix only defects introduced by the current change or caused in another location by that change.
534
- Unrelated historical problems are not repaired, tested, or added to this Task; mention them
535
- separately at delivery and suggest another Task when useful.
545
+ Report findings only when they have that causal relationship. Unrelated historical problems stay
546
+ outside the review, Task work, and delivery summary.
536
547
 
537
548
  After fixing a review finding, re-check only the original finding, related regressions, affected
538
549
  acceptance criteria, and matching targeted checks. Never restart a broad audit because one finding
@@ -115,28 +115,31 @@ For each step returned by Core:
115
115
  6. Record completion only after the semantic work actually completes.
116
116
 
117
117
  For `plain`, render external capability availability as `not_applicable`. When the ordinary work
118
- actually completes, evidence uses `status="plain_fallback"` and an empty `capability`; plain work is
119
- never labeled as an external capability completion. The same `plain_fallback` rule applies when a
120
- selected external capability is unavailable but the equivalent work actually completes.
118
+ actually completes, submit an empty `capability`; Core records `status="plain_fallback"`. The same
119
+ rule applies when a selected external capability is unavailable but the equivalent work actually
120
+ completes. A non-empty `capability` names the actual external capability that completed the step.
121
121
 
122
- When equivalent work remains incomplete, record `unavailable` or `not_run` honestly. Neither status
123
- can satisfy a required semantic step, so the Adapter must not call apply for that Action.
122
+ When equivalent work remains incomplete, report `unavailable` or `not_run` honestly to the user.
123
+ An incomplete required semantic step prevents submission for that Action.
124
124
 
125
- ## MethodEvidence
125
+ ## Method results
126
126
 
127
- A normal mutation supplies exactly one `MethodEvidence` item for every current Action method step,
128
- in Action order. Each item contains only `step_id`, `status`, `capability`, and `summary`.
127
+ A normal submission supplies `method_results` as a closed object keyed by every current Action
128
+ `method_steps[].step_id`. Each value contains only `capability` and `summary`. Core creates the
129
+ internal `MethodEvidence` items in Action order and fills their `step_id` and `status`.
129
130
 
130
- - `completed` requires the non-empty ID of the actual capability that completed the work.
131
- - `plain_fallback` requires an empty `capability` and completed plain-equivalent work.
132
- - `unavailable` and `not_run` do not satisfy a required step.
133
- - Unknown, duplicate, previous-node, reordered, or omitted steps are invalid.
131
+ - Completed external work supplies the actual non-empty capability ID; Core records `completed`.
132
+ - Completed plain-equivalent work supplies an empty `capability`; Core records `plain_fallback`.
133
+ - Incomplete required steps prevent submission; availability and execution status are not input fields.
134
+ - Unknown, duplicate, previous-node, or omitted step keys are invalid. Core determines item order.
134
135
  - Capability output cannot substitute for the typed `node_result` or any current Core evidence gate.
135
136
 
136
137
  ## Artifact references
137
138
 
138
- Submit artifact evidence only as `role`, contract `path`, `digest`, and `summary`. A single-repository
139
- Task uses an ordinary repository-relative path; a multi-repository Task uses
139
+ Put current-node artifacts in `artifacts.current` when the live schema exposes that slot, and related
140
+ method artifacts in `artifacts.other_process`. Each entry contains only contract `path`, `digest`,
141
+ and `summary`; Core assigns `role` from the slot and current node. A single-repository Task uses an
142
+ ordinary repository-relative path; a multi-repository Task uses
140
143
  `<repository-key>::<repository-relative-path>`. Refer
141
144
  only to a file actually observed by the Host. Never submit full contents, command output, prompts,
142
145
  token data, runtime configuration, or private locations. An artifact digest does not replace the