skill-family-engineering-kit 0.8.4 → 0.9.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 +20 -0
- package/CHANGELOG.zh-CN.md +20 -0
- package/README.md +13 -10
- package/README.zh-CN.md +13 -10
- package/candidate/profile-bundle.mjs +104 -1
- package/docs/architecture/index.html +3 -3
- package/docs/integration/audit/index.html +2 -1
- package/docs/integration/audit/mutation-taxonomy/index.html +1 -1
- package/docs/integration/audit/version-compatibility/index.html +3 -2
- package/docs/public/status/index.html +3 -3
- package/docs/reference/api/contracts/index.html +32 -1
- package/docs/reference/api/engineering-kit/index.html +1 -1
- package/docs/reference/api/harness/index.html +140 -1
- 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.9.0.yaml +21 -0
|
@@ -776,6 +776,62 @@
|
|
|
776
776
|
</ul>
|
|
777
777
|
</nav>
|
|
778
778
|
|
|
779
|
+
</li>
|
|
780
|
+
|
|
781
|
+
<li class="md-nav__item">
|
|
782
|
+
<a href="#身份绑定读取-foundationharnessbound-read" class="md-nav__link">
|
|
783
|
+
<span class="md-ellipsis">
|
|
784
|
+
|
|
785
|
+
身份绑定读取 (foundation.harness.bound-read)
|
|
786
|
+
|
|
787
|
+
</span>
|
|
788
|
+
</a>
|
|
789
|
+
|
|
790
|
+
<nav class="md-nav" aria-label="身份绑定读取 (foundation.harness.bound-read)">
|
|
791
|
+
<ul class="md-nav__list">
|
|
792
|
+
|
|
793
|
+
<li class="md-nav__item">
|
|
794
|
+
<a href="#createFilesystemRootBinding--readFileBound" class="md-nav__link">
|
|
795
|
+
<span class="md-ellipsis">
|
|
796
|
+
|
|
797
|
+
createFilesystemRootBinding / readFileBound
|
|
798
|
+
|
|
799
|
+
</span>
|
|
800
|
+
</a>
|
|
801
|
+
|
|
802
|
+
</li>
|
|
803
|
+
|
|
804
|
+
</ul>
|
|
805
|
+
</nav>
|
|
806
|
+
|
|
807
|
+
</li>
|
|
808
|
+
|
|
809
|
+
<li class="md-nav__item">
|
|
810
|
+
<a href="#固定集合发布-foundationharnessfixed-set-publication" class="md-nav__link">
|
|
811
|
+
<span class="md-ellipsis">
|
|
812
|
+
|
|
813
|
+
固定集合发布 (foundation.harness.fixed-set-publication)
|
|
814
|
+
|
|
815
|
+
</span>
|
|
816
|
+
</a>
|
|
817
|
+
|
|
818
|
+
<nav class="md-nav" aria-label="固定集合发布 (foundation.harness.fixed-set-publication)">
|
|
819
|
+
<ul class="md-nav__list">
|
|
820
|
+
|
|
821
|
+
<li class="md-nav__item">
|
|
822
|
+
<a href="#createFixedSetPublicationManifest--publishFixedSet" class="md-nav__link">
|
|
823
|
+
<span class="md-ellipsis">
|
|
824
|
+
|
|
825
|
+
createFixedSetPublicationManifest / publishFixedSet
|
|
826
|
+
|
|
827
|
+
</span>
|
|
828
|
+
</a>
|
|
829
|
+
|
|
830
|
+
</li>
|
|
831
|
+
|
|
832
|
+
</ul>
|
|
833
|
+
</nav>
|
|
834
|
+
|
|
779
835
|
</li>
|
|
780
836
|
|
|
781
837
|
<li class="md-nav__item">
|
|
@@ -2264,6 +2320,62 @@
|
|
|
2264
2320
|
</ul>
|
|
2265
2321
|
</nav>
|
|
2266
2322
|
|
|
2323
|
+
</li>
|
|
2324
|
+
|
|
2325
|
+
<li class="md-nav__item">
|
|
2326
|
+
<a href="#身份绑定读取-foundationharnessbound-read" class="md-nav__link">
|
|
2327
|
+
<span class="md-ellipsis">
|
|
2328
|
+
|
|
2329
|
+
身份绑定读取 (foundation.harness.bound-read)
|
|
2330
|
+
|
|
2331
|
+
</span>
|
|
2332
|
+
</a>
|
|
2333
|
+
|
|
2334
|
+
<nav class="md-nav" aria-label="身份绑定读取 (foundation.harness.bound-read)">
|
|
2335
|
+
<ul class="md-nav__list">
|
|
2336
|
+
|
|
2337
|
+
<li class="md-nav__item">
|
|
2338
|
+
<a href="#createFilesystemRootBinding--readFileBound" class="md-nav__link">
|
|
2339
|
+
<span class="md-ellipsis">
|
|
2340
|
+
|
|
2341
|
+
createFilesystemRootBinding / readFileBound
|
|
2342
|
+
|
|
2343
|
+
</span>
|
|
2344
|
+
</a>
|
|
2345
|
+
|
|
2346
|
+
</li>
|
|
2347
|
+
|
|
2348
|
+
</ul>
|
|
2349
|
+
</nav>
|
|
2350
|
+
|
|
2351
|
+
</li>
|
|
2352
|
+
|
|
2353
|
+
<li class="md-nav__item">
|
|
2354
|
+
<a href="#固定集合发布-foundationharnessfixed-set-publication" class="md-nav__link">
|
|
2355
|
+
<span class="md-ellipsis">
|
|
2356
|
+
|
|
2357
|
+
固定集合发布 (foundation.harness.fixed-set-publication)
|
|
2358
|
+
|
|
2359
|
+
</span>
|
|
2360
|
+
</a>
|
|
2361
|
+
|
|
2362
|
+
<nav class="md-nav" aria-label="固定集合发布 (foundation.harness.fixed-set-publication)">
|
|
2363
|
+
<ul class="md-nav__list">
|
|
2364
|
+
|
|
2365
|
+
<li class="md-nav__item">
|
|
2366
|
+
<a href="#createFixedSetPublicationManifest--publishFixedSet" class="md-nav__link">
|
|
2367
|
+
<span class="md-ellipsis">
|
|
2368
|
+
|
|
2369
|
+
createFixedSetPublicationManifest / publishFixedSet
|
|
2370
|
+
|
|
2371
|
+
</span>
|
|
2372
|
+
</a>
|
|
2373
|
+
|
|
2374
|
+
</li>
|
|
2375
|
+
|
|
2376
|
+
</ul>
|
|
2377
|
+
</nav>
|
|
2378
|
+
|
|
2267
2379
|
</li>
|
|
2268
2380
|
|
|
2269
2381
|
<li class="md-nav__item">
|
|
@@ -2716,6 +2828,8 @@
|
|
|
2716
2828
|
<li><a href="#契约校验-foundationharnesscontract-validation">契约校验</a> → <code>validateContractDocument</code> / <code>getValidator</code></li>
|
|
2717
2829
|
<li><a href="#路径收容-foundationharnesspath-containment">路径收容</a> → <code>classifyPathInput</code> / <code>resolveContained</code> / <code>readFileContained</code></li>
|
|
2718
2830
|
<li><a href="#严格读取-foundationharnessstrict-read">严格读取</a> → <code>readFileStrict</code></li>
|
|
2831
|
+
<li><a href="#身份绑定读取-foundationharnessbound-read">身份绑定读取</a> → <code>createFilesystemRootBinding</code> / <code>readFileBound</code></li>
|
|
2832
|
+
<li><a href="#固定集合发布-foundationharnessfixed-set-publication">固定集合发布</a> → <code>createFixedSetPublicationManifest</code> / <code>publishFixedSet</code></li>
|
|
2719
2833
|
<li><a href="#原子写-foundationharnessatomic-write">原子写</a> → <code>writeFileAtomic</code></li>
|
|
2720
2834
|
<li><a href="#临时工作区-foundationharnesstemporary-workspace">临时工作区</a> → <code>TemporaryWorkspace</code> / <code>withTemporaryWorkspace</code></li>
|
|
2721
2835
|
<li><a href="#资源闭包-foundationharnessresource-closure">资源闭包</a> → <code>computeResourceClosure</code> / <code>digestBytes</code> / <code>closureContains</code></li>
|
|
@@ -2787,6 +2901,31 @@
|
|
|
2787
2901
|
<li>调用方仍拥有的业务语义:选择哪个权威文件、摘要从何而来,以及读取失败后的处置。</li>
|
|
2788
2902
|
</ul>
|
|
2789
2903
|
<hr />
|
|
2904
|
+
<h2 id="身份绑定读取-foundationharnessbound-read">身份绑定读取 (foundation.harness.bound-read)<a class="headerlink" href="#身份绑定读取-foundationharnessbound-read" title="Permanent link">¶</a></h2>
|
|
2905
|
+
<h3 id="createFilesystemRootBinding--readFileBound">createFilesystemRootBinding / readFileBound<a class="headerlink" href="#createFilesystemRootBinding--readFileBound" title="Permanent link">¶</a></h3>
|
|
2906
|
+
<ul>
|
|
2907
|
+
<li>签名:<code>createFilesystemRootBinding(root)</code>;<code>readFileBound(root, relPath, { rootBinding, encoding?, expectedSha256? } = {})</code>(均为 async)。</li>
|
|
2908
|
+
<li>输入:已规范化的绝对真实目录、受收容的相对 POSIX 路径,以及调用方先前批准的冻结根绑定。<code>encoding</code> 仅支持 <code>utf8</code>;权威读取可带小写 sha256 预期摘要。</li>
|
|
2909
|
+
<li>输出:根绑定为冻结可序列化值;读取回执为冻结 <code>{ path, content, sha256, bytes, mode }</code>。</li>
|
|
2910
|
+
<li>语义边界:根与中间目录由固定四平台 N-API 闭包以不跟随符号链接的句柄相对方式获取;叶子必须是单链接普通文件。句柄不会逃逸,调用结束前关闭。绑定读取不提供删除或恢复状态机。</li>
|
|
2911
|
+
<li>副作用:只读文件系统访问;不写文件、不触 Git、网络或进程。</li>
|
|
2912
|
+
<li>错误:根身份不符、符号链接组件、缺失资源和摘要不符均失败关闭;不支持的 Darwin/Linux 架构不提供 JavaScript 回退。</li>
|
|
2913
|
+
<li><code>since</code> / <code>stability</code>:<code>0.9.0</code> / <code>stable</code>。</li>
|
|
2914
|
+
<li>源文件:<code>packages/skill-family-harness-node/src/bound-read.mjs</code> 与 <code>src/native/</code>。</li>
|
|
2915
|
+
<li>正例/负例测试:<code>packages/skill-family-harness-node/test/bound-read.test.mjs</code>。</li>
|
|
2916
|
+
</ul>
|
|
2917
|
+
<h2 id="固定集合发布-foundationharnessfixed-set-publication">固定集合发布 (foundation.harness.fixed-set-publication)<a class="headerlink" href="#固定集合发布-foundationharnessfixed-set-publication" title="Permanent link">¶</a></h2>
|
|
2918
|
+
<h3 id="createFixedSetPublicationManifest--publishFixedSet">createFixedSetPublicationManifest / publishFixedSet<a class="headerlink" href="#createFixedSetPublicationManifest--publishFixedSet" title="Permanent link">¶</a></h3>
|
|
2919
|
+
<ul>
|
|
2920
|
+
<li>签名:<code>createFixedSetPublicationManifest({ sourceRoot, targetParent, targetSegment })</code>;<code>publishFixedSet({ sourceRoot, targetParent, targetSegment, manifest })</code>(均为 async)。稳定入口也由 <code>skill-family-harness-node/fixed-set-publication</code> 导出。</li>
|
|
2921
|
+
<li>输入:同一规范父目录下的源目录、目标父目录、一个安全目标段和此前冻结的完整集合 manifest。</li>
|
|
2922
|
+
<li>输出:完整集合 manifest 与结构化 publication receipt。receipt 终态为 <code>succeeded</code>、<code>refused</code>、<code>failed</code> 或 <code>indeterminate</code>。</li>
|
|
2923
|
+
<li>语义边界:发布使用 Darwin <code>renameatx_np(RENAME_EXCL)</code> 或 Linux <code>renameat2(RENAME_NOREPLACE)</code> 的固定原生闭包;不使用检查后 <code>rename</code> 的 JavaScript 替代,不提供身份保护删除,不自动重试、回滚或恢复 <code>indeterminate</code>。</li>
|
|
2924
|
+
<li>副作用:仅在成功时对目标目录执行一次不替换发布;失败关闭。</li>
|
|
2925
|
+
<li><code>since</code> / <code>stability</code>:<code>0.9.0</code> / <code>stable</code>。</li>
|
|
2926
|
+
<li>源文件:<code>packages/skill-family-harness-node/src/fixed-set-publication.mjs</code> 与固定原生加载器。</li>
|
|
2927
|
+
<li>正例/负例测试:<code>packages/skill-family-harness-node/test/stable-filesystem-operations.test.mjs</code> 与既有固定集合边界测试。</li>
|
|
2928
|
+
</ul>
|
|
2790
2929
|
<h2 id="原子写-foundationharnessatomic-write">原子写 (foundation.harness.atomic-write)<a class="headerlink" href="#原子写-foundationharnessatomic-write" title="Permanent link">¶</a></h2>
|
|
2791
2930
|
<h3 id="writeFileAtomic">writeFileAtomic<a class="headerlink" href="#writeFileAtomic" title="Permanent link">¶</a></h3>
|
|
2792
2931
|
<ul>
|
|
@@ -3166,7 +3305,7 @@
|
|
|
3166
3305
|
<p><code>params</code> 是闭合对象。<code>root</code> 与 <code>path</code> 是必填非空字符串;<code>encoding</code> 只能是 <code>utf8</code> 或省略;<code>expectedSha256</code> 省略时不做预期摘要比对,提供时沿用核心严格读取合同。</p>
|
|
3167
3306
|
<p>桥接保留核心回执的 <code>path</code>、<code>sha256</code>、<code>bytes</code> 与 <code>mode</code>。UTF-8 内容仍是字符串;二进制内容投影成 Node 标准的 Buffer JSON 形态 <code>{ "type": "Buffer", "data": [...] }</code>,以便通过 JSON 传输后无损还原字节。</p>
|
|
3168
3307
|
<p>直接调用失败时沿用核心异常,包括 <code>SFC2004</code> 与 <code>details.kind</code>。候选 <code>mechanisms-cli.mjs</code> 继续使用一请求一响应 JSON:成功退出 0,拒绝或用法错误退出 2;CLI 错误 JSON 只承诺 <code>name</code> 与 <code>message</code>,不承诺跨语言保留 <code>details</code>。</p>
|
|
3169
|
-
<p>该入口不选择 method,不解释 domainResult,也不拥有重试、调度或生命周期。消费者必须把 Contracts、Harness 与 Engineering Kit 精确锁定到 0.
|
|
3308
|
+
<p>该入口不选择 method,不解释 domainResult,也不拥有重试、调度或生命周期。消费者必须把 Contracts、Harness 与 Engineering Kit 精确锁定到 0.9.0,并重建受管 Bundle;禁止从 Foundation 工作树导入候选源码。0.3.0 的 v2 与 0.2.1 的 v1 不兼容。</p>
|
|
3170
3309
|
<hr />
|
|
3171
3310
|
<h2 id="与机器事实层的互链">与机器事实层的互链<a class="headerlink" href="#与机器事实层的互链" title="Permanent link">¶</a></h2>
|
|
3172
3311
|
<ul>
|