@mc-and-his-agents/loom-installer 0.1.8 → 0.1.10

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.
Files changed (64) hide show
  1. package/README.md +7 -5
  2. package/README.zh-CN.md +57 -0
  3. package/package.json +1 -1
  4. package/payload/manifest.json +152 -102
  5. package/payload/plugin/loom/skills/README.md +13 -11
  6. package/payload/plugin/loom/skills/README.zh-CN.md +92 -0
  7. package/payload/plugin/loom/skills/shared/scripts/governance_surface.py +11 -6
  8. package/payload/plugin/loom/skills/shared/scripts/loom_check.py +28 -4
  9. package/payload/plugin/loom/skills/shared/scripts/loom_flow.py +82 -32
  10. package/payload/plugin/loom/skills/shared/scripts/loom_status.py +4 -18
  11. package/payload/skills/loom-adopt/.loom-runtime/README.md +13 -11
  12. package/payload/skills/loom-adopt/.loom-runtime/README.zh-CN.md +92 -0
  13. package/payload/skills/loom-adopt/.loom-runtime/shared/scripts/governance_surface.py +11 -6
  14. package/payload/skills/loom-adopt/.loom-runtime/shared/scripts/loom_check.py +28 -4
  15. package/payload/skills/loom-adopt/.loom-runtime/shared/scripts/loom_flow.py +82 -32
  16. package/payload/skills/loom-adopt/.loom-runtime/shared/scripts/loom_status.py +4 -18
  17. package/payload/skills/loom-handoff/.loom-runtime/README.md +13 -11
  18. package/payload/skills/loom-handoff/.loom-runtime/README.zh-CN.md +92 -0
  19. package/payload/skills/loom-handoff/.loom-runtime/shared/scripts/governance_surface.py +11 -6
  20. package/payload/skills/loom-handoff/.loom-runtime/shared/scripts/loom_check.py +28 -4
  21. package/payload/skills/loom-handoff/.loom-runtime/shared/scripts/loom_flow.py +82 -32
  22. package/payload/skills/loom-handoff/.loom-runtime/shared/scripts/loom_status.py +4 -18
  23. package/payload/skills/loom-init/.loom-runtime/README.md +13 -11
  24. package/payload/skills/loom-init/.loom-runtime/README.zh-CN.md +92 -0
  25. package/payload/skills/loom-init/.loom-runtime/shared/scripts/governance_surface.py +11 -6
  26. package/payload/skills/loom-init/.loom-runtime/shared/scripts/loom_check.py +28 -4
  27. package/payload/skills/loom-init/.loom-runtime/shared/scripts/loom_flow.py +82 -32
  28. package/payload/skills/loom-init/.loom-runtime/shared/scripts/loom_status.py +4 -18
  29. package/payload/skills/loom-merge-ready/.loom-runtime/README.md +13 -11
  30. package/payload/skills/loom-merge-ready/.loom-runtime/README.zh-CN.md +92 -0
  31. package/payload/skills/loom-merge-ready/.loom-runtime/shared/scripts/governance_surface.py +11 -6
  32. package/payload/skills/loom-merge-ready/.loom-runtime/shared/scripts/loom_check.py +28 -4
  33. package/payload/skills/loom-merge-ready/.loom-runtime/shared/scripts/loom_flow.py +82 -32
  34. package/payload/skills/loom-merge-ready/.loom-runtime/shared/scripts/loom_status.py +4 -18
  35. package/payload/skills/loom-pre-review/.loom-runtime/README.md +13 -11
  36. package/payload/skills/loom-pre-review/.loom-runtime/README.zh-CN.md +92 -0
  37. package/payload/skills/loom-pre-review/.loom-runtime/shared/scripts/governance_surface.py +11 -6
  38. package/payload/skills/loom-pre-review/.loom-runtime/shared/scripts/loom_check.py +28 -4
  39. package/payload/skills/loom-pre-review/.loom-runtime/shared/scripts/loom_flow.py +82 -32
  40. package/payload/skills/loom-pre-review/.loom-runtime/shared/scripts/loom_status.py +4 -18
  41. package/payload/skills/loom-resume/.loom-runtime/README.md +13 -11
  42. package/payload/skills/loom-resume/.loom-runtime/README.zh-CN.md +92 -0
  43. package/payload/skills/loom-resume/.loom-runtime/shared/scripts/governance_surface.py +11 -6
  44. package/payload/skills/loom-resume/.loom-runtime/shared/scripts/loom_check.py +28 -4
  45. package/payload/skills/loom-resume/.loom-runtime/shared/scripts/loom_flow.py +82 -32
  46. package/payload/skills/loom-resume/.loom-runtime/shared/scripts/loom_status.py +4 -18
  47. package/payload/skills/loom-retire/.loom-runtime/README.md +13 -11
  48. package/payload/skills/loom-retire/.loom-runtime/README.zh-CN.md +92 -0
  49. package/payload/skills/loom-retire/.loom-runtime/shared/scripts/governance_surface.py +11 -6
  50. package/payload/skills/loom-retire/.loom-runtime/shared/scripts/loom_check.py +28 -4
  51. package/payload/skills/loom-retire/.loom-runtime/shared/scripts/loom_flow.py +82 -32
  52. package/payload/skills/loom-retire/.loom-runtime/shared/scripts/loom_status.py +4 -18
  53. package/payload/skills/loom-review/.loom-runtime/README.md +13 -11
  54. package/payload/skills/loom-review/.loom-runtime/README.zh-CN.md +92 -0
  55. package/payload/skills/loom-review/.loom-runtime/shared/scripts/governance_surface.py +11 -6
  56. package/payload/skills/loom-review/.loom-runtime/shared/scripts/loom_check.py +28 -4
  57. package/payload/skills/loom-review/.loom-runtime/shared/scripts/loom_flow.py +82 -32
  58. package/payload/skills/loom-review/.loom-runtime/shared/scripts/loom_status.py +4 -18
  59. package/payload/skills/loom-spec-review/.loom-runtime/README.md +13 -11
  60. package/payload/skills/loom-spec-review/.loom-runtime/README.zh-CN.md +92 -0
  61. package/payload/skills/loom-spec-review/.loom-runtime/shared/scripts/governance_surface.py +11 -6
  62. package/payload/skills/loom-spec-review/.loom-runtime/shared/scripts/loom_check.py +28 -4
  63. package/payload/skills/loom-spec-review/.loom-runtime/shared/scripts/loom_flow.py +82 -32
  64. package/payload/skills/loom-spec-review/.loom-runtime/shared/scripts/loom_status.py +4 -18
