iterate-plugin 3.3.0 → 3.3.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 +50 -0
- package/README.zh-CN.md +43 -0
- package/package.json +12 -4
package/README.md
CHANGED
|
@@ -286,6 +286,56 @@ All runtime state lives under `.iterate/` at the project root (can be excluded v
|
|
|
286
286
|
|
|
287
287
|
---
|
|
288
288
|
|
|
289
|
+
## 🔐 Permissions, dependencies & compatibility
|
|
290
|
+
|
|
291
|
+
### Node.js / DSH compatibility
|
|
292
|
+
|
|
293
|
+
- **Node.js**: `>=20` (`package.json` `engines.node`).
|
|
294
|
+
- **DSH**: declares `dsh.compatibility.dshReleases` — `compatible` for the official
|
|
295
|
+
`0.1.2-alpha.4`, `0.1.2-alpha.5`, and `0.1.2-rc.1` releases. The plugin is built
|
|
296
|
+
against `@deepseek-ai/dsh-tools` / `@deepseek-ai/dsh-util-values` `0.1.2-rc.1`
|
|
297
|
+
and uses only public contracts (tool registration, client slots + theme, bundle patch).
|
|
298
|
+
|
|
299
|
+
### Runtime permissions (conservative disclosure)
|
|
300
|
+
|
|
301
|
+
The plugin runs with the **same process capabilities as the DSH host** and touches the
|
|
302
|
+
following capabilities; elevated capability means a DSH Profile install stays
|
|
303
|
+
`user-reviewed`/guarded rather than auto-approved:
|
|
304
|
+
|
|
305
|
+
- **Files** — reads and writes project-local state under `<projectRoot>/.iterate/`
|
|
306
|
+
(decision log, checkpoint, transcript, fix backups/registry, quality gate,
|
|
307
|
+
experience bank, defense events). `iterate_fix` / `iterate_triage` also apply
|
|
308
|
+
in-place edits to the user's source files (path-traversal protected to the
|
|
309
|
+
resolved project root, backups taken before every fix, rollback on failure).
|
|
310
|
+
The client half persists triage verdicts to `localStorage`.
|
|
311
|
+
- **Commands** — the plugin registers model-facing tools; any shell execution that
|
|
312
|
+
the model performs (build / test / `git`) is run by the **host**, not by this
|
|
313
|
+
plugin. The client "command buttons" only copy paste-able instruction text; they
|
|
314
|
+
do not spawn processes.
|
|
315
|
+
- **Credentials** — this plugin does **not** read or transmit credentials at
|
|
316
|
+
runtime. The sibling **iterate-skill / iterate-harness** components may read git
|
|
317
|
+
credentials / GitHub tokens when the user runs their own Git/API operations; those
|
|
318
|
+
are separate packages and are never loaded by this plugin.
|
|
319
|
+
- **Network** — no network access at runtime (everything is local to the project).
|
|
320
|
+
|
|
321
|
+
### Dependencies
|
|
322
|
+
|
|
323
|
+
Runtime dependencies: `@deepseek-ai/cordis`, `@deepseek-ai/dsh-tools`,
|
|
324
|
+
`@deepseek-ai/dsh-util-values`, `js-yaml` — all pinned exact versions. No
|
|
325
|
+
install-time lifecycle scripts (`preinstall`/`install`/`postinstall`/`prepare`);
|
|
326
|
+
only `prepublishOnly` (build) runs on publish.
|
|
327
|
+
|
|
328
|
+
### Failure bounds
|
|
329
|
+
|
|
330
|
+
- All writes are atomic (temp + rename) and confined under `.iterate/`; a crash
|
|
331
|
+
mid-write cannot corrupt the checkpoint/transcript.
|
|
332
|
+
- Persistence failures surface as structured `{ ok: false, error }` results instead
|
|
333
|
+
of silent success.
|
|
334
|
+
- Fix edits are applied to backups first and rolled back on validation failure.
|
|
335
|
+
- The UI degrades gracefully when a slot/service is unavailable.
|
|
336
|
+
|
|
337
|
+
---
|
|
338
|
+
|
|
289
339
|
## 🎨 Design
|
|
290
340
|
|
|
291
341
|
The plugin follows dsh's "everything-is-a-plugin" architecture:
|
package/README.zh-CN.md
CHANGED
|
@@ -285,6 +285,49 @@ validation:
|
|
|
285
285
|
|
|
286
286
|
---
|
|
287
287
|
|
|
288
|
+
## 🔐 权限、依赖与兼容性
|
|
289
|
+
|
|
290
|
+
### Node.js / DSH 兼容范围
|
|
291
|
+
|
|
292
|
+
- **Node.js**:`>=20`(`package.json` 的 `engines.node`)。
|
|
293
|
+
- **DSH**:在 `dsh.compatibility.dshReleases` 中声明官方 `0.1.2-alpha.4`、
|
|
294
|
+
`0.1.2-alpha.5`、`0.1.2-rc.1` 三个版本为 `compatible`。插件基于
|
|
295
|
+
`@deepseek-ai/dsh-tools` / `@deepseek-ai/dsh-util-values` `0.1.2-rc.1` 构建,
|
|
296
|
+
只使用公开契约(工具注册、客户端 slots + theme、bundle patch)。
|
|
297
|
+
|
|
298
|
+
### 运行时权限(保守披露)
|
|
299
|
+
|
|
300
|
+
插件与 DSH 宿主共享同一进程能力,涉及以下能力;具备高权限意味着 DSH Profile
|
|
301
|
+
安装仍需 `user-reviewed`/守卫,不会自动放行:
|
|
302
|
+
|
|
303
|
+
- **文件(files)** — 读写 `<projectRoot>/.iterate/` 下的项目本地状态(决策日志、
|
|
304
|
+
检查点、transcript、修复备份/注册表、质量门禁、经验银行、防御事件)。
|
|
305
|
+
`iterate_fix` / `iterate_triage` 还会就地修改用户源码(路径遍历防护限定在解析后
|
|
306
|
+
的项目根目录内,每次修复前备份、失败回滚)。客户端侧把分诊判定持久化到 `localStorage`。
|
|
307
|
+
- **命令(commands)** — 插件只注册模型可调用工具;模型要执行的任何 shell 操作
|
|
308
|
+
(build / test / `git`)都由**宿主**执行,不是本插件。客户端"指挥按钮"只复制可粘贴
|
|
309
|
+
的指令文本,不启动任何进程。
|
|
310
|
+
- **凭据(credentials)** — 本插件运行时**不**读取或传输凭据。同生态的
|
|
311
|
+
**iterate-skill / iterate-harness** 组件在用户自行执行 Git/API 操作时可能读取
|
|
312
|
+
git 凭据 / GitHub token;它们是独立包,本插件从不加载它们。
|
|
313
|
+
- **网络(network)** — 运行时无任何网络访问(全部本地)。
|
|
314
|
+
|
|
315
|
+
### 依赖
|
|
316
|
+
|
|
317
|
+
运行时依赖:`@deepseek-ai/cordis`、`@deepseek-ai/dsh-tools`、
|
|
318
|
+
`@deepseek-ai/dsh-util-values`、`js-yaml`——全部精确锁版。无安装期生命周期脚本
|
|
319
|
+
(`preinstall`/`install`/`postinstall`/`prepare`);仅 `prepublishOnly`(构建)在发布时运行。
|
|
320
|
+
|
|
321
|
+
### 失败边界
|
|
322
|
+
|
|
323
|
+
- 所有写入都是原子的(临时文件 + rename),且限定在 `.iterate/` 下;写入中途崩溃
|
|
324
|
+
不会损坏 checkpoint / transcript。
|
|
325
|
+
- 持久化失败以结构化 `{ ok: false, error }` 返回,而不是静默成功。
|
|
326
|
+
- 修复编辑先备份再应用,验证失败自动回滚。
|
|
327
|
+
- 某个 slot / 服务不可用时 UI 优雅降级。
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
288
331
|
## 🎨 设计
|
|
289
332
|
|
|
290
333
|
插件遵循 dsh "everything-is-a-plugin" 架构:
|
package/package.json
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iterate-plugin",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.1",
|
|
4
4
|
"description": "dsh plugin that turns the iterate skill into an autonomous closed-loop harness with quality command center and experience bank (v3.3). Features: plan -> parallel review xN -> atomic fixes -> validate -> loop -> auto-stop, plus dry-run pure-review mode, quality gate compute/persist, writable experience bank, defense events stream (record + bilingual labels), and native command buttons — with a live quality command center (F8/F9/F10 render real session data), §8 assign-fix instruction, and task_mode indicator wired end to end.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
9
|
-
"url": "https://github.com/jingzhao-l/iterate-
|
|
9
|
+
"url": "https://github.com/jingzhao-l/iterate-skill.git",
|
|
10
|
+
"directory": "harness/iterate-plugin"
|
|
10
11
|
},
|
|
11
|
-
"homepage": "https://github.com/jingzhao-l/iterate-plugin
|
|
12
|
+
"homepage": "https://github.com/jingzhao-l/iterate-skill/tree/main/harness/iterate-plugin",
|
|
12
13
|
"bugs": {
|
|
13
|
-
"url": "https://github.com/jingzhao-l/iterate-
|
|
14
|
+
"url": "https://github.com/jingzhao-l/iterate-skill/issues"
|
|
14
15
|
},
|
|
15
16
|
"keywords": [
|
|
16
17
|
"dsh-plugin",
|
|
@@ -26,6 +27,13 @@
|
|
|
26
27
|
"bundle": {
|
|
27
28
|
"patch": "./cordis.patch.yml"
|
|
28
29
|
},
|
|
30
|
+
"compatibility": {
|
|
31
|
+
"dshReleases": {
|
|
32
|
+
"0.1.2-alpha.4": "compatible",
|
|
33
|
+
"0.1.2-alpha.5": "compatible",
|
|
34
|
+
"0.1.2-rc.1": "compatible"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
29
37
|
"client": {
|
|
30
38
|
"platform": "web",
|
|
31
39
|
"inject": [
|