skill-family-engineering-kit 0.8.0 → 0.8.2

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/package.json CHANGED
@@ -8,8 +8,8 @@
8
8
  "url": "https://github.com/ifoohoo/skill-family-engineering-kit/issues"
9
9
  },
10
10
  "dependencies": {
11
- "skill-family-contracts": "0.8.0",
12
- "skill-family-harness-node": "0.8.0"
11
+ "skill-family-contracts": "0.8.2",
12
+ "skill-family-harness-node": "0.8.2"
13
13
  },
14
14
  "description": "Build-time scaffold, adoption planning, projection, and checks.",
15
15
  "engines": {
@@ -48,7 +48,7 @@
48
48
  "url": "https://github.com/ifoohoo/skill-family-engineering-kit.git"
49
49
  },
50
50
  "type": "module",
51
- "version": "0.8.0",
51
+ "version": "0.8.2",
52
52
  "scripts": {
53
53
  "check": "node --test",
54
54
  "test": "node --test"
@@ -0,0 +1,21 @@
1
+ version: 0.8.1
2
+ date: 2026-08-22
3
+ locales:
4
+ en:
5
+ summary: Engineering Kit now preserves its own package version when a host bundles it into a single-file adapter.
6
+ changes:
7
+ fixed:
8
+ - Replaces the runtime import.meta.url package-manifest lookup with a static JSON import, so source and installed-package execution still read the Kit manifest while esbuild inlines the same version into a host bundle.
9
+ - Adds a regression test that bundles Engineering Kit as a third-party dependency into one host entry file, runs it outside the package tree, and verifies the reported version against the package manifest.
10
+ changed:
11
+ - Moves Contracts, Harness, and Engineering Kit together to version 0.8.1; the Contracts 1.7.0 and Profile SPI v3 surfaces remain unchanged.
12
+ upgradeNotes: Host adapters that bundle Engineering Kit must pin 0.8.1. Source and ordinary installed-package consumers keep the existing API and require no migration.
13
+ zh-CN:
14
+ summary: 宿主把 Engineering Kit 打包进单文件适配器后,Kit 仍能保留自身的包版本。
15
+ changes:
16
+ fixed:
17
+ - 用静态 JSON import 替换运行时基于 import.meta.url 的包清单查找。源码与普通安装包仍读取 Kit 自身清单,esbuild 则把同一版本值内联到宿主 bundle。
18
+ - 新增回归测试:把 Engineering Kit 作为第三方依赖打包成单一宿主入口,在包目录之外运行,并用包清单复核其报告版本。
19
+ changed:
20
+ - Contracts、Harness 与 Engineering Kit 一同升至 0.8.1;Contracts 1.7.0 与 Profile SPI v3 表面保持不变。
21
+ upgradeNotes: 把 Engineering Kit 打包进宿主适配器的消费者必须精确锁定 0.8.1;源码和普通安装包消费者沿用现有 API,不需要迁移。
@@ -0,0 +1,21 @@
1
+ version: 0.8.2
2
+ date: 2026-08-23
3
+ locales:
4
+ en:
5
+ summary: Managed offline Bundles now carry the strict-read source required by the fixed candidate mechanism bridge.
6
+ changes:
7
+ added:
8
+ - Projects strict-read.mjs into the managed Bundle and maps its closure, errors, and paths dependencies to sibling runtime modules.
9
+ - Records the real strict-read.mjs source in Foundation provenance and verifies the read-file-strict bridge in an offline runner.
10
+ changed:
11
+ - Moves the package version to 0.8.2 together with Contracts and Harness; the four stable top-level Kit commands remain unchanged.
12
+ upgradeNotes: Consumers must pin Contracts, Harness, and Engineering Kit to exactly 0.8.2 and rebuild the managed Bundle. Existing Bundles do not gain read-file-strict by changing a worktree reference.
13
+ zh-CN:
14
+ summary: 受管离线 Bundle 现在携带固定候选机制桥接所需的 strict-read 源码。
15
+ changes:
16
+ added:
17
+ - 把 strict-read.mjs 投影进受管 Bundle,并把它的 closure、errors 和 paths 依赖映射到相邻运行时模块。
18
+ - 在 Foundation provenance 中记录真实 strict-read.mjs 源码,并通过离线 runner 复验 read-file-strict。
19
+ changed:
20
+ - 包版本与 Contracts、Harness 一同升至 0.8.2;Kit 的四个稳定顶层命令保持不变。
21
+ upgradeNotes: 消费者必须把 Contracts、Harness 和 Engineering Kit 精确锁定到 0.8.2,再重建受管 Bundle。修改工作树引用不会让已有 Bundle 获得 read-file-strict。
package/src/skeleton.mjs CHANGED
@@ -1,6 +1,3 @@
1
- import { readFileSync } from "node:fs";
2
- import { fileURLToPath } from "node:url";
3
- import { dirname, join } from "node:path";
4
1
  import { CONTRACTS_VERSION } from "skill-family-contracts";
5
2
  import { digestBytes } from "skill-family-harness-node";
6
3
  import { invalidParamsError, kitError, KIT_ERROR_KINDS } from "./errors.mjs";
@@ -11,6 +8,7 @@ import {
11
8
  loadLicensingProfile,
12
9
  } from "./licensing.mjs";
13
10
  import { MIGRATION_MANIFEST_PATH } from "./migration.mjs";
11
+ import { KIT_VERSION } from "./version.mjs";
14
12
 
15
13
  /**
16
14
  * The planned skeleton of one Skill Family project.
@@ -34,10 +32,7 @@ import { MIGRATION_MANIFEST_PATH } from "./migration.mjs";
34
32
  */
35
33
 
36
34
  export const KIT_TOOL_NAME = "skill-family-engineering-kit";
37
-
38
- const __dirname = dirname(fileURLToPath(import.meta.url));
39
- const _kitPkg = JSON.parse(readFileSync(join(__dirname, "..", "package.json"), "utf8"));
40
- export const KIT_VERSION = _kitPkg.version;
35
+ export { KIT_VERSION };
41
36
 
42
37
  /** Kit-owned document paths inside a target workspace. */
43
38
  export const PROJECT_MANIFEST_PATH = "skill-family.project-manifest.json";
@@ -0,0 +1,8 @@
1
+ import kitPackage from "../package.json" with { type: "json" };
2
+
3
+ // The package manifest is the version authority. A static JSON import keeps
4
+ // source and installed-package execution bound to those exact bytes, while
5
+ // bundlers such as esbuild inline the dependency value into a host bundle.
6
+ // Never derive this path from import.meta.url at runtime: after single-file
7
+ // bundling that URL belongs to the host adapter, not to this package.
8
+ export const KIT_VERSION = kitPackage.version;