package/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # @mc-and-his-agents/loom-installer
2
2
 
3
+ Language: English | [中文版本](./README.zh-CN.md)
4
+
3
5
  Loom npm / npx installer.
4
6
 
5
7
  The primary install mode is the complete Loom plugin surface. Single-skill install remains available for compatibility and advanced use.
@@ -11,7 +13,7 @@ npx @mc-and-his-agents/loom-installer add plugin --host codex
11
13
  npx @mc-and-his-agents/loom-installer add plugin --host claude
12
14
  ```
13
15
 
14
- Single skill compatibility path:
16
+ Single-skill compatibility path:
15
17
 
16
18
  ```bash
17
19
  npx @mc-and-his-agents/loom-installer add skill <skill-id> --host codex
@@ -35,13 +37,13 @@ Options:
35
37
  ## Requirements
36
38
 
37
39
  - Node `>=20`
38
- - Python `>=3.10`,推荐 `3.11+`
40
+ - Python `>=3.10`, recommended `3.11+`
39
41
 
40
42
  ## Payload Model
41
43
 
42
- The published package includes a generated payload. The payload is generated from the canonical root `.codex-plugin/` and `skills/` sources during build / pack / publish.
44
+ The published package includes a generated payload. The payload is generated from the canonical root `.codex-plugin/` and `skills/` sources during build, pack, and publish.
43
45
 
44
- Generated payload directories are not committed to git. The build step recreates them deterministically and `check:payload` verifies rebuild stability.
46
+ Generated payload directories are not committed to git. The build step recreates them deterministically, and `check:payload` verifies rebuild stability.
45
47
 
46
48
  ## Release Notes
47
49
 
@@ -52,4 +54,4 @@ Release model:
52
54
  - PRs run gates but do not publish npm.
53
55
  - `main` is the only release truth source.
54
56
  - Loom repository releases and installer npm package versions are maintained separately.
55
- - publish 成功后再创建 `loom-installer-v<version>` git tag 与同名前缀的 GitHub Release.
57
+ - Create the `loom-installer-v<version>` git tag and matching GitHub Release only after npm publish succeeds.
@@ -0,0 +1,57 @@
1
+ # @mc-and-his-agents/loom-installer
2
+
3
+ 语言:中文 | [English version](./README.md)
4
+
5
+ Loom 的 npm / npx installer。
6
+
7
+ 主安装模式是完整 Loom plugin surface。单 skill 安装仍然保留,用于兼容和高级场景。
8
+
9
+ ## Commands
10
+
11
+ ```bash
12
+ npx @mc-and-his-agents/loom-installer add plugin --host codex
13
+ npx @mc-and-his-agents/loom-installer add plugin --host claude
14
+ ```
15
+
16
+ 单 skill 兼容路径:
17
+
18
+ ```bash
19
+ npx @mc-and-his-agents/loom-installer add skill <skill-id> --host codex
20
+ npx @mc-and-his-agents/loom-installer add skill <skill-id> --host claude
21
+ ```
22
+
23
+ 也可以先固定 installer 版本:
24
+
25
+ ```bash
26
+ npm install -D @mc-and-his-agents/loom-installer
27
+ npx loom-installer add plugin --host codex
28
+ ```
29
+
30
+ Options:
31
+
32
+ - `--host codex|claude|auto`
33
+ - `--target <repo-root>`
34
+ - `--force`
35
+ - `--json`
36
+
37
+ ## Requirements
38
+
39
+ - Node `>=20`
40
+ - Python `>=3.10`,推荐 `3.11+`
41
+
42
+ ## Payload Model
43
+
44
+ 发布包会包含生成出来的 payload。该 payload 会在 build、pack 和 publish 阶段,从 canonical root `.codex-plugin/` 与 `skills/` 源动态生成。
45
+
46
+ 生成出来的 payload 目录不会提交到 git。Build 步骤会以确定性方式重建它们,`check:payload` 会校验重建稳定性。
47
+
48
+ ## Release Notes
49
+
50
+ 发布只会从 `main` 进行。
51
+
52
+ Release model:
53
+
54
+ - PR 会运行 gates,但不会发布 npm。
55
+ - `main` 是唯一 release truth source。
56
+ - Loom 仓库 release 与 installer npm package version 分开维护。
57
+ - 只有在 npm publish 成功后,才创建 `loom-installer-v<version>` git tag 和同名前缀的 GitHub Release。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mc-and-his-agents/loom-installer",
3
- "version": "0.1.8",
3
+ "version": "0.1.10",
4
4
  "description": "Node installer for Loom plugin and single-skill installation surfaces.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -2,9 +2,9 @@
2
2
  "schema_version": "loom-installer-payload/v1",
3
3
  "loom_version": "0.4.0",
4
4
  "source_repository": "https://github.com/MC-and-his-Agents/Loom",
