skill-family-engineering-kit 0.16.0 → 0.17.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 +22 -0
- package/CHANGELOG.zh-CN.md +22 -0
- package/README.md +22 -16
- package/README.zh-CN.md +22 -16
- package/data/capability-catalog/capability-catalog.json +1 -0
- package/data/hosts/codebuddy/host-descriptor.json +5 -0
- package/docs/agents/capability-catalog.json +1 -0
- package/docs/architecture/index.html +7 -6
- package/docs/en/architecture/index.html +6 -5
- package/docs/public/status/index.html +3 -3
- package/docs/reference/api/contracts/index.html +79 -4
- package/docs/reference/api/engineering-kit/index.html +23 -22
- package/docs/search/search_index.json +1 -1
- package/package.json +3 -3
- package/release-notes/0.17.0.yaml +25 -0
- package/src/adopt-plan.mjs +172 -3
- package/src/cli.mjs +54 -2
- package/src/host-verification-drivers.mjs +19 -0
- package/src/host-verification.mjs +38 -2
- package/src/index.mjs +2 -0
- package/src/scaffold.mjs +5 -1
- package/src/skeleton.mjs +64 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
<!-- release-skill:changelog:start version=0.17.0 locale=en baseline=sha256:c09a3edaeab4e9f29527900bff5baaa7f7be185a9270ce81f450fab8ec9fb16f -->
|
|
4
|
+
## [0.17.0] - 2026-09-01
|
|
5
|
+
|
|
6
|
+
Engineering Kit 0.17.0 separates CodeBuddy from WorkBuddy host verification and adds an opt-in structural comparison against a provider-owned engineering baseline.
|
|
7
|
+
|
|
8
|
+
### Added
|
|
9
|
+
|
|
10
|
+
- Adds the codebuddy-print-v1 driver for CodeBuddy project discovery under .codebuddy/skills while preserving the existing workbuddy-codebuddy-print-v1 driver and WorkBuddy layout.
|
|
11
|
+
- Adds describeSkeletonReferenceImplementation and returns its identity from scaffoldTarget.
|
|
12
|
+
- Adds the paired adopt-plan options --engineering-baseline and --compare-skeleton. The result reports reference-only, target-only, entry-type, and file-class differences without declaring compliance, equivalence, severity, or waivers.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- Adds skill-family-kit check entries --root . to the generated public-plugin check script; other profiles keep their existing check command.
|
|
17
|
+
- Keeps host-managed login state, domain acceptance, and real-host qualification under consumer ownership.
|
|
18
|
+
|
|
19
|
+
### Upgrade Notes
|
|
20
|
+
|
|
21
|
+
Pin all three Foundation packages to exactly 0.17.0. CodeBuddy and WorkBuddy are separate host routes even when they consume the same plugin payload. Baseline comparison is read-only and opt-in; the baseline provider still owns rule semantics and publication.
|
|
22
|
+
<!-- release-skill:changelog:end version=0.17.0 locale=en -->
|
|
23
|
+
|
|
24
|
+
|
|
3
25
|
<!-- release-skill:changelog:start version=0.16.0 locale=en baseline=sha256:47c81698bf9458edc28ec1e198e43ad6f961db4249f606426a4b83664872a5d8 -->
|
|
4
26
|
## [0.16.0] - 2026-08-31
|
|
5
27
|
|
package/CHANGELOG.zh-CN.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# 变更日志
|
|
2
2
|
|
|
3
|
+
<!-- release-skill:changelog:start version=0.17.0 locale=zh-CN baseline=sha256:7c413da3ad02837bdd63a1b49a5dc78cefe15a9779a05ce070876f817d09ae65 -->
|
|
4
|
+
## [0.17.0] - 2026-09-01
|
|
5
|
+
|
|
6
|
+
Engineering Kit 0.17.0 将 CodeBuddy 与 WorkBuddy 的宿主验证分开,并新增按需启用的提供方工程基线结构比较。
|
|
7
|
+
|
|
8
|
+
### 新增
|
|
9
|
+
|
|
10
|
+
- 新增 codebuddy-print-v1 driver,按 CodeBuddy 的 .codebuddy/skills 项目目录发现技能;既有 workbuddy-codebuddy-print-v1 driver 与 WorkBuddy 布局保持不变。
|
|
11
|
+
- 新增 describeSkeletonReferenceImplementation,并由 scaffoldTarget 返回该参考骨架身份。
|
|
12
|
+
- adopt-plan 新增须成对使用的 --engineering-baseline 与 --compare-skeleton。结果只报告参考侧独有、目标侧独有、条目类型和文件类别差异,不裁定合规、等价、严重程度或豁免。
|
|
13
|
+
|
|
14
|
+
### 变更
|
|
15
|
+
|
|
16
|
+
- public-plugin 骨架生成的 check 脚本新增 skill-family-kit check entries --root .;其他 Profile 的检查命令保持不变。
|
|
17
|
+
- 宿主管理的登录态、领域验收和真实宿主资格继续归消费者负责。
|
|
18
|
+
|
|
19
|
+
### 升级说明
|
|
20
|
+
|
|
21
|
+
三个 Foundation 包须一起精确锁定到 0.17.0。CodeBuddy 与 WorkBuddy 即使消费同一插件载荷,也必须走独立宿主路由。基线比较只读且按需启用;规则语义与基线发布仍由基线提供方负责。
|
|
22
|
+
<!-- release-skill:changelog:end version=0.17.0 locale=zh-CN -->
|
|
23
|
+
|
|
24
|
+
|
|
3
25
|
<!-- release-skill:changelog:start version=0.16.0 locale=zh-CN baseline=sha256:1db170e8f4ae8ca25301b4e5893d86a0f486218fa75f9bcc0ced2a5eba7d26d6 -->
|
|
4
26
|
## [0.16.0] - 2026-08-31
|
|
5
27
|
|
package/README.md
CHANGED
|
@@ -4,23 +4,29 @@
|
|
|
4
4
|
|
|
5
5
|
# skill-family-engineering-kit
|
|
6
6
|
|
|
7
|
-
<!-- release-skill:release-version: 0.
|
|
7
|
+
<!-- release-skill:release-version: 0.17.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.17.0** (2026-09-01)
|
|
13
13
|
|
|
14
|
-
Engineering Kit 0.
|
|
14
|
+
Engineering Kit 0.17.0 separates CodeBuddy from WorkBuddy host verification and adds an opt-in structural comparison against a provider-owned engineering baseline.
|
|
15
|
+
|
|
16
|
+
**Added**
|
|
17
|
+
|
|
18
|
+
- Adds the codebuddy-print-v1 driver for CodeBuddy project discovery under .codebuddy/skills while preserving the existing workbuddy-codebuddy-print-v1 driver and WorkBuddy layout.
|
|
19
|
+
- Adds describeSkeletonReferenceImplementation and returns its identity from scaffoldTarget.
|
|
20
|
+
- Adds the paired adopt-plan options --engineering-baseline and --compare-skeleton. The result reports reference-only, target-only, entry-type, and file-class differences without declaring compliance, equivalence, severity, or waivers.
|
|
15
21
|
|
|
16
22
|
**Changed**
|
|
17
23
|
|
|
18
|
-
-
|
|
19
|
-
- Keeps host-managed state, domain acceptance, and real-host qualification
|
|
24
|
+
- Adds skill-family-kit check entries --root . to the generated public-plugin check script; other profiles keep their existing check command.
|
|
25
|
+
- Keeps host-managed login state, domain acceptance, and real-host qualification under consumer ownership.
|
|
20
26
|
|
|
21
27
|
**Upgrade Notes**
|
|
22
28
|
|
|
23
|
-
|
|
29
|
+
Pin all three Foundation packages to exactly 0.17.0. CodeBuddy and WorkBuddy are separate host routes even when they consume the same plugin payload. Baseline comparison is read-only and opt-in; the baseline provider still owns rule semantics and publication.
|
|
24
30
|
<!-- release-skill:managed:end id=latest-release -->
|
|
25
31
|
|
|
26
32
|
### Foundation 0.15.0 candidate qualification entries
|
|
@@ -50,7 +56,7 @@ Kit is the "engineering stage" layer, depending on the Harness and Contracts. It
|
|
|
50
56
|
|
|
51
57
|
## Installation and Minimal Example
|
|
52
58
|
|
|
53
|
-
Version 0.
|
|
59
|
+
Version 0.17.0 is a local candidate. Build all three tarballs into one temporary directory and install those exact files for a candidate check:
|
|
54
60
|
|
|
55
61
|
```sh
|
|
56
62
|
pack_dir="$(mktemp -d)"
|
|
@@ -58,21 +64,21 @@ pack_dir="$(mktemp -d)"
|
|
|
58
64
|
(cd packages/skill-family-harness-node && pnpm pack --pack-destination "$pack_dir")
|
|
59
65
|
(cd packages/skill-family-engineering-kit && pnpm pack --pack-destination "$pack_dir")
|
|
60
66
|
mkdir "$pack_dir/consumer" && (cd "$pack_dir/consumer" && npm init -y)
|
|
61
|
-
(cd "$pack_dir/consumer" && npm install "$pack_dir/skill-family-contracts-0.
|
|
67
|
+
(cd "$pack_dir/consumer" && npm install "$pack_dir/skill-family-contracts-0.17.0.tgz" "$pack_dir/skill-family-harness-node-0.17.0.tgz" "$pack_dir/skill-family-engineering-kit-0.17.0.tgz")
|
|
62
68
|
```
|
|
63
69
|
|
|
64
70
|
After publication, use the registry coordinate:
|
|
65
71
|
|
|
66
72
|
```sh
|
|
67
|
-
npm install --save-dev skill-family-engineering-kit@0.
|
|
68
|
-
npm exec --package=skill-family-engineering-kit@0.
|
|
69
|
-
npm exec --package=skill-family-engineering-kit@0.
|
|
70
|
-
npm exec --package=skill-family-engineering-kit@0.
|
|
71
|
-
npm exec --package=skill-family-engineering-kit@0.
|
|
72
|
-
npm exec --package=skill-family-engineering-kit@0.
|
|
73
|
+
npm install --save-dev skill-family-engineering-kit@0.17.0
|
|
74
|
+
npm exec --package=skill-family-engineering-kit@0.17.0 -- skill-family-kit --help
|
|
75
|
+
npm exec --package=skill-family-engineering-kit@0.17.0 -- skill-family-kit scaffold --root <empty-dir> --project-id my-project
|
|
76
|
+
npm exec --package=skill-family-engineering-kit@0.17.0 -- skill-family-kit adopt-plan --root <repo> --list-capabilities --all --scope all --locale en --uses ./uses.json
|
|
77
|
+
npm exec --package=skill-family-engineering-kit@0.17.0 -- skill-family-kit projection --root <repo>
|
|
78
|
+
npm exec --package=skill-family-engineering-kit@0.17.0 -- skill-family-kit check --root <repo>
|
|
73
79
|
```
|
|
74
80
|
|
|
75
|
-
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.
|
|
81
|
+
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.17.0 -- skill-family-kit --help`.
|
|
76
82
|
|
|
77
83
|
### Three adoption journeys
|
|
78
84
|
|
|
@@ -291,4 +297,4 @@ The candidate `runPluginVerification({ request, bindings, hostsRoot })` preserve
|
|
|
291
297
|
|
|
292
298
|
The separate `runSkillFamilyDirectoryVerification({ request, bindings })` entry fixes the Kimi production argv and narrow environment and rejects caller observation. Its raw parser is exercised through the production process path, but no controlled fixture event is promoted to `observed`; without an official typed mapping, the public result remains `indeterminate` and a manual candidate.
|
|
293
299
|
|
|
294
|
-
Version 0.
|
|
300
|
+
Version 0.17.0 is a local source candidate and is not published. Consume the three locally verified tarballs; a version marker, unit test or successful install is not complete contract integration, migration completion, or real-host qualification.
|
package/README.zh-CN.md
CHANGED
|
@@ -5,23 +5,29 @@
|
|
|
5
5
|
|
|
6
6
|
# skill-family-engineering-kit
|
|
7
7
|
|
|
8
|
-
<!-- release-skill:release-version: 0.
|
|
8
|
+
<!-- release-skill:release-version: 0.17.0 -->
|
|
9
9
|
|
|
10
10
|
开发与 CI 阶段使用的工程工具包。**恰好四个**顶层命令,没有第五个:
|
|
11
11
|
|
|
12
12
|
<!-- release-skill:managed:start id=latest-release -->
|
|
13
|
-
**0.
|
|
13
|
+
**0.17.0** (2026-09-01)
|
|
14
14
|
|
|
15
|
-
Engineering Kit 0.
|
|
15
|
+
Engineering Kit 0.17.0 将 CodeBuddy 与 WorkBuddy 的宿主验证分开,并新增按需启用的提供方工程基线结构比较。
|
|
16
|
+
|
|
17
|
+
**新增**
|
|
18
|
+
|
|
19
|
+
- 新增 codebuddy-print-v1 driver,按 CodeBuddy 的 .codebuddy/skills 项目目录发现技能;既有 workbuddy-codebuddy-print-v1 driver 与 WorkBuddy 布局保持不变。
|
|
20
|
+
- 新增 describeSkeletonReferenceImplementation,并由 scaffoldTarget 返回该参考骨架身份。
|
|
21
|
+
- adopt-plan 新增须成对使用的 --engineering-baseline 与 --compare-skeleton。结果只报告参考侧独有、目标侧独有、条目类型和文件类别差异,不裁定合规、等价、严重程度或豁免。
|
|
16
22
|
|
|
17
23
|
**变更**
|
|
18
24
|
|
|
19
|
-
-
|
|
20
|
-
-
|
|
25
|
+
- public-plugin 骨架生成的 check 脚本新增 skill-family-kit check entries --root .;其他 Profile 的检查命令保持不变。
|
|
26
|
+
- 宿主管理的登录态、领域验收和真实宿主资格继续归消费者负责。
|
|
21
27
|
|
|
22
28
|
**升级说明**
|
|
23
29
|
|
|
24
|
-
|
|
30
|
+
三个 Foundation 包须一起精确锁定到 0.17.0。CodeBuddy 与 WorkBuddy 即使消费同一插件载荷,也必须走独立宿主路由。基线比较只读且按需启用;规则语义与基线发布仍由基线提供方负责。
|
|
25
31
|
<!-- release-skill:managed:end id=latest-release -->
|
|
26
32
|
|
|
27
33
|
### Foundation 0.15.0 candidate 资格入口
|
|
@@ -51,7 +57,7 @@ Kit 是「工程阶段」层,依赖 Harness 与 Contracts。它只做四件事
|
|
|
51
57
|
|
|
52
58
|
## 安装和最小示例
|
|
53
59
|
|
|
54
|
-
0.
|
|
60
|
+
0.17.0 是本地候选版本。候选验证先把三个包分别打入同一个临时目录,再安装这三个精确 tarball:
|
|
55
61
|
|
|
56
62
|
```sh
|
|
57
63
|
pack_dir="$(mktemp -d)"
|
|
@@ -59,21 +65,21 @@ pack_dir="$(mktemp -d)"
|
|
|
59
65
|
(cd packages/skill-family-harness-node && pnpm pack --pack-destination "$pack_dir")
|
|
60
66
|
(cd packages/skill-family-engineering-kit && pnpm pack --pack-destination "$pack_dir")
|
|
61
67
|
mkdir "$pack_dir/consumer" && (cd "$pack_dir/consumer" && npm init -y)
|
|
62
|
-
(cd "$pack_dir/consumer" && npm install "$pack_dir/skill-family-contracts-0.
|
|
68
|
+
(cd "$pack_dir/consumer" && npm install "$pack_dir/skill-family-contracts-0.17.0.tgz" "$pack_dir/skill-family-harness-node-0.17.0.tgz" "$pack_dir/skill-family-engineering-kit-0.17.0.tgz")
|
|
63
69
|
```
|
|
64
70
|
|
|
65
71
|
发布后再使用 registry 坐标:
|
|
66
72
|
|
|
67
73
|
```sh
|
|
68
|
-
npm install --save-dev skill-family-engineering-kit@0.
|
|
69
|
-
npm exec --package=skill-family-engineering-kit@0.
|
|
70
|
-
npm exec --package=skill-family-engineering-kit@0.
|
|
71
|
-
npm exec --package=skill-family-engineering-kit@0.
|
|
72
|
-
npm exec --package=skill-family-engineering-kit@0.
|
|
73
|
-
npm exec --package=skill-family-engineering-kit@0.
|
|
74
|
+
npm install --save-dev skill-family-engineering-kit@0.17.0
|
|
75
|
+
npm exec --package=skill-family-engineering-kit@0.17.0 -- skill-family-kit --help
|
|
76
|
+
npm exec --package=skill-family-engineering-kit@0.17.0 -- skill-family-kit scaffold --root <empty-dir> --project-id my-project
|
|
77
|
+
npm exec --package=skill-family-engineering-kit@0.17.0 -- skill-family-kit adopt-plan --root <repo> --list-capabilities --all --scope all --locale zh-CN --uses ./uses.json
|
|
78
|
+
npm exec --package=skill-family-engineering-kit@0.17.0 -- skill-family-kit projection --root <repo>
|
|
79
|
+
npm exec --package=skill-family-engineering-kit@0.17.0 -- skill-family-kit check --root <repo>
|
|
74
80
|
```
|
|
75
81
|
|
|
76
|
-
以上四条命令分别覆盖生成骨架、只读盘点、受管投影与诊断;零安装形式可用 `npm exec --package=skill-family-engineering-kit@0.
|
|
82
|
+
以上四条命令分别覆盖生成骨架、只读盘点、受管投影与诊断;零安装形式可用 `npm exec --package=skill-family-engineering-kit@0.17.0 -- skill-family-kit --help`。
|
|
77
83
|
|
|
78
84
|
### 三条采用旅程
|
|
79
85
|
|
|
@@ -292,4 +298,4 @@ Foundation 本身不发起网络请求,但绑定的 executable 仍可能联网
|
|
|
292
298
|
|
|
293
299
|
独立入口 `runSkillFamilyDirectoryVerification({ request, bindings })` 固定 Kimi 生产 argv 与窄环境,并拒绝调用方 observation。原始 parser 通过生产进程路径验证,但受控 fixture 事件不会被提升为 `observed`;缺少官方 typed mapping 时,公共结果保持 `indeterminate` 和 manual candidate。
|
|
294
300
|
|
|
295
|
-
0.
|
|
301
|
+
0.17.0 为本地源码候选,尚未发布。消费本地已验证的三包 tarball;版本标记、单元测试或安装成功都不等于契约接入完成、迁移完成或真实宿主资格。
|
|
@@ -702,6 +702,7 @@
|
|
|
702
702
|
"entrypoints": [
|
|
703
703
|
"scaffoldTarget (packages/skill-family-engineering-kit/src/scaffold.mjs)",
|
|
704
704
|
"describeSkeletonFiles (packages/skill-family-engineering-kit/src/skeleton.mjs)",
|
|
705
|
+
"describeSkeletonReferenceImplementation (packages/skill-family-engineering-kit/src/skeleton.mjs)",
|
|
705
706
|
"normalizeSkeletonInputs (packages/skill-family-engineering-kit/src/skeleton.mjs)"
|
|
706
707
|
],
|
|
707
708
|
"sourceRefs": [
|
|
@@ -5,6 +5,11 @@
|
|
|
5
5
|
"displayName": "CodeBuddy",
|
|
6
6
|
"support": "manual",
|
|
7
7
|
"maturity": "manual",
|
|
8
|
+
"verification": {
|
|
9
|
+
"driverId": "codebuddy-print-v1",
|
|
10
|
+
"authStrategy": "existing-user-state",
|
|
11
|
+
"credentialMutation": "host-managed"
|
|
12
|
+
},
|
|
8
13
|
"sourceAliases": [],
|
|
9
14
|
"pathCategories": [],
|
|
10
15
|
"probeCapabilities": [
|
|
@@ -702,6 +702,7 @@
|
|
|
702
702
|
"entrypoints": [
|
|
703
703
|
"scaffoldTarget (packages/skill-family-engineering-kit/src/scaffold.mjs)",
|
|
704
704
|
"describeSkeletonFiles (packages/skill-family-engineering-kit/src/skeleton.mjs)",
|
|
705
|
+
"describeSkeletonReferenceImplementation (packages/skill-family-engineering-kit/src/skeleton.mjs)",
|
|
705
706
|
"normalizeSkeletonInputs (packages/skill-family-engineering-kit/src/skeleton.mjs)"
|
|
706
707
|
],
|
|
707
708
|
"sourceRefs": [
|
|
@@ -1980,6 +1980,7 @@ Contracts(结构、协议、错误码、协议名登记)
|
|
|
1980
1980
|
- release-skill 发布状态与全部远端写入,不进入 Foundation
|
|
1981
1981
|
- Artifact Graph `artifacts/` 架构制品体系,门禁为 check:artifacts
|
|
1982
1982
|
</code></pre>
|
|
1983
|
+
<p>同一 Git workspace 还包含 <code>packages/foundation-adoption-review/</code>。它是一个独立的 0.1.0 Plugin release unit 和公开镜像源,使用 Foundation 的公开事实,但不属于 Contracts → Harness → Engineering Kit 依赖链,也不计作 Foundation 的第四个机制包。该 Plugin 的公开闭包由自己的 release unit 白名单限定;根目录的计划、制品、测试和其他私有文档不会进入 Plugin 镜像。</p>
|
|
1983
1984
|
<p>箭头指向被依赖方。公共核心不得反向依赖具体 Profile 或具体技能族;新能力的依赖方向落位见 <code>artifacts/design/FND-DES-001.md</code>,逐资产归属见 FND-ADR-002。</p>
|
|
1984
1985
|
<h2 id="职责矩阵">职责矩阵<a class="headerlink" href="#职责矩阵" title="Permanent link">¶</a></h2>
|
|
1985
1986
|
<p>每个分层只承担下表列出的职责,越界能力一律由外部项目或消费者拥有。</p>
|
|
@@ -1994,7 +1995,7 @@ Contracts(结构、协议、错误码、协议名登记)
|
|
|
1994
1995
|
<tbody>
|
|
1995
1996
|
<tr>
|
|
1996
1997
|
<td>Contracts</td>
|
|
1997
|
-
<td>结构、协议、错误码、协议名登记;
|
|
1998
|
+
<td>结构、协议、错误码、协议名登记;46 类顶层对象;9 条 mandatory rule</td>
|
|
1998
1999
|
<td>业务字段语义、领域审计、远端写入、模型生成</td>
|
|
1999
2000
|
</tr>
|
|
2000
2001
|
<tr>
|
|
@@ -2086,9 +2087,9 @@ Contracts(结构、协议、错误码、协议名登记)
|
|
|
2086
2087
|
<li><strong>任务生命周期</strong>:loop-agent 拥有任务、重试、返工、验收;Foundation 不含 workflow 状态机(<code>foundation.unsupported.business-state-machine</code>)。</li>
|
|
2087
2088
|
<li><strong>制品治理</strong>:artifact-graph 拥有 <code>artifacts/</code> 关系合同与版本锁,门禁为 <code>check:artifacts</code>。</li>
|
|
2088
2089
|
<li><strong>领域审计</strong>:独立审计消费者拥有语义与最终接受/拒绝;Foundation 只提供确定性审计表面(<code>foundation.unsupported.domain-audit-semantics</code>)。</li>
|
|
2089
|
-
<li><strong>宿主应用与生命周期</strong
|
|
2090
|
+
<li><strong>宿主应用与生命周期</strong>:宿主拥有自身语义与生命周期行为;Foundation 只统一结构性差异,提供有限 host identity/alias 解析、受收容本地投影、绑定读取、原子写入和固定 driver 的受约束验证。只有 Descriptor 的 <code>support=supported</code> 时,<code>planHost</code> 才可能产出 <code>status=planned</code> 的 install/update 计划;Qoder 等 <code>support=manual</code> 宿主返回空的 <code>status=manual</code> 计划,<code>applyHostPlan</code> 对该计划返回 <code>rejected</code> 与 <code>publicationState=not-attempted</code>。<code>applyHostPlan</code> 只执行 <code>status=planned</code> 的计划;install/update 仍须摘要绑定、已验证 build 和显式授权,uninstall 返回 <code>manual-recovery-required</code> 且不删除文件。真实宿主验证使用六个封闭内置 driver,按固定参数执行 fresh、受约束调用,并复用 <code>existing-user-state + host-managed</code>。技能族(调用方)根据基础设施观察和业务答案解释业务结果并作最终领域验收。Qoder 的 Descriptor 为 <code>manual</code>,<code>qodercli-print-v1</code> 是 <code>candidate</code> 真实验证 driver;WorkBuddy 与 CodeBuddy 各用独立 driver 和发现布局。真实用户环境中的发布后插件发现、安装、更新、marketplace 与发布状态由 release-skill 管理。</li>
|
|
2090
2091
|
<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
|
|
2092
|
+
<li><strong>真实宿主验证</strong>:Contracts 1.11.0 增加 <code>host-verification-request</code> 与 <code>host-verification-result</code>;Harness 在既有 <code>superviseProcess</code> 上提供原始字节 sink,Kit 维护六个封闭内置 candidate driver:其中包含 <code>qodercli-print-v1</code>、WorkBuddy 与 CodeBuddy 各自独立的 driver,以及另外三个已登记 driver。调用方创建、提供并独占本次验证所需的 fresh roots,完成检查后清理其独占的外层 <code>temporaryRoot</code>;Foundation 只在该根下创建并保留受跟踪的 session root。Foundation 校验 canonical/fresh 路径、路径收容、根重叠隔离、摘要与 Descriptor/driver 绑定,再按固定参数执行受约束调用;这些路径检查是路径边界,不是 OS sandbox。调用方根据基础设施观察和业务答案作最终领域验收。WorkBuddy 与 CodeBuddy 的 driver、发现目录和工作目录保持独立。Foundation 返回基础设施观察结果,不拥有领域输出、发布状态或真实用户环境中的插件发布后行为,也不宣称认证状态隔离、凭证未变化、模型身份固定或宿主工具能力已关闭。</li>
|
|
2092
2093
|
</ul>
|
|
2093
2094
|
<h2 id="能力身份与成熟度">能力身份与成熟度<a class="headerlink" href="#能力身份与成熟度" title="Permanent link">¶</a></h2>
|
|
2094
2095
|
<p>能力身份和成熟度是两个维度(FND-ADR-016)。历史 <code>./candidate/**</code> 消费者迁移一次到 0.10.0 提供的规范入口;旧入口
|
|
@@ -2100,15 +2101,15 @@ operation。后续晋升 stable 只提高兼容承诺,不再触发消费者源
|
|
|
2100
2101
|
<h2 id="下一阶段能力线架构-hand-off">下一阶段能力线(架构 hand-off)<a class="headerlink" href="#下一阶段能力线架构-hand-off" title="Permanent link">¶</a></h2>
|
|
2101
2102
|
<p>三条能力线均经 FND-ADR-001 能力纳入门裁决纳入,全部在既有分层内落位:</p>
|
|
2102
2103
|
<ul>
|
|
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
|
|
2104
|
+
<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。只有 <code>support=supported</code> 的 Descriptor 才能让 <code>planHost</code> 产出 <code>status=planned</code> 的 install/update 计划;manual 宿主得到空的 <code>status=manual</code> 计划,<code>applyHostPlan</code> 返回 <code>rejected</code> / <code>not-attempted</code>。现有公共 API 保留 <code>planHost</code> / <code>applyHostPlan</code>,planned 计划仍须摘要绑定、已验证 build 和显式授权。真实宿主验证由调用方创建并独占 fresh roots,Foundation 校验 canonical/fresh、收容、重叠隔离、摘要与 Descriptor/driver 绑定并按固定参数调用;调用方根据基础设施观察和业务答案作最终领域验收。Qoder 的 Descriptor 为 <code>manual</code>,<code>qodercli-print-v1</code> 为 <code>candidate</code> 真实验证 driver;WorkBuddy 与 CodeBuddy 使用独立 driver 和发现布局。真实用户环境的发布后插件发现、安装、更新、marketplace 与发布状态由 release-skill 管理。</li>
|
|
2104
2105
|
<li><strong>持久状态底座线</strong>(FND-FR-003,FND-ADR-004):append-only 事件、hash chain、快照与校验恢复;只提供状态底座,状态机、任务节点、重试、终态、记忆等业务语义不纳入 Foundation。</li>
|
|
2105
2106
|
<li><strong>人类报告线</strong>(FND-FR-004,FND-ADR-005):双层合同——机器结果是唯一真源,人类报告由机器结果确定性渲染(Markdown + digest 绑定 + 分级检查),不自由撰写。</li>
|
|
2106
2107
|
<li><strong>有限封闭语义工具线</strong>(FND-ADR-009):基线物化 + contentGuard(摘要不符、物化中途变化、守卫检出均失败关闭)、通用只读 chokepoint(允许根集合 + 可选身份谓词)、策略化表面扫描(策略契约 + 注入式自测)、token 上界估算(确定性领域估算原语,无模型/网络/tokenizer 依赖)、通用上限守卫(复用 state-store 事件账与 token-lock,上限与超限策略由消费者配置)。</li>
|
|
2107
2108
|
</ul>
|
|
2108
|
-
<p
|
|
2109
|
+
<p>三包机制结构保持、不拆第四个机制包(FND-ADR-007);同一 workspace 内的独立 Plugin release unit 不改变这条依赖链。制品治理采用 artifact-graph CLI 与版本锁(FND-ADR-006)。</p>
|
|
2109
2110
|
<h2 id="首版预算">首版预算<a class="headerlink" href="#首版预算" title="Permanent link">¶</a></h2>
|
|
2110
2111
|
<ul>
|
|
2111
|
-
<li>顶层 Contracts 对象:
|
|
2112
|
+
<li>顶层 Contracts 对象:46 类(完整清单以 <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 纳入)、plugin-verification-request、plugin-verification-result、filesystem-tree-observation(FND-ADR-021,1.13.0 纳入)、executable-identity-observation、skill-family-directory-verification-request、skill-family-directory-verification-result、engineering-baseline;</li>
|
|
2112
2113
|
<li>Kit 顶层命令:4 个(scaffold、adopt-plan、projection、check);</li>
|
|
2113
2114
|
<li>强制机械规则:当前 9 条,预算不超过 20 条,绝对上限 30 条;CR-001 对登记表内全部 Schema 做统一编译;</li>
|
|
2114
2115
|
<li>叶子包:3 个(skill-family-contracts、skill-family-harness-node、skill-family-engineering-kit);</li>
|
|
@@ -1980,6 +1980,7 @@ Horizontal (attachment surfaces, no new vertical layers):
|
|
|
1980
1980
|
- release-skill release state and all remote writes; does not enter Foundation
|
|
1981
1981
|
- Artifact Graph the `artifacts/` architecture artifact system; its gate is check:artifacts
|
|
1982
1982
|
</code></pre>
|
|
1983
|
+
<p>The same Git workspace also contains <code>packages/foundation-adoption-review/</code>. It is an independent 0.1.0 Plugin release unit and public-mirror source. It consumes Foundation's public facts, but it is not part of the Contracts → Harness → Engineering Kit dependency chain and does not count as a fourth Foundation mechanism package. Its public closure is restricted by that release unit's own allowlist; the root's private plans, artifacts, tests, and other documents do not enter the Plugin mirror.</p>
|
|
1983
1984
|
<p>Arrows point to the depended-upon party. The public core must not depend in reverse on a concrete Profile or a concrete skill family; where a new capability's dependency direction lands is specified in <code>artifacts/design/FND-DES-001.md</code>, and asset-by-asset ownership is in FND-ADR-002.</p>
|
|
1984
1985
|
<h2 id="Responsibility-Matrix">Responsibility Matrix<a class="headerlink" href="#Responsibility-Matrix" title="Permanent link">¶</a></h2>
|
|
1985
1986
|
<p>Each layer assumes only the responsibilities listed below; out-of-scope capabilities are owned by external projects or consumers.</p>
|
|
@@ -1994,7 +1995,7 @@ Horizontal (attachment surfaces, no new vertical layers):
|
|
|
1994
1995
|
<tbody>
|
|
1995
1996
|
<tr>
|
|
1996
1997
|
<td>Contracts</td>
|
|
1997
|
-
<td>Structure, protocols, error codes, protocol-name registry;
|
|
1998
|
+
<td>Structure, protocols, error codes, protocol-name registry; 46 top-level object kinds; 9 mandatory rules</td>
|
|
1998
1999
|
<td>Business-field semantics, domain auditing, remote writes, model generation</td>
|
|
1999
2000
|
</tr>
|
|
2000
2001
|
<tr>
|
|
@@ -2088,7 +2089,7 @@ Carries limited domain semantics? ──yes──▶ finite closed semantics: co
|
|
|
2088
2089
|
<li><strong>Task lifecycle</strong>: owned by loop-agent (tasks, retries, rework, acceptance); Foundation contains no workflow state machine (<code>foundation.unsupported.business-state-machine</code>).</li>
|
|
2089
2090
|
<li><strong>Artifact governance</strong>: artifact-graph owns the <code>artifacts/</code> relationship contract and version-lock; its gate is <code>check:artifacts</code>.</li>
|
|
2090
2091
|
<li><strong>Domain auditing</strong>: an independent audit consumer owns the semantics and final accept/reject; Foundation provides only a deterministic audit surface (<code>foundation.unsupported.domain-audit-semantics</code>).</li>
|
|
2091
|
-
<li><strong>Host
|
|
2092
|
+
<li><strong>Host application and lifecycle</strong>: Hosts own their semantics and lifecycle behavior. Foundation only unifies structural differences through bounded host identity/alias resolution, contained local projection, bound reads, atomic writes, and fixed-driver constrained verification. Only a Descriptor with <code>support=supported</code> can make <code>planHost</code> produce an install/update plan with <code>status=planned</code>; a <code>support=manual</code> host such as Qoder receives an empty <code>status=manual</code> plan, and <code>applyHostPlan</code> returns <code>rejected</code> with <code>publicationState=not-attempted</code> for it. <code>applyHostPlan</code> executes only <code>status=planned</code> plans; install/update still requires digest binding, a verified build, and explicit authorization, while uninstall returns <code>manual-recovery-required</code> without deleting files. Real-host verification uses six closed built-in drivers with fixed-argument, fresh, constrained calls and <code>existing-user-state + host-managed</code>. The skill family (caller) interprets business results and performs final domain acceptance from infrastructure observations and business answers. Qoder's Descriptor is <code>manual</code>, and <code>qodercli-print-v1</code> is a <code>candidate</code> real-verification driver. WorkBuddy and CodeBuddy use separate drivers and discovery layouts. Post-publish plugin discovery, installation, updates, marketplace operations, and release state in real user environments are managed by release-skill.</li>
|
|
2092
2093
|
</ul>
|
|
2093
2094
|
<h2 id="Capability-Identity-and-Maturity">Capability Identity and Maturity<a class="headerlink" href="#Capability-Identity-and-Maturity" title="Permanent link">¶</a></h2>
|
|
2094
2095
|
<p>Capability identity and maturity are separate dimensions (FND-ADR-016). Consumers of historical <code>./candidate/**</code> entrypoints migrate once to the canonical entrypoints introduced in 0.10.0, while the old entrypoints remain same-source compatibility surfaces during deprecation. Capabilities introduced from 0.10.0 onward use their final canonical entrypoint, Schema <code>$id</code>, and operation from the first candidate release. Stable promotion changes the compatibility promise only and does not trigger another source or contract-identity migration. A consumer must still update all three exact package pins to obtain a newly published stable promise. Existing package-identity, source-digest, and provenance bindings continue to determine whether a Bundle rebuild is required; the maturity label does not add a separate rebuild condition.</p>
|
|
@@ -2096,15 +2097,15 @@ Carries limited domain semantics? ──yes──▶ finite closed semantics: co
|
|
|
2096
2097
|
<h2 id="Next-Phase-Capability-Lines-Architecture-Hand-off">Next-Phase Capability Lines (Architecture Hand-off)<a class="headerlink" href="#Next-Phase-Capability-Lines-Architecture-Hand-off" title="Permanent link">¶</a></h2>
|
|
2097
2098
|
<p>All three capability lines were included via the FND-ADR-001 capability admission-gate adjudication and all land within the existing layers:</p>
|
|
2098
2099
|
<ul>
|
|
2099
|
-
<li><strong>Host-access line</strong> (FND-FR-001/FND-FR-002/FND-FR-008/FND-FR-009): Contracts registers descriptor/source/manifest/probe/plan/receipt and peer-verification request/result; Harness implements generic source closure, atomic build/materialize, probe classification, and read-only peer verification; Kit injects the concrete Profile and
|
|
2100
|
+
<li><strong>Host-access line</strong> (FND-FR-001/FND-FR-002/FND-FR-008/FND-FR-009): Contracts registers descriptor/source/manifest/probe/plan/receipt and peer-verification request/result; Harness implements generic source closure, contained local projection, atomic build/materialize, probe classification, and read-only peer verification; Kit injects the concrete Profile and six closed built-in drivers, including <code>qodercli-print-v1</code>, separate WorkBuddy and CodeBuddy drivers, and three other registered drivers. Only a Descriptor with <code>support=supported</code> can yield an install/update plan with <code>status=planned</code>; manual hosts receive an empty <code>status=manual</code> plan, and <code>applyHostPlan</code> returns <code>rejected</code> / <code>not-attempted</code>. The public API retains <code>planHost</code> / <code>applyHostPlan</code>; a planned install/update still requires digest binding, a verified build, and explicit authorization, while uninstall remains non-destructive and requires manual recovery. Callers create, provide, and exclusively own the fresh roots and clean up their outer <code>temporaryRoot</code>; Foundation creates and retains only the tracked session root beneath it. Foundation validates canonical/fresh paths, containment, overlap isolation, digest and Descriptor/driver binding, then runs the fixed-argument constrained call. These path checks are boundaries, not an OS sandbox. Callers use the infrastructure observations and business answers for final domain acceptance. Qoder's Descriptor is <code>manual</code>, and <code>qodercli-print-v1</code> is a <code>candidate</code> real-verification driver; WorkBuddy and CodeBuddy keep separate drivers and discovery layouts. Post-publish plugin discovery, installation, updates, marketplace operations, and release state in real user environments remain release-skill responsibilities.</li>
|
|
2100
2101
|
<li><strong>Durable state-substrate line</strong> (FND-FR-003, FND-ADR-004): append-only events, hash chain, snapshots, and verification recovery; provides only the state substrate, not business semantics such as state machines, task nodes, retries, terminal states, or memory.</li>
|
|
2101
2102
|
<li><strong>Human-report line</strong> (FND-FR-004, FND-ADR-005): a two-layer contract — machine results are the sole source of truth, and the human report is deterministically rendered from machine results (Markdown + digest binding + graded checks), not freely authored.</li>
|
|
2102
2103
|
<li><strong>Finite-closed-semantics tools line</strong> (FND-ADR-009): baseline materialization + contentGuard (digest mismatch, mid-materialization change, and guard rejection all fail closed), generic read chokepoint (allowed-root set + optional identity predicate), strategy-driven surface scan (policy contract + injection self-test), token upper-bound estimation (deterministic estimation primitive with no model/network/tokenizer dependency), and a generic upper-bound guard (reusing the state-store event ledger and token-lock; the bound and over-limit policy are consumer-configured).</li>
|
|
2103
2104
|
</ul>
|
|
2104
|
-
<p>The three-package structure is preserved and a fourth package is not split out (FND-ADR-007);
|
|
2105
|
+
<p>The three mechanism-package structure is preserved and a fourth mechanism package is not split out (FND-ADR-007); the independent Plugin release unit in the same workspace does not change this dependency chain. Artifact governance uses the artifact-graph CLI and version-lock (FND-ADR-006).</p>
|
|
2105
2106
|
<h2 id="First-Version-Budget">First-Version Budget<a class="headerlink" href="#First-Version-Budget" title="Permanent link">¶</a></h2>
|
|
2106
2107
|
<ul>
|
|
2107
|
-
<li>Top-level Contracts objects:
|
|
2108
|
+
<li>Top-level Contracts objects: 46 kinds, including <code>plugin-verification-request</code>, <code>plugin-verification-result</code>, <code>filesystem-tree-observation</code>, <code>executable-identity-observation</code>, <code>skill-family-directory-verification-request</code>, <code>skill-family-directory-verification-result</code>, and <code>engineering-baseline</code>, with <code>packages/skill-family-contracts/src/registry.json</code> as the sole source of truth;</li>
|
|
2108
2109
|
<li>Kit top-level commands: 4 (scaffold, adopt-plan, projection, check);</li>
|
|
2109
2110
|
<li>Mandatory mechanical rules: currently 9, budget not exceeding 20, absolute ceiling 30; CR-001 uniformly compiles all Schemas within the registry;</li>
|
|
2110
2111
|
<li>Leaf packages: 3 (skill-family-contracts, skill-family-harness-node, skill-family-engineering-kit);</li>
|
|
@@ -1792,17 +1792,17 @@
|
|
|
1792
1792
|
<tbody>
|
|
1793
1793
|
<tr>
|
|
1794
1794
|
<td><code>skill-family-contracts</code></td>
|
|
1795
|
-
<td>0.
|
|
1795
|
+
<td>0.17.0</td>
|
|
1796
1796
|
<td><a href="https://github.com/ifoohoo/skill-family-contracts">ifoohoo/skill-family-contracts</a></td>
|
|
1797
1797
|
</tr>
|
|
1798
1798
|
<tr>
|
|
1799
1799
|
<td><code>skill-family-harness-node</code></td>
|
|
1800
|
-
<td>0.
|
|
1800
|
+
<td>0.17.0</td>
|
|
1801
1801
|
<td><a href="https://github.com/ifoohoo/skill-family-harness-node">ifoohoo/skill-family-harness-node</a></td>
|
|
1802
1802
|
</tr>
|
|
1803
1803
|
<tr>
|
|
1804
1804
|
<td><code>skill-family-engineering-kit</code></td>
|
|
1805
|
-
<td>0.
|
|
1805
|
+
<td>0.17.0</td>
|
|
1806
1806
|
<td><a href="https://github.com/ifoohoo/skill-family-engineering-kit">ifoohoo/skill-family-engineering-kit</a></td>
|
|
1807
1807
|
</tr>
|
|
1808
1808
|
</tbody>
|
|
@@ -933,6 +933,34 @@
|
|
|
933
933
|
</ul>
|
|
934
934
|
</nav>
|
|
935
935
|
|
|
936
|
+
</li>
|
|
937
|
+
|
|
938
|
+
<li class="md-nav__item">
|
|
939
|
+
<a href="#工程基线-foundationcontractsengineering-baseline" class="md-nav__link">
|
|
940
|
+
<span class="md-ellipsis">
|
|
941
|
+
|
|
942
|
+
工程基线 (foundation.contracts.engineering-baseline)
|
|
943
|
+
|
|
944
|
+
</span>
|
|
945
|
+
</a>
|
|
946
|
+
|
|
947
|
+
<nav class="md-nav" aria-label="工程基线 (foundation.contracts.engineering-baseline)">
|
|
948
|
+
<ul class="md-nav__list">
|
|
949
|
+
|
|
950
|
+
<li class="md-nav__item">
|
|
951
|
+
<a href="#validateEngineeringBaseline--describeEngineeringBaseline" class="md-nav__link">
|
|
952
|
+
<span class="md-ellipsis">
|
|
953
|
+
|
|
954
|
+
validateEngineeringBaseline / describeEngineeringBaseline
|
|
955
|
+
|
|
956
|
+
</span>
|
|
957
|
+
</a>
|
|
958
|
+
|
|
959
|
+
</li>
|
|
960
|
+
|
|
961
|
+
</ul>
|
|
962
|
+
</nav>
|
|
963
|
+
|
|
936
964
|
</li>
|
|
937
965
|
|
|
938
966
|
<li class="md-nav__item">
|
|
@@ -2295,6 +2323,34 @@
|
|
|
2295
2323
|
</ul>
|
|
2296
2324
|
</nav>
|
|
2297
2325
|
|
|
2326
|
+
</li>
|
|
2327
|
+
|
|
2328
|
+
<li class="md-nav__item">
|
|
2329
|
+
<a href="#工程基线-foundationcontractsengineering-baseline" class="md-nav__link">
|
|
2330
|
+
<span class="md-ellipsis">
|
|
2331
|
+
|
|
2332
|
+
工程基线 (foundation.contracts.engineering-baseline)
|
|
2333
|
+
|
|
2334
|
+
</span>
|
|
2335
|
+
</a>
|
|
2336
|
+
|
|
2337
|
+
<nav class="md-nav" aria-label="工程基线 (foundation.contracts.engineering-baseline)">
|
|
2338
|
+
<ul class="md-nav__list">
|
|
2339
|
+
|
|
2340
|
+
<li class="md-nav__item">
|
|
2341
|
+
<a href="#validateEngineeringBaseline--describeEngineeringBaseline" class="md-nav__link">
|
|
2342
|
+
<span class="md-ellipsis">
|
|
2343
|
+
|
|
2344
|
+
validateEngineeringBaseline / describeEngineeringBaseline
|
|
2345
|
+
|
|
2346
|
+
</span>
|
|
2347
|
+
</a>
|
|
2348
|
+
|
|
2349
|
+
</li>
|
|
2350
|
+
|
|
2351
|
+
</ul>
|
|
2352
|
+
</nav>
|
|
2353
|
+
|
|
2298
2354
|
</li>
|
|
2299
2355
|
|
|
2300
2356
|
<li class="md-nav__item">
|
|
@@ -2415,12 +2471,13 @@
|
|
|
2415
2471
|
<li><a href="#fixture-校验-foundationcontractsfixture-verification">fixture 校验</a> → <code>listFixtures</code> / <code>verifyFixture</code> / <code>verifyAllFixtures</code></li>
|
|
2416
2472
|
<li><a href="#错误码-foundationcontractserror-codes">错误码</a> → <code>ContractsError</code> / <code>isRegisteredErrorCode</code> / <code>stableError</code></li>
|
|
2417
2473
|
<li><a href="#审计表面-foundationcontractsaudit-surface">审计表面</a> → <code>canonicalJson</code> / <code>digestDocument</code> / <code>digestAuditSurface</code></li>
|
|
2474
|
+
<li><a href="#工程基线-foundationcontractsengineering-baseline">工程基线</a> → <code>validateEngineeringBaseline</code> / <code>describeEngineeringBaseline</code></li>
|
|
2418
2475
|
<li><a href="#同级适配器验证合同-foundationcontractspeer-adapter-verification">同级适配器验证合同</a> → request/result Schema</li>
|
|
2419
2476
|
<li><a href="#真实宿主验证合同-foundationcontractshost-verification">真实宿主验证合同</a> → request/result Schema</li>
|
|
2420
2477
|
<li><a href="#完整插件验证合同-foundationcontractsplugin-verification">完整插件验证合同</a> → request/result Schema</li>
|
|
2421
2478
|
<li><a href="#技能族目录验证合同-foundationcontractsskill-family-directory-verification">技能族目录验证合同</a> → request/result Schema</li>
|
|
2422
2479
|
</ul>
|
|
2423
|
-
<p>包级常量(冻结,仅作事实投影,不另立权威):<code>CONTRACT_OBJECTS</code>(
|
|
2480
|
+
<p>包级常量(冻结,仅作事实投影,不另立权威):<code>CONTRACT_OBJECTS</code>(46 类顶层对象,闭集)、<code>CONTRACT_BOUNDARY</code>、<code>CONTRACTS_VERSION = "1.16.0"</code>、<code>SUPPORTED_DIALECTS</code>、<code>VALIDATION_POLICIES</code>、<code>CHECK_TYPES</code>(9 类机械检查)、<code>MANDATORY_RULES</code>、<code>RULE_BUDGET</code>、<code>ERROR_CODES</code>。</p>
|
|
2424
2481
|
<hr />
|
|
2425
2482
|
<h2 id="对象校验-foundationcontractsobject-validation">对象校验 (foundation.contracts.object-validation)<a class="headerlink" href="#对象校验-foundationcontractsobject-validation" title="Permanent link">¶</a></h2>
|
|
2426
2483
|
<h3 id="validateDocument">validateDocument<a class="headerlink" href="#validateDocument" title="Permanent link">¶</a></h3>
|
|
@@ -2505,7 +2562,7 @@
|
|
|
2505
2562
|
<li>纯函数:是。</li>
|
|
2506
2563
|
<li>副作用:无。</li>
|
|
2507
2564
|
<li>稳定错误码与 <code>details.kind</code>:登记类冲突经 <code>registerSchema</code> / <code>registerProtocol</code> 抛 <code>SFC1003</code>(<code>DUPLICATE_SCHEMA_ID</code>)/ <code>SFC1004</code>(<code>DUPLICATE_PROTOCOL_NAME</code>)。</li>
|
|
2508
|
-
<li>前置条件与信任锚:<code>registry.json</code> 随包发布;<code>schemaVersion=1</code>、<code>contractsVersion=1.
|
|
2565
|
+
<li>前置条件与信任锚:<code>registry.json</code> 随包发布;<code>schemaVersion=1</code>、<code>contractsVersion=1.16.0</code> 为唯一权威;登记表含 46 类 Schema 与 1 个 Kernel Protocol,新增需 ADR。</li>
|
|
2509
2566
|
<li><code>since</code> / <code>stability</code>:<code>0.2.0</code> / <code>stable</code>。</li>
|
|
2510
2567
|
<li>源文件:<code>packages/skill-family-contracts/src/registry.mjs</code>、<code>registry.json</code>。</li>
|
|
2511
2568
|
<li>正例/负例测试:<code>packages/skill-family-contracts/test/registry.test.mjs</code>。</li>
|
|
@@ -2521,7 +2578,7 @@
|
|
|
2521
2578
|
<li>纯函数:是(仅返回复制后的内存对象)。</li>
|
|
2522
2579
|
<li>副作用:无文件、进程、Git、网络或持久化副作用。</li>
|
|
2523
2580
|
<li>稳定错误码与 <code>details.kind</code>:<code>SFC1003</code>(重复 <code>$id</code>)、<code>SFC1004</code>(重复协议名)。</li>
|
|
2524
|
-
<li>前置条件与信任锚:登记表含
|
|
2581
|
+
<li>前置条件与信任锚:登记表含 46 类 Schema 与 1 个 Kernel Protocol,新增需 ADR。</li>
|
|
2525
2582
|
<li><code>since</code> / <code>stability</code>:<code>0.2.0</code> / <code>stable</code>。</li>
|
|
2526
2583
|
<li>源文件:同上。</li>
|
|
2527
2584
|
<li>正例/负例测试:同上。</li>
|
|
@@ -2733,6 +2790,22 @@
|
|
|
2733
2790
|
<li>正例/负例测试:<code>packages/skill-family-contracts/test/audit-surface.test.mjs</code>。</li>
|
|
2734
2791
|
<li>调用方仍拥有的业务语义:审计语义结论(接受/拒绝属外部独立审阅)。</li>
|
|
2735
2792
|
</ul>
|
|
2793
|
+
<hr />
|
|
2794
|
+
<h2 id="工程基线-foundationcontractsengineering-baseline">工程基线 (foundation.contracts.engineering-baseline)<a class="headerlink" href="#工程基线-foundationcontractsengineering-baseline" title="Permanent link">¶</a></h2>
|
|
2795
|
+
<h3 id="validateEngineeringBaseline--describeEngineeringBaseline">validateEngineeringBaseline / describeEngineeringBaseline<a class="headerlink" href="#validateEngineeringBaseline--describeEngineeringBaseline" title="Permanent link">¶</a></h3>
|
|
2796
|
+
<ul>
|
|
2797
|
+
<li>签名:<code>validateEngineeringBaseline(baseline)</code>;<code>describeEngineeringBaseline({ provider, id, version, canonicalRuleRefs, referenceImplementation })</code>。</li>
|
|
2798
|
+
<li>输入:闭合的 <code>skill-family.engineering-baseline</code> 文档,或构造该文档所需的提供方身份、已排序规则谱系引用和 Foundation 参考骨架身份。<code>referenceImplementation</code> 只含 <code>foundationVersion</code>、<code>profile</code> 与 <code>skeletonDigest</code>。</li>
|
|
2799
|
+
<li>输出:校验入口返回既有 <code>{ valid, errorCode, errors, data }</code> 结果;构造入口按规则 ID 排序、计算去掉 <code>digest</code> 字段后的规范 JSON 摘要,并返回深度冻结的文档。</li>
|
|
2800
|
+
<li>纯函数:是。只复用 Contracts 的 Schema 校验、惰性 JSON 预检、<code>digestDocument()</code> 与进程内编译缓存。</li>
|
|
2801
|
+
<li>副作用:无文件、进程、Git 或网络副作用;不读取基线提供方的包、仓库或规则文件。</li>
|
|
2802
|
+
<li>稳定错误码与 <code>details.kind</code>:结构、重复规则 ID、非确定性顺序或摘要不一致返回或抛出 <code>SFC1001</code>;未知 Schema 仍按通用校验规则返回 <code>SFC1002</code>。</li>
|
|
2803
|
+
<li>前置条件与信任锚:Schema <code>$id</code> 为 <code>https://contracts.skill-family.example/v1/engineering-baseline.json</code>;<code>canonicalRuleRefs</code> 至少一项,按 <code>id</code> 唯一且升序;<code>digest</code> 必须绑定文档自身。</li>
|
|
2804
|
+
<li><code>since</code> / <code>stability</code>:<code>0.17.0</code> / <code>stable</code>。</li>
|
|
2805
|
+
<li>源文件:<code>packages/skill-family-contracts/src/engineering-baseline.mjs</code>、<code>src/schemas/engineering-baseline.schema.json</code>。</li>
|
|
2806
|
+
<li>正例/负例测试:<code>packages/skill-family-contracts/test/engineering-baseline.test.mjs</code>、<code>schemas.test.mjs</code>。</li>
|
|
2807
|
+
<li>调用方仍拥有的业务语义:基线提供方负责规则正文、规则效果、等价关系、豁免和正式基线发布。Foundation 不解释这些语义,也不宣称 Audit 已经发布正式基线;依赖方向保持为基线提供方依赖 Foundation。</li>
|
|
2808
|
+
</ul>
|
|
2736
2809
|
<h2 id="同级适配器验证合同-foundationcontractspeer-adapter-verification">同级适配器验证合同 (foundation.contracts.peer-adapter-verification)<a class="headerlink" href="#同级适配器验证合同-foundationcontractspeer-adapter-verification" title="Permanent link">¶</a></h2>
|
|
2737
2810
|
<p>Contracts 1.10.0 登记 <code>adapter-peer-verification-request</code> 与
|
|
2738
2811
|
<code>adapter-peer-verification-result</code> 两个稳定 Schema。request 至少包含两个显式 peer;每个 peer
|
|
@@ -2758,7 +2831,9 @@ peer 顺序不得改变共同闭包摘要或结论;未知字段、重复/缺
|
|
|
2758
2831
|
stream 或 durable receipt;<code>observed</code> 只表示基础设施观察完整,不表示消费者领域 PASS。<code>requiredActions</code> 只允许
|
|
2759
2832
|
<code>manual-temporary-root-inspection-required</code>。</li>
|
|
2760
2833
|
<li>request auth 必须精确对应已登记 Descriptor 的单值 <code>driverId/authStrategy/credentialMutation</code>;Descriptor 是认证组合的
|
|
2761
|
-
|
|
2834
|
+
唯一事实源。Schema 分别绑定 <code>kimi-code → kimi-code-print-v1</code>、<code>workbuddy → workbuddy-codebuddy-print-v1</code>、
|
|
2835
|
+
<code>codebuddy → codebuddy-print-v1</code>、<code>claude → claude-code-print-v1</code>、<code>codex → codex-exec-v1</code> 与
|
|
2836
|
+
<code>qoder → qodercli-print-v1</code>,CodeBuddy 与 WorkBuddy 的路由不可互换。
|
|
2762
2837
|
Schema 不提供通用 driver Registry 或认证 SPI。</li>
|
|
2763
2838
|
<li><code>since</code> / <code>stability</code>:<code>0.11.0</code> / <code>candidate</code>。Schema 文件:
|
|
2764
2839
|
<code>packages/skill-family-contracts/src/schemas/host-verification-request.schema.json</code>、
|