dsh-embedded-workbench 0.9.2 → 0.9.4
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.en-US.md +6 -3
- package/README.md +7 -4
- package/package.json +11 -9
- package/skills/embedded-workbench/SKILL.md +11 -10
- package/skills/embedded-workbench/references/platform-tool-mapping.md +1 -1
- package/skills/embedded-workbench/references/proactive-suggestions.md +1 -1
- package/skills/fact-check/SKILL.md +4 -3
- package/skills/state-machine-design/SKILL.md +2 -0
package/README.en-US.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
[](https://github.com/hashgraph-online/hol-guard)
|
|
6
6
|
|
|
7
|
-
Embedded C/C++ firmware toolbox:
|
|
7
|
+
Embedded C/C++ firmware toolbox: covering FreeRTOS, ISR, NVM storage, Keil MDK (AC5/AC6), ARMCLANG, HardFault triage, state machines, architecture principles, and LVGL patterns.
|
|
8
8
|
|
|
9
9
|
**Cross-platform**: works with Claude Code, Codex CLI, Cursor, Kimi CLI, OpenCode, ZCode, and DeepSeek Harness (dsh). Built on the [Agent Skills](https://agentskills.io) open standard.
|
|
10
10
|
|
|
@@ -208,8 +208,8 @@ Skills are invoked with `$skill-name`. ZCode also auto-discovers from `.claude/s
|
|
|
208
208
|
## Requirements
|
|
209
209
|
|
|
210
210
|
- Host: Claude Code v2.1+ / Codex CLI latest / Cursor 2.5+ / Kimi CLI latest / OpenCode latest / ZCode 3.0+
|
|
211
|
-
- DeepSeek Harness (dsh): dev preview, declared support for `>= 0.1.0-rc.7`. The latest round measured install, mount, boot and uninstall on 0.2.1-
|
|
212
|
-
- The Web Plugins-page "Gate injection" switch requires **dsh ≥ 0.1.7-alpha.1**, because its settings service must be able to project live fields. On older dsh the plugin and its
|
|
211
|
+
- DeepSeek Harness (dsh): dev preview, declared support for `>= 0.1.0-rc.7`. The latest round measured install, mount, boot, gate injection and uninstall on 0.2.1-rc.2 and 0.2.1-rc.1. The earlier round measured 0.1.5-rc.2 through 0.2.0-rc.2. Per-release evidence is in [DSH-COMPATIBILITY.md](DSH-COMPATIBILITY.md).
|
|
212
|
+
- The Web Plugins-page "Gate injection" switch requires **dsh ≥ 0.1.7-alpha.1**, because its settings service must be able to project live fields. On older dsh the plugin and its skills still load and still inject. The switch is simply absent, with no error.
|
|
213
213
|
- No external dependencies.
|
|
214
214
|
|
|
215
215
|
## Configuration
|
|
@@ -280,9 +280,12 @@ To report a security vulnerability, do **not** open a public issue. Use the priv
|
|
|
280
280
|
|
|
281
281
|
| Plugin | Description |
|
|
282
282
|
|--------|-------------|
|
|
283
|
+
| [dsh-model-everything](https://github.com/AmethystLuna/dsh-model-everything) | Design and code modelling plus automated review, by the same author: UML diagrams rendered, read and reviewed; state-machine and protocol verification; data-model and migration checks; concurrency claim routing; dependency-graph review; design review; export to external checkers; report diffing. Install with `dsh plugin --profile <name> add dsh-model-everything` ([npm](https://www.npmjs.com/package/dsh-model-everything)). |
|
|
283
284
|
| [logicprobe](https://github.com/AmethystLuna/logicprobe) | Claim-verification skill: checks every verifiable claim in design docs, architecture specs, and refactoring plans against the codebase, and escalates behavioral claims to executable-model verification. It was split out of this plugin. The Plan Verification Gate prefers it, and falls back to the built-in `fact-check` skill when it is not installed. Install with `claude plugin install logicprobe@logicprobe`, or on dsh with `dsh plugin --profile <name> add dsh-logicprobe`. |
|
|
284
285
|
| [superpowers](https://github.com/obra/superpowers) | The original agent discipline engine: skill loading enforcement, Red Flags, subagent-driven development. Many of this plugin's agent-compliance patterns (1% Rule, Red Flags, `<SUBAGENT-STOP>`, instruction priority) were adapted from Superpowers. |
|
|
285
286
|
|
|
287
|
+
dsh-model-everything covers modelling and automated review of designs and code. It does not replace this plugin. This plugin remains the embedded C/C++ firmware workbench: its firmware skills, agent roles and the Plan Verification Gate stay here.
|
|
288
|
+
|
|
286
289
|
## Acknowledgments
|
|
287
290
|
|
|
288
291
|
This plugin's agent-compliance architecture is adapted from [Superpowers](https://github.com/obra/superpowers) by Jesse Vincent (MIT License). These patterns were especially influential:
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
<p align="center"><a href="README.en-US.md">English</a> · <strong>中文</strong></p>
|
|
4
4
|
|
|
5
|
-
嵌入式 C/C++
|
|
5
|
+
嵌入式 C/C++ 固件开发工具箱:覆盖 FreeRTOS、中断、NVM 存储、Keil MDK(AC5/AC6)、ARMCLANG、HardFault 分析、状态机、架构原则与 LVGL 陷阱。
|
|
6
6
|
|
|
7
7
|
**跨平台**:支持 Claude Code、Codex CLI、Cursor、Kimi CLI、OpenCode、ZCode、DeepSeek Harness (dsh)。基于 [Agent Skills](https://agentskills.io) 开放标准构建。
|
|
8
8
|
|
|
@@ -206,8 +206,8 @@ cp -r embedded-workbench/skills/* .zcode/skills/
|
|
|
206
206
|
## 依赖
|
|
207
207
|
|
|
208
208
|
- 宿主:Claude Code v2.1+ / Codex CLI 最新版 / Cursor 2.5+ / Kimi CLI 最新版 / OpenCode 最新版 / ZCode 3.0+
|
|
209
|
-
- DeepSeek Harness (dsh):dev preview,声明支持 `>= 0.1.0-rc.7`。最新一轮在 0.2.1-
|
|
210
|
-
- Web 端的「Gate 注入」开关需要 **dsh ≥ 0.1.7-alpha.1**,因为设置服务必须能投影即时字段。更早的 dsh
|
|
209
|
+
- DeepSeek Harness (dsh):dev preview,声明支持 `>= 0.1.0-rc.7`。最新一轮在 0.2.1-rc.2 与 0.2.1-rc.1 上实测了安装、挂载、启动、门禁注入与卸载;更早一轮实测覆盖 0.1.5-rc.2 到 0.2.0-rc.2。逐版本证据见 [DSH-COMPATIBILITY.md](DSH-COMPATIBILITY.md)。
|
|
210
|
+
- Web 端的「Gate 注入」开关需要 **dsh ≥ 0.1.7-alpha.1**,因为设置服务必须能投影即时字段。更早的 dsh 上插件与技能照常加载、照常注入,只是开关不出现,也不报错。
|
|
211
211
|
- 无外部依赖。
|
|
212
212
|
|
|
213
213
|
## 配置
|
|
@@ -219,7 +219,7 @@ cp -r embedded-workbench/skills/* .zcode/skills/
|
|
|
219
219
|
| `enabled` | boolean | `true` | 设为 `false` 可完全关闭首步 Gate 注入;技能注册不受影响。 |
|
|
220
220
|
| `gateContent` | string | 内置 gate 文本 | 覆盖注入到首轮模型上下文中的文本。 |
|
|
221
221
|
|
|
222
|
-
在 dsh Web GUI 里可以直接改这个开关:侧边栏 **插件** → 本插件卡片 → 「Gate 注入」。它实时生效,不必重启 profile
|
|
222
|
+
在 dsh Web GUI 里可以直接改这个开关:侧边栏 **插件** → 本插件卡片 → 「Gate 注入」。它实时生效,不必重启 profile。它只管注入的那段文本:关掉后技能照常注册。同一张卡片上还有一个更粗粒度的行开关,关掉它会整行卸载插件,技能和这个开关一起消失。要持久化覆盖,仍按下面的 profile patch 写。
|
|
223
223
|
|
|
224
224
|
在 profile 的 `cordis.patch.yml` 中按 row id 覆盖(下面的例子自定义 Gate 文本):
|
|
225
225
|
|
|
@@ -278,9 +278,12 @@ bash tests/skill-triggering/run-all.sh
|
|
|
278
278
|
|
|
279
279
|
| 插件 | 简介 |
|
|
280
280
|
|------|------|
|
|
281
|
+
| [dsh-model-everything](https://github.com/AmethystLuna/dsh-model-everything) | 同一作者的设计与代码建模、自动审查插件:UML 图渲染、读取与审查,状态机与协议验证,数据模型与迁移检查,并发声称分流,依赖图审查,设计审查,导出到外部验证器,报告对比。安装:`dsh plugin --profile <name> add dsh-model-everything`([npm](https://www.npmjs.com/package/dsh-model-everything))。 |
|
|
281
282
|
| [logicprobe](https://github.com/AmethystLuna/logicprobe) | 声称核查技能:逐条核验设计文档、架构规格、重构计划中的可验证声称与代码库是否一致,行为类声称升级为可执行模型验证。它自本插件拆分而来。Plan Verification Gate 优先使用它,未安装时回退到内置 `fact-check` 技能。安装:Claude 侧 `claude plugin install logicprobe@logicprobe`;dsh 侧 `dsh plugin --profile <name> add dsh-logicprobe`。 |
|
|
282
283
|
| [superpowers](https://github.com/obra/superpowers) | 原始 agent 纪律引擎:技能加载强制、Red Flags、子代理驱动开发。本插件的多项 agent 合规模式(1% Rule、Red Flags、`<SUBAGENT-STOP>`、指令优先级)均借鉴自 Superpowers。 |
|
|
283
284
|
|
|
285
|
+
dsh-model-everything 覆盖设计与代码的建模和审查,不替代本插件。本插件仍是嵌入式 C/C++ 固件工作台:嵌入式技能、agent 角色与 Plan Verification Gate 都还在这里。
|
|
286
|
+
|
|
284
287
|
## 致谢
|
|
285
288
|
|
|
286
289
|
本插件的 agent 合规架构借鉴自 Jesse Vincent 的 [Superpowers](https://github.com/obra/superpowers)(MIT License)。以下设计模式尤其有启发:
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-embedded-workbench",
|
|
3
|
-
"version": "0.9.
|
|
4
|
-
"description": "Embedded C/C++ firmware development toolbox —
|
|
3
|
+
"version": "0.9.4",
|
|
4
|
+
"description": "Embedded C/C++ firmware development toolbox — FreeRTOS, ISR, NVM storage, Keil MDK, ARMCLANG, HardFault, state machines, architecture, LVGL patterns, and claim fact-checking. Ships a native DeepSeek Harness (dsh) bundle that folds a short gate — the Plan Verification Gate plus a context-budget rule — into the first model step.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"types": "lib/types/index.d.ts",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
]
|
|
44
44
|
},
|
|
45
45
|
"compatibility": {
|
|
46
|
-
"dsh": "^0.1.0-rc.7 || ^0.1.1-rc.1 || ^0.1.2-alpha.2 || ^0.1.2-alpha.3 || ^0.1.2-alpha.4 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.3-alpha.1 || ^0.1.3-alpha.2 || ^0.1.5-alpha.1 || ^0.1.5-rc.1 || ^0.1.5-alpha.2 || ^0.1.5-rc.2 || ^0.1.5-rc.3 || ^0.1.6-alpha.1 || ^0.1.6-alpha.2 || ^0.1.7-alpha.1 || ^0.1.7-alpha.2 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.1-alpha.1 || ^0.2.1-alpha.2",
|
|
46
|
+
"dsh": "^0.1.0-rc.7 || ^0.1.1-rc.1 || ^0.1.2-alpha.2 || ^0.1.2-alpha.3 || ^0.1.2-alpha.4 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.3-alpha.1 || ^0.1.3-alpha.2 || ^0.1.5-alpha.1 || ^0.1.5-rc.1 || ^0.1.5-alpha.2 || ^0.1.5-rc.2 || ^0.1.5-rc.3 || ^0.1.6-alpha.1 || ^0.1.6-alpha.2 || ^0.1.7-alpha.1 || ^0.1.7-alpha.2 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.1-alpha.1 || ^0.2.1-alpha.2 || ^0.2.1-rc.2",
|
|
47
47
|
"dshReleases": {
|
|
48
48
|
"0.1.0-rc.7": "compatible",
|
|
49
49
|
"0.1.0-rc.8": "compatible",
|
|
@@ -70,7 +70,9 @@
|
|
|
70
70
|
"0.2.0-rc.1": "compatible",
|
|
71
71
|
"0.2.0-rc.2": "compatible",
|
|
72
72
|
"0.2.1-alpha.1": "compatible",
|
|
73
|
-
"0.2.1-alpha.2": "compatible"
|
|
73
|
+
"0.2.1-alpha.2": "compatible",
|
|
74
|
+
"0.2.1-rc.1": "compatible",
|
|
75
|
+
"0.2.1-rc.2": "compatible"
|
|
74
76
|
},
|
|
75
77
|
"profiles": [
|
|
76
78
|
"headless",
|
|
@@ -85,10 +87,10 @@
|
|
|
85
87
|
},
|
|
86
88
|
"peerDependencies": {
|
|
87
89
|
"@deepseek-ai/cordis": "^4.0.4",
|
|
88
|
-
"@deepseek-ai/dsh-agent": "^0.1.0-rc.6 || ^0.2.0-rc.1 || ^0.2.1-alpha.1 || ^0.2.1-alpha.2",
|
|
89
|
-
"@deepseek-ai/dsh-llm": "^0.1.0-rc.6 || ^0.2.0-rc.1 || ^0.2.1-alpha.1 || ^0.2.1-alpha.2",
|
|
90
|
-
"@deepseek-ai/dsh-session": "^0.1.0-rc.6 || ^0.2.0-rc.1 || ^0.2.1-alpha.1 || ^0.2.1-alpha.2",
|
|
91
|
-
"@deepseek-ai/dsh-skill-filesystem": "^0.1.0-rc.8 || ^0.2.0-rc.1 || ^0.2.1-alpha.1 || ^0.2.1-alpha.2",
|
|
90
|
+
"@deepseek-ai/dsh-agent": "^0.1.0-rc.6 || ^0.2.0-rc.1 || ^0.2.1-alpha.1 || ^0.2.1-alpha.2 || ^0.2.1-rc.2",
|
|
91
|
+
"@deepseek-ai/dsh-llm": "^0.1.0-rc.6 || ^0.2.0-rc.1 || ^0.2.1-alpha.1 || ^0.2.1-alpha.2 || ^0.2.1-rc.2",
|
|
92
|
+
"@deepseek-ai/dsh-session": "^0.1.0-rc.6 || ^0.2.0-rc.1 || ^0.2.1-alpha.1 || ^0.2.1-alpha.2 || ^0.2.1-rc.2",
|
|
93
|
+
"@deepseek-ai/dsh-skill-filesystem": "^0.1.0-rc.8 || ^0.2.0-rc.1 || ^0.2.1-alpha.1 || ^0.2.1-alpha.2 || ^0.2.1-rc.2",
|
|
92
94
|
"@deepseek-ai/schemastery": "^3.18.4"
|
|
93
95
|
},
|
|
94
96
|
"devDependencies": {
|
|
@@ -102,7 +104,7 @@
|
|
|
102
104
|
"@deepseek-ai/dsh-skill": "^0.2.0-rc.2",
|
|
103
105
|
"@deepseek-ai/dsh-skill-filesystem": "^0.2.0-rc.2",
|
|
104
106
|
"@deepseek-ai/schemastery": "^3.18.4",
|
|
105
|
-
"@types/node": "^26.6.
|
|
107
|
+
"@types/node": "^26.6.5",
|
|
106
108
|
"typescript": "^7.0.2"
|
|
107
109
|
},
|
|
108
110
|
"author": {
|
|
@@ -36,9 +36,9 @@ If you catch yourself thinking any of these, STOP — you are rationalizing:
|
|
|
36
36
|
| "The worker can figure out the details" | The worker has NO context from previous calls. A vague plan = the worker guessing. |
|
|
37
37
|
| "I'll review it myself, no need for quality-coordinator" | Self-review is enough for a bounded, reversible edit. A second pass earns its cost when the blast radius is unclear or the change is hard to undo. |
|
|
38
38
|
| "This change is too small for a Detailed Change Plan" | Bounded, reversible, single-site edits do not need the ceremony. Crossing a module boundary, a public interface, or a non-obvious failure mode does. Name the invariants either way. |
|
|
39
|
-
| "I've explored enough, time to exit plan mode" | ExitPlanMode is the verification gate. Have you loaded `Skill("
|
|
40
|
-
| "This plan is too simple for
|
|
41
|
-
| "I already read the code, I know the file paths and API names are correct" | Organic verification leaves no audit trail. Load `Skill("logicprobe")` or the fallback `Skill("fact-check")`, verify each claim, append the `## Plan Verification` block. |
|
|
39
|
+
| "I've explored enough, time to exit plan mode" | ExitPlanMode is the verification gate. Have you loaded `Skill("model-everything")` (or `Skill("logicprobe")` if only the older plugin is installed), or the built-in fallback `Skill("fact-check")` when neither is? Every plan — simple or complex — must pass this gate before exit. |
|
|
40
|
+
| "This plan is too simple for the verification skill" | `model-everything` (and `logicprobe` before it) auto-classifies depth (LIGHTWEIGHT/STANDARD/ESCALATED); the fallback fact-check verifies every claim regardless. You don't decide whether verification is needed. |
|
|
41
|
+
| "I already read the code, I know the file paths and API names are correct" | Organic verification leaves no audit trail. Load `Skill("model-everything")` (or `Skill("logicprobe")` if only the older plugin is installed), or the fallback `Skill("fact-check")`, verify each claim, append the `## Plan Verification` block. |
|
|
42
42
|
|
|
43
43
|
---
|
|
44
44
|
|
|
@@ -84,7 +84,7 @@ Sub-agents are **optional equipment, not mandatory stages** — dispatch one whe
|
|
|
84
84
|
|
|
85
85
|
Plan the change, make it, verify it. Self-review is sufficient for a bounded, reversible edit.
|
|
86
86
|
|
|
87
|
-
If the plan rests on claims about the codebase (API names, file paths, enum values, counts), verify those claims before implementing — inline for a small change, or with `logicprobe` / the built-in `fact-check` skill. Escalate to Full when the change turns out to cross a boundary, or when two revisions fail to converge.
|
|
87
|
+
If the plan rests on claims about the codebase (API names, file paths, enum values, counts), verify those claims before implementing — inline for a small change, or with `model-everything` (or `logicprobe` if only the older plugin is installed) / the built-in `fact-check` skill. Escalate to Full when the change turns out to cross a boundary, or when two revisions fail to converge.
|
|
88
88
|
|
|
89
89
|
### Full — cross-module, new interfaces, state-ownership changes
|
|
90
90
|
|
|
@@ -113,12 +113,12 @@ Claude Code's built-in `EnterPlanMode` / `ExitPlanMode` maps to the **plan phase
|
|
|
113
113
|
|
|
114
114
|
### Plan Verification Gate
|
|
115
115
|
|
|
116
|
-
> **⚠️
|
|
116
|
+
> **⚠️ The verification skill ships in another plugin.** It started in `logicprobe` (v0.6.0, <https://github.com/AmethystLuna/logicprobe>) and that plugin continues as [`dsh-model-everything`](https://github.com/AmethystLuna/dsh-model-everything), which is the superset: the same claim verification plus diagram review, data-model checks, a concurrency claim family and export to external checkers. Load `Skill("model-everything")` when `dsh-model-everything` is installed, `Skill("logicprobe")` when only the older plugin is, and the built-in `Skill("fact-check")` when neither is — behavioral and model claims then degrade to manual confirmation.
|
|
117
117
|
|
|
118
118
|
**Before calling `ExitPlanMode`**, exactly one of the following must happen:
|
|
119
119
|
|
|
120
|
-
1. **Load `Skill("
|
|
121
|
-
2. **Load `Skill("fact-check")`** (built-in fallback, only when
|
|
120
|
+
1. **Load the verification skill** — `Skill("model-everything")` when `dsh-model-everything` is installed (the successor of `logicprobe`), otherwise `Skill("logicprobe")` if the older plugin is installed. It classifies depth (LIGHTWEIGHT / STANDARD / ESCALATED), runs the verification including executable model checks, and appends a `## Plan Verification` summary block to the plan.
|
|
121
|
+
2. **Load `Skill("fact-check")`** (built-in fallback, only when neither plugin is installed) — verifies every verifiable claim against the codebase with evidence, appends a `## Plan Verification` block marked `fact-check (fallback)`, and tells the user that state-machine/behavioral claims degrade to manual confirmation.
|
|
122
122
|
3. **Inform the user** — if you load neither, say: *"此计划未经核查。是否需要我在审批前运行事实核查?(This plan has not been fact-verified. Would you like me to run verification before approving?)"*
|
|
123
123
|
|
|
124
124
|
Silent skip is not an option. Plan mode permits `Read`, `Glob`, `Grep`, and `Skill` calls, so all of this executes before exit.
|
|
@@ -169,8 +169,9 @@ Each domain skill is classified by how strictly it should be followed:
|
|
|
169
169
|
**Rigid** — follow exactly. These are rules and checklists. Don't adapt away the discipline.
|
|
170
170
|
|
|
171
171
|
- `debug-methodology`: 8 iron rules are non-negotiable
|
|
172
|
-
- `
|
|
173
|
-
- `
|
|
172
|
+
- `model-everything` (external plugin, `dsh-model-everything`): claim verification and model checks must cover every claim
|
|
173
|
+
- `logicprobe` (external plugin, the predecessor): the same gate when only the older plugin is installed
|
|
174
|
+
- `fact-check` (built-in fallback): claim-by-claim verification when neither is installed
|
|
174
175
|
|
|
175
176
|
**Flexible** — adapt principles to context. These are patterns and references, not commands.
|
|
176
177
|
|
|
@@ -186,7 +187,7 @@ If unsure, treat a skill as Rigid until you confirm otherwise.
|
|
|
186
187
|
|
|
187
188
|
When multiple skills could apply, use this order:
|
|
188
189
|
|
|
189
|
-
1. **Diagnosis skills first** — `debug-methodology`, `hardfault-triage`, `logicprobe`
|
|
190
|
+
1. **Diagnosis skills first** — `debug-methodology`, `hardfault-triage`, and the verification skill (`model-everything` from `dsh-model-everything`, or `logicprobe` if only the older plugin is installed; the built-in `fact-check` fallback if neither is). These determine WHAT is wrong.
|
|
190
191
|
2. **Design skills second** — `state-machine-design`. These determine HOW to fix it.
|
|
191
192
|
3. **Implementation skills third** — `c-cpp-dev`, `embedded-firmware-dev`, `keil-mdk-build`. These guide execution.
|
|
192
193
|
|
|
@@ -110,7 +110,7 @@ This plugin defines 4 sub-agents. On platforms without an `Agent` tool (includin
|
|
|
110
110
|
| Claude Code Agent | Alternative Approach |
|
|
111
111
|
|-------------------|---------------------|
|
|
112
112
|
| `architecture-steward` | Ask user to run a separate session with planning prompt |
|
|
113
|
-
| `design-reviewer` | Load `
|
|
113
|
+
| `design-reviewer` | Load `model-everything` skill (`dsh-model-everything`, the successor of `logicprobe`; the older `logicprobe` skill if only that is installed; built-in `fact-check` fallback if neither is); manually verify claims |
|
|
114
114
|
| `execution-worker` | Sequential implementation in current session with approval gates |
|
|
115
115
|
| `quality-coordinator` | Self-review checklist from `references/final-qc.md` template |
|
|
116
116
|
|
|
@@ -18,7 +18,7 @@ user declines.
|
|
|
18
18
|
## Rules
|
|
19
19
|
|
|
20
20
|
- **Suggest once per task**, not repeatedly. If the user declines, don't push.
|
|
21
|
-
- **Say what the check finds**, not which tool runs it. If logicprobe is
|
|
21
|
+
- **Say what the check finds**, not which tool runs it. If neither `dsh-model-everything` nor `logicprobe` is installed,
|
|
22
22
|
offer the built-in `fact-check` skill instead — "I can check every claim in the plan
|
|
23
23
|
against the codebase" — and note that behavioral/model claims then degrade to manual
|
|
24
24
|
confirmation.
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: fact-check
|
|
3
|
-
description: "Use when reviewing design documents, architecture specs, technical proposals, or plans that make claims about API names, file paths, enum values, counts, or mechanism feasibility — a lightweight claim-by-claim check against the codebase with evidence. Built into embedded-workbench as the fallback when the full
|
|
3
|
+
description: "Use when reviewing design documents, architecture specs, technical proposals, or plans that make claims about API names, file paths, enum values, counts, or mechanism feasibility — a lightweight claim-by-claim check against the codebase with evidence. Built into embedded-workbench as the fallback when the full dsh-model-everything plugin (or its predecessor logicprobe) is not installed. NOT for state machines, protocol/retry logic, or 'always'/'never' behavioral claims that need executable model verification — those require dsh-model-everything (or logicprobe)."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Fact Check (fallback)
|
|
7
7
|
|
|
8
8
|
Lightweight claim verification built into this plugin. Use it when the full
|
|
9
|
-
`
|
|
10
|
-
document/plan against the codebase with
|
|
9
|
+
`dsh-model-everything` plugin — or its predecessor `logicprobe` — is not installed.
|
|
10
|
+
It checks every verifiable claim in a document/plan against the codebase with
|
|
11
|
+
evidence, without model escalation.
|
|
11
12
|
|
|
12
13
|
## When to use
|
|
13
14
|
|
|
@@ -9,6 +9,8 @@ This is a domain implementation skill. If you are planning, designing, or enteri
|
|
|
9
9
|
|
|
10
10
|
# State Machine Design
|
|
11
11
|
|
|
12
|
+
> **For a design that has to be decided rather than reviewed:** `dsh-model-everything` verifies the machine itself — `model_verify` explores every interleaving for unreachable states, deadlock, a timeout that can never fire, and a lock held across an await; `model_compose_verify` decides two mechanisms interacting, including a lost update on a shared location. Load its `model-everything` skill when the plugin is installed. This skill stays the implementation guide: the C code, the flags, the timeouts.
|
|
13
|
+
|
|
12
14
|
## Core Rules
|
|
13
15
|
|
|
14
16
|
- Fix the state model, not the symptom. Every in-progress or pending flag must have explicit success, failure, timeout, and reset exits.
|