@ckanner/flywheel 0.30.2 → 0.31.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/CHANGELOG.md +58 -3
- package/CONTRIBUTING.md +19 -0
- package/LICENSE +21 -0
- package/README.en.md +4 -169
- package/README.md +152 -267
- package/README.zh-CN.md +116 -0
- package/bin/flywheel-claude-code-pro-worker.js +1 -1
- package/bin/flywheel-codex-pro-worker.js +1 -1
- package/bin/flywheel-dsh-worker.js +1 -1
- package/bin/flywheel.js +1 -1
- package/bin/runtime.js +1 -1
- package/docs/README.md +84 -0
- package/docs/README.zh-CN.md +64 -0
- package/docs/archive/README.md +13 -0
- package/docs/archive/codex-pro-adapter-handoff.md +197 -0
- package/docs/archive/design-v0.24.md +540 -0
- package/docs/design.md +681 -0
- package/docs/en/claude-code-pro.md +25 -16
- package/docs/en/configuration.md +306 -139
- package/docs/en/contributing.md +303 -0
- package/docs/en/flow-console.md +75 -13
- package/docs/en/getting-started.md +232 -126
- package/docs/en/investigation.md +219 -0
- package/docs/en/jev-shadow.md +67 -0
- package/docs/en/model-policy.md +147 -62
- package/docs/en/releasing.md +207 -0
- package/docs/en/session-evaluation.md +4 -2
- package/docs/en/session-recovery.md +49 -4
- package/docs/en/workflow.md +223 -113
- package/docs/evaluation/README.md +12 -0
- package/docs/evaluation/jev-historical-provisional.json +138 -0
- package/docs/evaluation/jev-historical-result-2026-11-10.json +174 -0
- package/docs/plans/2026-11-01-dsh-integration.md +67 -0
- package/docs/plans/2026-11-01-model-profiles-preflight.md +29 -0
- package/docs/plans/2026-11-01-npm-installation.md +19 -0
- package/docs/plans/2026-11-03-codex-pro-default.md +28 -0
- package/docs/plans/2026-11-06-adaptive-workflow.md +365 -0
- package/docs/plans/2026-11-07-session-lifecycle.en.md +424 -0
- package/docs/plans/2026-11-07-session-lifecycle.md +337 -0
- package/docs/plans/2026-11-08-flow-console.md +271 -0
- package/docs/plans/2026-11-10-jev-shadow.md +32 -0
- package/docs/plans/2026-11-10-task-discovery.md +17 -0
- package/docs/plans/2026-11-10-workbench-redesign.md +19 -0
- package/docs/plans/2026-11-12-feedback-driven-workflows.md +739 -0
- package/docs/plans/README.md +22 -0
- package/docs/reviews/2026-08-24-v0.18-review-fixplan.md +265 -0
- package/docs/reviews/2026-09-12-pr4-pr5-review.md +70 -0
- package/docs/reviews/README.md +12 -0
- package/docs/validation/2026-11-01-npm-installation.md +105 -0
- package/docs/validation/2026-11-01-profiles-preflight.md +67 -0
- package/docs/validation/2026-11-01-results.md +114 -0
- package/docs/validation/2026-11-03-codex-pro-default.md +90 -0
- package/docs/validation/2026-11-04-dsh-native-view.md +85 -0
- package/docs/validation/2026-11-04-release-0.28.1.md +33 -0
- package/docs/validation/2026-11-04-release-0.28.2.md +35 -0
- package/docs/validation/2026-11-05-dsh-0.2.2-compatibility.md +26 -0
- package/docs/validation/2026-11-05-registry-smoke-recovery.md +26 -0
- package/docs/validation/2026-11-05-release-0.28.3.md +32 -0
- package/docs/validation/2026-11-05-subscription-model-access.md +60 -0
- package/docs/validation/2026-11-05-view-order.md +14 -0
- package/docs/validation/2026-11-07-adaptive-workflow.md +79 -0
- package/docs/validation/2026-11-07-claude-code-pro.md +144 -0
- package/docs/validation/2026-11-07-session-lifecycle.md +136 -0
- package/docs/validation/2026-11-08-session-p3-p4.md +99 -0
- package/docs/validation/2026-11-09-flow-console.md +81 -0
- package/docs/validation/2026-11-10-jev-shadow.md +50 -0
- package/docs/validation/2026-11-10-task-discovery.md +45 -0
- package/docs/validation/2026-11-10-workbench-redesign.md +54 -0
- package/docs/validation/2026-11-11-release-0.30.2.md +65 -0
- package/docs/validation/2026-11-11-release-0.31.0.md +46 -0
- package/docs/validation/2026-11-12-dsh-0.2.2-rc.2.md +58 -0
- package/docs/validation/2026-11-12-feedback-driven-workflows.md +187 -0
- package/docs/validation/README.md +41 -0
- package/docs/validation/evidence/2026-11-08-session-p3-p4.json +5430 -0
- package/docs/validation/evidence/claude-node-bridges.txt +118 -0
- package/docs/validation/evidence/claude-npm-build.txt +15 -0
- package/docs/validation/evidence/claude-npm-candidate.json +54 -0
- package/docs/validation/evidence/claude-npm-install.txt +21 -0
- package/docs/validation/evidence/claude-npm-tests.txt +145 -0
- package/docs/validation/evidence/claude-plugin-tests.txt +205 -0
- package/docs/validation/evidence/claude-quality-gate.txt +29 -0
- package/docs/validation/evidence/claude-race.txt +7 -0
- package/docs/validation/evidence/codex-pro-070-probes.txt +4 -0
- package/docs/validation/evidence/dsh-bridge.txt +4 -0
- package/docs/validation/evidence/dsh-native-view-bridge-tests.txt +1 -0
- package/docs/validation/evidence/dsh-native-view-build.txt +15 -0
- package/docs/validation/evidence/dsh-native-view-candidate.json +54 -0
- package/docs/validation/evidence/dsh-native-view-inspect.txt +27 -0
- package/docs/validation/evidence/dsh-native-view-install-tests.txt +19 -0
- package/docs/validation/evidence/dsh-native-view-npm-tests.txt +143 -0
- package/docs/validation/evidence/dsh-native-view-plugin-tests.txt +99 -0
- package/docs/validation/evidence/dsh-native-view-quality-gate.txt +29 -0
- package/docs/validation/evidence/dsh-plugin-tests.txt +48 -0
- package/docs/validation/evidence/function-coverage.txt +378 -0
- package/docs/validation/evidence/npm-build.txt +13 -0
- package/docs/validation/evidence/npm-contract-tests.txt +65 -0
- package/docs/validation/evidence/npm-dsh-bridge.txt +18 -0
- package/docs/validation/evidence/npm-dsh-plugin-tests.txt +62 -0
- package/docs/validation/evidence/npm-function-coverage.txt +420 -0
- package/docs/validation/evidence/npm-install-tests.txt +20 -0
- package/docs/validation/evidence/npm-quality-gate.txt +29 -0
- package/docs/validation/evidence/npm-race.txt +7 -0
- package/docs/validation/evidence/pr-dsh-bridge.txt +4 -0
- package/docs/validation/evidence/pr-dsh-plugin-tests.txt +48 -0
- package/docs/validation/evidence/pr-function-coverage.txt +379 -0
- package/docs/validation/evidence/pr-quality-gate.txt +28 -0
- package/docs/validation/evidence/pr-race.txt +6 -0
- package/docs/validation/evidence/profiles-control-smoke.json +1 -0
- package/docs/validation/evidence/profiles-dsh-bridge.txt +18 -0
- package/docs/validation/evidence/profiles-dsh-plugin-tests.txt +59 -0
- package/docs/validation/evidence/profiles-function-coverage.txt +411 -0
- package/docs/validation/evidence/profiles-quality-gate.txt +29 -0
- package/docs/validation/evidence/profiles-race.txt +7 -0
- package/docs/validation/evidence/quality-gate.txt +28 -0
- package/docs/validation/evidence/race.txt +6 -0
- package/docs/validation/evidence/watchdog-startup-after.txt +2 -0
- package/docs/validation/evidence/watchdog-startup-before.txt +6 -0
- package/docs/validation/evidence/watchdog-startup-quality-gate.txt +29 -0
- package/docs/validation/evidence/watchdog-startup-race.txt +7 -0
- package/docs/{claude-code-pro.md → zh-CN/claude-code-pro.md} +23 -17
- package/docs/{configuration.md → zh-CN/configuration.md} +323 -137
- package/docs/zh-CN/contributing.md +240 -0
- package/docs/{flow-console.md → zh-CN/flow-console.md} +63 -12
- package/docs/zh-CN/getting-started.md +352 -0
- package/docs/zh-CN/investigation.md +182 -0
- package/docs/zh-CN/jev-shadow.md +79 -0
- package/docs/zh-CN/model-policy.md +123 -0
- package/docs/zh-CN/releasing.md +120 -0
- package/docs/{session-evaluation.md → zh-CN/session-evaluation.md} +4 -2
- package/docs/{session-recovery.md → zh-CN/session-recovery.md} +46 -10
- package/docs/zh-CN/workflow.md +270 -0
- package/npm/install.js +1 -1
- package/package.json +12 -25
- package/docs/getting-started.md +0 -418
- package/docs/model-policy.md +0 -65
- package/docs/workflow.md +0 -312
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
{
|
|
2
|
+
"source-base": "5d682291e39c46c4e5e7c275f3d195ffce7e5d6c",
|
|
3
|
+
"source-status": "uncommitted development changes",
|
|
4
|
+
"dataset-sha256": "4497748e1cfb52a3505245fe71bb2fcfab917928c7f3a695e781b34fba01f982",
|
|
5
|
+
"question-digest": "3461ea0ca14c34232fc3d0e41209f0ba32d280940f16838da1025a25327bcf60",
|
|
6
|
+
"policy-digest": "114f27f73e94e2e11119b18da42500878c1f9e2adcd3c15d2da0552ca8f171a2",
|
|
7
|
+
"actual-models": [
|
|
8
|
+
"jev-1.14.0"
|
|
9
|
+
],
|
|
10
|
+
"new-calls": 6,
|
|
11
|
+
"summary": {
|
|
12
|
+
"cases": 6,
|
|
13
|
+
"completed": 6,
|
|
14
|
+
"unknown": 0,
|
|
15
|
+
"not-run": 0,
|
|
16
|
+
"errors": 0,
|
|
17
|
+
"skipped": 0,
|
|
18
|
+
"quick-candidates": 0,
|
|
19
|
+
"full-candidates": 3,
|
|
20
|
+
"abstentions": 3,
|
|
21
|
+
"compared-with-baseline": 0,
|
|
22
|
+
"baseline-disagreements": 0,
|
|
23
|
+
"known-input-tokens": 7234,
|
|
24
|
+
"known-output-tokens": 900,
|
|
25
|
+
"unknown-input-calls": 0,
|
|
26
|
+
"unknown-output-calls": 0,
|
|
27
|
+
"p50-ms": 498,
|
|
28
|
+
"p95-ms": 1072,
|
|
29
|
+
"labels": {
|
|
30
|
+
"historical/provisional": {
|
|
31
|
+
"cases": 6,
|
|
32
|
+
"evaluated": 6,
|
|
33
|
+
"decided": 3,
|
|
34
|
+
"expected-quick": 3,
|
|
35
|
+
"expected-full": 3,
|
|
36
|
+
"quick-candidates": 0,
|
|
37
|
+
"agreed": 3,
|
|
38
|
+
"false-quick": 0,
|
|
39
|
+
"missed-quick": 3,
|
|
40
|
+
"false-quick-per-labelled-full": null,
|
|
41
|
+
"labelled-quick-coverage": null
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"production-calibrated": false
|
|
45
|
+
},
|
|
46
|
+
"cases": [
|
|
47
|
+
{
|
|
48
|
+
"id": "view-order",
|
|
49
|
+
"source": {
|
|
50
|
+
"kind": "historical",
|
|
51
|
+
"reference": "git:f6272907a5e9fdc891bec0394a593636a5bb8214"
|
|
52
|
+
},
|
|
53
|
+
"status": "ok",
|
|
54
|
+
"advice": "abstain",
|
|
55
|
+
"reason": "named_checks",
|
|
56
|
+
"duration-ms": 1072,
|
|
57
|
+
"probabilities": {
|
|
58
|
+
"access_change": 0.03,
|
|
59
|
+
"bounded_objective": 0.98,
|
|
60
|
+
"concurrency_change": 0.07,
|
|
61
|
+
"durable_data_change": 0.03,
|
|
62
|
+
"known_edit": 0.98,
|
|
63
|
+
"named_checks": 0.6,
|
|
64
|
+
"public_contract_change": 0.29,
|
|
65
|
+
"unresolved_design": 0.07
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"id": "install-guide",
|
|
70
|
+
"source": {
|
|
71
|
+
"kind": "historical",
|
|
72
|
+
"reference": "git:161a37ebec45a156344c3b8805e23b341ceea215"
|
|
73
|
+
},
|
|
74
|
+
"status": "ok",
|
|
75
|
+
"advice": "abstain",
|
|
76
|
+
"reason": "named_checks",
|
|
77
|
+
"duration-ms": 511,
|
|
78
|
+
"probabilities": {
|
|
79
|
+
"access_change": 0.01,
|
|
80
|
+
"bounded_objective": 0.98,
|
|
81
|
+
"concurrency_change": 0.01,
|
|
82
|
+
"durable_data_change": 0.01,
|
|
83
|
+
"known_edit": 0.93,
|
|
84
|
+
"named_checks": 0.56,
|
|
85
|
+
"public_contract_change": 0.02,
|
|
86
|
+
"unresolved_design": 0.05
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"id": "desktop-guide",
|
|
91
|
+
"source": {
|
|
92
|
+
"kind": "historical",
|
|
93
|
+
"reference": "git:5d682291e39c46c4e5e7c275f3d195ffce7e5d6c"
|
|
94
|
+
},
|
|
95
|
+
"status": "ok",
|
|
96
|
+
"advice": "abstain",
|
|
97
|
+
"reason": "known_edit",
|
|
98
|
+
"duration-ms": 357,
|
|
99
|
+
"probabilities": {
|
|
100
|
+
"access_change": 0.01,
|
|
101
|
+
"bounded_objective": 0.96,
|
|
102
|
+
"concurrency_change": 0.01,
|
|
103
|
+
"durable_data_change": 0.01,
|
|
104
|
+
"known_edit": 0.61,
|
|
105
|
+
"named_checks": 0.65,
|
|
106
|
+
"public_contract_change": 0.03,
|
|
107
|
+
"unresolved_design": 0.09
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"id": "role-sessions",
|
|
112
|
+
"source": {
|
|
113
|
+
"kind": "historical",
|
|
114
|
+
"reference": "git:93cb6b81dbe2242e620905d34b0c33560da6cc96"
|
|
115
|
+
},
|
|
116
|
+
"status": "ok",
|
|
117
|
+
"advice": "full",
|
|
118
|
+
"reason": "access_change",
|
|
119
|
+
"duration-ms": 446,
|
|
120
|
+
"probabilities": {
|
|
121
|
+
"access_change": 0.8,
|
|
122
|
+
"bounded_objective": 0.92,
|
|
123
|
+
"concurrency_change": 0.79,
|
|
124
|
+
"durable_data_change": 0.57,
|
|
125
|
+
"known_edit": 0.13,
|
|
126
|
+
"named_checks": 0.8,
|
|
127
|
+
"public_contract_change": 0.36,
|
|
128
|
+
"unresolved_design": 0.62
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"id": "lifecycle-recovery",
|
|
133
|
+
"source": {
|
|
134
|
+
"kind": "historical",
|
|
135
|
+
"reference": "git:26008e3e56f038f7b4729c6494b4b926d287f171"
|
|
136
|
+
},
|
|
137
|
+
"status": "ok",
|
|
138
|
+
"advice": "full",
|
|
139
|
+
"reason": "durable_data_change",
|
|
140
|
+
"duration-ms": 506,
|
|
141
|
+
"probabilities": {
|
|
142
|
+
"access_change": 0.13,
|
|
143
|
+
"bounded_objective": 0.91,
|
|
144
|
+
"concurrency_change": 0.89,
|
|
145
|
+
"durable_data_change": 0.87,
|
|
146
|
+
"known_edit": 0.13,
|
|
147
|
+
"named_checks": 0.36,
|
|
148
|
+
"public_contract_change": 0.7,
|
|
149
|
+
"unresolved_design": 0.75
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"id": "workflow-console",
|
|
154
|
+
"source": {
|
|
155
|
+
"kind": "historical",
|
|
156
|
+
"reference": "git:c24cb0e62042dfe3378bc9c06b0e6951159a7b25"
|
|
157
|
+
},
|
|
158
|
+
"status": "ok",
|
|
159
|
+
"advice": "full",
|
|
160
|
+
"reason": "concurrency_change",
|
|
161
|
+
"duration-ms": 490,
|
|
162
|
+
"probabilities": {
|
|
163
|
+
"access_change": 0.77,
|
|
164
|
+
"bounded_objective": 0.96,
|
|
165
|
+
"concurrency_change": 0.91,
|
|
166
|
+
"durable_data_change": 0.34,
|
|
167
|
+
"known_edit": 0.26,
|
|
168
|
+
"named_checks": 0.35,
|
|
169
|
+
"public_contract_change": 0.37,
|
|
170
|
+
"unresolved_design": 0.66
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
]
|
|
174
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# DSH 集成与可靠执行实施计划
|
|
2
|
+
|
|
3
|
+
## 已确认范围
|
|
4
|
+
|
|
5
|
+
- 基线:`ckanner/flywheel@0a464473f590e6717a88d7ea885290df7339c7a3`。
|
|
6
|
+
- Go 引擎拥有任务状态、契约、预算、worktree、验收和完成判定。
|
|
7
|
+
- DSH Mac 桌面负责入口、原生模型执行、控制和展示;不依赖尚未进入当前桌面包的 OAR/Forge。
|
|
8
|
+
- DeepSeek 仅 Flash;Kimi 直接 CLI,不使用 ACP;GPT 原生 DSH 和 Codex 是不同执行后端。
|
|
9
|
+
- Codex Pro adapter 的外部仓库由另一 session 处理。本轮提供消费契约,不在该仓库并行修改。
|
|
10
|
+
- 保留 100% statement 门禁。测试验证公共行为、真实 Git/进程与协议失败,不以 mock 内部调用刷覆盖率。
|
|
11
|
+
- 具名模型 profiles、复杂自动路由与大规模并行是后续增强;本轮修复已有配置未生效的问题。
|
|
12
|
+
|
|
13
|
+
## 工作顺序与验收
|
|
14
|
+
|
|
15
|
+
| 编号 | 任务 | 状态 | 验收依据 |
|
|
16
|
+
|---|---|---|---|
|
|
17
|
+
| F01 | 交付持久化检查与安全清理 | 已实现 | 真实 Git hook、index-only 篡改、合并失败、重试;交付未持久化不得完成,清理失败保留引用与错误 |
|
|
18
|
+
| F02 | 失败反馈传入下一次执行,Review 使用候选目录 | 已实现 | 驱动收到具体失败命令/原因;Review 读到候选文件 |
|
|
19
|
+
| F03 | 验收/评审证据绑定契约、tree 和检查配置 | 已实现 | 修改代码、契约、检查后恢复必须重验;旧证据保留审计但不可复用 |
|
|
20
|
+
| F04 | Gate 超时与进程清理语义 | 已实现 | 超时即失败,不能伪装为预期 exit;取消后无继续写入 |
|
|
21
|
+
| F05 | 分层测试权限和契约修订 | 已实现 | 普通单测/回归可编写;受保护验收不可越权;修订使证据失效 |
|
|
22
|
+
| F06 | Kimi CLI 当前契约与 thinking/session 配置 | 已实现 | 参数、cwd、明确 session、JSONL、取消、未知 usage、失败终态;不调用 ACP |
|
|
23
|
+
| F07 | DSH driver 与桌面插件 | 已实现 | 真实宿主 API 边界,模型/权限/cwd/结果显式传递;控制面只通过引擎操作状态 |
|
|
24
|
+
| F08 | 新默认模型路由、能力检查和用量记录 | 已实现 | Flash-only 默认;不支持 adapter/能力明确失败;unknown 不等于 0 |
|
|
25
|
+
| F09 | 文档、完整门禁与集成演练 | 已完成离线验收 | `make quality-gate`,构建,插件测试,模拟完整交付/取消/恢复;列明需用户 Mac live 验证项 |
|
|
26
|
+
|
|
27
|
+
## 关键不变量
|
|
28
|
+
|
|
29
|
+
1. `completed` 对应的最终 Git tree 必须是通过检查和评审的候选 tree。
|
|
30
|
+
2. 提交失败、无法持久化、合并失败不能完成;若代码已确认保存和合并,仅清理失败可记录 completed,但必须保留工作区引用、cleanup-error 与恢复线索。
|
|
31
|
+
3. 只有当前 Spec/packet/检查配置/候选 tree 的证据可以用于推进状态。
|
|
32
|
+
4. 实现者的自报不代替确定性验收;评审独立会话且不得修改候选产物。
|
|
33
|
+
5. 取消与超时管理本次拥有的进程组,不影响其他任务;已观测到的清理错误不得当成交付成功。stop 的 stopped 表示引擎生命周期结束,不等同于任意逃逸进程均已清理。
|
|
34
|
+
6. 新模型/工具配置必须实际生效;不支持的参数与未知用量明确呈现。
|
|
35
|
+
7. 契约、运行状态和预算由引擎维护;插件不直接编辑 state.json。
|
|
36
|
+
|
|
37
|
+
## 验证边界
|
|
38
|
+
|
|
39
|
+
离线测试不调用付费模型。目标版本通过文档/源码核对与模拟协议验证;真实模型、订阅账号、用户 Mac 桌面安装和视觉操作另记为 live 验证,不用离线通过冒充。
|
|
40
|
+
|
|
41
|
+
## 后续增强
|
|
42
|
+
|
|
43
|
+
在现有 `loops/routes/channels` 上增加具名 profile 引用;清楚区分 provider、model、channel、harness;保持旧配置兼容。该项不阻塞本轮可靠性与 DSH/Kimi 接入。
|
|
44
|
+
|
|
45
|
+
## 实现过程中确认的边界
|
|
46
|
+
|
|
47
|
+
- 规划只直接改任务目录内 Spec/packet。目录外验收 oracle 和运行配置的改动会保留文件并停止自动提交;它们需要显式修订任务。
|
|
48
|
+
- 契约集合变化同步所有保留候选工作区;相邻 packet 的修订也不能留下旧副本。已关闭里程碑被重开后会重新访问,每次 run 同一里程碑最多访问三次。
|
|
49
|
+
- Git 提交 hook 不能使已加载契约、已测试候选和实际保存的 tree 脱节;提交后仍须核验。
|
|
50
|
+
- 历史已跟踪 done-report 在工作区收集后恢复调用前版本;只有原来未跟踪的临时报告被删除。
|
|
51
|
+
- 从任务子目录启动 CLI 时,执行根规范化为 Git 仓库根;手动重执行完成单元会重新打开里程碑。
|
|
52
|
+
- 非 Git 目录可用于部分步骤演练,但不能报告完成的 Git 交付。
|
|
53
|
+
- 未发布版本不覆盖现有配置。采用新的 Flash/Kimi/GPT 默认表需要用户比较并迁移配置。
|
|
54
|
+
|
|
55
|
+
## 最终验证记录
|
|
56
|
+
|
|
57
|
+
完整质量门禁、覆盖率、race、插件和跨进程链路结果见 [2026-11-01 验证记录](../validation/2026-11-01-results.md)。Mac 的 arm64 / amd64 已交叉编译;尚未代替用户完成实机安装、Seatbelt 与真实模型验收。Codex Pro adapter 的独立后续任务见 [交接上下文](../archive/codex-pro-adapter-handoff.md)。
|
|
58
|
+
|
|
59
|
+
## 发布前复核与远端流程
|
|
60
|
+
|
|
61
|
+
用户已明确授权提交、推送、创建 PR、自审、等待 CI 与必需检查通过后合并。该授权属于本轮仓库交付,不改变 Flywheel 引擎本身不自动管理远端 PR 的职责。PR/合并/Actions 的实际结果以远端记录为准;本地测试不能替代这些结果。
|
|
62
|
+
|
|
63
|
+
复核补充了从子目录发现项目配置、Git 执行位/链接类型持久化、验收输出截断,以及 macOS 临时目录符号链接行为的检查。README、全部内嵌 skills、CHANGELOG 和 [Mac 入门教程](../zh-CN/getting-started.md) 同步到实际接口;默认后台启动使用 control 协议,单环文档明确 Execute 包含 L1、Review 单步不自动跨环。CI 将 Go、插件、跨进程与对应平台构建纳入远端验证。首轮覆盖率记录是历史快照,发布前完整复验由对应证据与 PR 记录确认。
|
|
64
|
+
|
|
65
|
+
## 提交与 PR 阶段
|
|
66
|
+
|
|
67
|
+
用户已明确授权提交、推送、创建 PR、自审,并在 CI 通过后合并。本地发布前复核和完整门禁已通过,具体修复与新证据见验证记录第 6 节。远端分支为 `feat/dsh-reliable-execution`;提交后以 PR 的实际检查和合并状态为准。没有创建版本标签或发布 npm 包,安装使用当前源码或该提交的 Actions 开发产物。
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# 模型配置与安装预检实施计划
|
|
2
|
+
|
|
3
|
+
基线:已合并的 `1c515ca0c694047d1f6c7d7c3d52853cc9bf9c2d`。用户要求继续完整实现,并沿用提交、PR、自审、双平台 CI 通过后合并的交付流程。
|
|
4
|
+
|
|
5
|
+
## 本轮目标
|
|
6
|
+
|
|
7
|
+
| 编号 | 工作 | 验收 |
|
|
8
|
+
|---|---|---|
|
|
9
|
+
| P01 | 具名 profiles 与阶段引用 | 加载期展开、显式覆盖、错误前置、旧配置兼容、逐函数 100% |
|
|
10
|
+
| P02 | provider 与账号 channel 分离 | 各角色、执行路由、第二意见与后备渠道都传达实际 provider,计量保留两个维度 |
|
|
11
|
+
| P03 | config inspect 与 doctor | 相同配置发现逻辑,只读、不推理;缺命令/错配置/SDK权限失败可解释,未知授权不伪造成功 |
|
|
12
|
+
| P04 | DSH 配置与诊断界面 | 展示模型与检查清单;准确区分完成/停止/暂停,旧路径结果不混用;真实 React DOM 行为测试 |
|
|
13
|
+
| P05 | 文档、skills 与发布 | 安装教程、配置示例、交接文档和验证记录同步;Go、Node、跨进程、race、Linux/macOS CI 全部通过 |
|
|
14
|
+
|
|
15
|
+
## 接口约定
|
|
16
|
+
|
|
17
|
+
profiles 是配置引用层,不负责模型自动选型、继承树或并行调度。provider 表示 DSH adapter,channel 表示凭证/计费渠道,实际执行字段必须贯穿到 driver。Kimi 保持原生 CLI;DeepSeek 默认仅 Flash;Codex CLI 保留独立完整 harness。
|
|
18
|
+
|
|
19
|
+
config inspect 与 doctor 可在创建任务前运行;传入任务时按实际任务检查必需阶段与路由。无推理 probe 只确认 adapter 接受配置、cwd、权限和 SDK 收尾,不能代替账号与真实模型验收。
|
|
20
|
+
|
|
21
|
+
桌面仍只调用 Go 的 control 协议。config/doctor 可省 taskDir;doctor 允许 probe 布尔选项。诊断失败仍返回完整结构;协议或进程错误单独处理。普通状态展示不等同于任务运行状态机。
|
|
22
|
+
|
|
23
|
+
## 外部 Codex Pro adapter
|
|
24
|
+
|
|
25
|
+
只读核对 `ckanner/dsh-subagent-codex-pro@21fd7acccf1f5989b14fecdc1957559eea6914f8`(0.7.0)。其本轮加固已有进展,但公开 provider 的有效配置、完整结果、清理确认及进程组所有权仍不足以满足本引擎契约。实际 rc.5 SDK 也没有直接 external-subagent RPC。保持外仓独立,将固定版本缺口及复现更新到交接文档,不通过嵌套父模型或未公开 deep import 假装完成集成。
|
|
26
|
+
|
|
27
|
+
## 验证边界
|
|
28
|
+
|
|
29
|
+
默认验收仅使用离线协议桩、真实本地进程、Git 与 DOM。真实 Mac DSH 安装、Seatbelt、账号和推理须在用户设备验证。源代码、配置与界面实现完成不能替代这些证据。
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# npm 一条命令安装与交付计划
|
|
2
|
+
|
|
3
|
+
基线:`39638bd96e6fcb6cc681bc7c1f90b7b082620936`。用户要求 npm 安装 CLI、DSH 入口和 Agent skills,并复核新 Codex Pro adapter 与完整测试边界。
|
|
4
|
+
|
|
5
|
+
| 编号 | 工作 | 验收 |
|
|
6
|
+
|---|---|---|
|
|
7
|
+
| N01 | 核对 Codex Pro 最新 GitHub/npm | 固定实际可见 SHA,运行其离线测试与契约探针;未满足公开契约不冒充已接入 |
|
|
8
|
+
| N02 | npm 一条命令安装入口 | 精确版本全局安装、内嵌 skills、正式 DSH CLI 注册、可重复执行、结构化结果 |
|
|
9
|
+
| N03 | npm 运行进程与桌面路径 | shim 转发信号并等待 Go 收尾;worker 与桌面入口按安装路径解析 |
|
|
10
|
+
| N04 | skills 安全升级 | 用户修改与额外文件保留,staging/rename/rollback,全部结果可查询 |
|
|
11
|
+
| N05 | 六包构建与发行 | 四个平台包、插件与 meta 同版本;候选身份、integrity、版本存在与网络错误明确区分 |
|
|
12
|
+
| N06 | 真实安装验收 | 隔离 HOME/prefix/cache,从 npm 候选安装后运行 CLI/worker/skills/注册/取消;Linux/macOS |
|
|
13
|
+
| N07 | 文档与正式交付 | npm 主教程、使用与排错、验证证据更新;提交/PR/review/CI/merge;新版本 registry 安装验证 |
|
|
14
|
+
|
|
15
|
+
参考官方 `larksuite/cli@c910e89e97e98a458a051c50dbd36de43a603d30` 的显式 install 向导,保留本项目既有 npm 平台包与内嵌资源设计。安装不执行付费推理,不读取或迁移账号凭据,不修改用户其他插件。
|
|
16
|
+
|
|
17
|
+
实施后的本地结果见 [npm 验证记录](../validation/2026-11-01-npm-installation.md);双平台 CI、合并与公开 registry 安装以 PR 和发行 workflow 的实际结果为准。
|
|
18
|
+
|
|
19
|
+
测试边界:已有 100% Go statement coverage、Node/DOM、真实本地进程与 Git、模拟 SDK 桥接、双平台 CI 已执行;此前没有验证 npm 安装后的整个调用链。真实 DSH Mac UI、Seatbelt、账号授权与真实模型任务仍需在用户设备确认,不由离线成功推断。
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Codex Pro 默认接入实施计划
|
|
2
|
+
|
|
3
|
+
## 目标与边界
|
|
4
|
+
|
|
5
|
+
以 Flywheel `cb7d996` / npm 0.27.3 和已发布的 `dsh-subagent-codex-pro@0.8.0` 为基线。默认 hard 路由实际消费插件公开 machine API;保留 DeepSeek Flash 默认执行、Kimi CLI 规划/前端及 DSH 原生评审路径。Go 继续独占状态、预算、工作区、验收与 Git 提交。此次不引入 DSH 父模型、Teams、ACP 或自动跨渠道降级。
|
|
6
|
+
|
|
7
|
+
## 实施顺序
|
|
8
|
+
|
|
9
|
+
1. 新增 `codex-pro` Go driver 与独立 Node worker。协商版本化请求/进度/终态协议,严格校验插件回执,保留完整审计数据与 unknown usage/cost。
|
|
10
|
+
2. npm 精确安装插件 0.8.0,提供公开 worker 入口,验证 Node 解析、GUI 安装记录、hoisted dependency 和六包候选。新默认与旧显式 `codex` 配置可区分,绝不静默替换用户配置。
|
|
11
|
+
3. 扩展配置加载、有效配置查看、无推理 doctor 和模块只读权限。配置错误、入口缺失、版本不符在模型执行前失败。
|
|
12
|
+
4. 更新中文设计、README、安装/迁移教程、协议、技能按钮及版本;记录真实完成证据和实机边界。
|
|
13
|
+
5. 完成逐函数 100% Go 门禁、Node 行为测试、Go→Node→已发布插件离线桥接、取消/进程清理、六包真实安装及发行协议检查。
|
|
14
|
+
6. 提交 PR,独立复核当前候选,收集 Linux/macOS CI 与 race 证据。本次交付保持 PR 开放供审阅;合并与发布须另有明确授权并满足门禁。后续发行沿用既有 OIDC 流水线,构建、验证并发布同一候选,再确认 registry 六包及安装结果。
|
|
15
|
+
|
|
16
|
+
## 验收重点
|
|
17
|
+
|
|
18
|
+
- 配置 `routes.hard.harness` 为 `codex-pro`,插件依赖缺失不能回退到旧 CLI。
|
|
19
|
+
- machine API 使用请求模型/effort/cwd/只读或工作区写入;effort accepted 不伪装成实际有效值。
|
|
20
|
+
- 只在外层 worker 与插件终态都可信时成功;启动超时、父进程退出、取消、截断和清理失败均有失败证据。
|
|
21
|
+
- 记录插件完整 receipt;只有 complete usage 才记为已知预算,美元费用未知保持 null。
|
|
22
|
+
- 安装入口仍为一条 npm 命令,升级保留用户修改的 config 和 skills;受管 worker 使用同版本包解析。
|
|
23
|
+
- doctor 不发送模型请求;离线协议/安装证明与真实 Mac、Seatbelt、授权和模型推理证明分开记录。
|
|
24
|
+
- 0.8.0 对完整 sandboxPolicy 的校验只能是结果返回后的交付资格检查;Codex 用户/项目配置扩权的预防需要上游公开 pre-turn guard,不能把此集成宣传为该能力已经具备。
|
|
25
|
+
|
|
26
|
+
## 本机运行条件
|
|
27
|
+
|
|
28
|
+
Node 最低版本须满足上游插件 `>=22.18.0`。DSH 使用已安装的官方桌面/CLI 入口;Codex Pro 内部仍需可执行的 Codex 与用户登录。依赖安装不代替这些宿主条件,也不复制或打印凭证。
|