5
- "source_commit": "076e7473e099d27e31c21cb0a212177cce03d538",
5
+ "source_commit": "6ce9eb5b541c9a4d374404c0dd0eac7450eb8572",
6
6
  "source_ref": "main",
7
- "built_at": "2026-04-24T14:03:37+08:00",
7
+ "built_at": "2026-04-24T15:36:53+08:00",
8
8
  "runtime": {
9
9
  "python_minimum": "3.10",
10
10
  "python_recommended": "3.11+"
@@ -363,8 +363,13 @@
363
363
  },
364
364
  {
365
365
  "path": "plugin/loom/skills/README.md",
366
- "bytes": 4132,
367
- "sha256": "ad5f5bf3ab9944bdd22018b5af77d8c5ab3f3e89ea282e5d5a679e65503c6e19"
366
+ "bytes": 4330,
367
+ "sha256": "907c801ec6d20ee3a4a8d90e137d432e9512aae96c765d28b055e7952e1e0dfc"
368
+ },
369
+ {
370
+ "path": "plugin/loom/skills/README.zh-CN.md",
371
+ "bytes": 3986,
372
+ "sha256": "90ba899919bf2329098fe72a7993edc6c5a6ba1f04ed820c2a643f89c95f65eb"
368
373
  },
369
374
  {
370
375
  "path": "plugin/loom/skills/registry.json",
@@ -618,18 +623,18 @@
618
623
  },
619
624
  {
620
625
  "path": "plugin/loom/skills/shared/scripts/governance_surface.py",
621
- "bytes": 47956,
622
- "sha256": "d3180df772c8b8ed46990bb5d05a44f9355dca59fce7d2f32cf482a529552e94"
626
+ "bytes": 48077,
627
+ "sha256": "ecb24c8c58d978cd9207f8a99881e560c6f64f015cffa527bd221a1cf7cf2e24"
623
628
  },
624
629
  {
625
630
  "path": "plugin/loom/skills/shared/scripts/loom_check.py",
626
- "bytes": 248115,
627
- "sha256": "9b6f6af1f63bd9af6f1b4f24356bfdf5e52edaa82bbb2b2ade040e9bff951039"
631
+ "bytes": 249748,
632
+ "sha256": "c109f05fa2f30c90d50980c349af5efcb16f5b493dc9ba03c923626a03ed48b2"
628
633
  },
629
634
  {
630
635
  "path": "plugin/loom/skills/shared/scripts/loom_flow.py",
631
- "bytes": 246270,
632
- "sha256": "142f3303eb1c62ef9bc19199c58e08c059e383615df4ebc6e49b557c3afc4b39"
636
+ "bytes": 248978,
637
+ "sha256": "65f8bdc26f9269fa269783e885b7a834bc202361f7b0a40483d69040ee39f67f"
633
638
  },
634
639
  {
635
640
  "path": "plugin/loom/skills/shared/scripts/loom_init.py",
@@ -638,8 +643,8 @@
638
643
  },
639
644
  {
640
645
  "path": "plugin/loom/skills/shared/scripts/loom_status.py",
641
- "bytes": 19290,
642
- "sha256": "3ac4e5d6a29cc7654890b2d857546a5b9edb1c301bdc583e073de796b60b2774"
646
+ "bytes": 18941,
647
+ "sha256": "b8c74d31898ba4fdd5326abe82d175ec10e0a30cc2ea61810f1ec096052519f6"
643
648
  },
644
649
  {
645
650
  "path": "plugin/loom/skills/shared/scripts/runtime_paths.py",
@@ -943,8 +948,13 @@
943
948
  },
944
949
  {
945
950
  "path": "skills/loom-adopt/.loom-runtime/README.md",
946
- "bytes": 4132,
947
- "sha256": "ad5f5bf3ab9944bdd22018b5af77d8c5ab3f3e89ea282e5d5a679e65503c6e19"
951
+ "bytes": 4330,
952
+ "sha256": "907c801ec6d20ee3a4a8d90e137d432e9512aae96c765d28b055e7952e1e0dfc"
953
+ },
954
+ {
955
+ "path": "skills/loom-adopt/.loom-runtime/README.zh-CN.md",
956
+ "bytes": 3986,
957
+ "sha256": "90ba899919bf2329098fe72a7993edc6c5a6ba1f04ed820c2a643f89c95f65eb"
948
958
  },
949
959
  {
950
960
  "path": "skills/loom-adopt/.loom-runtime/registry.json",
@@ -1198,18 +1208,18 @@
1198
1208
  },
1199
1209
  {
1200
1210
  "path": "skills/loom-adopt/.loom-runtime/shared/scripts/governance_surface.py",
1201
- "bytes": 47956,
1202
- "sha256": "d3180df772c8b8ed46990bb5d05a44f9355dca59fce7d2f32cf482a529552e94"
1211
+ "bytes": 48077,
1212
+ "sha256": "ecb24c8c58d978cd9207f8a99881e560c6f64f015cffa527bd221a1cf7cf2e24"
1203
1213
  },
1204
1214
  {
1205
1215
  "path": "skills/loom-adopt/.loom-runtime/shared/scripts/loom_check.py",
1206
- "bytes": 248115,
1207
- "sha256": "9b6f6af1f63bd9af6f1b4f24356bfdf5e52edaa82bbb2b2ade040e9bff951039"
1216
+ "bytes": 249748,
1217
+ "sha256": "c109f05fa2f30c90d50980c349af5efcb16f5b493dc9ba03c923626a03ed48b2"
1208
1218
  },
