skill-family-engineering-kit 0.10.0 → 0.12.0
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 +46 -0
- package/CHANGELOG.zh-CN.md +46 -0
- package/README.md +23 -12
- package/README.zh-CN.md +31 -12
- package/data/hosts/claude/host-descriptor.json +45 -0
- package/data/hosts/codebuddy/host-descriptor.json +21 -0
- package/data/hosts/codex/host-descriptor.json +45 -0
- package/data/hosts/deepseek-harness/host-descriptor.json +23 -0
- package/data/hosts/kimi-code/host-descriptor.json +36 -0
- package/data/hosts/qoder/host-descriptor.json +26 -0
- package/data/hosts/registry.json +13 -0
- package/data/hosts/workbuddy/host-descriptor.json +34 -0
- package/docs/agents/capability-catalog.en.json +47 -45
- package/docs/agents/capability-catalog.json +34 -19
- package/docs/agents/capability-catalog.zh-CN.json +47 -45
- package/docs/architecture/index.html +5 -4
- package/docs/en/recipes/host-profile-integration/index.html +5 -4
- package/docs/en/reference/compatibility/index.html +7 -7
- package/docs/integration/audit/index.html +3 -1
- package/docs/integration/audit/version-compatibility/index.html +4 -2
- package/docs/public/status/index.html +3 -3
- package/docs/recipes/host-profile-integration/index.html +11 -8
- package/docs/reference/api/contracts/index.html +44 -1
- package/docs/reference/api/engineering-kit/index.html +22 -16
- package/docs/reference/api/harness/index.html +79 -0
- package/docs/reference/compatibility/index.html +7 -7
- package/docs/search/search_index.json +1 -1
- package/package.json +3 -3
- package/profile-spi/extension-spi.json +1 -1
- package/release-notes/0.11.0.yaml +23 -0
- package/release-notes/0.12.0.yaml +27 -0
- package/src/host-profiles.mjs +47 -13
- package/src/host-verification-drivers.mjs +256 -0
- package/src/host-verification.mjs +812 -0
- package/src/index.mjs +5 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,51 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
<!-- release-skill:changelog:start version=0.12.0 locale=en baseline=sha256:6000579dc8b473dbeda1832274d971df0c4f3a62a90c973184dd70e59ffc8602 -->
|
|
4
|
+
## [0.12.0] - 2026-08-26
|
|
5
|
+
|
|
6
|
+
Engineering Kit 0.12.0 extends bounded real-host verification from two to five fixed built-in drivers.
|
|
7
|
+
|
|
8
|
+
### Added
|
|
9
|
+
|
|
10
|
+
- Extends runHostVerification with three fixed built-in drivers while retaining the Kimi and WorkBuddy raw-byte behavior.
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- Uses the classic plugin-root/skills/skill-id layout for the plugin-directory driver and validates complete JSONL event streams before accepting execution.
|
|
15
|
+
- Keeps output meaning with consumers and applies strict text decoding only to the three new text-protocol drivers.
|
|
16
|
+
- Registers Qoder as manual for host support and descriptor maturity, while its real-host verification capability remains candidate.
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- Rejects malformed protocol tails, invalid UTF-8 in text-protocol drivers, and version suffixes outside each driver's fixed format before they can support a successful public result.
|
|
21
|
+
|
|
22
|
+
### Upgrade Notes
|
|
23
|
+
|
|
24
|
+
Pin all three Foundation packages to 0.12.0. Existing runHostVerification and verifyHostVerificationBindings entrypoints and request identities remain unchanged. Reuse the host's existing login state; Foundation does not isolate authentication, freeze model identity, disable host tools, or decide domain PASS/FAIL. Qoder verification grants no build, plan, apply, install, update, uninstall, or rollback capability. The executable digest is a preflight observation and member snapshots cover only the declared members at the two observed times.
|
|
25
|
+
<!-- release-skill:changelog:end version=0.12.0 locale=en -->
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
<!-- release-skill:changelog:start version=0.11.0 locale=en baseline=sha256:108e261312b0838af53184710453fe19f369a9ea10ac5d1fc3e829e919d0f99d -->
|
|
29
|
+
## [0.11.0] - 2026-08-25
|
|
30
|
+
|
|
31
|
+
Engineering Kit 0.11.0 adds a candidate real-host verification API and ships the registered host Profile closure.
|
|
32
|
+
|
|
33
|
+
### Added
|
|
34
|
+
|
|
35
|
+
- Adds runHostVerification for one fresh, bounded Kimi or WorkBuddy invocation reusing the caller's existing login state, and verifyHostVerificationBindings for pure result composition.
|
|
36
|
+
- Recomputes closure and stream digests from raw bytes and keeps private evidence outside the public result.
|
|
37
|
+
- Ships the registered host Profile closure through bundledHostProfilesRoot().
|
|
38
|
+
|
|
39
|
+
### Changed
|
|
40
|
+
|
|
41
|
+
- Manual Profiles retain their lifecycle restrictions; host verification does not grant build, plan, apply, install, update, uninstall, or rollback support.
|
|
42
|
+
|
|
43
|
+
### Upgrade Notes
|
|
44
|
+
|
|
45
|
+
The 0.11.0 host-verification API is candidate-only. It does not own domain PASS/FAIL, release state, or automatic login, and it claims no authentication isolation, unchanged credentials, fixed model identity, or disabled host tool capability. executableSha256 is a point-in-time preflight observation, not proof of the executed image; the caller exclusively controls that namespace. Foundation retains session directories, and the caller cleans its outer temporaryRoot after inspection.
|
|
46
|
+
<!-- release-skill:changelog:end version=0.11.0 locale=en -->
|
|
47
|
+
|
|
48
|
+
|
|
3
49
|
<!-- release-skill:changelog:start version=0.10.0 locale=en baseline=sha256:fc575df3b8c5f7a0d819090ce9637f8cdc654c277892fe3f14149d5cc1746b24 -->
|
|
4
50
|
## [0.10.0] - 2026-08-24
|
|
5
51
|
|
package/CHANGELOG.zh-CN.md
CHANGED
|
@@ -1,5 +1,51 @@
|
|
|
1
1
|
# 变更日志
|
|
2
2
|
|
|
3
|
+
<!-- release-skill:changelog:start version=0.12.0 locale=zh-CN baseline=sha256:f2a68cdeac0b2a44d7a4cc64df8e8f371795b4150719d821a31866a6e8873e2f -->
|
|
4
|
+
## [0.12.0] - 2026-08-26
|
|
5
|
+
|
|
6
|
+
Engineering Kit 0.12.0 将受约束真实宿主验证从两个固定内置驱动扩展为五个。
|
|
7
|
+
|
|
8
|
+
### 新增
|
|
9
|
+
|
|
10
|
+
- 为 runHostVerification 增加三个固定的内置驱动,保留 Kimi 与 WorkBuddy 的原始字节行为。
|
|
11
|
+
|
|
12
|
+
### 变更
|
|
13
|
+
|
|
14
|
+
- 插件目录驱动使用 plugin-root/skills/skill-id 经典插件布局;JSONL 驱动必须扫描完整事件流后才接受执行结果。
|
|
15
|
+
- 输出的业务含义由消费者判断,严格文本解码仅用于三个新增的文本协议驱动。
|
|
16
|
+
- Qoder 的宿主支持和 Descriptor 成熟度登记为 manual,真实宿主验证能力继续标为 candidate。
|
|
17
|
+
|
|
18
|
+
### 修复
|
|
19
|
+
|
|
20
|
+
- 拒绝畸形协议尾部、文本协议中的非法 UTF-8,以及驱动固定格式之外的版本后缀,避免产生错误的公共成功结果。
|
|
21
|
+
|
|
22
|
+
### 升级说明
|
|
23
|
+
|
|
24
|
+
三个 Foundation 包须精确锁定到同一 0.12.0 版本。runHostVerification、verifyHostVerificationBindings 入口与请求身份不变。验证复用宿主现有登录态;Foundation 不隔离认证、不固定模型身份、不关闭宿主工具,也不判定领域 PASS/FAIL。Qoder 验证不授予 build、plan、apply、install、update、uninstall 或 rollback 能力。可执行文件摘要仅是启动前观察,成员快照仅覆盖已声明成员的两个观察时点。
|
|
25
|
+
<!-- release-skill:changelog:end version=0.12.0 locale=zh-CN -->
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
<!-- release-skill:changelog:start version=0.11.0 locale=zh-CN baseline=sha256:5d5852f3fa3c970b4d277600a0886d533e3c883fc72ce144a85a071d1e270771 -->
|
|
29
|
+
## [0.11.0] - 2026-08-25
|
|
30
|
+
|
|
31
|
+
Engineering Kit 0.11.0 增加候选真实宿主验证 API,并随包携带已登记宿主 Profile 闭包。
|
|
32
|
+
|
|
33
|
+
### 新增
|
|
34
|
+
|
|
35
|
+
- 新增 runHostVerification,执行一次 fresh、受约束的 Kimi 或 WorkBuddy 调用(复用调用方现有登录态);新增 verifyHostVerificationBindings,组合结果时只做纯校验。
|
|
36
|
+
- 从原始字节重算闭包和流摘要,并把私有证据留在公共结果之外。
|
|
37
|
+
- 通过 bundledHostProfilesRoot() 携带已登记宿主 Profile 闭包。
|
|
38
|
+
|
|
39
|
+
### 变更
|
|
40
|
+
|
|
41
|
+
- manual Profile 继续保留生命周期限制;宿主验证不会授予 build、plan、apply、install、update、uninstall 或 rollback 能力。
|
|
42
|
+
|
|
43
|
+
### 升级说明
|
|
44
|
+
|
|
45
|
+
0.11.0 宿主验证 API 仍为候选能力,不拥有领域 PASS/FAIL、发布状态或自动登录;不宣称认证状态隔离、凭证未变化、模型身份固定或宿主工具能力已关闭。executableSha256 只是启动前的点时观察,不证明实际执行映像;调用方独占对应命名空间。Foundation 保留 session 目录,调用方检查后清理外层 temporaryRoot。
|
|
46
|
+
<!-- release-skill:changelog:end version=0.11.0 locale=zh-CN -->
|
|
47
|
+
|
|
48
|
+
|
|
3
49
|
<!-- release-skill:changelog:start version=0.10.0 locale=zh-CN baseline=sha256:45180b7a3b60853842cbe3a379da7ff95f1bd1fe832192368ec2c92a813279dc -->
|
|
4
50
|
## [0.10.0] - 2026-08-24
|
|
5
51
|
|
package/README.md
CHANGED
|
@@ -4,29 +4,32 @@
|
|
|
4
4
|
|
|
5
5
|
# skill-family-engineering-kit
|
|
6
6
|
|
|
7
|
-
<!-- release-skill:release-version: 0.
|
|
7
|
+
<!-- release-skill:release-version: 0.12.0 -->
|
|
8
8
|
|
|
9
9
|
An engineering toolkit used in development and CI. There are **exactly four** top-level commands, and no fifth:
|
|
10
10
|
|
|
11
11
|
<!-- release-skill:managed:start id=latest-release -->
|
|
12
|
-
**0.
|
|
12
|
+
**0.12.0** (2026-08-26)
|
|
13
13
|
|
|
14
|
-
Engineering Kit 0.
|
|
14
|
+
Engineering Kit 0.12.0 extends bounded real-host verification from two to five fixed built-in drivers.
|
|
15
15
|
|
|
16
16
|
**Added**
|
|
17
17
|
|
|
18
|
-
-
|
|
19
|
-
- Adds finite Profile alias resolution, independent manual probe facts for non-driver hosts, and explicit local install/update plans; uninstall remains a manual-recovery refusal.
|
|
20
|
-
- Adds `verifyHostPeers` as a thin wrapper over Harness peer verification; the Kit retains four top-level commands and does not write peer directories.
|
|
18
|
+
- Extends runHostVerification with three fixed built-in drivers while retaining the Kimi and WorkBuddy raw-byte behavior.
|
|
21
19
|
|
|
22
20
|
**Changed**
|
|
23
21
|
|
|
24
|
-
-
|
|
25
|
-
-
|
|
22
|
+
- Uses the classic plugin-root/skills/skill-id layout for the plugin-directory driver and validates complete JSONL event streams before accepting execution.
|
|
23
|
+
- Keeps output meaning with consumers and applies strict text decoding only to the three new text-protocol drivers.
|
|
24
|
+
- Registers Qoder as manual for host support and descriptor maturity, while its real-host verification capability remains candidate.
|
|
25
|
+
|
|
26
|
+
**Fixed**
|
|
27
|
+
|
|
28
|
+
- Rejects malformed protocol tails, invalid UTF-8 in text-protocol drivers, and version suffixes outside each driver's fixed format before they can support a successful public result.
|
|
26
29
|
|
|
27
30
|
**Upgrade Notes**
|
|
28
31
|
|
|
29
|
-
|
|
32
|
+
Pin all three Foundation packages to 0.12.0. Existing runHostVerification and verifyHostVerificationBindings entrypoints and request identities remain unchanged. Reuse the host's existing login state; Foundation does not isolate authentication, freeze model identity, disable host tools, or decide domain PASS/FAIL. Qoder verification grants no build, plan, apply, install, update, uninstall, or rollback capability. The executable digest is a preflight observation and member snapshots cover only the declared members at the two observed times.
|
|
30
33
|
<!-- release-skill:managed:end id=latest-release -->
|
|
31
34
|
|
|
32
35
|
| Command | Purpose | Side effects |
|
|
@@ -47,7 +50,7 @@ Kit is the "engineering stage" layer, depending on the Harness and Contracts. It
|
|
|
47
50
|
## Installation and Minimal Example
|
|
48
51
|
|
|
49
52
|
```sh
|
|
50
|
-
npm install --save-dev skill-family-engineering-kit@0.
|
|
53
|
+
npm install --save-dev skill-family-engineering-kit@0.12.0
|
|
51
54
|
npm exec -- skill-family-kit --help
|
|
52
55
|
npm exec -- skill-family-kit scaffold --root <empty-dir> --project-id my-project
|
|
53
56
|
npm exec -- skill-family-kit adopt-plan --root <repo>
|
|
@@ -55,7 +58,7 @@ npm exec -- skill-family-kit projection --root <repo>
|
|
|
55
58
|
npm exec -- skill-family-kit check --root <repo>
|
|
56
59
|
```
|
|
57
60
|
|
|
58
|
-
The four commands above cover skeleton generation, read-only inventory, managed projection, and diagnostics respectively; a zero-install form is available via `npm exec --package=skill-family-engineering-kit@0.
|
|
61
|
+
The four commands above cover skeleton generation, read-only inventory, managed projection, and diagnostics respectively; a zero-install form is available via `npm exec --package=skill-family-engineering-kit@0.12.0 -- skill-family-kit --help`.
|
|
59
62
|
|
|
60
63
|
### Public Profile SPI
|
|
61
64
|
|
|
@@ -109,7 +112,15 @@ npm exec -- skill-family-kit scaffold host-build --root <workspace> --host <id>
|
|
|
109
112
|
npm exec -- skill-family-kit adopt-plan host-plan --root <workspace> --host <id> --path-category <id> --build-manifest <relpath> --probe-facts <relpath> --hosts-root <dir>
|
|
110
113
|
```
|
|
111
114
|
|
|
112
|
-
The Profile must be provided explicitly; Kit does not bind a specific host by default. Canonical host IDs may resolve only aliases declared by the finite registered Profile set. Probe starts no process by default; only when both `--allow-host-spawn --host-executable <absolute-path>` are given is the frozen version vector executed. Local install and update use an explicit authorization reference plus the existing contained publication primitives; uninstall is rejected with `manual-recovery-required` because Foundation has no safe bound deletion primitive. Two registered hosts have trusted version drivers; Kimi Code, WorkBuddy, CodeBuddy, and DeepSeek Harness expose independent manual facts
|
|
115
|
+
The Profile must be provided explicitly; Kit does not bind a specific host by default. Canonical host IDs may resolve only aliases declared by the finite registered Profile set. Probe starts no process by default; only when both `--allow-host-spawn --host-executable <absolute-path>` are given is the frozen version vector executed. Local install and update use an explicit authorization reference plus the existing contained publication primitives; uninstall is rejected with `manual-recovery-required` because Foundation has no safe bound deletion primitive. Two registered hosts have trusted version drivers; Kimi Code, WorkBuddy, CodeBuddy, and DeepSeek Harness expose independent manual facts. Qoder is `manual` from 0.12.0; its candidate real-host verification grants no lifecycle support. Adapter source only accepts declared text closures; binary projection is not supported; see the [host capability matrix](../../docs/reference/host-capability-matrix.md) and registered Profiles.
|
|
116
|
+
|
|
117
|
+
### Candidate real-host verification library API
|
|
118
|
+
|
|
119
|
+
`runHostVerification({ request, bindings, hostsRoot })` and `verifyHostVerificationBindings({ results, expectedCommon, expectedRequestDigestByHost })` are library APIs, not a fifth Kit command. The first runs one bounded candidate verification against caller-bound roots using a fixed built-in driver and returns a Contracts-validated, redacted four-state result. All five drivers use `existing-user-state + host-managed`; their exact identities and limitations are listed in the [host capability matrix](../../docs/reference/host-capability-matrix.md). The second API is pure and combines only `observed` results with the exact common fields and per-host request digest expected by the caller.
|
|
120
|
+
|
|
121
|
+
The API keeps consumer workload, domain output checks, domain PASS/FAIL, release freshness, and release state outside Foundation. The caller supplies a canonical `existingUserStateRoot` that is projected into the child environment but never read, digested, modified or cleaned by Foundation; it does not grant manual Profiles any build, plan, apply, install, update, or uninstall capability. Version 0.12.0 requires real-host verification of all five fixed drivers before publication; the API does not own that release decision.
|
|
122
|
+
|
|
123
|
+
`executableSha256` binds only the bytes observed by the strict preflight read; the actual process is still spawned by pathname, so the caller must exclusively control the executable namespace through probe and invocation. Foundation retains the call's `session-*` directory and never deletes it by pathname. After inspection, the caller cleans its exclusively owned outer `temporaryRoot`.
|
|
113
124
|
|
|
114
125
|
## Typical Use Cases
|
|
115
126
|
|
package/README.zh-CN.md
CHANGED
|
@@ -5,29 +5,32 @@
|
|
|
5
5
|
|
|
6
6
|
# skill-family-engineering-kit
|
|
7
7
|
|
|
8
|
-
<!-- release-skill:release-version: 0.
|
|
8
|
+
<!-- release-skill:release-version: 0.12.0 -->
|
|
9
9
|
|
|
10
10
|
开发与 CI 阶段使用的工程工具包。**恰好四个**顶层命令,没有第五个:
|
|
11
11
|
|
|
12
12
|
<!-- release-skill:managed:start id=latest-release -->
|
|
13
|
-
**0.
|
|
13
|
+
**0.12.0** (2026-08-26)
|
|
14
14
|
|
|
15
|
-
Engineering Kit 0.
|
|
15
|
+
Engineering Kit 0.12.0 将受约束真实宿主验证从两个固定内置驱动扩展为五个。
|
|
16
16
|
|
|
17
17
|
**新增**
|
|
18
18
|
|
|
19
|
-
-
|
|
20
|
-
- 增加有限 Profile alias 解析、非 driver 宿主的独立手动 probe fact 和显式本地 install/update 计划;uninstall 仍要求人工恢复。
|
|
21
|
-
- 新增 `verifyHostPeers`,只包装 Harness 的 peer 验证,不增加第五个顶层命令,也不写入 peer 目录。
|
|
19
|
+
- 为 runHostVerification 增加三个固定的内置驱动,保留 Kimi 与 WorkBuddy 的原始字节行为。
|
|
22
20
|
|
|
23
21
|
**变更**
|
|
24
22
|
|
|
25
|
-
-
|
|
26
|
-
-
|
|
23
|
+
- 插件目录驱动使用 plugin-root/skills/skill-id 经典插件布局;JSONL 驱动必须扫描完整事件流后才接受执行结果。
|
|
24
|
+
- 输出的业务含义由消费者判断,严格文本解码仅用于三个新增的文本协议驱动。
|
|
25
|
+
- Qoder 的宿主支持和 Descriptor 成熟度登记为 manual,真实宿主验证能力继续标为 candidate。
|
|
26
|
+
|
|
27
|
+
**修复**
|
|
28
|
+
|
|
29
|
+
- 拒绝畸形协议尾部、文本协议中的非法 UTF-8,以及驱动固定格式之外的版本后缀,避免产生错误的公共成功结果。
|
|
27
30
|
|
|
28
31
|
**升级说明**
|
|
29
32
|
|
|
30
|
-
|
|
33
|
+
三个 Foundation 包须精确锁定到同一 0.12.0 版本。runHostVerification、verifyHostVerificationBindings 入口与请求身份不变。验证复用宿主现有登录态;Foundation 不隔离认证、不固定模型身份、不关闭宿主工具,也不判定领域 PASS/FAIL。Qoder 验证不授予 build、plan、apply、install、update、uninstall 或 rollback 能力。可执行文件摘要仅是启动前观察,成员快照仅覆盖已声明成员的两个观察时点。
|
|
31
34
|
<!-- release-skill:managed:end id=latest-release -->
|
|
32
35
|
|
|
33
36
|
| 命令 | 用途 | 副作用 |
|
|
@@ -48,7 +51,7 @@ Kit 是「工程阶段」层,依赖 Harness 与 Contracts。它只做四件事
|
|
|
48
51
|
## 安装和最小示例
|
|
49
52
|
|
|
50
53
|
```sh
|
|
51
|
-
npm install --save-dev skill-family-engineering-kit@0.
|
|
54
|
+
npm install --save-dev skill-family-engineering-kit@0.12.0
|
|
52
55
|
npm exec -- skill-family-kit --help
|
|
53
56
|
npm exec -- skill-family-kit scaffold --root <empty-dir> --project-id my-project
|
|
54
57
|
npm exec -- skill-family-kit adopt-plan --root <repo>
|
|
@@ -56,7 +59,7 @@ npm exec -- skill-family-kit projection --root <repo>
|
|
|
56
59
|
npm exec -- skill-family-kit check --root <repo>
|
|
57
60
|
```
|
|
58
61
|
|
|
59
|
-
以上四条命令分别覆盖生成骨架、只读盘点、受管投影与诊断;零安装形式可用 `npm exec --package=skill-family-engineering-kit@0.
|
|
62
|
+
以上四条命令分别覆盖生成骨架、只读盘点、受管投影与诊断;零安装形式可用 `npm exec --package=skill-family-engineering-kit@0.12.0 -- skill-family-kit --help`。
|
|
60
63
|
|
|
61
64
|
### 公共 Profile SPI
|
|
62
65
|
|
|
@@ -110,7 +113,23 @@ npm exec -- skill-family-kit scaffold host-build --root <workspace> --host <id>
|
|
|
110
113
|
npm exec -- skill-family-kit adopt-plan host-plan --root <workspace> --host <id> --path-category <id> --build-manifest <relpath> --probe-facts <relpath> --hosts-root <dir>
|
|
111
114
|
```
|
|
112
115
|
|
|
113
|
-
Profile 必须显式提供,Kit 不默认绑定具体宿主。规范宿主 ID 只能解析已登记有限 Profile 中声明的 alias。probe 默认不启动进程;只有同时给出 `--allow-host-spawn --host-executable <绝对路径>` 才执行冻结版本向量。本地 install/update 通过显式授权引用和既有受收容发布原语执行;uninstall 因没有安全的绑定删除原语而返回 `manual-recovery-required`,不删除文件。Claude/Codex 使用受信版本 driver;Kimi Code、WorkBuddy、CodeBuddy 和 DeepSeek Harness
|
|
116
|
+
Profile 必须显式提供,Kit 不默认绑定具体宿主。规范宿主 ID 只能解析已登记有限 Profile 中声明的 alias。probe 默认不启动进程;只有同时给出 `--allow-host-spawn --host-executable <绝对路径>` 才执行冻结版本向量。本地 install/update 通过显式授权引用和既有受收容发布原语执行;uninstall 因没有安全的绑定删除原语而返回 `manual-recovery-required`,不删除文件。Claude/Codex 使用受信版本 driver;Kimi Code、WorkBuddy、CodeBuddy 和 DeepSeek Harness 只提供独立手动事实。Qoder 自 0.12.0 起为 `manual`,候选真实验证不授予生命周期能力。adapter source 只接受已声明的文本闭包,不支持二进制投影;精确宿主支持矩阵见 [宿主能力矩阵](../../docs/reference/host-capability-matrix.md) 与已登记 Profile。
|
|
117
|
+
|
|
118
|
+
### 候选真实宿主验证 API
|
|
119
|
+
|
|
120
|
+
`runHostVerification({ request, bindings, hostsRoot })` 使用固定内置驱动执行一次受约束验证,返回经过 Contracts 校验和脱敏的四态结果。五个驱动覆盖 Kimi、WorkBuddy、Claude Code、Codex exec 和 Qoder CLI,均复用 `existing-user-state + host-managed` 登录态。`verifyHostVerificationBindings({ results, expectedCommon, expectedRequestDigestByHost })` 只组合校验 `observed` 结果,公共字段与请求摘要必须匹配调用方预期。两者都是库 API,不增加第五个 Kit 命令。
|
|
121
|
+
|
|
122
|
+
调用方保留工作负载、领域输出检查、领域 PASS/FAIL、发布新鲜度和发布状态。规范路径 `existingUserStateRoot` 仅投影到子进程环境,Foundation 自身不读取、摘要、修改或清理其中内容,也不授予手动宿主生命周期能力。0.12.0 发布前须完成五个固定驱动的真实验证,发布决定不归该 API。
|
|
123
|
+
|
|
124
|
+
`executableSha256` 只绑定启动前严格读取的字节,进程仍按路径启动;调用方须在版本观察和执行期间独占可执行文件命名空间。Foundation 保留 `session-*` 目录,调用方检查后清理独占的外层 `temporaryRoot`。
|
|
125
|
+
|
|
126
|
+
### 候选真实宿主验证库 API
|
|
127
|
+
|
|
128
|
+
`runHostVerification({ request, bindings, hostsRoot })` 和 `verifyHostVerificationBindings({ results, expectedCommon, expectedRequestDigestByHost })` 是库 API,不是第五个 Kit 命令。前者通过已准入的内置 driver(`kimi-code-print-v1` 或 `workbuddy-codebuddy-print-v1`,均绑定 `existing-user-state + host-managed`),针对调用方绑定的根执行一次候选验证,并返回经过 Contracts 校验的脱敏四态结果;后者是纯函数,只组合 `observed` 结果,并核对共同字段和逐宿主 request digest。
|
|
129
|
+
|
|
130
|
+
该 API 不接管消费者 workload、领域输出检查、领域 PASS/FAIL、发布新鲜度或发布状态。调用方提供 canonical 的 `existingUserStateRoot`;Foundation 只把它投影进子进程环境,不读取、摘要、修改或清理其中内容,也不会因此为 manual Profile 授予 build、plan、apply、install、update 或 uninstall 能力。
|
|
131
|
+
|
|
132
|
+
`executableSha256` 只绑定启动前严格读取到的字节。实际进程仍按 pathname 启动,因此调用方必须在 probe 和正式调用期间独占可执行文件的命名空间。Foundation 保留本次调用的 `session-*` 目录,不按路径删除;调用方检查完成后,统一清理其独占的外层 `temporaryRoot`。
|
|
114
133
|
|
|
115
134
|
## 典型使用场景
|
|
116
135
|
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"kind": "skill-family.host-descriptor",
|
|
4
|
+
"hostId": "claude",
|
|
5
|
+
"displayName": "Claude Code",
|
|
6
|
+
"support": "supported",
|
|
7
|
+
"maturity": "stable",
|
|
8
|
+
"sourceAliases": [
|
|
9
|
+
"claude-code"
|
|
10
|
+
],
|
|
11
|
+
"driverId": "claude-version-v1",
|
|
12
|
+
"adapterFormat": "skill-directory-v1",
|
|
13
|
+
"verification": {
|
|
14
|
+
"driverId": "claude-code-print-v1",
|
|
15
|
+
"authStrategy": "existing-user-state",
|
|
16
|
+
"credentialMutation": "host-managed"
|
|
17
|
+
},
|
|
18
|
+
"pathCategories": [
|
|
19
|
+
{
|
|
20
|
+
"id": "claude-user-skills",
|
|
21
|
+
"role": "skill-root",
|
|
22
|
+
"scope": "user",
|
|
23
|
+
"anchor": "user-home",
|
|
24
|
+
"relPath": ".claude/skills"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"id": "claude-project-skills",
|
|
28
|
+
"role": "skill-root",
|
|
29
|
+
"scope": "project",
|
|
30
|
+
"anchor": "project-root",
|
|
31
|
+
"relPath": ".claude/skills"
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
"probeCapabilities": [
|
|
35
|
+
"cli",
|
|
36
|
+
"version",
|
|
37
|
+
"payload",
|
|
38
|
+
"registry",
|
|
39
|
+
"discover",
|
|
40
|
+
"enabled",
|
|
41
|
+
"reload",
|
|
42
|
+
"smoke",
|
|
43
|
+
"uninstall"
|
|
44
|
+
]
|
|
45
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"kind": "skill-family.host-descriptor",
|
|
4
|
+
"hostId": "codebuddy",
|
|
5
|
+
"displayName": "CodeBuddy",
|
|
6
|
+
"support": "manual",
|
|
7
|
+
"maturity": "manual",
|
|
8
|
+
"sourceAliases": [],
|
|
9
|
+
"pathCategories": [],
|
|
10
|
+
"probeCapabilities": [
|
|
11
|
+
"cli",
|
|
12
|
+
"version",
|
|
13
|
+
"payload",
|
|
14
|
+
"registry",
|
|
15
|
+
"discover",
|
|
16
|
+
"enabled",
|
|
17
|
+
"reload",
|
|
18
|
+
"smoke",
|
|
19
|
+
"uninstall"
|
|
20
|
+
]
|
|
21
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"kind": "skill-family.host-descriptor",
|
|
4
|
+
"hostId": "codex",
|
|
5
|
+
"displayName": "Codex",
|
|
6
|
+
"support": "supported",
|
|
7
|
+
"maturity": "stable",
|
|
8
|
+
"sourceAliases": [
|
|
9
|
+
"openai-codex"
|
|
10
|
+
],
|
|
11
|
+
"driverId": "codex-version-v1",
|
|
12
|
+
"adapterFormat": "skill-directory-v1",
|
|
13
|
+
"verification": {
|
|
14
|
+
"driverId": "codex-exec-v1",
|
|
15
|
+
"authStrategy": "existing-user-state",
|
|
16
|
+
"credentialMutation": "host-managed"
|
|
17
|
+
},
|
|
18
|
+
"pathCategories": [
|
|
19
|
+
{
|
|
20
|
+
"id": "codex-user-skills",
|
|
21
|
+
"role": "skill-root",
|
|
22
|
+
"scope": "user",
|
|
23
|
+
"anchor": "user-home",
|
|
24
|
+
"relPath": ".agents/skills"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"id": "codex-project-skills",
|
|
28
|
+
"role": "skill-root",
|
|
29
|
+
"scope": "project",
|
|
30
|
+
"anchor": "project-root",
|
|
31
|
+
"relPath": ".agents/skills"
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
"probeCapabilities": [
|
|
35
|
+
"cli",
|
|
36
|
+
"version",
|
|
37
|
+
"payload",
|
|
38
|
+
"registry",
|
|
39
|
+
"discover",
|
|
40
|
+
"enabled",
|
|
41
|
+
"reload",
|
|
42
|
+
"smoke",
|
|
43
|
+
"uninstall"
|
|
44
|
+
]
|
|
45
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"kind": "skill-family.host-descriptor",
|
|
4
|
+
"hostId": "deepseek-harness",
|
|
5
|
+
"displayName": "DeepSeek Harness",
|
|
6
|
+
"support": "manual",
|
|
7
|
+
"maturity": "developer-preview",
|
|
8
|
+
"sourceAliases": [
|
|
9
|
+
"dsh"
|
|
10
|
+
],
|
|
11
|
+
"pathCategories": [],
|
|
12
|
+
"probeCapabilities": [
|
|
13
|
+
"cli",
|
|
14
|
+
"version",
|
|
15
|
+
"payload",
|
|
16
|
+
"registry",
|
|
17
|
+
"discover",
|
|
18
|
+
"enabled",
|
|
19
|
+
"reload",
|
|
20
|
+
"smoke",
|
|
21
|
+
"uninstall"
|
|
22
|
+
]
|
|
23
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"kind": "skill-family.host-descriptor",
|
|
4
|
+
"hostId": "kimi-code",
|
|
5
|
+
"displayName": "Kimi Code",
|
|
6
|
+
"support": "manual",
|
|
7
|
+
"maturity": "manual",
|
|
8
|
+
"verification": {
|
|
9
|
+
"driverId": "kimi-code-print-v1",
|
|
10
|
+
"authStrategy": "existing-user-state",
|
|
11
|
+
"credentialMutation": "host-managed"
|
|
12
|
+
},
|
|
13
|
+
"sourceAliases": [
|
|
14
|
+
"kimi"
|
|
15
|
+
],
|
|
16
|
+
"pathCategories": [
|
|
17
|
+
{
|
|
18
|
+
"id": "plugin-adapter-skill-root",
|
|
19
|
+
"role": "skill-root",
|
|
20
|
+
"scope": "project",
|
|
21
|
+
"anchor": "project-root",
|
|
22
|
+
"relPath": "skills"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"probeCapabilities": [
|
|
26
|
+
"cli",
|
|
27
|
+
"version",
|
|
28
|
+
"payload",
|
|
29
|
+
"registry",
|
|
30
|
+
"discover",
|
|
31
|
+
"enabled",
|
|
32
|
+
"reload",
|
|
33
|
+
"smoke",
|
|
34
|
+
"uninstall"
|
|
35
|
+
]
|
|
36
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"kind": "skill-family.host-descriptor",
|
|
4
|
+
"hostId": "qoder",
|
|
5
|
+
"displayName": "Qoder",
|
|
6
|
+
"support": "manual",
|
|
7
|
+
"maturity": "manual",
|
|
8
|
+
"sourceAliases": [],
|
|
9
|
+
"verification": {
|
|
10
|
+
"driverId": "qodercli-print-v1",
|
|
11
|
+
"authStrategy": "existing-user-state",
|
|
12
|
+
"credentialMutation": "host-managed"
|
|
13
|
+
},
|
|
14
|
+
"pathCategories": [],
|
|
15
|
+
"probeCapabilities": [
|
|
16
|
+
"cli",
|
|
17
|
+
"version",
|
|
18
|
+
"payload",
|
|
19
|
+
"registry",
|
|
20
|
+
"discover",
|
|
21
|
+
"enabled",
|
|
22
|
+
"reload",
|
|
23
|
+
"smoke",
|
|
24
|
+
"uninstall"
|
|
25
|
+
]
|
|
26
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"kind": "skill-family.host-descriptor",
|
|
4
|
+
"hostId": "workbuddy",
|
|
5
|
+
"displayName": "WorkBuddy",
|
|
6
|
+
"support": "manual",
|
|
7
|
+
"maturity": "manual",
|
|
8
|
+
"verification": {
|
|
9
|
+
"driverId": "workbuddy-codebuddy-print-v1",
|
|
10
|
+
"authStrategy": "existing-user-state",
|
|
11
|
+
"credentialMutation": "host-managed"
|
|
12
|
+
},
|
|
13
|
+
"sourceAliases": [],
|
|
14
|
+
"pathCategories": [
|
|
15
|
+
{
|
|
16
|
+
"id": "plugin-adapter-skill-root",
|
|
17
|
+
"role": "skill-root",
|
|
18
|
+
"scope": "project",
|
|
19
|
+
"anchor": "project-root",
|
|
20
|
+
"relPath": "skills"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"probeCapabilities": [
|
|
24
|
+
"cli",
|
|
25
|
+
"version",
|
|
26
|
+
"payload",
|
|
27
|
+
"registry",
|
|
28
|
+
"discover",
|
|
29
|
+
"enabled",
|
|
30
|
+
"reload",
|
|
31
|
+
"smoke",
|
|
32
|
+
"uninstall"
|
|
33
|
+
]
|
|
34
|
+
}
|