@mc-and-his-agents/loom-installer 0.1.27 → 0.1.28
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 +1 -1
- package/payload/manifest.json +112 -62
- package/payload/plugin/loom/skills/shared/references/adoption/deep-existing-repo-default.md +19 -4
- package/payload/plugin/loom/skills/shared/references/adoption/external-runtime-companion-contract.md +110 -0
- package/payload/plugin/loom/skills/shared/references/harness/runtime-state.md +14 -0
- package/payload/plugin/loom/skills/shared/scripts/loom_check.py +50 -0
- package/payload/skills/loom-adopt/.loom-runtime/shared/references/adoption/deep-existing-repo-default.md +19 -4
- package/payload/skills/loom-adopt/.loom-runtime/shared/references/adoption/external-runtime-companion-contract.md +110 -0
- package/payload/skills/loom-adopt/.loom-runtime/shared/references/harness/runtime-state.md +14 -0
- package/payload/skills/loom-adopt/.loom-runtime/shared/scripts/loom_check.py +50 -0
- package/payload/skills/loom-handoff/.loom-runtime/shared/references/adoption/deep-existing-repo-default.md +19 -4
- package/payload/skills/loom-handoff/.loom-runtime/shared/references/adoption/external-runtime-companion-contract.md +110 -0
- package/payload/skills/loom-handoff/.loom-runtime/shared/references/harness/runtime-state.md +14 -0
- package/payload/skills/loom-handoff/.loom-runtime/shared/scripts/loom_check.py +50 -0
- package/payload/skills/loom-init/.loom-runtime/shared/references/adoption/deep-existing-repo-default.md +19 -4
- package/payload/skills/loom-init/.loom-runtime/shared/references/adoption/external-runtime-companion-contract.md +110 -0
- package/payload/skills/loom-init/.loom-runtime/shared/references/harness/runtime-state.md +14 -0
- package/payload/skills/loom-init/.loom-runtime/shared/scripts/loom_check.py +50 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/shared/references/adoption/deep-existing-repo-default.md +19 -4
- package/payload/skills/loom-merge-ready/.loom-runtime/shared/references/adoption/external-runtime-companion-contract.md +110 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/shared/references/harness/runtime-state.md +14 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/shared/scripts/loom_check.py +50 -0
- package/payload/skills/loom-pre-review/.loom-runtime/shared/references/adoption/deep-existing-repo-default.md +19 -4
- package/payload/skills/loom-pre-review/.loom-runtime/shared/references/adoption/external-runtime-companion-contract.md +110 -0
- package/payload/skills/loom-pre-review/.loom-runtime/shared/references/harness/runtime-state.md +14 -0
- package/payload/skills/loom-pre-review/.loom-runtime/shared/scripts/loom_check.py +50 -0
- package/payload/skills/loom-resume/.loom-runtime/shared/references/adoption/deep-existing-repo-default.md +19 -4
- package/payload/skills/loom-resume/.loom-runtime/shared/references/adoption/external-runtime-companion-contract.md +110 -0
- package/payload/skills/loom-resume/.loom-runtime/shared/references/harness/runtime-state.md +14 -0
- package/payload/skills/loom-resume/.loom-runtime/shared/scripts/loom_check.py +50 -0
- package/payload/skills/loom-retire/.loom-runtime/shared/references/adoption/deep-existing-repo-default.md +19 -4
- package/payload/skills/loom-retire/.loom-runtime/shared/references/adoption/external-runtime-companion-contract.md +110 -0
- package/payload/skills/loom-retire/.loom-runtime/shared/references/harness/runtime-state.md +14 -0
- package/payload/skills/loom-retire/.loom-runtime/shared/scripts/loom_check.py +50 -0
- package/payload/skills/loom-review/.loom-runtime/shared/references/adoption/deep-existing-repo-default.md +19 -4
- package/payload/skills/loom-review/.loom-runtime/shared/references/adoption/external-runtime-companion-contract.md +110 -0
- package/payload/skills/loom-review/.loom-runtime/shared/references/harness/runtime-state.md +14 -0
- package/payload/skills/loom-review/.loom-runtime/shared/scripts/loom_check.py +50 -0
- package/payload/skills/loom-spec-review/.loom-runtime/shared/references/adoption/deep-existing-repo-default.md +19 -4
- package/payload/skills/loom-spec-review/.loom-runtime/shared/references/adoption/external-runtime-companion-contract.md +110 -0
- package/payload/skills/loom-spec-review/.loom-runtime/shared/references/harness/runtime-state.md +14 -0
- package/payload/skills/loom-spec-review/.loom-runtime/shared/scripts/loom_check.py +50 -0
package/package.json
CHANGED
package/payload/manifest.json
CHANGED
|
@@ -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": "
|
|
5
|
+
"source_commit": "da62e14fb59e95ab0c8b862d4d39f884d8c44ac7",
|
|
6
6
|
"source_ref": "main",
|
|
7
|
-
"built_at": "2026-04-27T00:
|
|
7
|
+
"built_at": "2026-04-27T00:52:37+08:00",
|
|
8
8
|
"runtime": {
|
|
9
9
|
"python_minimum": "3.10",
|
|
10
10
|
"python_recommended": "3.11+"
|
|
@@ -408,8 +408,13 @@
|
|
|
408
408
|
},
|
|
409
409
|
{
|
|
410
410
|
"path": "plugin/loom/skills/shared/references/adoption/deep-existing-repo-default.md",
|
|
411
|
-
"bytes":
|
|
412
|
-
"sha256": "
|
|
411
|
+
"bytes": 3365,
|
|
412
|
+
"sha256": "a1a9f4e9d97db6a0b0e0b6f8c097b64b6e5122e35a08b1759fa343ffca667a0c"
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
"path": "plugin/loom/skills/shared/references/adoption/external-runtime-companion-contract.md",
|
|
416
|
+
"bytes": 3860,
|
|
417
|
+
"sha256": "814773c73c875472b6c5dc5e078268f5266bec105e14ca4bb94da9a55db978ac"
|
|
413
418
|
},
|
|
414
419
|
{
|
|
415
420
|
"path": "plugin/loom/skills/shared/references/adoption/github-profile-upgrade.md",
|
|
@@ -563,8 +568,8 @@
|
|
|
563
568
|
},
|
|
564
569
|
{
|
|
565
570
|
"path": "plugin/loom/skills/shared/references/harness/runtime-state.md",
|
|
566
|
-
"bytes":
|
|
567
|
-
"sha256": "
|
|
571
|
+
"bytes": 3416,
|
|
572
|
+
"sha256": "b53b5ce340f54dd25f15d68f5a637d8ea55ca8420d843031b3ed61cd1be43593"
|
|
568
573
|
},
|
|
569
574
|
{
|
|
570
575
|
"path": "plugin/loom/skills/shared/references/harness/status-surface-contract.md",
|
|
@@ -628,8 +633,8 @@
|
|
|
628
633
|
},
|
|
629
634
|
{
|
|
630
635
|
"path": "plugin/loom/skills/shared/scripts/loom_check.py",
|
|
631
|
-
"bytes":
|
|
632
|
-
"sha256": "
|
|
636
|
+
"bytes": 297968,
|
|
637
|
+
"sha256": "8a5ee386532ac7772563ced89cb644ffb1eb00087d7c77ee1a661de88ce717b3"
|
|
633
638
|
},
|
|
634
639
|
{
|
|
635
640
|
"path": "plugin/loom/skills/shared/scripts/loom_flow.py",
|
|
@@ -993,8 +998,13 @@
|
|
|
993
998
|
},
|
|
994
999
|
{
|
|
995
1000
|
"path": "skills/loom-adopt/.loom-runtime/shared/references/adoption/deep-existing-repo-default.md",
|
|
996
|
-
"bytes":
|
|
997
|
-
"sha256": "
|
|
1001
|
+
"bytes": 3365,
|
|
1002
|
+
"sha256": "a1a9f4e9d97db6a0b0e0b6f8c097b64b6e5122e35a08b1759fa343ffca667a0c"
|
|
1003
|
+
},
|
|
1004
|
+
{
|
|
1005
|
+
"path": "skills/loom-adopt/.loom-runtime/shared/references/adoption/external-runtime-companion-contract.md",
|
|
1006
|
+
"bytes": 3860,
|
|
1007
|
+
"sha256": "814773c73c875472b6c5dc5e078268f5266bec105e14ca4bb94da9a55db978ac"
|
|
998
1008
|
},
|
|
999
1009
|
{
|
|
1000
1010
|
"path": "skills/loom-adopt/.loom-runtime/shared/references/adoption/github-profile-upgrade.md",
|
|
@@ -1148,8 +1158,8 @@
|
|
|
1148
1158
|
},
|
|
1149
1159
|
{
|
|
1150
1160
|
"path": "skills/loom-adopt/.loom-runtime/shared/references/harness/runtime-state.md",
|
|
1151
|
-
"bytes":
|
|
1152
|
-
"sha256": "
|
|
1161
|
+
"bytes": 3416,
|
|
1162
|
+
"sha256": "b53b5ce340f54dd25f15d68f5a637d8ea55ca8420d843031b3ed61cd1be43593"
|
|
1153
1163
|
},
|
|
1154
1164
|
{
|
|
1155
1165
|
"path": "skills/loom-adopt/.loom-runtime/shared/references/harness/status-surface-contract.md",
|
|
@@ -1213,8 +1223,8 @@
|
|
|
1213
1223
|
},
|
|
1214
1224
|
{
|
|
1215
1225
|
"path": "skills/loom-adopt/.loom-runtime/shared/scripts/loom_check.py",
|
|
1216
|
-
"bytes":
|
|
1217
|
-
"sha256": "
|
|
1226
|
+
"bytes": 297968,
|
|
1227
|
+
"sha256": "8a5ee386532ac7772563ced89cb644ffb1eb00087d7c77ee1a661de88ce717b3"
|
|
1218
1228
|
},
|
|
1219
1229
|
{
|
|
1220
1230
|
"path": "skills/loom-adopt/.loom-runtime/shared/scripts/loom_flow.py",
|
|
@@ -1608,8 +1618,13 @@
|
|
|
1608
1618
|
},
|
|
1609
1619
|
{
|
|
1610
1620
|
"path": "skills/loom-handoff/.loom-runtime/shared/references/adoption/deep-existing-repo-default.md",
|
|
1611
|
-
"bytes":
|
|
1612
|
-
"sha256": "
|
|
1621
|
+
"bytes": 3365,
|
|
1622
|
+
"sha256": "a1a9f4e9d97db6a0b0e0b6f8c097b64b6e5122e35a08b1759fa343ffca667a0c"
|
|
1623
|
+
},
|
|
1624
|
+
{
|
|
1625
|
+
"path": "skills/loom-handoff/.loom-runtime/shared/references/adoption/external-runtime-companion-contract.md",
|
|
1626
|
+
"bytes": 3860,
|
|
1627
|
+
"sha256": "814773c73c875472b6c5dc5e078268f5266bec105e14ca4bb94da9a55db978ac"
|
|
1613
1628
|
},
|
|
1614
1629
|
{
|
|
1615
1630
|
"path": "skills/loom-handoff/.loom-runtime/shared/references/adoption/github-profile-upgrade.md",
|
|
@@ -1763,8 +1778,8 @@
|
|
|
1763
1778
|
},
|
|
1764
1779
|
{
|
|
1765
1780
|
"path": "skills/loom-handoff/.loom-runtime/shared/references/harness/runtime-state.md",
|
|
1766
|
-
"bytes":
|
|
1767
|
-
"sha256": "
|
|
1781
|
+
"bytes": 3416,
|
|
1782
|
+
"sha256": "b53b5ce340f54dd25f15d68f5a637d8ea55ca8420d843031b3ed61cd1be43593"
|
|
1768
1783
|
},
|
|
1769
1784
|
{
|
|
1770
1785
|
"path": "skills/loom-handoff/.loom-runtime/shared/references/harness/status-surface-contract.md",
|
|
@@ -1828,8 +1843,8 @@
|
|
|
1828
1843
|
},
|
|
1829
1844
|
{
|
|
1830
1845
|
"path": "skills/loom-handoff/.loom-runtime/shared/scripts/loom_check.py",
|
|
1831
|
-
"bytes":
|
|
1832
|
-
"sha256": "
|
|
1846
|
+
"bytes": 297968,
|
|
1847
|
+
"sha256": "8a5ee386532ac7772563ced89cb644ffb1eb00087d7c77ee1a661de88ce717b3"
|
|
1833
1848
|
},
|
|
1834
1849
|
{
|
|
1835
1850
|
"path": "skills/loom-handoff/.loom-runtime/shared/scripts/loom_flow.py",
|
|
@@ -2223,8 +2238,13 @@
|
|
|
2223
2238
|
},
|
|
2224
2239
|
{
|
|
2225
2240
|
"path": "skills/loom-init/.loom-runtime/shared/references/adoption/deep-existing-repo-default.md",
|
|
2226
|
-
"bytes":
|
|
2227
|
-
"sha256": "
|
|
2241
|
+
"bytes": 3365,
|
|
2242
|
+
"sha256": "a1a9f4e9d97db6a0b0e0b6f8c097b64b6e5122e35a08b1759fa343ffca667a0c"
|
|
2243
|
+
},
|
|
2244
|
+
{
|
|
2245
|
+
"path": "skills/loom-init/.loom-runtime/shared/references/adoption/external-runtime-companion-contract.md",
|
|
2246
|
+
"bytes": 3860,
|
|
2247
|
+
"sha256": "814773c73c875472b6c5dc5e078268f5266bec105e14ca4bb94da9a55db978ac"
|
|
2228
2248
|
},
|
|
2229
2249
|
{
|
|
2230
2250
|
"path": "skills/loom-init/.loom-runtime/shared/references/adoption/github-profile-upgrade.md",
|
|
@@ -2378,8 +2398,8 @@
|
|
|
2378
2398
|
},
|
|
2379
2399
|
{
|
|
2380
2400
|
"path": "skills/loom-init/.loom-runtime/shared/references/harness/runtime-state.md",
|
|
2381
|
-
"bytes":
|
|
2382
|
-
"sha256": "
|
|
2401
|
+
"bytes": 3416,
|
|
2402
|
+
"sha256": "b53b5ce340f54dd25f15d68f5a637d8ea55ca8420d843031b3ed61cd1be43593"
|
|
2383
2403
|
},
|
|
2384
2404
|
{
|
|
2385
2405
|
"path": "skills/loom-init/.loom-runtime/shared/references/harness/status-surface-contract.md",
|
|
@@ -2443,8 +2463,8 @@
|
|
|
2443
2463
|
},
|
|
2444
2464
|
{
|
|
2445
2465
|
"path": "skills/loom-init/.loom-runtime/shared/scripts/loom_check.py",
|
|
2446
|
-
"bytes":
|
|
2447
|
-
"sha256": "
|
|
2466
|
+
"bytes": 297968,
|
|
2467
|
+
"sha256": "8a5ee386532ac7772563ced89cb644ffb1eb00087d7c77ee1a661de88ce717b3"
|
|
2448
2468
|
},
|
|
2449
2469
|
{
|
|
2450
2470
|
"path": "skills/loom-init/.loom-runtime/shared/scripts/loom_flow.py",
|
|
@@ -2843,8 +2863,13 @@
|
|
|
2843
2863
|
},
|
|
2844
2864
|
{
|
|
2845
2865
|
"path": "skills/loom-merge-ready/.loom-runtime/shared/references/adoption/deep-existing-repo-default.md",
|
|
2846
|
-
"bytes":
|
|
2847
|
-
"sha256": "
|
|
2866
|
+
"bytes": 3365,
|
|
2867
|
+
"sha256": "a1a9f4e9d97db6a0b0e0b6f8c097b64b6e5122e35a08b1759fa343ffca667a0c"
|
|
2868
|
+
},
|
|
2869
|
+
{
|
|
2870
|
+
"path": "skills/loom-merge-ready/.loom-runtime/shared/references/adoption/external-runtime-companion-contract.md",
|
|
2871
|
+
"bytes": 3860,
|
|
2872
|
+
"sha256": "814773c73c875472b6c5dc5e078268f5266bec105e14ca4bb94da9a55db978ac"
|
|
2848
2873
|
},
|
|
2849
2874
|
{
|
|
2850
2875
|
"path": "skills/loom-merge-ready/.loom-runtime/shared/references/adoption/github-profile-upgrade.md",
|
|
@@ -2998,8 +3023,8 @@
|
|
|
2998
3023
|
},
|
|
2999
3024
|
{
|
|
3000
3025
|
"path": "skills/loom-merge-ready/.loom-runtime/shared/references/harness/runtime-state.md",
|
|
3001
|
-
"bytes":
|
|
3002
|
-
"sha256": "
|
|
3026
|
+
"bytes": 3416,
|
|
3027
|
+
"sha256": "b53b5ce340f54dd25f15d68f5a637d8ea55ca8420d843031b3ed61cd1be43593"
|
|
3003
3028
|
},
|
|
3004
3029
|
{
|
|
3005
3030
|
"path": "skills/loom-merge-ready/.loom-runtime/shared/references/harness/status-surface-contract.md",
|
|
@@ -3063,8 +3088,8 @@
|
|
|
3063
3088
|
},
|
|
3064
3089
|
{
|
|
3065
3090
|
"path": "skills/loom-merge-ready/.loom-runtime/shared/scripts/loom_check.py",
|
|
3066
|
-
"bytes":
|
|
3067
|
-
"sha256": "
|
|
3091
|
+
"bytes": 297968,
|
|
3092
|
+
"sha256": "8a5ee386532ac7772563ced89cb644ffb1eb00087d7c77ee1a661de88ce717b3"
|
|
3068
3093
|
},
|
|
3069
3094
|
{
|
|
3070
3095
|
"path": "skills/loom-merge-ready/.loom-runtime/shared/scripts/loom_flow.py",
|
|
@@ -3458,8 +3483,13 @@
|
|
|
3458
3483
|
},
|
|
3459
3484
|
{
|
|
3460
3485
|
"path": "skills/loom-pre-review/.loom-runtime/shared/references/adoption/deep-existing-repo-default.md",
|
|
3461
|
-
"bytes":
|
|
3462
|
-
"sha256": "
|
|
3486
|
+
"bytes": 3365,
|
|
3487
|
+
"sha256": "a1a9f4e9d97db6a0b0e0b6f8c097b64b6e5122e35a08b1759fa343ffca667a0c"
|
|
3488
|
+
},
|
|
3489
|
+
{
|
|
3490
|
+
"path": "skills/loom-pre-review/.loom-runtime/shared/references/adoption/external-runtime-companion-contract.md",
|
|
3491
|
+
"bytes": 3860,
|
|
3492
|
+
"sha256": "814773c73c875472b6c5dc5e078268f5266bec105e14ca4bb94da9a55db978ac"
|
|
3463
3493
|
},
|
|
3464
3494
|
{
|
|
3465
3495
|
"path": "skills/loom-pre-review/.loom-runtime/shared/references/adoption/github-profile-upgrade.md",
|
|
@@ -3613,8 +3643,8 @@
|
|
|
3613
3643
|
},
|
|
3614
3644
|
{
|
|
3615
3645
|
"path": "skills/loom-pre-review/.loom-runtime/shared/references/harness/runtime-state.md",
|
|
3616
|
-
"bytes":
|
|
3617
|
-
"sha256": "
|
|
3646
|
+
"bytes": 3416,
|
|
3647
|
+
"sha256": "b53b5ce340f54dd25f15d68f5a637d8ea55ca8420d843031b3ed61cd1be43593"
|
|
3618
3648
|
},
|
|
3619
3649
|
{
|
|
3620
3650
|
"path": "skills/loom-pre-review/.loom-runtime/shared/references/harness/status-surface-contract.md",
|
|
@@ -3678,8 +3708,8 @@
|
|
|
3678
3708
|
},
|
|
3679
3709
|
{
|
|
3680
3710
|
"path": "skills/loom-pre-review/.loom-runtime/shared/scripts/loom_check.py",
|
|
3681
|
-
"bytes":
|
|
3682
|
-
"sha256": "
|
|
3711
|
+
"bytes": 297968,
|
|
3712
|
+
"sha256": "8a5ee386532ac7772563ced89cb644ffb1eb00087d7c77ee1a661de88ce717b3"
|
|
3683
3713
|
},
|
|
3684
3714
|
{
|
|
3685
3715
|
"path": "skills/loom-pre-review/.loom-runtime/shared/scripts/loom_flow.py",
|
|
@@ -4073,8 +4103,13 @@
|
|
|
4073
4103
|
},
|
|
4074
4104
|
{
|
|
4075
4105
|
"path": "skills/loom-resume/.loom-runtime/shared/references/adoption/deep-existing-repo-default.md",
|
|
4076
|
-
"bytes":
|
|
4077
|
-
"sha256": "
|
|
4106
|
+
"bytes": 3365,
|
|
4107
|
+
"sha256": "a1a9f4e9d97db6a0b0e0b6f8c097b64b6e5122e35a08b1759fa343ffca667a0c"
|
|
4108
|
+
},
|
|
4109
|
+
{
|
|
4110
|
+
"path": "skills/loom-resume/.loom-runtime/shared/references/adoption/external-runtime-companion-contract.md",
|
|
4111
|
+
"bytes": 3860,
|
|
4112
|
+
"sha256": "814773c73c875472b6c5dc5e078268f5266bec105e14ca4bb94da9a55db978ac"
|
|
4078
4113
|
},
|
|
4079
4114
|
{
|
|
4080
4115
|
"path": "skills/loom-resume/.loom-runtime/shared/references/adoption/github-profile-upgrade.md",
|
|
@@ -4228,8 +4263,8 @@
|
|
|
4228
4263
|
},
|
|
4229
4264
|
{
|
|
4230
4265
|
"path": "skills/loom-resume/.loom-runtime/shared/references/harness/runtime-state.md",
|
|
4231
|
-
"bytes":
|
|
4232
|
-
"sha256": "
|
|
4266
|
+
"bytes": 3416,
|
|
4267
|
+
"sha256": "b53b5ce340f54dd25f15d68f5a637d8ea55ca8420d843031b3ed61cd1be43593"
|
|
4233
4268
|
},
|
|
4234
4269
|
{
|
|
4235
4270
|
"path": "skills/loom-resume/.loom-runtime/shared/references/harness/status-surface-contract.md",
|
|
@@ -4293,8 +4328,8 @@
|
|
|
4293
4328
|
},
|
|
4294
4329
|
{
|
|
4295
4330
|
"path": "skills/loom-resume/.loom-runtime/shared/scripts/loom_check.py",
|
|
4296
|
-
"bytes":
|
|
4297
|
-
"sha256": "
|
|
4331
|
+
"bytes": 297968,
|
|
4332
|
+
"sha256": "8a5ee386532ac7772563ced89cb644ffb1eb00087d7c77ee1a661de88ce717b3"
|
|
4298
4333
|
},
|
|
4299
4334
|
{
|
|
4300
4335
|
"path": "skills/loom-resume/.loom-runtime/shared/scripts/loom_flow.py",
|
|
@@ -4688,8 +4723,13 @@
|
|
|
4688
4723
|
},
|
|
4689
4724
|
{
|
|
4690
4725
|
"path": "skills/loom-retire/.loom-runtime/shared/references/adoption/deep-existing-repo-default.md",
|
|
4691
|
-
"bytes":
|
|
4692
|
-
"sha256": "
|
|
4726
|
+
"bytes": 3365,
|
|
4727
|
+
"sha256": "a1a9f4e9d97db6a0b0e0b6f8c097b64b6e5122e35a08b1759fa343ffca667a0c"
|
|
4728
|
+
},
|
|
4729
|
+
{
|
|
4730
|
+
"path": "skills/loom-retire/.loom-runtime/shared/references/adoption/external-runtime-companion-contract.md",
|
|
4731
|
+
"bytes": 3860,
|
|
4732
|
+
"sha256": "814773c73c875472b6c5dc5e078268f5266bec105e14ca4bb94da9a55db978ac"
|
|
4693
4733
|
},
|
|
4694
4734
|
{
|
|
4695
4735
|
"path": "skills/loom-retire/.loom-runtime/shared/references/adoption/github-profile-upgrade.md",
|
|
@@ -4843,8 +4883,8 @@
|
|
|
4843
4883
|
},
|
|
4844
4884
|
{
|
|
4845
4885
|
"path": "skills/loom-retire/.loom-runtime/shared/references/harness/runtime-state.md",
|
|
4846
|
-
"bytes":
|
|
4847
|
-
"sha256": "
|
|
4886
|
+
"bytes": 3416,
|
|
4887
|
+
"sha256": "b53b5ce340f54dd25f15d68f5a637d8ea55ca8420d843031b3ed61cd1be43593"
|
|
4848
4888
|
},
|
|
4849
4889
|
{
|
|
4850
4890
|
"path": "skills/loom-retire/.loom-runtime/shared/references/harness/status-surface-contract.md",
|
|
@@ -4908,8 +4948,8 @@
|
|
|
4908
4948
|
},
|
|
4909
4949
|
{
|
|
4910
4950
|
"path": "skills/loom-retire/.loom-runtime/shared/scripts/loom_check.py",
|
|
4911
|
-
"bytes":
|
|
4912
|
-
"sha256": "
|
|
4951
|
+
"bytes": 297968,
|
|
4952
|
+
"sha256": "8a5ee386532ac7772563ced89cb644ffb1eb00087d7c77ee1a661de88ce717b3"
|
|
4913
4953
|
},
|
|
4914
4954
|
{
|
|
4915
4955
|
"path": "skills/loom-retire/.loom-runtime/shared/scripts/loom_flow.py",
|
|
@@ -5303,8 +5343,13 @@
|
|
|
5303
5343
|
},
|
|
5304
5344
|
{
|
|
5305
5345
|
"path": "skills/loom-review/.loom-runtime/shared/references/adoption/deep-existing-repo-default.md",
|
|
5306
|
-
"bytes":
|
|
5307
|
-
"sha256": "
|
|
5346
|
+
"bytes": 3365,
|
|
5347
|
+
"sha256": "a1a9f4e9d97db6a0b0e0b6f8c097b64b6e5122e35a08b1759fa343ffca667a0c"
|
|
5348
|
+
},
|
|
5349
|
+
{
|
|
5350
|
+
"path": "skills/loom-review/.loom-runtime/shared/references/adoption/external-runtime-companion-contract.md",
|
|
5351
|
+
"bytes": 3860,
|
|
5352
|
+
"sha256": "814773c73c875472b6c5dc5e078268f5266bec105e14ca4bb94da9a55db978ac"
|
|
5308
5353
|
},
|
|
5309
5354
|
{
|
|
5310
5355
|
"path": "skills/loom-review/.loom-runtime/shared/references/adoption/github-profile-upgrade.md",
|
|
@@ -5458,8 +5503,8 @@
|
|
|
5458
5503
|
},
|
|
5459
5504
|
{
|
|
5460
5505
|
"path": "skills/loom-review/.loom-runtime/shared/references/harness/runtime-state.md",
|
|
5461
|
-
"bytes":
|
|
5462
|
-
"sha256": "
|
|
5506
|
+
"bytes": 3416,
|
|
5507
|
+
"sha256": "b53b5ce340f54dd25f15d68f5a637d8ea55ca8420d843031b3ed61cd1be43593"
|
|
5463
5508
|
},
|
|
5464
5509
|
{
|
|
5465
5510
|
"path": "skills/loom-review/.loom-runtime/shared/references/harness/status-surface-contract.md",
|
|
@@ -5523,8 +5568,8 @@
|
|
|
5523
5568
|
},
|
|
5524
5569
|
{
|
|
5525
5570
|
"path": "skills/loom-review/.loom-runtime/shared/scripts/loom_check.py",
|
|
5526
|
-
"bytes":
|
|
5527
|
-
"sha256": "
|
|
5571
|
+
"bytes": 297968,
|
|
5572
|
+
"sha256": "8a5ee386532ac7772563ced89cb644ffb1eb00087d7c77ee1a661de88ce717b3"
|
|
5528
5573
|
},
|
|
5529
5574
|
{
|
|
5530
5575
|
"path": "skills/loom-review/.loom-runtime/shared/scripts/loom_flow.py",
|
|
@@ -5918,8 +5963,13 @@
|
|
|
5918
5963
|
},
|
|
5919
5964
|
{
|
|
5920
5965
|
"path": "skills/loom-spec-review/.loom-runtime/shared/references/adoption/deep-existing-repo-default.md",
|
|
5921
|
-
"bytes":
|
|
5922
|
-
"sha256": "
|
|
5966
|
+
"bytes": 3365,
|
|
5967
|
+
"sha256": "a1a9f4e9d97db6a0b0e0b6f8c097b64b6e5122e35a08b1759fa343ffca667a0c"
|
|
5968
|
+
},
|
|
5969
|
+
{
|
|
5970
|
+
"path": "skills/loom-spec-review/.loom-runtime/shared/references/adoption/external-runtime-companion-contract.md",
|
|
5971
|
+
"bytes": 3860,
|
|
5972
|
+
"sha256": "814773c73c875472b6c5dc5e078268f5266bec105e14ca4bb94da9a55db978ac"
|
|
5923
5973
|
},
|
|
5924
5974
|
{
|
|
5925
5975
|
"path": "skills/loom-spec-review/.loom-runtime/shared/references/adoption/github-profile-upgrade.md",
|
|
@@ -6073,8 +6123,8 @@
|
|
|
6073
6123
|
},
|
|
6074
6124
|
{
|
|
6075
6125
|
"path": "skills/loom-spec-review/.loom-runtime/shared/references/harness/runtime-state.md",
|
|
6076
|
-
"bytes":
|
|
6077
|
-
"sha256": "
|
|
6126
|
+
"bytes": 3416,
|
|
6127
|
+
"sha256": "b53b5ce340f54dd25f15d68f5a637d8ea55ca8420d843031b3ed61cd1be43593"
|
|
6078
6128
|
},
|
|
6079
6129
|
{
|
|
6080
6130
|
"path": "skills/loom-spec-review/.loom-runtime/shared/references/harness/status-surface-contract.md",
|
|
@@ -6138,8 +6188,8 @@
|
|
|
6138
6188
|
},
|
|
6139
6189
|
{
|
|
6140
6190
|
"path": "skills/loom-spec-review/.loom-runtime/shared/scripts/loom_check.py",
|
|
6141
|
-
"bytes":
|
|
6142
|
-
"sha256": "
|
|
6191
|
+
"bytes": 297968,
|
|
6192
|
+
"sha256": "8a5ee386532ac7772563ced89cb644ffb1eb00087d7c77ee1a661de88ce717b3"
|
|
6143
6193
|
},
|
|
6144
6194
|
{
|
|
6145
6195
|
"path": "skills/loom-spec-review/.loom-runtime/shared/scripts/loom_flow.py",
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
本文件定义 Loom 面向成熟既有治理重仓的默认接入策略。
|
|
4
4
|
|
|
5
|
-
它不替代
|
|
5
|
+
它不替代 [lightweight-retrofit-default.md](./lightweight-retrofit-default.md),而是作为 `complex-existing` 下的保守 attach path,服务已经拥有稳定根规则、统一验证入口与沉重 repo-specific gates 的仓库。
|
|
6
6
|
|
|
7
7
|
## 1. 适用场景
|
|
8
8
|
|
|
9
9
|
当目标仓库同时满足以下条件时,默认采用本策略:
|
|
10
10
|
|
|
11
|
-
- 属于既有仓库,且 `loom-init` 判断仍为
|
|
12
|
-
-
|
|
11
|
+
- 属于既有仓库,且 `loom-init` 判断仍为 `complex-existing`
|
|
12
|
+
- 已有清晰的根级边界文档,例如 `AGENTS.md`、`WORKFLOW.md` 或等价根规则
|
|
13
13
|
- 已有统一的仓库级验证入口
|
|
14
14
|
- 已出现 `merge_review_semantic_overload`
|
|
15
15
|
- 当前复杂度主要来自 review / guardian 负载、repo-specific gates、retained host actions 或 repo-native carriers,而不是 Loom 缺少 recovery/status carriers
|
|
@@ -44,6 +44,8 @@
|
|
|
44
44
|
- 保留 repo-native carriers
|
|
45
45
|
- 只追加 Loom-owned attach metadata 与 companion 入口
|
|
46
46
|
|
|
47
|
+
换句话说,Loom 这一步接管的是入口与读面,不是宿主动作底层实现。
|
|
48
|
+
|
|
47
49
|
## 5. 默认不装配
|
|
48
50
|
|
|
49
51
|
第一轮默认不装配:
|
|
@@ -60,5 +62,18 @@
|
|
|
60
62
|
|
|
61
63
|
- 当前仓库需要 Loom-owned recovery carrier 承接多轮执行停点
|
|
62
64
|
- repo-native carriers 无法稳定承接 recovery / review / closeout 真相
|
|
63
|
-
- companion 之外还需要 Loom-owned
|
|
65
|
+
- companion 之外还需要 Loom-owned status surface 承接统一读面
|
|
64
66
|
- repo-local attach 入口已经稳定,但下一轮需要 typed machine contract、interop 或 shadow parity
|
|
67
|
+
|
|
68
|
+
## 7. Attach-only 之后的 external runtime 路径
|
|
69
|
+
|
|
70
|
+
成熟既有仓库第一轮可以继续提交 vendored `.loom/bin`,因为它提供可审计 runtime provenance。
|
|
71
|
+
|
|
72
|
+
只有在以下条件满足后,才应考虑 de-vendor:
|
|
73
|
+
|
|
74
|
+
- `.loom/companion` 与 `interop.json` 已稳定
|
|
75
|
+
- `runtime-state`、`governance-profile status`、`runtime-parity validate`、`shadow-parity` 都能读取同一治理载体
|
|
76
|
+
- external runtime locator 已按 [external-runtime-companion-contract.md](./external-runtime-companion-contract.md) 版本化声明
|
|
77
|
+
- rollback 能回到 vendored `.loom/bin` 或重新 bootstrap
|
|
78
|
+
|
|
79
|
+
de-vendor 不得删除 repo-owned residue,也不得替代 guardian、integration contract、release / sprint 等仓库私有规则。
|
package/payload/plugin/loom/skills/shared/references/adoption/external-runtime-companion-contract.md
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# External Runtime Companion Contract
|
|
2
|
+
|
|
3
|
+
本文定义从 vendored `.loom/bin` runtime 迁移到 versioned external Loom runtime 的路径。
|
|
4
|
+
|
|
5
|
+
本轮只冻结合同和迁移纪律,不要求任何 adopted repo 立即 de-vendor。
|
|
6
|
+
|
|
7
|
+
## 1. 目标
|
|
8
|
+
|
|
9
|
+
external-runtime 的目标是让成熟 adopted repo 最终可以:
|
|
10
|
+
|
|
11
|
+
- 保留 `.loom/companion`、status、work item、review、shadow evidence 等仓内治理载体
|
|
12
|
+
- 停止长期提交 vendored `.loom/bin/*` runtime 文件
|
|
13
|
+
- 通过版本化 Loom runtime locator 执行同一组 Loom 命令
|
|
14
|
+
- 在迁移失败时可回滚到 vendored `.loom/bin` carrier
|
|
15
|
+
|
|
16
|
+
## 2. 当前默认
|
|
17
|
+
|
|
18
|
+
当前稳定默认仍是 vendored `.loom/bin` runtime。
|
|
19
|
+
|
|
20
|
+
原因:
|
|
21
|
+
|
|
22
|
+
- `loom_init verify` 已经要求 `.loom/bin/*` 与 `.loom/bootstrap/manifest.json` 一致
|
|
23
|
+
- manifest 中的 runtime artifact `sha256` 是当前 fail-closed trust boundary
|
|
24
|
+
- Syvert-style strong adoption 仍需要本地可审计 runtime provenance
|
|
25
|
+
|
|
26
|
+
因此,external-runtime 只是一条显式迁移路径,不是当前默认安装形态。
|
|
27
|
+
|
|
28
|
+
## 3. Companion 保留面
|
|
29
|
+
|
|
30
|
+
迁移到 external-runtime 时,以下仓内载体必须保持稳定,不得因为 runtime locator 改变而重写语义:
|
|
31
|
+
|
|
32
|
+
- `.loom/companion/manifest.json`
|
|
33
|
+
- `.loom/companion/repo-interface.json`
|
|
34
|
+
- `.loom/companion/interop.json`
|
|
35
|
+
- `.loom/status/current.md`
|
|
36
|
+
- `.loom/work-items/*`
|
|
37
|
+
- `.loom/progress/*`
|
|
38
|
+
- `.loom/reviews/*`
|
|
39
|
+
- `.loom/shadow/*`
|
|
40
|
+
|
|
41
|
+
这些文件继续是 repo-local governance carrier。external runtime 只能替换执行入口,不能替代仓内治理真相。
|
|
42
|
+
|
|
43
|
+
## 4. External runtime locator
|
|
44
|
+
|
|
45
|
+
external-runtime companion 必须显式声明 runtime locator,而不是依赖环境变量猜测。
|
|
46
|
+
|
|
47
|
+
最小字段:
|
|
48
|
+
|
|
49
|
+
```json
|
|
50
|
+
{
|
|
51
|
+
"schema_version": "loom-external-runtime/v1",
|
|
52
|
+
"runtime_locator": "loom://github/MC-and-his-Agents/Loom@v1.3",
|
|
53
|
+
"runtime_version": "v1.3",
|
|
54
|
+
"fallback_runtime": ".loom/bin",
|
|
55
|
+
"companion_manifest": ".loom/companion/manifest.json",
|
|
56
|
+
"interop_contract": ".loom/companion/interop.json",
|
|
57
|
+
"rollback_mode": "vendored-runtime"
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
稳定约束:
|
|
62
|
+
|
|
63
|
+
- `runtime_locator` 必须是版本化 locator,不能是浮动 `main`
|
|
64
|
+
- `fallback_runtime` 必须指向可恢复的 vendored `.loom/bin` 或明确声明需要 rebootstrap
|
|
65
|
+
- `companion_manifest` 与 `interop_contract` 必须继续指向仓内相对路径
|
|
66
|
+
- external-runtime 不得通过 `LOOM_SOURCE_REPO_ROOT` 覆盖 bootstrapped target runtime 的判定
|
|
67
|
+
|
|
68
|
+
## 5. Migration sequence
|
|
69
|
+
|
|
70
|
+
推荐迁移顺序:
|
|
71
|
+
|
|
72
|
+
1. 保持 vendored `.loom/bin`,先确认 runtime provenance hash 全部通过
|
|
73
|
+
2. 记录 external runtime locator 与版本
|
|
74
|
+
3. 在 rehearsal 中运行:
|
|
75
|
+
- `runtime-state`
|
|
76
|
+
- `governance-profile status`
|
|
77
|
+
- `runtime-parity validate`
|
|
78
|
+
- `shadow-parity`
|
|
79
|
+
- `shadow-parity --blocking`,仅限显式 strong profile smoke
|
|
80
|
+
4. 确认 `.loom/companion`、status、work item、review、shadow evidence 均未因 runtime locator 改变而漂移
|
|
81
|
+
5. 只在以上检查通过后删除或停止提交 vendored `.loom/bin`
|
|
82
|
+
|
|
83
|
+
## 6. Rollback
|
|
84
|
+
|
|
85
|
+
任一条件失败时必须回滚到 vendored runtime 或 rebootstrap:
|
|
86
|
+
|
|
87
|
+
- external runtime locator 不可解析
|
|
88
|
+
- runtime version 与期望不一致
|
|
89
|
+
- `.loom/companion` 或 `interop.json` 不可读
|
|
90
|
+
- shadow evidence source hash 漂移
|
|
91
|
+
- active item、review head binding 或 metadata parsing 出现不一致
|
|
92
|
+
|
|
93
|
+
Rollback 操作必须:
|
|
94
|
+
|
|
95
|
+
- 保留 evidence
|
|
96
|
+
- 恢复 `.loom/bin` 或重新运行 `loom_init bootstrap --write --force --verify`
|
|
97
|
+
- 回到 `advisory` gate rollout mode
|
|
98
|
+
- 重新运行 adversarial adoption checks 后才允许恢复 blocking 消费
|
|
99
|
+
|
|
100
|
+
## 7. 边界
|
|
101
|
+
|
|
102
|
+
external-runtime 迁移不改变:
|
|
103
|
+
|
|
104
|
+
- repo companion 的 repo-specific residue ownership
|
|
105
|
+
- repo interop 的只读 locator 语义
|
|
106
|
+
- host action ownership
|
|
107
|
+
- review / merge-ready / closeout 的 gate 语义
|
|
108
|
+
- shadow parity 默认 validation-only 的边界
|
|
109
|
+
|
|
110
|
+
它只改变 Loom runtime 的执行来源。
|
|
@@ -101,3 +101,17 @@
|
|
|
101
101
|
- 回答仓库 Loom 装配态与治理载体/宿主控制面的落位
|
|
102
102
|
|
|
103
103
|
这三者不得互相伪装成别名。
|
|
104
|
+
|
|
105
|
+
## 7. Carrier transition invariants
|
|
106
|
+
|
|
107
|
+
从 vendored `.loom/bin` runtime 迁移到 external runtime 时,`runtime-state` 必须保持 fail-closed:
|
|
108
|
+
|
|
109
|
+
- bootstrapped target runtime 优先由当前入口路径和 `.loom/bootstrap/manifest.json` 判定
|
|
110
|
+
- 外部 `LOOM_SOURCE_REPO_ROOT` 不得抢先改判 bootstrapped target runtime
|
|
111
|
+
- `.loom/bootstrap/manifest.json` 中声明的 `.loom/bin/*` artifact 必须继续有 `sha256`
|
|
112
|
+
- 若 vendored runtime 被删除,external runtime 必须提供 versioned runtime locator 和 rollback path
|
|
113
|
+
- external runtime rehearsal 不得改写 `.loom/companion`、status、work item、review 或 shadow evidence 的 truth
|
|
114
|
+
|
|
115
|
+
当前默认 carrier 仍是 vendored `.loom/bin`。external runtime 只能作为显式迁移目标,不能通过环境变量隐式启用。
|
|
116
|
+
|
|
117
|
+
迁移合同见 [external-runtime-companion-contract.md](../adoption/external-runtime-companion-contract.md)。
|
|
@@ -98,6 +98,7 @@ CORE_DOCS = (
|
|
|
98
98
|
"docs/evidence/validations/validation-adoption-maturity-required-fields.md",
|
|
99
99
|
"docs/evidence/validations/validation-skills-consume-maturity-upgrade-path.md",
|
|
100
100
|
"docs/evidence/validations/validation-adoption-gate-rollout.md",
|
|
101
|
+
"docs/evidence/validations/validation-external-runtime-devendor-migration.md",
|
|
101
102
|
"docs/evidence/validations/validation-github-profile-binding-orchestration.md",
|
|
102
103
|
"docs/evidence/validations/validation-github-profile-drift-reconciliation.md",
|
|
103
104
|
"docs/evidence/validations/validation-github-profile-graphql-budget-guard.md",
|
|
@@ -111,6 +112,7 @@ CORE_DOCS = (
|
|
|
111
112
|
"docs/adoption/routing-and-checkpoints.md",
|
|
112
113
|
"docs/adoption/github-profile.md",
|
|
113
114
|
"docs/adoption/github-profile-upgrade.md",
|
|
115
|
+
"docs/adoption/external-runtime-companion-contract.md",
|
|
114
116
|
"docs/adoption/lightweight-retrofit-default.md",
|
|
115
117
|
"docs/adoption/repo-companion-contract.md",
|
|
116
118
|
"docs/adoption/repo-interop-contract.md",
|
|
@@ -6028,6 +6030,53 @@ def check_repo_interop_contracts(root: Path) -> list[Failure]:
|
|
|
6028
6030
|
return failures
|
|
6029
6031
|
|
|
6030
6032
|
|
|
6033
|
+
def check_external_runtime_devendor_contract(root: Path) -> list[Failure]:
|
|
6034
|
+
failures: list[Failure] = []
|
|
6035
|
+
required_anchors = {
|
|
6036
|
+
"docs/adoption/external-runtime-companion-contract.md": [
|
|
6037
|
+
"vendored `.loom/bin`",
|
|
6038
|
+
"runtime_locator",
|
|
6039
|
+
"versioned external Loom runtime",
|
|
6040
|
+
"rollback",
|
|
6041
|
+
".loom/companion/interop.json",
|
|
6042
|
+
],
|
|
6043
|
+
"docs/adoption/repo-interop-contract.md": [
|
|
6044
|
+
"external-runtime",
|
|
6045
|
+
"de-vendor",
|
|
6046
|
+
"runtime locator",
|
|
6047
|
+
"interop",
|
|
6048
|
+
],
|
|
6049
|
+
"docs/adoption/repo-companion-contract.md": [
|
|
6050
|
+
"external-runtime",
|
|
6051
|
+
"runtime locator",
|
|
6052
|
+
"repo-interface.json",
|
|
6053
|
+
],
|
|
6054
|
+
"skills/shared/references/harness/runtime-state.md": [
|
|
6055
|
+
"Carrier transition invariants",
|
|
6056
|
+
"LOOM_SOURCE_REPO_ROOT",
|
|
6057
|
+
"external runtime",
|
|
6058
|
+
"vendored `.loom/bin`",
|
|
6059
|
+
],
|
|
6060
|
+
"docs/evidence/validations/validation-external-runtime-devendor-migration.md": [
|
|
6061
|
+
"external-runtime",
|
|
6062
|
+
"de-vendor",
|
|
6063
|
+
"rollback",
|
|
6064
|
+
"advisory",
|
|
6065
|
+
],
|
|
6066
|
+
}
|
|
6067
|
+
for relative, anchors in required_anchors.items():
|
|
6068
|
+
path = root / relative
|
|
6069
|
+
try:
|
|
6070
|
+
text = path.read_text(encoding="utf-8")
|
|
6071
|
+
except OSError as exc:
|
|
6072
|
+
failures.append(Failure("external-runtime-devendor", f"`{relative}` is unreadable: {exc}"))
|
|
6073
|
+
continue
|
|
6074
|
+
for anchor in anchors:
|
|
6075
|
+
if anchor not in text:
|
|
6076
|
+
failures.append(Failure("external-runtime-devendor", f"`{relative}` must mention `{anchor}`"))
|
|
6077
|
+
return failures
|
|
6078
|
+
|
|
6079
|
+
|
|
6031
6080
|
def check_node_installer(root: Path) -> list[Failure]:
|
|
6032
6081
|
category = "node-installer"
|
|
6033
6082
|
failures: list[Failure] = []
|
|
@@ -6139,6 +6188,7 @@ def collect_failures(root: Path) -> list[Failure]:
|
|
|
6139
6188
|
failures.extend(check_daily_execution_cli(root))
|
|
6140
6189
|
failures.extend(check_repo_companion_interface_contracts(root))
|
|
6141
6190
|
failures.extend(check_repo_interop_contracts(root))
|
|
6191
|
+
failures.extend(check_external_runtime_devendor_contract(root))
|
|
6142
6192
|
failures.extend(check_node_installer(root))
|
|
6143
6193
|
failures.extend(check_generated_artifacts_untracked(root))
|
|
6144
6194
|
failures.extend(check_github_cli_budget(root))
|