1209
1219
  {
1210
1220
  "path": "skills/loom-adopt/.loom-runtime/shared/scripts/loom_flow.py",
1211
- "bytes": 246270,
1212
- "sha256": "142f3303eb1c62ef9bc19199c58e08c059e383615df4ebc6e49b557c3afc4b39"
1221
+ "bytes": 248978,
1222
+ "sha256": "65f8bdc26f9269fa269783e885b7a834bc202361f7b0a40483d69040ee39f67f"
1213
1223
  },
1214
1224
  {
1215
1225
  "path": "skills/loom-adopt/.loom-runtime/shared/scripts/loom_init.py",
@@ -1218,8 +1228,8 @@
1218
1228
  },
1219
1229
  {
1220
1230
  "path": "skills/loom-adopt/.loom-runtime/shared/scripts/loom_status.py",
1221
- "bytes": 19290,
1222
- "sha256": "3ac4e5d6a29cc7654890b2d857546a5b9edb1c301bdc583e073de796b60b2774"
1231
+ "bytes": 18941,
1232
+ "sha256": "b8c74d31898ba4fdd5326abe82d175ec10e0a30cc2ea61810f1ec096052519f6"
1223
1233
  },
1224
1234
  {
1225
1235
  "path": "skills/loom-adopt/.loom-runtime/shared/scripts/runtime_paths.py",
@@ -1553,8 +1563,13 @@
1553
1563
  },
1554
1564
  {
1555
1565
  "path": "skills/loom-handoff/.loom-runtime/README.md",
1556
- "bytes": 4132,
1557
- "sha256": "ad5f5bf3ab9944bdd22018b5af77d8c5ab3f3e89ea282e5d5a679e65503c6e19"
1566
+ "bytes": 4330,
1567
+ "sha256": "907c801ec6d20ee3a4a8d90e137d432e9512aae96c765d28b055e7952e1e0dfc"
1568
+ },
1569
+ {
1570
+ "path": "skills/loom-handoff/.loom-runtime/README.zh-CN.md",
1571
+ "bytes": 3986,
1572
+ "sha256": "90ba899919bf2329098fe72a7993edc6c5a6ba1f04ed820c2a643f89c95f65eb"
1558
1573
  },
1559
1574
  {
1560
1575
  "path": "skills/loom-handoff/.loom-runtime/registry.json",
@@ -1808,18 +1823,18 @@
1808
1823
  },
1809
1824
  {
1810
1825
  "path": "skills/loom-handoff/.loom-runtime/shared/scripts/governance_surface.py",
1811
- "bytes": 47956,
1812
- "sha256": "d3180df772c8b8ed46990bb5d05a44f9355dca59fce7d2f32cf482a529552e94"
1826
+ "bytes": 48077,
1827
+ "sha256": "ecb24c8c58d978cd9207f8a99881e560c6f64f015cffa527bd221a1cf7cf2e24"
1813
1828
  },
1814
1829
  {
1815
1830
  "path": "skills/loom-handoff/.loom-runtime/shared/scripts/loom_check.py",
1816
- "bytes": 248115,
1817
- "sha256": "9b6f6af1f63bd9af6f1b4f24356bfdf5e52edaa82bbb2b2ade040e9bff951039"
1831
+ "bytes": 249748,
1832
+ "sha256": "c109f05fa2f30c90d50980c349af5efcb16f5b493dc9ba03c923626a03ed48b2"
1818
1833
  },
1819
1834
  {
1820
1835
  "path": "skills/loom-handoff/.loom-runtime/shared/scripts/loom_flow.py",
1821
- "bytes": 246270,
1822
- "sha256": "142f3303eb1c62ef9bc19199c58e08c059e383615df4ebc6e49b557c3afc4b39"
1836
+ "bytes": 248978,
1837
+ "sha256": "65f8bdc26f9269fa269783e885b7a834bc202361f7b0a40483d69040ee39f67f"
1823
1838
  },
1824
1839
  {
1825
1840
  "path": "skills/loom-handoff/.loom-runtime/shared/scripts/loom_init.py",
@@ -1828,8 +1843,8 @@
1828
1843
  },
1829
1844
  {
1830
1845
  "path": "skills/loom-handoff/.loom-runtime/shared/scripts/loom_status.py",
1831
- "bytes": 19290,
1832
- "sha256": "3ac4e5d6a29cc7654890b2d857546a5b9edb1c301bdc583e073de796b60b2774"
1846
+ "bytes": 18941,
1847
+ "sha256": "b8c74d31898ba4fdd5326abe82d175ec10e0a30cc2ea61810f1ec096052519f6"
1833
1848
  },
1834
1849
  {
1835
1850
  "path": "skills/loom-handoff/.loom-runtime/shared/scripts/runtime_paths.py",
@@ -2163,8 +2178,13 @@
2163
2178
  },
2164
2179
  {
2165
2180
  "path": "skills/loom-init/.loom-runtime/README.md",
2166
- "bytes": 4132,
2167
- "sha256": "ad5f5bf3ab9944bdd22018b5af77d8c5ab3f3e89ea282e5d5a679e65503c6e19"
2181
+ "bytes": 4330,
2182
+ "sha256": "907c801ec6d20ee3a4a8d90e137d432e9512aae96c765d28b055e7952e1e0dfc"
2183
+ },
2184
+ {
2185
+ "path": "skills/loom-init/.loom-runtime/README.zh-CN.md",
2186
+ "bytes": 3986,
2187
+ "sha256": "90ba899919bf2329098fe72a7993edc6c5a6ba1f04ed820c2a643f89c95f65eb"
2168
2188
  },
2169
2189
  {
2170
2190
  "path": "skills/loom-init/.loom-runtime/registry.json",
@@ -2418,18 +2438,18 @@
2418
2438
  },
