dsh-logicprobe 0.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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Amethyst Luna
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,237 @@
1
+ # Logic Probe
2
+
3
+ <p align="center"><strong>English</strong> · <a href="README.md">中文</a></p>
4
+
5
+ [![HOL Guard Scanner](https://img.shields.io/badge/HOL%20Guard-passing-00a67e)](https://github.com/hashgraph-online/hol-guard)
6
+
7
+ Design documents are not truth — code is. A claim-verification skill that checks every verifiable claim in design docs, architecture specs, and refactoring plans against the actual codebase — and escalates to executable-model verification for behavioral claims.
8
+
9
+ **Cross-platform** — works with Claude Code, Codex CLI, Cursor, Kimi CLI, OpenCode, and ZCode. Built on the [Agent Skills](https://agentskills.io) open standard.
10
+
11
+ ## What It Does
12
+
13
+ | Phase | What |
14
+ |-------|------|
15
+ | Phase 1-2 | Enumerate every verifiable claim (API names, file paths, enum values, counts, mechanism feasibility) → verify each against the codebase with evidence |
16
+ | Phase 2a | **7 structural checks** on extracted state-machine models: reachability, deadlock, liveness, determinism, event/guard completeness, invariant validity |
17
+ | Phase 2b | **7 adversarial probes**: unexpected events, race interleaving, order permutation, pair symmetry (lock/unlock), boundary blast, resource injection, minimal counter-example |
18
+ | Refactoring | Before/after model comparison — behavioral preservation, invariant continuity, deadlock regression, complexity claims |
19
+ | Output | Structured findings with exact file:line evidence, severity classification, correction direction — never inline fixes |
20
+
21
+ The model is always shown as a transition table and **confirmed with the user before running** — extraction errors are the dominant failure mode.
22
+
23
+ ## Installation
24
+
25
+ ### Marketplace install (recommended)
26
+
27
+ Add the marketplace to `~/.claude/settings.json`:
28
+
29
+ ```json
30
+ {
31
+ "extraKnownMarketplaces": {
32
+ "logicprobe": {
33
+ "source": { "source": "github", "repo": "AmethystLuna/logicprobe" }
34
+ }
35
+ }
36
+ }
37
+ ```
38
+
39
+ Then install from CLI:
40
+
41
+ ```bash
42
+ claude plugin install logicprobe@logicprobe
43
+ ```
44
+
45
+ ### Manual install
46
+
47
+ ```bash
48
+ git clone https://github.com/AmethystLuna/logicprobe.git ~/.claude/plugins/dev/logicprobe
49
+ ```
50
+
51
+ Then enable in `~/.claude/settings.json`:
52
+
53
+ ```json
54
+ {
55
+ "enabledPlugins": {
56
+ "logicprobe@dev": true
57
+ }
58
+ }
59
+ ```
60
+
61
+ ## DeepSeek Harness (dsh)
62
+
63
+ Native dsh support ships as a cordis plugin bundle at the repository root (the root `package.json` declares `dsh.bundle`):
64
+
65
+ - The skill is discovered as-is by dsh's `skill-filesystem` provider (Agent Skills open standard) — zero code.
66
+ - The bundle injects the claim-verification gate (1% Rule / Red Flags / proactive suggestion) into the first model step of every agent session — the dsh-native counterpart of the Claude `SessionStart` hook. It also registers a model-visible catalog entry (`cordis_inspect`), a native `logicprobe_verify` tool (`ctx.tools`), and a policy-aware `logicprobe:mode` context (`ctx.systemPrompt`).
67
+ - Together with the embedded-workbench bundle's Plan Verification Gate, this closes the claim-verification loop in dsh.
68
+
69
+ Install: see [`.dsh/INSTALL.md`](.dsh/INSTALL.md) (four options, from plain skill copy to `dsh plugin add`).
70
+
71
+ > DSH install note: the package name is `dsh-logicprobe`. In the web profile's `package.json`, both the dependency key and the `dsh.profile.bundles` entry must use the same name; a mismatch causes the dsh loader to fail with `ERR_MODULE_NOT_FOUND`.
72
+
73
+ ## Usage
74
+
75
+ The plugin auto-injects a capability notification into the first model step. The skill activates when its `Use when` description matches your task:
76
+
77
+ - **Design doc / plan review** — "Review this design document" → claim enumeration and codebase verification
78
+ - **Behavioral questions** — "could this state machine deadlock", "is this retry limit safe", "check this timing for bugs" → the skill is proactively suggested (not auto-loaded) as an optional verification pass
79
+ - **Refactoring plans** — the pipeline compares before/after models to flag undocumented behavioral changes
80
+
81
+ The skill auto-classifies depth (LIGHTWEIGHT / STANDARD / ESCALATED) from plan features in Phase 0, and appends a `## Plan Verification` summary block as the audit trail.
82
+
83
+ In DSH, prefer the native `logicprobe_verify` tool (see `skills/logicprobe/references/dsh-model-schema.md`). Python remains optional for non-DSH hosts: when available, the reusable harness at `references/verification-harness.py` runs the checks; when not (air-gapped machines), the guide at `references/logic-verification-guide.md` provides a manual verification mode.
84
+
85
+ ## Codex CLI
86
+
87
+ This plugin also supports OpenAI Codex CLI. Skills follow the Agent Skills standard and work identically across both platforms.
88
+
89
+ ### Codex install
90
+
91
+ ```bash
92
+ # Add as a marketplace
93
+ codex plugin marketplace add AmethystLuna/logicprobe
94
+
95
+ # Install
96
+ codex plugin install logicprobe
97
+ ```
98
+
99
+ Or manually:
100
+
101
+ ```bash
102
+ git clone https://github.com/AmethystLuna/logicprobe.git ~/.codex/plugins/logicprobe
103
+ ```
104
+
105
+ Skills are invoked with `$logicprobe` or auto-selected by Codex based on task context.
106
+
107
+ ## Cursor
108
+
109
+ Cursor 2.5+ has built-in plugin support.
110
+
111
+ ### Cursor install
112
+
113
+ ```bash
114
+ # Clone to Cursor plugins directory
115
+ git clone https://github.com/AmethystLuna/logicprobe.git ~/.cursor/plugins/logicprobe
116
+ ```
117
+
118
+ Or install from the Cursor plugin marketplace UI: `/add-plugin AmethystLuna/logicprobe`
119
+
120
+ ## Kimi CLI
121
+
122
+ Kimi CLI discovers skills from `.claude/skills/` paths automatically. The `.kimi-plugin/plugin.json` manifest registers the plugin for Kimi's plugin manager.
123
+
124
+ ### Kimi install
125
+
126
+ ```bash
127
+ # Via Kimi plugin manager
128
+ /plugins install https://github.com/AmethystLuna/logicprobe.git
129
+
130
+ # Or clone manually
131
+ git clone https://github.com/AmethystLuna/logicprobe.git ~/.kimi/plugins/logicprobe
132
+ ```
133
+
134
+ Skills are invoked with `/skill:logicprobe`.
135
+
136
+ ## OpenCode
137
+
138
+ Skills are auto-discovered from `.claude/skills/` and `.codex/skills/` paths. Add to your `opencode.json`:
139
+
140
+ ```json
141
+ {
142
+ "plugin": ["logicprobe@git+https://github.com/AmethystLuna/logicprobe.git"]
143
+ }
144
+ ```
145
+
146
+ Or install via `skop` which consumes the Claude marketplace manifest. See `.opencode/INSTALL.md` for detailed instructions.
147
+
148
+ ## ZCode (Z.AI)
149
+
150
+ ZCode 3.0+ follows the Agent Skills standard. No plugin marketplace — manually copy skills to `.zcode/skills/`:
151
+
152
+ ```bash
153
+ git clone https://github.com/AmethystLuna/logicprobe.git
154
+ cp -r logicprobe/skills/* .zcode/skills/
155
+ ```
156
+
157
+ Skills are invoked with `$logicprobe`. See `.zcode/INSTALL.md` for details.
158
+
159
+ ## Requirements
160
+
161
+ - Claude Code v2.1+ / Codex CLI latest / Cursor 2.5+ / Kimi CLI latest / OpenCode latest / ZCode 3.0+
162
+ - DeepSeek Harness (dsh): dev preview — verified on mainline 2026-08-14 (gate bundle loaded and injected in-session)
163
+ - Python 3.6+ optional (only for the automated harness; manual fallback mode requires none)
164
+
165
+ ## Configuration
166
+
167
+ In DeepSeek Harness, the bundle registers the `logicprobe_verify` tool (through `ctx.tools`) and a policy-aware `logicprobe:mode` context (through `ctx.systemPrompt`). The bundle accepts a small configuration object:
168
+
169
+ | Key | Type | Default | Description |
170
+ |---|---|---|---|
171
+ | `enabled` | boolean | `true` | Set to `false` to disable the session-start gate injection. |
172
+ | `gateContent` | string | built-in gate text | Override the text injected into the first model step. |
173
+ | `interaction` | `ask` \| `auto` \| `follow-approval` | `follow-approval` | Model-confirmation policy. `follow-approval` resolves to `auto` when the session approval policy is `never`. |
174
+
175
+ To change it, override the row by id in your profile's `cordis.patch.yml`:
176
+
177
+ ```yaml
178
+ - insert:
179
+ - id: logicprobe
180
+ name: 'dsh-logicprobe'
181
+ config:
182
+ enabled: true
183
+ interaction: follow-approval
184
+ gateContent: |
185
+ ...
186
+ ```
187
+
188
+ ## Uninstall
189
+
190
+ - If you installed through the DSH plugin manager, remove the `logicprobe` plugin from the target profile using the same manager you used to install it.
191
+ - If you copied `skills/*` manually, delete the copied skill directories from `~/.agents/skills/` or the project `.dsh/skills/`.
192
+ - If you added the bundle as a `cordis.patch.yml` row, remove the row with `id: logicprobe` from the profile patch and restart DSH.
193
+
194
+ ## Permissions & Data
195
+
196
+ - The plugin runtime reads only the `skills/` directory shipped inside the package, in order to register skills through DSH's standard filesystem skill provider.
197
+ - It injects the configured gate text into the first model step of a session.
198
+ - It does not read credentials, open network connections, or access user data outside the DSH session context.
199
+ - When the skill is actually used, the model may read project files as directed by the user, just like any other coding skill.
200
+
201
+ ## Troubleshooting
202
+
203
+ - Skill not visible in DSH: confirm you are on a DSH version that supports `ctx.skills`/Agent Skills discovery, and restart the profile after install.
204
+ - Gate not injected: check that `enabled` is not `false` and that the row id `logicprobe` is present in the active profile patch.
205
+ - `logicprobe_verify` not visible: check `cordis_inspect_query` status for `toolRegistered: true`, and confirm the DSH profile resolved the `@deepseek-ai/dsh-tools` peer dependency.
206
+ - Plugin manager rejects installation: make sure `@deepseek-ai/*` packages are declared as `peerDependencies`, not regular `dependencies`.
207
+ - After manual copy, DSH still doesn't see the skill: use the native bundle install (`dsh plugin add "github:AmethystLuna/logicprobe"`) instead of copying.
208
+
209
+ ## Development
210
+
211
+ ```bash
212
+ npm install
213
+ npm run typecheck
214
+ npm run build
215
+ ```
216
+
217
+ Trigger tests are under `tests/skill-triggering/`; run them with:
218
+
219
+ ```bash
220
+ bash tests/skill-triggering/run-all.sh
221
+ ```
222
+
223
+ ## License & Security
224
+
225
+ Licensed under MIT. See [LICENSE](LICENSE).
226
+
227
+ To report a security vulnerability, do **not** open a public issue. Use the private Security Advisory path or the contact method in [SECURITY.md](SECURITY.md).
228
+
229
+ ## Related Plugins
230
+
231
+ | Plugin | Description |
232
+ |--------|-------------|
233
+ | [embedded-workbench](https://github.com/AmethystLuna/embedded-workbench) | Embedded C/C++ toolbox whose Plan Verification Gate uses this skill. This plugin was split out of embedded-workbench. |
234
+
235
+ ## Acknowledgments
236
+
237
+ The claim-verification methodology (logic primitives, adversarial probing, refactoring before/after comparison) and the trigger test framework (`tests/skill-triggering/`) follow the conventions of [Superpowers](https://github.com/obra/superpowers) by Jesse Vincent (MIT License), as adapted in the [embedded-workbench](https://github.com/AmethystLuna/embedded-workbench) plugin.
package/README.md ADDED
@@ -0,0 +1,234 @@
1
+ # 逻辑探针 (Logic Probe)
2
+
3
+ <p align="center"><a href="README.en-US.md">English</a> · <strong>中文</strong></p>
4
+
5
+ 文档不是事实——代码才是。一个声称核查技能:逐条核验设计文档、架构规格、重构计划中每一个可验证的声称与代码库实际是否一致;遇到行为类声称时升级为可执行模型验证。
6
+
7
+ **跨平台** — 支持 Claude Code、Codex CLI、Cursor、Kimi CLI、OpenCode、ZCode。基于 [Agent Skills](https://agentskills.io) 开放标准构建。
8
+
9
+ ## 功能
10
+
11
+ | 阶段 | 内容 |
12
+ |------|------|
13
+ | Phase 1-2 | 枚举每个可验证声称(API 名、文件路径、枚举值、数量、机制可行性)→ 逐条对照代码库给出证据 |
14
+ | Phase 2a | 对提取的状态机模型执行 **7 项结构检查**:可达性、死锁、活性、确定性、事件/守卫完备性、不变量有效性 |
15
+ | Phase 2b | **7 种对抗探针**:意外事件、竞态交错、顺序置换、配对对称(lock/unlock)、边界轰炸、资源注入、最小反例 |
16
+ | 重构模式 | 前后模型对比——行为保持、不变量连续性、死锁回归、复杂度声称 |
17
+ | 输出 | 结构化发现:精确 file:line 证据、严重性分级、修正方向——绝不在核查中直接改代码 |
18
+
19
+ 模型永远先以转换表形式展示并**经用户确认后才运行**——模型提取错误是验证的头号失败模式。
20
+
21
+ ## 安装
22
+
23
+ ### Marketplace 安装(推荐)
24
+
25
+ 在 `~/.claude/settings.json` 中添加 marketplace:
26
+
27
+ ```json
28
+ {
29
+ "extraKnownMarketplaces": {
30
+ "logicprobe": {
31
+ "source": { "source": "github", "repo": "AmethystLuna/logicprobe" }
32
+ }
33
+ }
34
+ }
35
+ ```
36
+
37
+ 然后通过 CLI 安装:
38
+
39
+ ```bash
40
+ claude plugin install logicprobe@logicprobe
41
+ ```
42
+
43
+ ### 手动安装
44
+
45
+ ```bash
46
+ git clone https://github.com/AmethystLuna/logicprobe.git ~/.claude/plugins/dev/logicprobe
47
+ ```
48
+
49
+ 然后在 `~/.claude/settings.json` 中启用:
50
+
51
+ ```json
52
+ {
53
+ "enabledPlugins": {
54
+ "logicprobe@dev": true
55
+ }
56
+ }
57
+ ```
58
+
59
+ ## DeepSeek Harness (dsh)
60
+
61
+ 原生 dsh 支持以 cordis 插件 bundle 的形式提供,位于**仓库根**(根 `package.json` 声明了 `dsh.bundle`):
62
+
63
+ - 技能遵循 Agent Skills 开放标准,被 dsh 的 `skill-filesystem` provider 原样发现——零代码。
64
+ - bundle 将 claim 验证门禁(1% Rule / Red Flags / 主动建议)注入每个 agent 会话的第一个模型步骤——是 Claude `SessionStart` hook 在 dsh 的原生对应物,并注册模型可见目录条目(`cordis_inspect`)、原生工具 `logicprobe_verify`(`ctx.tools`)以及策略感知上下文 `logicprobe:mode`(`ctx.systemPrompt`)。
65
+ - 与 embedded-workbench bundle 的 Plan Verification Gate 配合,在 dsh 中闭环了 claim 验证链路。
66
+
67
+ 安装:参见 [`.dsh/INSTALL.md`](.dsh/INSTALL.md)(四种方式,从纯技能拷贝到 `dsh plugin add`)。
68
+
69
+ > DSH 安装注意:包名已使用 scoped 形式 `dsh-logicprobe`。在 web profile 的 `package.json` 中,依赖键与 `dsh.profile.bundles` 必须写 `dsh-logicprobe`;否则 dsh 加载器会因找不到 `node_modules/dsh-logicprobe` 而启动失败。
70
+
71
+ ## 使用
72
+
73
+ 插件在会话首个模型步骤自动注入能力通知。技能在任务匹配其 `Use when` 描述时激活:
74
+
75
+ - **设计文档 / 计划审查** — "Review this design document" → 声称枚举与代码库核查
76
+ - **行为类问题** — "could this state machine deadlock"、"is this retry limit safe"、"check this timing for bugs" → 主动建议(不自动加载)作为可选验证
77
+ - **重构计划** — 管线对比前后模型,标记计划未声明的行为变化
78
+
79
+ 技能在 Phase 0 依据计划特征自动分级(LIGHTWEIGHT / STANDARD / ESCALATED),并在计划文件追加 `## Plan Verification` 摘要块作为审计痕迹。
80
+
81
+ Python 可选:可用时使用 `references/verification-harness.py` 自动执行检查;不可用(如离线开发机)时,`references/logic-verification-guide.md` 提供手动验证模式。
82
+
83
+ ## Codex CLI
84
+
85
+ 本插件同样支持 OpenAI Codex CLI。技能遵循 Agent Skills 标准,两个平台行为一致。
86
+
87
+ ### Codex 安装
88
+
89
+ ```bash
90
+ # 添加 marketplace
91
+ codex plugin marketplace add AmethystLuna/logicprobe
92
+
93
+ # 安装
94
+ codex plugin install logicprobe
95
+ ```
96
+
97
+ 或手动:
98
+
99
+ ```bash
100
+ git clone https://github.com/AmethystLuna/logicprobe.git ~/.codex/plugins/logicprobe
101
+ ```
102
+
103
+ 技能通过 `$logicprobe` 调用,或由 Codex 根据任务上下文自动选择。
104
+
105
+ ## Cursor
106
+
107
+ Cursor 2.5+ 内置插件支持。
108
+
109
+ ### Cursor 安装
110
+
111
+ ```bash
112
+ # 克隆到 Cursor 插件目录
113
+ git clone https://github.com/AmethystLuna/logicprobe.git ~/.cursor/plugins/logicprobe
114
+ ```
115
+
116
+ 或通过 Cursor 插件市场 UI 安装:`/add-plugin AmethystLuna/logicprobe`
117
+
118
+ ## Kimi CLI
119
+
120
+ Kimi CLI 自动从 `.claude/skills/` 路径发现技能。`.kimi-plugin/plugin.json` 清单向 Kimi 插件管理器注册本插件。
121
+
122
+ ### Kimi 安装
123
+
124
+ ```bash
125
+ # 通过 Kimi 插件管理器
126
+ /plugins install https://github.com/AmethystLuna/logicprobe.git
127
+
128
+ # 或手动克隆
129
+ git clone https://github.com/AmethystLuna/logicprobe.git ~/.kimi/plugins/logicprobe
130
+ ```
131
+
132
+ 技能通过 `/skill:logicprobe` 调用。
133
+
134
+ ## OpenCode
135
+
136
+ 技能自动从 `.claude/skills/` 和 `.codex/skills/` 路径发现。在 `opencode.json` 中添加:
137
+
138
+ ```json
139
+ {
140
+ "plugin": ["logicprobe@git+https://github.com/AmethystLuna/logicprobe.git"]
141
+ }
142
+ ```
143
+
144
+ 或通过 `skop` 安装(消费 Claude marketplace 清单)。详见 `.opencode/INSTALL.md`。
145
+
146
+ ## ZCode (Z.AI)
147
+
148
+ ZCode 3.0+ 遵循 Agent Skills 标准。无插件市场——手动复制技能到 `.zcode/skills/`:
149
+
150
+ ```bash
151
+ git clone https://github.com/AmethystLuna/logicprobe.git
152
+ cp -r logicprobe/skills/* .zcode/skills/
153
+ ```
154
+
155
+ 技能通过 `$logicprobe` 调用。详见 `.zcode/INSTALL.md`。
156
+
157
+ ## 环境要求
158
+
159
+ - Claude Code v2.1+ / Codex CLI 最新 / Cursor 2.5+ / Kimi CLI 最新 / OpenCode 最新 / ZCode 3.0+
160
+ - DeepSeek Harness (dsh): dev preview — 已实测 mainline 2026-08-14(gate bundle 加载并注入会话成功)
161
+ - Python 3.6+ 可选(仅自动验证工具需要;手动兜底模式无需任何依赖)
162
+
163
+ ## 配置
164
+
165
+ 在 DeepSeek Harness 中,bundle 支持以下配置:
166
+
167
+ | 键 | 类型 | 默认值 | 说明 |
168
+ |---|---|---|---|
169
+ | `enabled` | boolean | `true` | 设为 `false` 可关闭首步 Gate 注入。 |
170
+ | `gateContent` | string | 内置 gate 文本 | 覆盖注入到首轮模型上下文中的文本。 |
171
+ | `interaction` | `ask` \| `auto` \| `follow-approval` | `follow-approval` | 模型确认策略;`follow-approval` 在会话 approval policy 为 `never` 时解析为 `auto`。 |
172
+
173
+ 在 profile 的 `cordis.patch.yml` 中按 row id 覆盖:
174
+
175
+ ```yaml
176
+ - insert:
177
+ - id: logicprobe
178
+ name: 'dsh-logicprobe'
179
+ config:
180
+ enabled: true
181
+ interaction: follow-approval
182
+ gateContent: |
183
+ ...
184
+ ```
185
+
186
+ ## 卸载
187
+
188
+ - 如果通过 DSH 插件管理器安装,请使用同一管理器从目标 profile 中移除 `logicprobe`。
189
+ - 如果手动复制过 `skills/*`,请删除复制到 `~/.agents/skills/` 或项目 `.dsh/skills/` 下的对应目录。
190
+ - 如果通过 `cordis.patch.yml` 添加,请删除 profile patch 中 `id: logicprobe` 对应的行,并重启 DSH。
191
+
192
+ ## 权限与数据
193
+
194
+ - 插件运行时只读取包内自带的 `skills/` 目录,用于通过 DSH 标准 filesystem skill provider 注册技能。
195
+ - 它会在会话首轮向模型上下文注入配置好的 gate 文本。
196
+ - 它不读取凭据、不发起网络连接,也不会访问 DSH 会话上下文之外的用户数据。
197
+ - 实际使用技能时,模型会像使用其他编码技能一样,按用户指示读取项目文件。
198
+
199
+ ## 故障排查
200
+
201
+ - 技能在 DSH 中不可见:确认 DSH 版本支持 `ctx.skills` / Agent Skills 发现,并在安装后重启 profile。
202
+ - Gate 未注入:检查 `enabled` 是否为 `false`,以及 profile patch 中是否存在 `id: logicprobe` 的行。
203
+ - 插件管理器拒绝安装:确认 `@deepseek-ai/*` 包声明在 `peerDependencies` 中,而不是 `dependencies`。
204
+ - 手动复制后 DSH 仍看不到技能:改用原生 bundle 安装(`dsh plugin add "github:AmethystLuna/logicprobe"`)。
205
+
206
+ ## 开发
207
+
208
+ ```bash
209
+ npm install
210
+ npm run typecheck
211
+ npm run build
212
+ ```
213
+
214
+ 触发测试位于 `tests/skill-triggering/`:
215
+
216
+ ```bash
217
+ bash tests/skill-triggering/run-all.sh
218
+ ```
219
+
220
+ ## 许可证与安全
221
+
222
+ 本项目使用 MIT 许可证,见 [LICENSE](LICENSE)。
223
+
224
+ 如发现安全漏洞,请**不要**公开创建 issue,应使用 GitHub Security Advisory 或 [SECURITY.md](SECURITY.md) 中的联系方式私下报告。
225
+
226
+ ## 关联插件
227
+
228
+ | 插件 | 说明 |
229
+ |------|------|
230
+ | [embedded-workbench](https://github.com/AmethystLuna/embedded-workbench) | 嵌入式 C/C++ 工具箱,其 Plan Verification Gate 依赖本技能。本插件已从 embedded-workbench 拆分而来。 |
231
+
232
+ ## 致谢
233
+
234
+ 声称核查方法论(逻辑原语、对抗探测、重构前后对比)与触发测试框架(`tests/skill-triggering/`)遵循 [Superpowers](https://github.com/obra/superpowers)(Jesse Vincent,MIT License)的约定,经 [embedded-workbench](https://github.com/AmethystLuna/embedded-workbench) 插件改编而来。
@@ -0,0 +1,12 @@
1
+ # logicprobe bundle patch — one insert over the profile root.
2
+ #
3
+ # Row ids are stable identity in the config tree; later layers (the user's
4
+ # profile cordis.patch.yml, $DSH_HOME/cordis.patch.yml, --patch overlays)
5
+ # override a row by id, replacing the whole `config` (no deep merge).
6
+
7
+ - insert:
8
+ - id: logicprobe
9
+ name: 'dsh-logicprobe'
10
+ config:
11
+ enabled: true
12
+ interaction: follow-approval