skill-family-engineering-kit 0.24.0 → 0.24.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/CHANGELOG.zh-CN.md +15 -0
- package/README.md +20 -24
- package/README.zh-CN.md +22 -26
- package/docs/public/status/index.html +4 -4
- package/docs/search/search_index.json +1 -1
- package/package.json +3 -3
- package/release-notes/0.24.1.yaml +15 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
<!-- release-skill:changelog:start version=0.24.1 locale=en baseline=sha256:60780ae0d34a8e8fcc016ebb188586876b9c31ceafb0c02a826db8e449e43729 -->
|
|
4
|
+
## [0.24.1] - 2026-10-12
|
|
5
|
+
|
|
6
|
+
Engineering Kit 0.24.1 advances only to keep the existing four-unit lockstep contract for the Foundation documentation patch. It adds no capability, API, Schema, protocol, or mechanism.
|
|
7
|
+
|
|
8
|
+
### Changed
|
|
9
|
+
|
|
10
|
+
- Update only the package coordinate and its managed version projections; existing capabilities, parameters, and failure boundaries remain unchanged.
|
|
11
|
+
|
|
12
|
+
### Upgrade Notes
|
|
13
|
+
|
|
14
|
+
Pin the three Foundation npm packages to the exact same version and keep the independent Plugin at that release version. Contracts specification 1.20.0 remains a separate coordinate from npm package versions. Use the actual published version's public interfaces and sources; this note does not replace post-publish verification.
|
|
15
|
+
<!-- release-skill:changelog:end version=0.24.1 locale=en -->
|
|
16
|
+
|
|
17
|
+
|
|
3
18
|
<!-- release-skill:changelog:start version=0.24.0 locale=en baseline=sha256:ab4ce0e2c0eb82f9d7b97bd2d48a040965596785dab29dd8898dbe5730acd303 -->
|
|
4
19
|
## [0.24.0] - 2026-10-07
|
|
5
20
|
|
package/CHANGELOG.zh-CN.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# 变更日志
|
|
2
2
|
|
|
3
|
+
<!-- release-skill:changelog:start version=0.24.1 locale=zh-CN baseline=sha256:0d0b6cccd46c69014e89efa21677ef015ccd3085f0fd07e8021b364b1c1f47e6 -->
|
|
4
|
+
## [0.24.1] - 2026-10-12
|
|
5
|
+
|
|
6
|
+
Engineering Kit 0.24.1 仅随 Foundation 文档补丁按既有四单元合同锁步前移,没有新增能力、API、Schema、协议或机制。
|
|
7
|
+
|
|
8
|
+
### 变更
|
|
9
|
+
|
|
10
|
+
- 仅更新包版本和相应受管版本派生;现有能力、参数与失败边界保持不变。
|
|
11
|
+
|
|
12
|
+
### 升级说明
|
|
13
|
+
|
|
14
|
+
三个 Foundation npm 包须精确锁定同版,独立插件与三包保持相同发布版本。Contracts 规格仍为 1.20.0,与 npm 包版本分别处理;消费以实际发布版本的公开接口和来源为准,本说明不替代发布后验证。
|
|
15
|
+
<!-- release-skill:changelog:end version=0.24.1 locale=zh-CN -->
|
|
16
|
+
|
|
17
|
+
|
|
3
18
|
<!-- release-skill:changelog:start version=0.24.0 locale=zh-CN baseline=sha256:0ae5e1d34d13be6d56f72e4c77ab44e4d24e0e4d5f562ab424d104795db770eb -->
|
|
4
19
|
## [0.24.0] - 2026-10-07
|
|
5
20
|
|
package/README.md
CHANGED
|
@@ -4,26 +4,22 @@
|
|
|
4
4
|
|
|
5
5
|
# skill-family-engineering-kit
|
|
6
6
|
|
|
7
|
-
<!-- release-skill:release-version: 0.24.
|
|
7
|
+
<!-- release-skill:release-version: 0.24.1 -->
|
|
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.24.
|
|
12
|
+
**0.24.1** (2026-10-12)
|
|
13
13
|
|
|
14
|
-
Engineering Kit 0.24.
|
|
14
|
+
Engineering Kit 0.24.1 advances only to keep the existing four-unit lockstep contract for the Foundation documentation patch. It adds no capability, API, Schema, protocol, or mechanism.
|
|
15
15
|
|
|
16
16
|
**Changed**
|
|
17
17
|
|
|
18
|
-
-
|
|
19
|
-
- The trackedToolLocks mode requires an explicit non-empty files list, supplied with --files in the CLI. Every path must identify an existing ordinary file inside the target. It does not discover tool locks automatically or infer tool semantics from names or content.
|
|
20
|
-
- The same transaction initializes entries when classes.trackedToolLocks is absent, then appends the explicit paths. An existing malformed class or non-array entries is refused before the first write. Other classes remain unchanged.
|
|
21
|
-
- Only .foundation/file-registry.json and skill-family.managed-file-lock.json are updated. Tool-lock content is excluded from managed hashes, so a later provider update does not itself cause managed drift. Existing path, symlink, prior-registration, state-document, and managed-drift refusals remain. A mid-publication failure still exposes publicationState; no atomic rollback of both documents is promised.
|
|
22
|
-
- The package moves to 0.24.0 with the other three units. Contracts stays specification 1.20.0, with no new contract object, Harness mechanism, or report kind. Historical 0.23.1 notes remain unchanged.
|
|
18
|
+
- Update only the package coordinate and its managed version projections; existing capabilities, parameters, and failure boundaries remain unchanged.
|
|
23
19
|
|
|
24
20
|
**Upgrade Notes**
|
|
25
21
|
|
|
26
|
-
Pin
|
|
22
|
+
Pin the three Foundation npm packages to the exact same version and keep the independent Plugin at that release version. Contracts specification 1.20.0 remains a separate coordinate from npm package versions. Use the actual published version's public interfaces and sources; this note does not replace post-publish verification.
|
|
27
23
|
<!-- release-skill:managed:end id=latest-release -->
|
|
28
24
|
|
|
29
25
|
## Governance Check (0.22.0)
|
|
@@ -66,7 +62,7 @@ Kit is the "engineering stage" layer, depending on the Harness and Contracts. It
|
|
|
66
62
|
|
|
67
63
|
## Installation and Minimal Example
|
|
68
64
|
|
|
69
|
-
|
|
65
|
+
This package version is 0.24.1; version 0.24.0 has been formally published. To verify a working tree before formal publication, build all three tarballs into one temporary directory and install those exact files:
|
|
70
66
|
|
|
71
67
|
```sh
|
|
72
68
|
pack_dir="$(mktemp -d)"
|
|
@@ -74,25 +70,25 @@ pack_dir="$(mktemp -d)"
|
|
|
74
70
|
(cd packages/skill-family-harness-node && pnpm pack --pack-destination "$pack_dir")
|
|
75
71
|
(cd packages/skill-family-engineering-kit && pnpm pack --pack-destination "$pack_dir")
|
|
76
72
|
mkdir "$pack_dir/consumer" && (cd "$pack_dir/consumer" && npm init -y)
|
|
77
|
-
(cd "$pack_dir/consumer" && npm install "$pack_dir/skill-family-contracts-0.24.
|
|
73
|
+
(cd "$pack_dir/consumer" && npm install "$pack_dir/skill-family-contracts-0.24.1.tgz" "$pack_dir/skill-family-harness-node-0.24.1.tgz" "$pack_dir/skill-family-engineering-kit-0.24.1.tgz")
|
|
78
74
|
```
|
|
79
75
|
|
|
80
|
-
|
|
76
|
+
The registry installation below requires exact version 0.24.1 to be formally available:
|
|
81
77
|
|
|
82
78
|
```sh
|
|
83
|
-
npm install --save-dev skill-family-engineering-kit@0.24.
|
|
84
|
-
npm exec --package=skill-family-engineering-kit@0.24.
|
|
85
|
-
npm exec --package=skill-family-engineering-kit@0.24.
|
|
86
|
-
npm exec --package=skill-family-engineering-kit@0.24.
|
|
87
|
-
npm exec --package=skill-family-engineering-kit@0.24.
|
|
88
|
-
npm exec --package=skill-family-engineering-kit@0.24.
|
|
79
|
+
npm install --save-dev skill-family-engineering-kit@0.24.1
|
|
80
|
+
npm exec --package=skill-family-engineering-kit@0.24.1 -- skill-family-kit --help
|
|
81
|
+
npm exec --package=skill-family-engineering-kit@0.24.1 -- skill-family-kit scaffold --root <empty-dir> --project-id my-project
|
|
82
|
+
npm exec --package=skill-family-engineering-kit@0.24.1 -- skill-family-kit adopt-plan --root <repo> --list-capabilities --all --scope all --locale en --uses ./uses.json
|
|
83
|
+
npm exec --package=skill-family-engineering-kit@0.24.1 -- skill-family-kit projection --root <repo>
|
|
84
|
+
npm exec --package=skill-family-engineering-kit@0.24.1 -- skill-family-kit check --root <repo>
|
|
89
85
|
```
|
|
90
86
|
|
|
91
|
-
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.24.
|
|
87
|
+
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.24.1 -- skill-family-kit --help`.
|
|
92
88
|
|
|
93
|
-
### Engineering declarations
|
|
89
|
+
### Engineering declarations (available since 0.24.0)
|
|
94
90
|
|
|
95
|
-
The optional `engineering` input
|
|
91
|
+
The optional `engineering` input has been available since `0.24.0`; `0.23.0` does not support it. Use the already selected SDK only after confirming its actual public interfaces and exact lockstep source for all three Foundation packages; candidate verification and post-release adoption are separate facts. Omitting the input preserves existing bytes and paths. `null`, `{}`, unknown fields, and invalid references are rejected.
|
|
96
92
|
|
|
97
93
|
Construct `engineering` from the project's actual business entries and release units. Each `entries` member has `name`, `form`, and `physicalRef`; `form` is either `skill_md` or `file`, and `skill_md` must point to `SKILL.md`. Each `releaseUnits` member has `id` and `versionSource`, with optional `versionMirrors`. A text version reference has `path` and `format: "text"`; a JSON reference has `path`, `format: "json"`, and a non-empty `jsonPointer`. Use actual business version sources, not the private skeleton example package, SDK version, or Profile version. The presence of `package.json` does not establish npm distribution. No separate declaration input file is required.
|
|
98
94
|
|
|
@@ -125,11 +121,11 @@ skill-family-kit projection --root <target> --engineering <JSON>
|
|
|
125
121
|
|
|
126
122
|
If facts are incomplete, report the missing facts. A declaration may contain only `entries` or only `releaseUnits`, but the absent declared-check branch remains `incomplete`. Once the real business and version files exist, use the official managed update and the existing core, declared version, and declared entry checks. Generation, a read-only plan, static checks, formal host discovery, real business execution, independent semantic review, and overall qualification remain separate facts. Omission preserves old behavior; it does not mean declarations are complete.
|
|
127
123
|
|
|
128
|
-
|
|
124
|
+
Since 0.24.0, `runCoreCheck` selects the applicable version-check path from the target declarations: when a target explicitly declares `engineering.releaseUnits`, the core reuses the existing declared reader for `versionSource` and `versionMirrors` (text or JSON), applying the same validation logic. A private `package.json` within the engineering scope is not treated as an implicit source or mirror for that business unit. It is checked for that unit only when explicitly declared. Targets with no version declaration, or only valid `entries`, continue to use the legacy version check. Invalid or duplicate declarations cannot fall back to success. Missing or unreadable declared sources or mirrors fail visibly.
|
|
129
125
|
|
|
130
126
|
The nine-class loop and report assembly are preserved, maintaining Contracts specification-version compatibility and the integrity of the other eight classes. Declared sources, mirrors, and their ancestral paths are included in the preflight check via the original tree enumeration and `lstat` safety validation, including paths inside opaque tooling directories. Only declared paths are probed; no new directory walker is introduced. Symlinks, FIFOs, and unsafe ancestor paths remain rejected under the original rules, including in-root symlinks. Completion status, mechanism failures, and exit codes 0/1/2 are propagated accurately.
|
|
131
127
|
|
|
132
|
-
Public `runChecks` defaults to `policy: "legacy"`. Its original findings and full/only equivalence remain unchanged. Explicit `policy: "declared"` still requires `only: "version"` and preserves its report structure, zero-target execution semantics, and zero-Git boundary. No new public policy value, API, CLI option, Schema definition, or package-root export is added. No checker is copied into the generated target shim.
|
|
128
|
+
Public `runChecks` defaults to `policy: "legacy"`. Its original findings and full/only equivalence remain unchanged. Explicit `policy: "declared"` still requires `only: "version"` and preserves its report structure, zero-target execution semantics, and zero-Git boundary. No new public policy value, API, CLI option, Schema definition, or package-root export is added. No checker is copied into the generated target shim. Local verification does not establish publication readiness, business qualification, or complete initialization. This update reflects only a narrow, targeted change in core behavior for targets with declared versions; standalone `runChecks` retains its documented behavior.
|
|
133
129
|
|
|
134
130
|
### Three adoption journeys
|
|
135
131
|
|
|
@@ -271,7 +267,7 @@ The caller owns workload semantics, candidate-to-payload binding, domain asserti
|
|
|
271
267
|
|
|
272
268
|
Engineering mode retains the originally verified reference snapshots and rechecks them before each actual mutation and after completion; repeated reads cannot replace the baseline. A rejection before the first write performs no restoration writes, and foreign bytes on an output never attempted by this mode are preserved. If an actual output write is attempted and fails, the existing error, verification, and best-effort rollback path restores only outputs this mode actually attempted. This does not promise a transaction for the whole initialization, hostile concurrency, or ABA safety; the existing v2 complete-closure rollback contract remains unchanged.
|
|
273
269
|
- Ordinary `check` is read-only and has no write calls or `--fix/--apply/--repair` modes (such flags are rejected at the entry point). By default it may spawn one frozen read-only Git status probe; the CLI `--no-git-spawn` (or API `allowGitSpawn: false`) disables that probe. `check relock` is the explicit controlled write transaction; `check qualification` may spawn a bound executable after preflight. Git precondition state uses only filesystem facts plus at most one read-only `git status --porcelain=2` with a frozen parameter vector (`--no-optional-locks` + `GIT_OPTIONAL_LOCKS=0`, no index refresh).
|
|
274
|
-
- In the
|
|
270
|
+
- In the declared branch, the two pure check functions remain read-only and do not probe Git. An explicitly requested conclusion is the only added persistent effect and is performed by the two existing wrappers through exclusive creation.
|
|
275
271
|
|
|
276
272
|
## Error Codes and Exit Codes
|
|
277
273
|
|
package/README.zh-CN.md
CHANGED
|
@@ -5,31 +5,27 @@
|
|
|
5
5
|
|
|
6
6
|
# skill-family-engineering-kit
|
|
7
7
|
|
|
8
|
-
<!-- release-skill:release-version: 0.24.
|
|
8
|
+
<!-- release-skill:release-version: 0.24.1 -->
|
|
9
9
|
|
|
10
10
|
开发与 CI 阶段使用的工程工具包。**恰好四个**顶层命令,没有第五个:
|
|
11
11
|
|
|
12
12
|
<!-- release-skill:managed:start id=latest-release -->
|
|
13
|
-
**0.24.
|
|
13
|
+
**0.24.1** (2026-10-12)
|
|
14
14
|
|
|
15
|
-
Engineering Kit 0.24.
|
|
15
|
+
Engineering Kit 0.24.1 仅随 Foundation 文档补丁按既有四单元合同锁步前移,没有新增能力、API、Schema、协议或机制。
|
|
16
16
|
|
|
17
17
|
**变更**
|
|
18
18
|
|
|
19
|
-
-
|
|
20
|
-
- 使用 `trackedToolLocks` 时必须提供非空显式 `files` 清单,CLI 通过 `--files` 指定。每个路径必须指向目标内已存在的普通文件,不支持自动发现工具锁,也不根据文件名或内容推断工具语义。
|
|
21
|
-
- 若原事务中 `classes.trackedToolLocks` 缺省,则在首次写入前初始化其 `entries` 数组,并追加明确指定的路径;若已有类别非合法对象,或 `entries` 非数组类型,则在首写前拒绝操作。其他类别保持不变。
|
|
22
|
-
- 仅更新 `.foundation/file-registry.json` 与 `skill-family.managed-file-lock.json` 两份状态文件。工具锁内容不进入受管摘要,后续由原工具刷新内容不会因此引发受管漂移;路径、符号链接、已登记路径、状态文档及既有受管漂移的拒绝规则继续有效。中途发布失败时仍暴露原始 `publicationState`,不承诺双文件原子回滚。
|
|
23
|
-
- 包版本与其他三单元同步前移至 0.24.0。Contracts 规格仍为 1.20.0,未新增合同对象、Harness 机制或报告种类;0.23.1 中仅锁步前移的历史说明保持原样。
|
|
19
|
+
- 仅更新包版本和相应受管版本派生;现有能力、参数与失败边界保持不变。
|
|
24
20
|
|
|
25
21
|
**升级说明**
|
|
26
22
|
|
|
27
|
-
三个 Foundation npm
|
|
23
|
+
三个 Foundation npm 包须精确锁定同版,独立插件与三包保持相同发布版本。Contracts 规格仍为 1.20.0,与 npm 包版本分别处理;消费以实际发布版本的公开接口和来源为准,本说明不替代发布后验证。
|
|
28
24
|
<!-- release-skill:managed:end id=latest-release -->
|
|
29
25
|
|
|
30
|
-
##
|
|
26
|
+
## 治理检查(0.22.0)
|
|
31
27
|
|
|
32
|
-
|
|
28
|
+
0.22.0 在既有 `check` 命令下增加显式 `declared` 政策。版本检查只读取
|
|
33
29
|
`skill-family.project-manifest.json` 声明的发行单元及其文本或 JSON 版本引用;入口检查只读取
|
|
34
30
|
声明的物理文件。两个分支都不运行目标脚本、Skill、hook、模型,也不先跑未选择的 legacy 检查。
|
|
35
31
|
|
|
@@ -65,7 +61,7 @@ Kit 是「工程阶段」层,依赖 Harness 与 Contracts。它只做四件事
|
|
|
65
61
|
|
|
66
62
|
## 安装和最小示例
|
|
67
63
|
|
|
68
|
-
0.
|
|
64
|
+
本包版本为 0.24.1;0.24.0 已正式发布。验证尚未正式发布的工作树时,先把三个包分别打入同一个临时目录,再安装这三个精确 tarball:
|
|
69
65
|
|
|
70
66
|
```sh
|
|
71
67
|
pack_dir="$(mktemp -d)"
|
|
@@ -73,25 +69,25 @@ pack_dir="$(mktemp -d)"
|
|
|
73
69
|
(cd packages/skill-family-harness-node && pnpm pack --pack-destination "$pack_dir")
|
|
74
70
|
(cd packages/skill-family-engineering-kit && pnpm pack --pack-destination "$pack_dir")
|
|
75
71
|
mkdir "$pack_dir/consumer" && (cd "$pack_dir/consumer" && npm init -y)
|
|
76
|
-
(cd "$pack_dir/consumer" && npm install "$pack_dir/skill-family-contracts-0.
|
|
72
|
+
(cd "$pack_dir/consumer" && npm install "$pack_dir/skill-family-contracts-0.24.1.tgz" "$pack_dir/skill-family-harness-node-0.24.1.tgz" "$pack_dir/skill-family-engineering-kit-0.24.1.tgz")
|
|
77
73
|
```
|
|
78
74
|
|
|
79
|
-
0.
|
|
75
|
+
以下 registry 安装方式以精确版本 0.24.1 已正式可用为前提:
|
|
80
76
|
|
|
81
77
|
```sh
|
|
82
|
-
npm install --save-dev skill-family-engineering-kit@0.
|
|
83
|
-
npm exec --package=skill-family-engineering-kit@0.
|
|
84
|
-
npm exec --package=skill-family-engineering-kit@0.
|
|
85
|
-
npm exec --package=skill-family-engineering-kit@0.
|
|
86
|
-
npm exec --package=skill-family-engineering-kit@0.
|
|
87
|
-
npm exec --package=skill-family-engineering-kit@0.
|
|
78
|
+
npm install --save-dev skill-family-engineering-kit@0.24.1
|
|
79
|
+
npm exec --package=skill-family-engineering-kit@0.24.1 -- skill-family-kit --help
|
|
80
|
+
npm exec --package=skill-family-engineering-kit@0.24.1 -- skill-family-kit scaffold --root <empty-dir> --project-id my-project
|
|
81
|
+
npm exec --package=skill-family-engineering-kit@0.24.1 -- skill-family-kit adopt-plan --root <repo> --list-capabilities --all --scope all --locale zh-CN --uses ./uses.json
|
|
82
|
+
npm exec --package=skill-family-engineering-kit@0.24.1 -- skill-family-kit projection --root <repo>
|
|
83
|
+
npm exec --package=skill-family-engineering-kit@0.24.1 -- skill-family-kit check --root <repo>
|
|
88
84
|
```
|
|
89
85
|
|
|
90
|
-
以上四条命令分别覆盖生成骨架、只读盘点、受管投影与诊断;零安装形式可用 `npm exec --package=skill-family-engineering-kit@0.
|
|
86
|
+
以上四条命令分别覆盖生成骨架、只读盘点、受管投影与诊断;零安装形式可用 `npm exec --package=skill-family-engineering-kit@0.24.1 -- skill-family-kit --help`。
|
|
91
87
|
|
|
92
|
-
###
|
|
88
|
+
### 工程声明调用(自 0.24.0 提供)
|
|
93
89
|
|
|
94
|
-
可选 `engineering`
|
|
90
|
+
可选 `engineering` 参数自 `0.24.0` 提供,`0.23.0` 不支持。使用已选 SDK 前,核对其实际公共接口与三个 Foundation 包的精确锁步来源;候选验证与正式发布后采用分别报告。省略参数保持既有字节和路径;`null`、`{}`、未知字段和非法引用拒绝。无需另建声明输入文件。
|
|
95
91
|
|
|
96
92
|
`engineering` 由调用方依据真实业务入口和发行单元构造。`entries` 每项包含 `name`、`form`、`physicalRef`;`form` 仅为 `skill_md` 或 `file`,前者必须指向 `SKILL.md`。`releaseUnits` 每项包含 `id`、`versionSource`,可选 `versionMirrors`。`versionSource` 为文本或 JSON 引用对象,`versionMirrors` 为引用数组。文本版本引用使用 `path` 和 `format: "text"`;JSON 引用使用 `path`、`format: "json"` 与非空 `jsonPointer`。版本取自真实业务版本源,不取私有骨架示例包、SDK 或 Profile 版本,不因 `package.json` 存在推导 npm 分发。
|
|
97
93
|
|
|
@@ -124,11 +120,11 @@ skill-family-kit projection --root <target> --engineering <JSON>
|
|
|
124
120
|
|
|
125
121
|
事实未齐时具体报告缺项。可以只声明 `entries` 或只声明 `releaseUnits`,但未声明的另一检查分支仍为 `incomplete`。待真实业务和版本文件存在后,使用官方受管更新及既有 core、declared 版本、declared 入口检查。生成、只读计划、静态检查、正式宿主发现、真实业务、独立语义审阅与整体资格分别报告;省略参数保留旧行为,不表示声明已完成。
|
|
126
122
|
|
|
127
|
-
|
|
123
|
+
自 0.24.0 起,公开 `runCoreCheck` 的版本检查按目标声明选择适用路径:目标真实声明 `engineering.releaseUnits` 时,版本类复用已有声明式版本读取逻辑,依据 `versionSource` 与 `versionMirrors` 检查文本或 JSON 格式的版本信息;私有工程的 `package.json` 不自动成为该业务单元的版本源或镜像,仅当被显式声明时方可参与版本认定。对于真正未声明版本、或仅包含合法 `entries` 的目标,仍沿用原有 legacy 版本检查路径。非法或重复的声明不回退为通过;声明的版本源或镜像缺失、不可读时如实失败。
|
|
128
124
|
|
|
129
125
|
核心调度机制保持不变,共用原九类循环与报告流程,保留 Contracts 规格版本一致性检查及其他八类校验。声明的来源、镜像及各祖先路径均需先通过原树枚举与 `lstat` 安全预检,包括原不展开的工具目录;仅探查声明所涉路径,不引入新的目录遍历器。符号链接、FIFO 及其他不安全读集仍按原规则拒绝访问,禁止穿过根内符号链接目录;`completed`、`mechanism` 与 0/1/2 退出码如实传播。
|
|
130
126
|
|
|
131
|
-
|
|
127
|
+
该调整仅涉及公开 core 对已声明版本目标的检查:公共 `runChecks` 缺省行为仍等同于显式 `policy: "legacy"`,涵盖原版本发现及 `full`/`only` 等价逻辑;显式 `policy: "declared"` 仍仅允许 `only: "version"`,维持原报告形式、不执行目标代码、不调用 Git 的边界。未新增任何公共 policy 值、API、CLI 参数、Schema 定义或包根导出,亦不在目标生成 shim 中复制检查逻辑。局部验证不构成正式发布、业务资格或整体初始化完成的证明。
|
|
132
128
|
|
|
133
129
|
### 三条采用旅程
|
|
134
130
|
|
|
@@ -272,7 +268,7 @@ const stdout = result.streams
|
|
|
272
268
|
|
|
273
269
|
工程模式保留原始已核引用快照,在每次实际修改前和完成后重验;重复读取不能替换基线。首写前若发生拒绝,则不执行恢复写入,未尝试输出的外来字节保留。实际尝试写入失败时沿用既有错误、验证与尽力回滚,仅恢复本模式实际尝试的输出路径。不承诺整次初始化事务、恶意并发或 ABA 安全;原 v2 完整闭包回滚合同不变。
|
|
274
270
|
- 普通 `check` 只读且无写调用,也没有 `--fix/--apply/--repair` 模式(此类标志在入口处被拒绝)。默认可能启动一条冻结参数的只读 Git status 探测;CLI 的 `--no-git-spawn`(或 API 的 `allowGitSpawn: false`)可关闭该探测。`check relock` 执行显式受控写事务;`check qualification` 预检通过后可能启动绑定的 executable。Git 前置状态仅用文件系统事实加至多一次冻结参数矢量的只读 `git status --porcelain=2`(`--no-optional-locks` + `GIT_OPTIONAL_LOCKS=0`,不刷新索引)。
|
|
275
|
-
-
|
|
271
|
+
- declared 分支中的两个纯检查函数保持只读,也不探测 Git。只有调用方显式要求结论时,两个既有包装入口才通过独占创建产生本轮唯一新增持久副作用。
|
|
276
272
|
|
|
277
273
|
## 错误码与退出码
|
|
278
274
|
|
|
@@ -1814,24 +1814,24 @@
|
|
|
1814
1814
|
<tbody>
|
|
1815
1815
|
<tr>
|
|
1816
1816
|
<td><code>skill-family-contracts</code></td>
|
|
1817
|
-
<td>0.24.
|
|
1817
|
+
<td>0.24.1</td>
|
|
1818
1818
|
<td><a href="https://github.com/ifoohoo/skill-family-contracts">ifoohoo/skill-family-contracts</a></td>
|
|
1819
1819
|
</tr>
|
|
1820
1820
|
<tr>
|
|
1821
1821
|
<td><code>skill-family-harness-node</code></td>
|
|
1822
|
-
<td>0.24.
|
|
1822
|
+
<td>0.24.1</td>
|
|
1823
1823
|
<td><a href="https://github.com/ifoohoo/skill-family-harness-node">ifoohoo/skill-family-harness-node</a></td>
|
|
1824
1824
|
</tr>
|
|
1825
1825
|
<tr>
|
|
1826
1826
|
<td><code>skill-family-engineering-kit</code></td>
|
|
1827
|
-
<td>0.24.
|
|
1827
|
+
<td>0.24.1</td>
|
|
1828
1828
|
<td><a href="https://github.com/ifoohoo/skill-family-engineering-kit">ifoohoo/skill-family-engineering-kit</a></td>
|
|
1829
1829
|
</tr>
|
|
1830
1830
|
</tbody>
|
|
1831
1831
|
</table>
|
|
1832
1832
|
<h2 id="独立-Plugin">独立 Plugin<a class="headerlink" href="#独立-Plugin" title="Permanent link">¶</a></h2>
|
|
1833
1833
|
<ul>
|
|
1834
|
-
<li><code>foundation-adoption-review</code>:0.24.
|
|
1834
|
+
<li><code>foundation-adoption-review</code>:0.24.1,公开镜像 <a href="https://github.com/ifoohoo/foundation-adoption-review">ifoohoo/foundation-adoption-review</a></li>
|
|
1835
1835
|
<li><code>foundation-adoption-review</code>:只读采用诊断</li>
|
|
1836
1836
|
<li><code>foundation-engineering-check</code>:只读静态工程审阅与证明读取</li>
|
|
1837
1837
|
<li><code>foundation-initialize</code>:在明确授权下初始化目标工程,保留业务和人工判断</li>
|