2419
2439
  {
2420
2440
  "path": "skills/loom-init/.loom-runtime/shared/scripts/governance_surface.py",
2421
- "bytes": 47956,
2422
- "sha256": "d3180df772c8b8ed46990bb5d05a44f9355dca59fce7d2f32cf482a529552e94"
2441
+ "bytes": 48077,
2442
+ "sha256": "ecb24c8c58d978cd9207f8a99881e560c6f64f015cffa527bd221a1cf7cf2e24"
2423
2443
  },
2424
2444
  {
2425
2445
  "path": "skills/loom-init/.loom-runtime/shared/scripts/loom_check.py",
2426
- "bytes": 248115,
2427
- "sha256": "9b6f6af1f63bd9af6f1b4f24356bfdf5e52edaa82bbb2b2ade040e9bff951039"
2446
+ "bytes": 249748,
2447
+ "sha256": "c109f05fa2f30c90d50980c349af5efcb16f5b493dc9ba03c923626a03ed48b2"
2428
2448
  },
2429
2449
  {
2430
2450
  "path": "skills/loom-init/.loom-runtime/shared/scripts/loom_flow.py",
2431
- "bytes": 246270,
2432
- "sha256": "142f3303eb1c62ef9bc19199c58e08c059e383615df4ebc6e49b557c3afc4b39"
2451
+ "bytes": 248978,
2452
+ "sha256": "65f8bdc26f9269fa269783e885b7a834bc202361f7b0a40483d69040ee39f67f"
2433
2453
  },
2434
2454
  {
2435
2455
  "path": "skills/loom-init/.loom-runtime/shared/scripts/loom_init.py",
@@ -2438,8 +2458,8 @@
2438
2458
  },
2439
2459
  {
2440
2460
  "path": "skills/loom-init/.loom-runtime/shared/scripts/loom_status.py",
2441
- "bytes": 19290,
2442
- "sha256": "3ac4e5d6a29cc7654890b2d857546a5b9edb1c301bdc583e073de796b60b2774"
2461
+ "bytes": 18941,
2462
+ "sha256": "b8c74d31898ba4fdd5326abe82d175ec10e0a30cc2ea61810f1ec096052519f6"
2443
2463
  },
2444
2464
  {
2445
2465
  "path": "skills/loom-init/.loom-runtime/shared/scripts/runtime_paths.py",
@@ -2778,8 +2798,13 @@
2778
2798
  },
2779
2799
  {
2780
2800
  "path": "skills/loom-merge-ready/.loom-runtime/README.md",
2781
- "bytes": 4132,
2782
- "sha256": "ad5f5bf3ab9944bdd22018b5af77d8c5ab3f3e89ea282e5d5a679e65503c6e19"
2801
+ "bytes": 4330,
2802
+ "sha256": "907c801ec6d20ee3a4a8d90e137d432e9512aae96c765d28b055e7952e1e0dfc"
2803
+ },
2804
+ {
2805
+ "path": "skills/loom-merge-ready/.loom-runtime/README.zh-CN.md",
2806
+ "bytes": 3986,
2807
+ "sha256": "90ba899919bf2329098fe72a7993edc6c5a6ba1f04ed820c2a643f89c95f65eb"
2783
2808
  },
2784
2809
  {
2785
2810
  "path": "skills/loom-merge-ready/.loom-runtime/registry.json",
@@ -3033,18 +3058,18 @@
3033
3058
  },
3034
3059
  {
3035
3060
  "path": "skills/loom-merge-ready/.loom-runtime/shared/scripts/governance_surface.py",
3036
- "bytes": 47956,
3037
- "sha256": "d3180df772c8b8ed46990bb5d05a44f9355dca59fce7d2f32cf482a529552e94"
3061
+ "bytes": 48077,
3062
+ "sha256": "ecb24c8c58d978cd9207f8a99881e560c6f64f015cffa527bd221a1cf7cf2e24"
3038
3063
  },
3039
3064
  {
3040
3065
  "path": "skills/loom-merge-ready/.loom-runtime/shared/scripts/loom_check.py",
3041
- "bytes": 248115,
3042
- "sha256": "9b6f6af1f63bd9af6f1b4f24356bfdf5e52edaa82bbb2b2ade040e9bff951039"
3066
+ "bytes": 249748,
3067
+ "sha256": "c109f05fa2f30c90d50980c349af5efcb16f5b493dc9ba03c923626a03ed48b2"
3043
3068
  },
3044
3069
  {
3045
3070
  "path": "skills/loom-merge-ready/.loom-runtime/shared/scripts/loom_flow.py",
3046
- "bytes": 246270,
3047
- "sha256": "142f3303eb1c62ef9bc19199c58e08c059e383615df4ebc6e49b557c3afc4b39"
3071
+ "bytes": 248978,
3072
+ "sha256": "65f8bdc26f9269fa269783e885b7a834bc202361f7b0a40483d69040ee39f67f"
3048
3073
  },
3049
3074
  {
3050
3075
  "path": "skills/loom-merge-ready/.loom-runtime/shared/scripts/loom_init.py",
@@ -3053,8 +3078,8 @@
3053
3078
  },
3054
3079
  {
3055
3080
  "path": "skills/loom-merge-ready/.loom-runtime/shared/scripts/loom_status.py",
3056
- "bytes": 19290,
3057
- "sha256": "3ac4e5d6a29cc7654890b2d857546a5b9edb1c301bdc583e073de796b60b2774"
3081
+ "bytes": 18941,
3082
+ "sha256": "b8c74d31898ba4fdd5326abe82d175ec10e0a30cc2ea61810f1ec096052519f6"
3058
3083
  },
