skill-family-engineering-kit 0.10.0 → 0.11.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 +21 -0
- package/CHANGELOG.zh-CN.md +21 -0
- package/README.md +18 -11
- package/README.zh-CN.md +18 -11
- package/data/hosts/claude/host-descriptor.json +40 -0
- package/data/hosts/codebuddy/host-descriptor.json +21 -0
- package/data/hosts/codex/host-descriptor.json +40 -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 +12 -0
- package/data/hosts/registry.json +13 -0
- package/data/hosts/workbuddy/host-descriptor.json +34 -0
- package/docs/agents/capability-catalog.en.json +6 -6
- package/docs/agents/capability-catalog.json +11 -3
- package/docs/agents/capability-catalog.zh-CN.json +6 -6
- package/docs/architecture/index.html +5 -4
- package/docs/en/recipes/host-profile-integration/index.html +5 -4
- package/docs/integration/audit/index.html +2 -1
- package/docs/integration/audit/version-compatibility/index.html +2 -1
- package/docs/public/status/index.html +3 -3
- package/docs/recipes/host-profile-integration/index.html +5 -4
- package/docs/reference/api/contracts/index.html +44 -1
- package/docs/reference/api/engineering-kit/index.html +21 -15
- 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/src/host-profiles.mjs +47 -13
- package/src/host-verification-drivers.mjs +51 -0
- package/src/host-verification.mjs +662 -0
- package/src/index.mjs +5 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
<!-- release-skill:changelog:start version=0.11.0 locale=en baseline=sha256:108e261312b0838af53184710453fe19f369a9ea10ac5d1fc3e829e919d0f99d -->
|
|
4
|
+
## [0.11.0] - 2026-08-25
|
|
5
|
+
|
|
6
|
+
Engineering Kit 0.11.0 adds a candidate real-host verification API and ships the registered host Profile closure.
|
|
7
|
+
|
|
8
|
+
### Added
|
|
9
|
+
|
|
10
|
+
- Adds runHostVerification for one fresh, bounded Kimi or WorkBuddy invocation reusing the caller's existing login state, and verifyHostVerificationBindings for pure result composition.
|
|
11
|
+
- Recomputes closure and stream digests from raw bytes and keeps private evidence outside the public result.
|
|
12
|
+
- Ships the registered host Profile closure through bundledHostProfilesRoot().
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- Manual Profiles retain their lifecycle restrictions; host verification does not grant build, plan, apply, install, update, uninstall, or rollback support.
|
|
17
|
+
|
|
18
|
+
### Upgrade Notes
|
|
19
|
+
|
|
20
|
+
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.
|
|
21
|
+
<!-- release-skill:changelog:end version=0.11.0 locale=en -->
|
|
22
|
+
|
|
23
|
+
|
|
3
24
|
<!-- release-skill:changelog:start version=0.10.0 locale=en baseline=sha256:fc575df3b8c5f7a0d819090ce9637f8cdc654c277892fe3f14149d5cc1746b24 -->
|
|
4
25
|
## [0.10.0] - 2026-08-24
|
|
5
26
|
|
package/CHANGELOG.zh-CN.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# 变更日志
|
|
2
2
|
|
|
3
|
+
<!-- release-skill:changelog:start version=0.11.0 locale=zh-CN baseline=sha256:5d5852f3fa3c970b4d277600a0886d533e3c883fc72ce144a85a071d1e270771 -->
|
|
4
|
+
## [0.11.0] - 2026-08-25
|
|
5
|
+
|
|
6
|
+
Engineering Kit 0.11.0 增加候选真实宿主验证 API,并随包携带已登记宿主 Profile 闭包。
|
|
7
|
+
|
|
8
|
+
### 新增
|
|
9
|
+
|
|
10
|
+
- 新增 runHostVerification,执行一次 fresh、受约束的 Kimi 或 WorkBuddy 调用(复用调用方现有登录态);新增 verifyHostVerificationBindings,组合结果时只做纯校验。
|
|
11
|
+
- 从原始字节重算闭包和流摘要,并把私有证据留在公共结果之外。
|
|
12
|
+
- 通过 bundledHostProfilesRoot() 携带已登记宿主 Profile 闭包。
|
|
13
|
+
|
|
14
|
+
### 变更
|
|
15
|
+
|
|
16
|
+
- manual Profile 继续保留生命周期限制;宿主验证不会授予 build、plan、apply、install、update、uninstall 或 rollback 能力。
|
|
17
|
+
|
|
18
|
+
### 升级说明
|
|
19
|
+
|
|
20
|
+
0.11.0 宿主验证 API 仍为候选能力,不拥有领域 PASS/FAIL、发布状态或自动登录;不宣称认证状态隔离、凭证未变化、模型身份固定或宿主工具能力已关闭。executableSha256 只是启动前的点时观察,不证明实际执行映像;调用方独占对应命名空间。Foundation 保留 session 目录,调用方检查后清理外层 temporaryRoot。
|
|
21
|
+
<!-- release-skill:changelog:end version=0.11.0 locale=zh-CN -->
|
|
22
|
+
|
|
23
|
+
|
|
3
24
|
<!-- release-skill:changelog:start version=0.10.0 locale=zh-CN baseline=sha256:45180b7a3b60853842cbe3a379da7ff95f1bd1fe832192368ec2c92a813279dc -->
|
|
4
25
|
## [0.10.0] - 2026-08-24
|
|
5
26
|
|
package/README.md
CHANGED
|
@@ -4,29 +4,28 @@
|
|
|
4
4
|
|
|
5
5
|
# skill-family-engineering-kit
|
|
6
6
|
|
|
7
|
-
<!-- release-skill:release-version: 0.
|
|
7
|
+
<!-- release-skill:release-version: 0.11.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.11.0** (2026-08-25)
|
|
13
13
|
|
|
14
|
-
Engineering Kit 0.
|
|
14
|
+
Engineering Kit 0.11.0 adds a candidate real-host verification API and ships the registered host Profile closure.
|
|
15
15
|
|
|
16
16
|
**Added**
|
|
17
17
|
|
|
18
|
-
- Adds
|
|
19
|
-
-
|
|
20
|
-
-
|
|
18
|
+
- Adds runHostVerification for one fresh, bounded Kimi or WorkBuddy invocation reusing the caller's existing login state, and verifyHostVerificationBindings for pure result composition.
|
|
19
|
+
- Recomputes closure and stream digests from raw bytes and keeps private evidence outside the public result.
|
|
20
|
+
- Ships the registered host Profile closure through bundledHostProfilesRoot().
|
|
21
21
|
|
|
22
22
|
**Changed**
|
|
23
23
|
|
|
24
|
-
-
|
|
25
|
-
- Compiles one canonical Quickstart and batch Schema set while mapping historical and canonical IDs to the same standalone validators.
|
|
24
|
+
- Manual Profiles retain their lifecycle restrictions; host verification does not grant build, plan, apply, install, update, uninstall, or rollback support.
|
|
26
25
|
|
|
27
26
|
**Upgrade Notes**
|
|
28
27
|
|
|
29
|
-
|
|
28
|
+
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.
|
|
30
29
|
<!-- release-skill:managed:end id=latest-release -->
|
|
31
30
|
|
|
32
31
|
| Command | Purpose | Side effects |
|
|
@@ -47,7 +46,7 @@ Kit is the "engineering stage" layer, depending on the Harness and Contracts. It
|
|
|
47
46
|
## Installation and Minimal Example
|
|
48
47
|
|
|
49
48
|
```sh
|
|
50
|
-
npm install --save-dev skill-family-engineering-kit@0.
|
|
49
|
+
npm install --save-dev skill-family-engineering-kit@0.11.0
|
|
51
50
|
npm exec -- skill-family-kit --help
|
|
52
51
|
npm exec -- skill-family-kit scaffold --root <empty-dir> --project-id my-project
|
|
53
52
|
npm exec -- skill-family-kit adopt-plan --root <repo>
|
|
@@ -55,7 +54,7 @@ npm exec -- skill-family-kit projection --root <repo>
|
|
|
55
54
|
npm exec -- skill-family-kit check --root <repo>
|
|
56
55
|
```
|
|
57
56
|
|
|
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.
|
|
57
|
+
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.11.0 -- skill-family-kit --help`.
|
|
59
58
|
|
|
60
59
|
### Public Profile SPI
|
|
61
60
|
|
|
@@ -111,6 +110,14 @@ npm exec -- skill-family-kit adopt-plan host-plan --root <workspace> --host <id>
|
|
|
111
110
|
|
|
112
111
|
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 `unsupported`. 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.
|
|
113
112
|
|
|
113
|
+
### Candidate real-host verification library API
|
|
114
|
+
|
|
115
|
+
`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 an admitted built-in driver (`kimi-code-print-v1` or `workbuddy-codebuddy-print-v1`, both bound to `existing-user-state + host-managed`) and returns a Contracts-validated, redacted four-state result. The second is pure and combines only `observed` results with the exact common fields and per-host request digest expected by the caller.
|
|
116
|
+
|
|
117
|
+
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. The Kimi and WorkBuddy real-host publication gates remain a hard publication requirement for 0.11.0.
|
|
118
|
+
|
|
119
|
+
`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`.
|
|
120
|
+
|
|
114
121
|
## Typical Use Cases
|
|
115
122
|
|
|
116
123
|
- New project skeleton: `scaffold` (does not overwrite a non-empty existing repo).
|
package/README.zh-CN.md
CHANGED
|
@@ -5,29 +5,28 @@
|
|
|
5
5
|
|
|
6
6
|
# skill-family-engineering-kit
|
|
7
7
|
|
|
8
|
-
<!-- release-skill:release-version: 0.
|
|
8
|
+
<!-- release-skill:release-version: 0.11.0 -->
|
|
9
9
|
|
|
10
10
|
开发与 CI 阶段使用的工程工具包。**恰好四个**顶层命令,没有第五个:
|
|
11
11
|
|
|
12
12
|
<!-- release-skill:managed:start id=latest-release -->
|
|
13
|
-
**0.
|
|
13
|
+
**0.11.0** (2026-08-25)
|
|
14
14
|
|
|
15
|
-
Engineering Kit 0.
|
|
15
|
+
Engineering Kit 0.11.0 增加候选真实宿主验证 API,并随包携带已登记宿主 Profile 闭包。
|
|
16
16
|
|
|
17
17
|
**新增**
|
|
18
18
|
|
|
19
|
-
- 新增
|
|
20
|
-
-
|
|
21
|
-
-
|
|
19
|
+
- 新增 runHostVerification,执行一次 fresh、受约束的 Kimi 或 WorkBuddy 调用(复用调用方现有登录态);新增 verifyHostVerificationBindings,组合结果时只做纯校验。
|
|
20
|
+
- 从原始字节重算闭包和流摘要,并把私有证据留在公共结果之外。
|
|
21
|
+
- 通过 bundledHostProfilesRoot() 携带已登记宿主 Profile 闭包。
|
|
22
22
|
|
|
23
23
|
**变更**
|
|
24
24
|
|
|
25
|
-
-
|
|
26
|
-
- 只编译一套规范 Quickstart 与批量校验 Schema;历史和规范 ID 指向同一 standalone validator。
|
|
25
|
+
- manual Profile 继续保留生命周期限制;宿主验证不会授予 build、plan、apply、install、update、uninstall 或 rollback 能力。
|
|
27
26
|
|
|
28
27
|
**升级说明**
|
|
29
28
|
|
|
30
|
-
|
|
29
|
+
0.11.0 宿主验证 API 仍为候选能力,不拥有领域 PASS/FAIL、发布状态或自动登录;不宣称认证状态隔离、凭证未变化、模型身份固定或宿主工具能力已关闭。executableSha256 只是启动前的点时观察,不证明实际执行映像;调用方独占对应命名空间。Foundation 保留 session 目录,调用方检查后清理外层 temporaryRoot。
|
|
31
30
|
<!-- release-skill:managed:end id=latest-release -->
|
|
32
31
|
|
|
33
32
|
| 命令 | 用途 | 副作用 |
|
|
@@ -48,7 +47,7 @@ Kit 是「工程阶段」层,依赖 Harness 与 Contracts。它只做四件事
|
|
|
48
47
|
## 安装和最小示例
|
|
49
48
|
|
|
50
49
|
```sh
|
|
51
|
-
npm install --save-dev skill-family-engineering-kit@0.
|
|
50
|
+
npm install --save-dev skill-family-engineering-kit@0.11.0
|
|
52
51
|
npm exec -- skill-family-kit --help
|
|
53
52
|
npm exec -- skill-family-kit scaffold --root <empty-dir> --project-id my-project
|
|
54
53
|
npm exec -- skill-family-kit adopt-plan --root <repo>
|
|
@@ -56,7 +55,7 @@ npm exec -- skill-family-kit projection --root <repo>
|
|
|
56
55
|
npm exec -- skill-family-kit check --root <repo>
|
|
57
56
|
```
|
|
58
57
|
|
|
59
|
-
以上四条命令分别覆盖生成骨架、只读盘点、受管投影与诊断;零安装形式可用 `npm exec --package=skill-family-engineering-kit@0.
|
|
58
|
+
以上四条命令分别覆盖生成骨架、只读盘点、受管投影与诊断;零安装形式可用 `npm exec --package=skill-family-engineering-kit@0.11.0 -- skill-family-kit --help`。
|
|
60
59
|
|
|
61
60
|
### 公共 Profile SPI
|
|
62
61
|
|
|
@@ -112,6 +111,14 @@ npm exec -- skill-family-kit adopt-plan host-plan --root <workspace> --host <id>
|
|
|
112
111
|
|
|
113
112
|
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 为 `unsupported`。adapter source 只接受已声明的文本闭包,不支持二进制投影;精确宿主支持矩阵见 [宿主能力矩阵](../../docs/reference/host-capability-matrix.md) 与已登记 Profile。
|
|
114
113
|
|
|
114
|
+
### 候选真实宿主验证库 API
|
|
115
|
+
|
|
116
|
+
`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。
|
|
117
|
+
|
|
118
|
+
该 API 不接管消费者 workload、领域输出检查、领域 PASS/FAIL、发布新鲜度或发布状态。调用方提供 canonical 的 `existingUserStateRoot`;Foundation 只把它投影进子进程环境,不读取、摘要、修改或清理其中内容,也不会因此为 manual Profile 授予 build、plan、apply、install、update 或 uninstall 能力。
|
|
119
|
+
|
|
120
|
+
`executableSha256` 只绑定启动前严格读取到的字节。实际进程仍按 pathname 启动,因此调用方必须在 probe 和正式调用期间独占可执行文件的命名空间。Foundation 保留本次调用的 `session-*` 目录,不按路径删除;调用方检查完成后,统一清理其独占的外层 `temporaryRoot`。
|
|
121
|
+
|
|
115
122
|
## 典型使用场景
|
|
116
123
|
|
|
117
124
|
- 新项目骨架:`scaffold`(不覆盖非空存量仓)。
|
|
@@ -0,0 +1,40 @@
|
|
|
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
|
+
"pathCategories": [
|
|
14
|
+
{
|
|
15
|
+
"id": "claude-user-skills",
|
|
16
|
+
"role": "skill-root",
|
|
17
|
+
"scope": "user",
|
|
18
|
+
"anchor": "user-home",
|
|
19
|
+
"relPath": ".claude/skills"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"id": "claude-project-skills",
|
|
23
|
+
"role": "skill-root",
|
|
24
|
+
"scope": "project",
|
|
25
|
+
"anchor": "project-root",
|
|
26
|
+
"relPath": ".claude/skills"
|
|
27
|
+
}
|
|
28
|
+
],
|
|
29
|
+
"probeCapabilities": [
|
|
30
|
+
"cli",
|
|
31
|
+
"version",
|
|
32
|
+
"payload",
|
|
33
|
+
"registry",
|
|
34
|
+
"discover",
|
|
35
|
+
"enabled",
|
|
36
|
+
"reload",
|
|
37
|
+
"smoke",
|
|
38
|
+
"uninstall"
|
|
39
|
+
]
|
|
40
|
+
}
|
|
@@ -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,40 @@
|
|
|
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
|
+
"pathCategories": [
|
|
14
|
+
{
|
|
15
|
+
"id": "codex-user-skills",
|
|
16
|
+
"role": "skill-root",
|
|
17
|
+
"scope": "user",
|
|
18
|
+
"anchor": "user-home",
|
|
19
|
+
"relPath": ".agents/skills"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"id": "codex-project-skills",
|
|
23
|
+
"role": "skill-root",
|
|
24
|
+
"scope": "project",
|
|
25
|
+
"anchor": "project-root",
|
|
26
|
+
"relPath": ".agents/skills"
|
|
27
|
+
}
|
|
28
|
+
],
|
|
29
|
+
"probeCapabilities": [
|
|
30
|
+
"cli",
|
|
31
|
+
"version",
|
|
32
|
+
"payload",
|
|
33
|
+
"registry",
|
|
34
|
+
"discover",
|
|
35
|
+
"enabled",
|
|
36
|
+
"reload",
|
|
37
|
+
"smoke",
|
|
38
|
+
"uninstall"
|
|
39
|
+
]
|
|
40
|
+
}
|
|
@@ -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,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"kind": "skill-family.host-descriptor",
|
|
4
|
+
"hostId": "qoder",
|
|
5
|
+
"displayName": "Qoder",
|
|
6
|
+
"support": "unsupported",
|
|
7
|
+
"maturity": "unsupported",
|
|
8
|
+
"sourceAliases": [],
|
|
9
|
+
"unsupportedReason": "No auditable non-interactive host driver is frozen for this release.",
|
|
10
|
+
"pathCategories": [],
|
|
11
|
+
"probeCapabilities": []
|
|
12
|
+
}
|
|
@@ -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
|
+
}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"capabilities": [
|
|
21
21
|
{
|
|
22
22
|
"id": "foundation.contracts.object-validation",
|
|
23
|
-
"intent": "Compile and validate all
|
|
23
|
+
"intent": "Compile and validate all 39 registered top-level Foundation contract object documents under both the draft-07 and 2020-12 dialects using Ajv 8.20.0 (exact pin).",
|
|
24
24
|
"useWhen": [
|
|
25
25
|
"Need to validate registered contract objects such as project-manifest, profile-descriptor, report-model",
|
|
26
26
|
"Need to detect the document dialect and select the strict or tolerant validation policy"
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
"Need to find a kernel protocol definition by protocol name"
|
|
74
74
|
],
|
|
75
75
|
"doNotUseWhen": [
|
|
76
|
-
"Need to add a registered top-level object without an ADR (the
|
|
76
|
+
"Need to add a registered top-level object without an ADR (the 39-object set is fixed)"
|
|
77
77
|
],
|
|
78
78
|
"prerequisites": [
|
|
79
79
|
"registry.json is shipped with the package",
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
],
|
|
96
96
|
"invariants": [
|
|
97
97
|
"registry.json's schemaVersion=1 and contractsVersion=1.10.0 are the single authority",
|
|
98
|
-
"The set of
|
|
98
|
+
"The set of 39 top-level objects is fixed; additions require an ADR"
|
|
99
99
|
],
|
|
100
100
|
"ownedByCaller": [
|
|
101
101
|
"Interpretation of an object's business meaning"
|
|
@@ -1265,7 +1265,7 @@
|
|
|
1265
1265
|
},
|
|
1266
1266
|
{
|
|
1267
1267
|
"id": "foundation.kit.host",
|
|
1268
|
-
"intent": "
|
|
1268
|
+
"intent": "Explicitly select a packaged or caller-provided finite host Profile set and trusted drivers, providing canonical identity resolution, describe/build/probe/plan, bounded local install/update, and read-only peer adapter verification; uninstall remains a manual-recovery refusal.",
|
|
1269
1269
|
"useWhen": [
|
|
1270
1270
|
"Need to resolve a registered host or finite Profile alias",
|
|
1271
1271
|
"Need to probe, build, plan, or locally install/update host integration",
|
|
@@ -1277,7 +1277,7 @@
|
|
|
1277
1277
|
"Need a full Qoder driver (that host is unsupported)"
|
|
1278
1278
|
],
|
|
1279
1279
|
"prerequisites": [
|
|
1280
|
-
"The host Profile is registered in profiles/hosts and aliases are finite",
|
|
1280
|
+
"The host Profile is registered in profiles/hosts and aliases are finite; npm consumers may explicitly select the Kit's packaged projection root",
|
|
1281
1281
|
"Trusted drivers are only claude-version-v1 / codex-version-v1"
|
|
1282
1282
|
],
|
|
1283
1283
|
"inputs": [
|
|
@@ -1947,7 +1947,7 @@
|
|
|
1947
1947
|
],
|
|
1948
1948
|
"invariants": [
|
|
1949
1949
|
"The sole business-neutral operation is execute-method; method identifiers and domain schemas remain consumer-owned",
|
|
1950
|
-
"Candidate schemas remain absent from src/registry.json and do not expand the
|
|
1950
|
+
"Candidate schemas remain absent from src/registry.json and do not expand the 39 stable object classes",
|
|
1951
1951
|
"Stability is candidate: actively upgrading the candidate version requires contract verification",
|
|
1952
1952
|
"Historical entrypoints and eight Schema IDs migrate once; stable promotion requires no further contract-identity change, while obtaining the new published promise still requires exact-pin updates"
|
|
1953
1953
|
],
|
|
@@ -799,12 +799,15 @@
|
|
|
799
799
|
"since": "0.2.0",
|
|
800
800
|
"stability": "unstable",
|
|
801
801
|
"entrypoints": [
|
|
802
|
+
"bundledHostProfilesRoot (packages/skill-family-engineering-kit/src/host-profiles.mjs)",
|
|
802
803
|
"describeHost (packages/skill-family-engineering-kit/src/host-profiles.mjs)",
|
|
803
804
|
"resolveHostId (packages/skill-family-engineering-kit/src/host-profiles.mjs)",
|
|
804
805
|
"loadHostRegistry (packages/skill-family-engineering-kit/src/host-profiles.mjs)",
|
|
805
806
|
"probeHost (packages/skill-family-engineering-kit/src/host.mjs)",
|
|
806
807
|
"buildHostAdapter (packages/skill-family-engineering-kit/src/host.mjs)",
|
|
807
808
|
"verifyHostPeers (packages/skill-family-engineering-kit/src/host.mjs)",
|
|
809
|
+
"runHostVerification (packages/skill-family-engineering-kit/src/host-verification.mjs)",
|
|
810
|
+
"verifyHostVerificationBindings (packages/skill-family-engineering-kit/src/host-verification.mjs)",
|
|
808
811
|
"materializeHostBuild (packages/skill-family-engineering-kit/src/host.mjs)",
|
|
809
812
|
"planHost (packages/skill-family-engineering-kit/src/host.mjs)",
|
|
810
813
|
"assertPlanConsistency (packages/skill-family-engineering-kit/src/host.mjs)",
|
|
@@ -815,13 +818,17 @@
|
|
|
815
818
|
"sourceRefs": [
|
|
816
819
|
"packages/skill-family-engineering-kit/src/host.mjs",
|
|
817
820
|
"packages/skill-family-engineering-kit/src/host-profiles.mjs",
|
|
818
|
-
"packages/skill-family-engineering-kit/src/host-drivers.mjs"
|
|
821
|
+
"packages/skill-family-engineering-kit/src/host-drivers.mjs",
|
|
822
|
+
"packages/skill-family-engineering-kit/src/host-verification.mjs",
|
|
823
|
+
"packages/skill-family-engineering-kit/src/host-verification-drivers.mjs"
|
|
819
824
|
],
|
|
820
825
|
"positiveTestRefs": [
|
|
821
|
-
"packages/skill-family-engineering-kit/test/host.test.mjs"
|
|
826
|
+
"packages/skill-family-engineering-kit/test/host.test.mjs",
|
|
827
|
+
"packages/skill-family-engineering-kit/test/host-verification.test.mjs"
|
|
822
828
|
],
|
|
823
829
|
"negativeTestRefs": [
|
|
824
|
-
"packages/skill-family-engineering-kit/test/host.test.mjs"
|
|
830
|
+
"packages/skill-family-engineering-kit/test/host.test.mjs",
|
|
831
|
+
"packages/skill-family-engineering-kit/test/host-verification.test.mjs"
|
|
825
832
|
]
|
|
826
833
|
},
|
|
827
834
|
{
|
|
@@ -1015,6 +1022,7 @@
|
|
|
1015
1022
|
"since": "0.2.0",
|
|
1016
1023
|
"stability": "unstable",
|
|
1017
1024
|
"entrypoints": [
|
|
1025
|
+
"bundledHostProfilesRoot (packages/skill-family-engineering-kit/src/host-profiles.mjs)",
|
|
1018
1026
|
"describeHost (packages/skill-family-engineering-kit/src/host-profiles.mjs)",
|
|
1019
1027
|
"resolveHostId (packages/skill-family-engineering-kit/src/host-profiles.mjs)"
|
|
1020
1028
|
],
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"capabilities": [
|
|
21
21
|
{
|
|
22
22
|
"id": "foundation.contracts.object-validation",
|
|
23
|
-
"intent": "用 Ajv 8.20.0(精确 pin)在 draft-07 与 2020-12 双方言下编译并校验 Foundation 已登记的全部
|
|
23
|
+
"intent": "用 Ajv 8.20.0(精确 pin)在 draft-07 与 2020-12 双方言下编译并校验 Foundation 已登记的全部 39 类顶层契约对象文档",
|
|
24
24
|
"useWhen": [
|
|
25
25
|
"需要校验 project-manifest、profile-descriptor、report-model 等已登记契约对象",
|
|
26
26
|
"需要探测文档方言并选择 strict 或 tolerant 校验策略"
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
"需要按协议名查找 kernel 协议定义"
|
|
74
74
|
],
|
|
75
75
|
"doNotUseWhen": [
|
|
76
|
-
"需要在没有 ADR 的情况下新增顶层登记对象(
|
|
76
|
+
"需要在没有 ADR 的情况下新增顶层登记对象(39 类对象集已经固定)"
|
|
77
77
|
],
|
|
78
78
|
"prerequisites": [
|
|
79
79
|
"registry.json 已随包发布",
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
],
|
|
96
96
|
"invariants": [
|
|
97
97
|
"registry.json 的 schemaVersion=1、contractsVersion=1.10.0 为唯一权威",
|
|
98
|
-
"
|
|
98
|
+
"39 类顶层对象集合固定,新增需 ADR"
|
|
99
99
|
],
|
|
100
100
|
"ownedByCaller": [
|
|
101
101
|
"对象业务含义的解释"
|
|
@@ -1265,7 +1265,7 @@
|
|
|
1265
1265
|
},
|
|
1266
1266
|
{
|
|
1267
1267
|
"id": "foundation.kit.host",
|
|
1268
|
-
"intent": "
|
|
1268
|
+
"intent": "显式选择随包或调用方提供的有限宿主 Profile 集合与受信 driver,提供规范身份解析、describe/build/probe/plan、受限的本地 install/update 以及只读同级适配器验证;uninstall 始终要求人工恢复",
|
|
1269
1269
|
"useWhen": [
|
|
1270
1270
|
"需要解析已登记宿主或有限 Profile alias",
|
|
1271
1271
|
"需要探测、构建、规划或本地 install/update 宿主接入",
|
|
@@ -1277,7 +1277,7 @@
|
|
|
1277
1277
|
"需要 Qoder 完整 driver(该宿主 unsupported)"
|
|
1278
1278
|
],
|
|
1279
1279
|
"prerequisites": [
|
|
1280
|
-
"宿主 Profile 已在 profiles/hosts 登记,alias
|
|
1280
|
+
"宿主 Profile 已在 profiles/hosts 登记,alias 也必须来自有限集合;npm 消费者可显式选择 Kit 随包投影根",
|
|
1281
1281
|
"受信 driver 仅 claude-version-v1 / codex-version-v1"
|
|
1282
1282
|
],
|
|
1283
1283
|
"inputs": [
|
|
@@ -1947,7 +1947,7 @@
|
|
|
1947
1947
|
],
|
|
1948
1948
|
"invariants": [
|
|
1949
1949
|
"唯一业务中立操作为 execute-method;method 标识与领域 Schema 继续归消费者所有",
|
|
1950
|
-
"候选 Schema 不进入 src/registry.json,也不扩张
|
|
1950
|
+
"候选 Schema 不进入 src/registry.json,也不扩张 39 类稳定对象",
|
|
1951
1951
|
"稳定性为 candidate:主动升级候选版本时须复验合同",
|
|
1952
1952
|
"历史入口和八个 Schema ID 只迁移一次;晋升 stable 不再要求改合同身份,但取得新发布承诺仍须更新精确 pin"
|
|
1953
1953
|
],
|
|
@@ -1994,7 +1994,7 @@ Contracts(结构、协议、错误码、协议名登记)
|
|
|
1994
1994
|
<tbody>
|
|
1995
1995
|
<tr>
|
|
1996
1996
|
<td>Contracts</td>
|
|
1997
|
-
<td>结构、协议、错误码、协议名登记;
|
|
1997
|
+
<td>结构、协议、错误码、协议名登记;39 类顶层对象;9 条 mandatory rule</td>
|
|
1998
1998
|
<td>业务字段语义、领域审计、远端写入、模型生成</td>
|
|
1999
1999
|
</tr>
|
|
2000
2000
|
<tr>
|
|
@@ -2088,6 +2088,7 @@ Contracts(结构、协议、错误码、协议名登记)
|
|
|
2088
2088
|
<li><strong>领域审计</strong>:独立审计消费者拥有语义与最终接受/拒绝;Foundation 只提供确定性审计表面(<code>foundation.unsupported.domain-audit-semantics</code>)。</li>
|
|
2089
2089
|
<li><strong>宿主应用与生命周期</strong>:有限 host identity/alias 解析、独立 probe facts 与本地 install/update 复用既有绑定读取和发布原语;uninstall 因缺少安全绑定删除原语而拒绝并转人工恢复。Qoder 仍为 unsupported,DeepSeek Harness 仅为 developer-preview 身份事实;远端发布、自动信任和消费者 smoke 不在 Foundation(<code>foundation.unsupported.qoder-driver</code>)。</li>
|
|
2090
2090
|
<li><strong>同级适配器只读验证</strong>:Contracts 1.10.0 增加成熟度中立的 request/result;Harness 复用真实根绑定、路径收容、读取、闭包和 manifest,按 peer 归一化后验证共同来源与唯一 <code>SKILL.md</code> mapping;Kit 只提供薄入口。Foundation 不拥有 canonical source,不写目录,不产生 receipt,也不接管旧 manifest 的业务迁移。</li>
|
|
2091
|
+
<li><strong>真实宿主验证</strong>:Contracts 1.11.0 增加 <code>host-verification-request</code> 与 <code>host-verification-result</code>;Harness 在既有 <code>superviseProcess</code> 上提供原始字节 sink,Kit 实现 Kimi 与 WorkBuddy 两个内置 candidate driver(均绑定 <code>existing-user-state + host-managed</code>)的受约束执行、现有用户状态根边界与结果组合。Foundation 不拥有领域输出或发布状态,也不宣称认证状态隔离、凭证未变化、模型身份固定或宿主工具能力已关闭。</li>
|
|
2091
2092
|
</ul>
|
|
2092
2093
|
<h2 id="能力身份与成熟度">能力身份与成熟度<a class="headerlink" href="#能力身份与成熟度" title="Permanent link">¶</a></h2>
|
|
2093
2094
|
<p>能力身份和成熟度是两个维度(FND-ADR-016)。历史 <code>./candidate/**</code> 消费者迁移一次到 0.10.0 提供的规范入口;旧入口
|
|
@@ -2099,7 +2100,7 @@ operation。后续晋升 stable 只提高兼容承诺,不再触发消费者源
|
|
|
2099
2100
|
<h2 id="下一阶段能力线架构-hand-off">下一阶段能力线(架构 hand-off)<a class="headerlink" href="#下一阶段能力线架构-hand-off" title="Permanent link">¶</a></h2>
|
|
2100
2101
|
<p>三条能力线均经 FND-ADR-001 能力纳入门裁决纳入,全部在既有分层内落位:</p>
|
|
2101
2102
|
<ul>
|
|
2102
|
-
<li><strong>宿主接入线</strong>(FND-FR-001/FND-FR-002,FND-ADR-003,FND-ADR-017):Contracts 1.10.0 在既有 stable descriptor/probe/plan/receipt 合同上补足有限成熟度、手动事实与 digest 绑定的操作约束;Harness 复用 source closure、绑定读取、严格发布和原子替换;Kit 注入有限 Profile 与两类受信 driver。0.10.0 提供 describe/build/probe/plan 及受显式授权保护的本地 install/update;uninstall
|
|
2103
|
+
<li><strong>宿主接入线</strong>(FND-FR-001/FND-FR-002,FND-ADR-003,FND-ADR-017):Contracts 1.10.0 在既有 stable descriptor/probe/plan/receipt 合同上补足有限成熟度、手动事实与 digest 绑定的操作约束;Harness 复用 source closure、绑定读取、严格发布和原子替换;Kit 注入有限 Profile 与两类受信 driver。0.10.0 提供 describe/build/probe/plan 及受显式授权保护的本地 install/update;uninstall 保持人工恢复拒绝。0.11.0 追加独立的真实宿主验证候选,登记 Kimi 与 WorkBuddy 两个内置 driver,复用现有登录态。</li>
|
|
2103
2104
|
<li><strong>持久状态底座线</strong>(FND-FR-003,FND-ADR-004):append-only 事件、hash chain、快照与校验恢复;只提供状态底座,状态机、任务节点、重试、终态、记忆等业务语义不纳入 Foundation。</li>
|
|
2104
2105
|
<li><strong>人类报告线</strong>(FND-FR-004,FND-ADR-005):双层合同——机器结果是唯一真源,人类报告由机器结果确定性渲染(Markdown + digest 绑定 + 分级检查),不自由撰写。</li>
|
|
2105
2106
|
<li><strong>有限封闭语义工具线</strong>(FND-ADR-009):基线物化 + contentGuard(摘要不符、物化中途变化、守卫检出均失败关闭)、通用只读 chokepoint(允许根集合 + 可选身份谓词)、策略化表面扫描(策略契约 + 注入式自测)、token 上界估算(确定性领域估算原语,无模型/网络/tokenizer 依赖)、通用上限守卫(复用 state-store 事件账与 token-lock,上限与超限策略由消费者配置)。</li>
|
|
@@ -2107,12 +2108,12 @@ operation。后续晋升 stable 只提高兼容承诺,不再触发消费者源
|
|
|
2107
2108
|
<p>三包结构保持、不拆第四包(FND-ADR-007);制品治理采用 artifact-graph CLI 与版本锁(FND-ADR-006)。</p>
|
|
2108
2109
|
<h2 id="首版预算">首版预算<a class="headerlink" href="#首版预算" title="Permanent link">¶</a></h2>
|
|
2109
2110
|
<ul>
|
|
2110
|
-
<li>顶层 Contracts 对象:
|
|
2111
|
+
<li>顶层 Contracts 对象:39 类(完整清单以 <code>packages/skill-family-contracts/src/registry.json</code> 为唯一真源):project-manifest、profile-descriptor、project-profile(FND-ADR-013,1.7.0 纳入)、managed-file-lock、operation-request、operation-result、migration-manifest、adapter-source、report-model、report-binding、host-descriptor、host-registry、host-capability-fact、host-probe-result、adapter-build-manifest、host-operation-plan、host-operation-receipt、state-event-envelope、state-snapshot-metadata、token-estimate-result、surface-scan-policy、declared-read-surface-result、structured-scan-policy(FND-ADR-010/011)、timeout-policy、watchdog-termination-envelope(FND-ADR-012,append-only 保持 1.5.0)、public-boundary-declaration、platform-difference-registry、observation-scope、profile-adoption-declaration、audit-baseline-pin、token-estimate-record(审计规则裁决与整改 1.6.0 纳入)、source-authority-receipt(1.8.0 纳入)、filesystem-root-binding、fixed-set-publication-manifest、fixed-set-publication-receipt(1.9.0 纳入)、adapter-peer-verification-request、adapter-peer-verification-result(FND-ADR-018,1.10.0 纳入)、host-verification-request、host-verification-result(FND-ADR-019,1.11.0 纳入);</li>
|
|
2111
2112
|
<li>Kit 顶层命令:4 个(scaffold、adopt-plan、projection、check);</li>
|
|
2112
2113
|
<li>强制机械规则:当前 9 条,预算不超过 20 条,绝对上限 30 条;CR-001 对登记表内全部 Schema 做统一编译;</li>
|
|
2113
2114
|
<li>叶子包:3 个(skill-family-contracts、skill-family-harness-node、skill-family-engineering-kit);</li>
|
|
2114
2115
|
<li>Schema 校验器:Ajv 8.20.0(精确版本 pin),支持 draft-07 与 2020-12 双方言;</li>
|
|
2115
|
-
<li>kernel 协议:skill-family.kernel.operation(stable),Contracts 规格版本 1.
|
|
2116
|
+
<li>kernel 协议:skill-family.kernel.operation(stable),Contracts 规格版本 1.11.0;Kernel 文档仍保持 1.8.0 生命周期坐标和字节基线;</li>
|
|
2116
2117
|
<li>默认运行时语言:Node;第二语言实现首版为 0。</li>
|
|
2117
2118
|
</ul>
|
|
2118
2119
|
<p>任何新增组件必须说明删除它会导致的两个以上真实消费者重复实现,并通过独立 fixture 验证。</p>
|