3059
3084
  {
3060
3085
  "path": "skills/loom-merge-ready/.loom-runtime/shared/scripts/runtime_paths.py",
@@ -3388,8 +3413,13 @@
3388
3413
  },
3389
3414
  {
3390
3415
  "path": "skills/loom-pre-review/.loom-runtime/README.md",
3391
- "bytes": 4132,
3392
- "sha256": "ad5f5bf3ab9944bdd22018b5af77d8c5ab3f3e89ea282e5d5a679e65503c6e19"
3416
+ "bytes": 4330,
3417
+ "sha256": "907c801ec6d20ee3a4a8d90e137d432e9512aae96c765d28b055e7952e1e0dfc"
3418
+ },
3419
+ {
3420
+ "path": "skills/loom-pre-review/.loom-runtime/README.zh-CN.md",
3421
+ "bytes": 3986,
3422
+ "sha256": "90ba899919bf2329098fe72a7993edc6c5a6ba1f04ed820c2a643f89c95f65eb"
3393
3423
  },
3394
3424
  {
3395
3425
  "path": "skills/loom-pre-review/.loom-runtime/registry.json",
@@ -3643,18 +3673,18 @@
3643
3673
  },
3644
3674
  {
3645
3675
  "path": "skills/loom-pre-review/.loom-runtime/shared/scripts/governance_surface.py",
3646
- "bytes": 47956,
3647
- "sha256": "d3180df772c8b8ed46990bb5d05a44f9355dca59fce7d2f32cf482a529552e94"
3676
+ "bytes": 48077,
3677
+ "sha256": "ecb24c8c58d978cd9207f8a99881e560c6f64f015cffa527bd221a1cf7cf2e24"
3648
3678
  },
3649
3679
  {
3650
3680
  "path": "skills/loom-pre-review/.loom-runtime/shared/scripts/loom_check.py",
3651
- "bytes": 248115,
3652
- "sha256": "9b6f6af1f63bd9af6f1b4f24356bfdf5e52edaa82bbb2b2ade040e9bff951039"
3681
+ "bytes": 249748,
3682
+ "sha256": "c109f05fa2f30c90d50980c349af5efcb16f5b493dc9ba03c923626a03ed48b2"
3653
3683
  },
3654
3684
  {
3655
3685
  "path": "skills/loom-pre-review/.loom-runtime/shared/scripts/loom_flow.py",
3656
- "bytes": 246270,
3657
- "sha256": "142f3303eb1c62ef9bc19199c58e08c059e383615df4ebc6e49b557c3afc4b39"
3686
+ "bytes": 248978,
3687
+ "sha256": "65f8bdc26f9269fa269783e885b7a834bc202361f7b0a40483d69040ee39f67f"
3658
3688
  },
3659
3689
  {
3660
3690
  "path": "skills/loom-pre-review/.loom-runtime/shared/scripts/loom_init.py",
@@ -3663,8 +3693,8 @@
3663
3693
  },
3664
3694
  {
3665
3695
  "path": "skills/loom-pre-review/.loom-runtime/shared/scripts/loom_status.py",
3666
- "bytes": 19290,
3667
- "sha256": "3ac4e5d6a29cc7654890b2d857546a5b9edb1c301bdc583e073de796b60b2774"
3696
+ "bytes": 18941,
3697
+ "sha256": "b8c74d31898ba4fdd5326abe82d175ec10e0a30cc2ea61810f1ec096052519f6"
3668
3698
  },
3669
3699
  {
3670
3700
  "path": "skills/loom-pre-review/.loom-runtime/shared/scripts/runtime_paths.py",
@@ -3998,8 +4028,13 @@
3998
4028
  },
3999
4029
  {
4000
4030
  "path": "skills/loom-resume/.loom-runtime/README.md",
4001
- "bytes": 4132,
4002
- "sha256": "ad5f5bf3ab9944bdd22018b5af77d8c5ab3f3e89ea282e5d5a679e65503c6e19"
4031
+ "bytes": 4330,
4032
+ "sha256": "907c801ec6d20ee3a4a8d90e137d432e9512aae96c765d28b055e7952e1e0dfc"
4033
+ },
4034
+ {
4035
+ "path": "skills/loom-resume/.loom-runtime/README.zh-CN.md",
4036
+ "bytes": 3986,
4037
+ "sha256": "90ba899919bf2329098fe72a7993edc6c5a6ba1f04ed820c2a643f89c95f65eb"
4003
4038
  },
4004
4039
  {
4005
4040
  "path": "skills/loom-resume/.loom-runtime/registry.json",
@@ -4253,18 +4288,18 @@
4253
4288
  },
4254
4289
  {
4255
4290
  "path": "skills/loom-resume/.loom-runtime/shared/scripts/governance_surface.py",
4256
- "bytes": 47956,
4257
- "sha256": "d3180df772c8b8ed46990bb5d05a44f9355dca59fce7d2f32cf482a529552e94"
4291
+ "bytes": 48077,
4292
+ "sha256": "ecb24c8c58d978cd9207f8a99881e560c6f64f015cffa527bd221a1cf7cf2e24"
4258
4293
  },
4259
4294
  {
4260
4295
  "path": "skills/loom-resume/.loom-runtime/shared/scripts/loom_check.py",
4261
- "bytes": 248115,
4262
- "sha256": "9b6f6af1f63bd9af6f1b4f24356bfdf5e52edaa82bbb2b2ade040e9bff951039"
4296
+ "bytes": 249748,
4297
+ "sha256": "c109f05fa2f30c90d50980c349af5efcb16f5b493dc9ba03c923626a03ed48b2"
4263
4298
  },
4264
4299
  {
4265
4300
  "path": "skills/loom-resume/.loom-runtime/shared/scripts/loom_flow.py",
4266
- "bytes": 246270,
4267
- "sha256": "142f3303eb1c62ef9bc19199c58e08c059e383615df4ebc6e49b557c3afc4b39"
4301
+ "bytes": 248978,
4302
+ "sha256": "65f8bdc26f9269fa269783e885b7a834bc202361f7b0a40483d69040ee39f67f"
4268
4303
  },
4269
4304
  {
4270
4305
  "path": "skills/loom-resume/.loom-runtime/shared/scripts/loom_init.py",
@@ -4273,8 +4308,8 @@
4273
4308
  },
4274
4309
  {
4275
4310
  "path": "skills/loom-resume/.loom-runtime/shared/scripts/loom_status.py",
4276
- "bytes": 19290,
4277
- "sha256": "3ac4e5d6a29cc7654890b2d857546a5b9edb1c301bdc583e073de796b60b2774"
4311
+ "bytes": 18941,
4312
+ "sha256": "b8c74d31898ba4fdd5326abe82d175ec10e0a30cc2ea61810f1ec096052519f6"
4278
4313
  },
4279
4314
  {
4280
4315
  "path": "skills/loom-resume/.loom-runtime/shared/scripts/runtime_paths.py",
@@ -4608,8 +4643,13 @@
4608
4643
  },
4609
4644
  {
4610
4645
  "path": "skills/loom-retire/.loom-runtime/README.md",
4611
- "bytes": 4132,
4612
- "sha256": "ad5f5bf3ab9944bdd22018b5af77d8c5ab3f3e89ea282e5d5a679e65503c6e19"
4646
+ "bytes": 4330,
4647
+ "sha256": "907c801ec6d20ee3a4a8d90e137d432e9512aae96c765d28b055e7952e1e0dfc"
4648
+ },
4649
+ {
4650
+ "path": "skills/loom-retire/.loom-runtime/README.zh-CN.md",
4651
+ "bytes": 3986,
4652
+ "sha256": "90ba899919bf2329098fe72a7993edc6c5a6ba1f04ed820c2a643f89c95f65eb"
4613
4653
  },
4614
4654
  {
4615
4655
  "path": "skills/loom-retire/.loom-runtime/registry.json",
@@ -4863,18 +4903,18 @@
4863
4903
  },
4864
4904
  {
4865
4905
  "path": "skills/loom-retire/.loom-runtime/shared/scripts/governance_surface.py",
4866
- "bytes": 47956,
4867
- "sha256": "d3180df772c8b8ed46990bb5d05a44f9355dca59fce7d2f32cf482a529552e94"
4906
+ "bytes": 48077,
4907
+ "sha256": "ecb24c8c58d978cd9207f8a99881e560c6f64f015cffa527bd221a1cf7cf2e24"
4868
4908
  },
4869
4909
  {
4870
4910
  "path": "skills/loom-retire/.loom-runtime/shared/scripts/loom_check.py",
4871
- "bytes": 248115,
4872
- "sha256": "9b6f6af1f63bd9af6f1b4f24356bfdf5e52edaa82bbb2b2ade040e9bff951039"
4911
+ "bytes": 249748,
4912
+ "sha256": "c109f05fa2f30c90d50980c349af5efcb16f5b493dc9ba03c923626a03ed48b2"
4873
4913
  },
4874
4914
  {
4875
4915
  "path": "skills/loom-retire/.loom-runtime/shared/scripts/loom_flow.py",
4876
- "bytes": 246270,
4877
- "sha256": "142f3303eb1c62ef9bc19199c58e08c059e383615df4ebc6e49b557c3afc4b39"
4916
+ "bytes": 248978,
4917
+ "sha256": "65f8bdc26f9269fa269783e885b7a834bc202361f7b0a40483d69040ee39f67f"
4878
4918
  },
4879
4919
  {
4880
4920
  "path": "skills/loom-retire/.loom-runtime/shared/scripts/loom_init.py",
@@ -4883,8 +4923,8 @@
4883
4923
  },
4884
4924
  {
4885
4925
  "path": "skills/loom-retire/.loom-runtime/shared/scripts/loom_status.py",
4886
- "bytes": 19290,
4887
- "sha256": "3ac4e5d6a29cc7654890b2d857546a5b9edb1c301bdc583e073de796b60b2774"
4926
+ "bytes": 18941,
4927
+ "sha256": "b8c74d31898ba4fdd5326abe82d175ec10e0a30cc2ea61810f1ec096052519f6"
4888
4928
  },
4889
4929
  {
4890
4930
  "path": "skills/loom-retire/.loom-runtime/shared/scripts/runtime_paths.py",
@@ -5218,8 +5258,13 @@
5218
5258
  },
5219
5259
  {
5220
5260
  "path": "skills/loom-review/.loom-runtime/README.md",
5221
- "bytes": 4132,
5222
- "sha256": "ad5f5bf3ab9944bdd22018b5af77d8c5ab3f3e89ea282e5d5a679e65503c6e19"
5261
+ "bytes": 4330,
5262
+ "sha256": "907c801ec6d20ee3a4a8d90e137d432e9512aae96c765d28b055e7952e1e0dfc"
5263
+ },
5264
+ {
5265
+ "path": "skills/loom-review/.loom-runtime/README.zh-CN.md",
5266
+ "bytes": 3986,
5267
+ "sha256": "90ba899919bf2329098fe72a7993edc6c5a6ba1f04ed820c2a643f89c95f65eb"
5223
5268
  },
5224
5269
  {
5225
5270
  "path": "skills/loom-review/.loom-runtime/registry.json",
@@ -5473,18 +5518,18 @@
5473
5518
  },
5474
5519
  {
5475
5520
  "path": "skills/loom-review/.loom-runtime/shared/scripts/governance_surface.py",
5476
- "bytes": 47956,
5477
- "sha256": "d3180df772c8b8ed46990bb5d05a44f9355dca59fce7d2f32cf482a529552e94"
5521
+ "bytes": 48077,
5522
+ "sha256": "ecb24c8c58d978cd9207f8a99881e560c6f64f015cffa527bd221a1cf7cf2e24"
5478
5523
  },
5479
5524
  {
5480
5525
  "path": "skills/loom-review/.loom-runtime/shared/scripts/loom_check.py",
5481
- "bytes": 248115,
5482
- "sha256": "9b6f6af1f63bd9af6f1b4f24356bfdf5e52edaa82bbb2b2ade040e9bff951039"
5526
+ "bytes": 249748,
5527
+ "sha256": "c109f05fa2f30c90d50980c349af5efcb16f5b493dc9ba03c923626a03ed48b2"
5483
5528
  },
5484
5529
  {
5485
5530
  "path": "skills/loom-review/.loom-runtime/shared/scripts/loom_flow.py",
5486
- "bytes": 246270,
5487
- "sha256": "142f3303eb1c62ef9bc19199c58e08c059e383615df4ebc6e49b557c3afc4b39"
5531
+ "bytes": 248978,
5532
+ "sha256": "65f8bdc26f9269fa269783e885b7a834bc202361f7b0a40483d69040ee39f67f"
5488
5533
  },
5489
5534
  {
5490
5535
  "path": "skills/loom-review/.loom-runtime/shared/scripts/loom_init.py",
@@ -5493,8 +5538,8 @@
5493
5538
  },
5494
5539
  {
5495
5540
  "path": "skills/loom-review/.loom-runtime/shared/scripts/loom_status.py",
5496
- "bytes": 19290,
5497
- "sha256": "3ac4e5d6a29cc7654890b2d857546a5b9edb1c301bdc583e073de796b60b2774"
5541
+ "bytes": 18941,
5542
+ "sha256": "b8c74d31898ba4fdd5326abe82d175ec10e0a30cc2ea61810f1ec096052519f6"
5498
5543
  },
5499
5544
  {
5500
5545
  "path": "skills/loom-review/.loom-runtime/shared/scripts/runtime_paths.py",
@@ -5828,8 +5873,13 @@
5828
5873
  },
5829
5874
  {
5830
5875
  "path": "skills/loom-spec-review/.loom-runtime/README.md",
5831
- "bytes": 4132,
5832
- "sha256": "ad5f5bf3ab9944bdd22018b5af77d8c5ab3f3e89ea282e5d5a679e65503c6e19"
5876
+ "bytes": 4330,
5877
+ "sha256": "907c801ec6d20ee3a4a8d90e137d432e9512aae96c765d28b055e7952e1e0dfc"
5878
+ },
5879
+ {
5880
+ "path": "skills/loom-spec-review/.loom-runtime/README.zh-CN.md",
5881
+ "bytes": 3986,
5882
+ "sha256": "90ba899919bf2329098fe72a7993edc6c5a6ba1f04ed820c2a643f89c95f65eb"
5833
5883
  },
5834
5884
  {
5835
5885
  "path": "skills/loom-spec-review/.loom-runtime/registry.json",
@@ -6083,18 +6133,18 @@
6083
6133
  },
6084
6134
  {
6085
6135
  "path": "skills/loom-spec-review/.loom-runtime/shared/scripts/governance_surface.py",
6086
- "bytes": 47956,
6087
- "sha256": "d3180df772c8b8ed46990bb5d05a44f9355dca59fce7d2f32cf482a529552e94"
6136
+ "bytes": 48077,
6137
+ "sha256": "ecb24c8c58d978cd9207f8a99881e560c6f64f015cffa527bd221a1cf7cf2e24"
6088
6138
  },
6089
6139
  {
6090
6140
  "path": "skills/loom-spec-review/.loom-runtime/shared/scripts/loom_check.py",
6091
- "bytes": 248115,
6092
- "sha256": "9b6f6af1f63bd9af6f1b4f24356bfdf5e52edaa82bbb2b2ade040e9bff951039"
6141
+ "bytes": 249748,
6142
+ "sha256": "c109f05fa2f30c90d50980c349af5efcb16f5b493dc9ba03c923626a03ed48b2"
6093
6143
  },
6094
6144
  {
6095
6145
  "path": "skills/loom-spec-review/.loom-runtime/shared/scripts/loom_flow.py",
6096
- "bytes": 246270,
6097
- "sha256": "142f3303eb1c62ef9bc19199c58e08c059e383615df4ebc6e49b557c3afc4b39"
6146
+ "bytes": 248978,
6147
+ "sha256": "65f8bdc26f9269fa269783e885b7a834bc202361f7b0a40483d69040ee39f67f"
6098
6148
  },
6099
6149
  {
6100
6150
  "path": "skills/loom-spec-review/.loom-runtime/shared/scripts/loom_init.py",
@@ -6103,8 +6153,8 @@
6103
6153
  },
6104
6154
  {
6105
6155
  "path": "skills/loom-spec-review/.loom-runtime/shared/scripts/loom_status.py",
6106
- "bytes": 19290,
6107
- "sha256": "3ac4e5d6a29cc7654890b2d857546a5b9edb1c301bdc583e073de796b60b2774"
6156
+ "bytes": 18941,
6157
+ "sha256": "b8c74d31898ba4fdd5326abe82d175ec10e0a30cc2ea61810f1ec096052519f6"
6108
6158
  },
6109
6159
  {
6110
6160
  "path": "skills/loom-spec-review/.loom-runtime/shared/scripts/runtime_paths.py",