@kungfu-tech/buildchain 2.14.3-alpha.0 → 2.14.3-alpha.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.
- package/dist/site/buildchain-contract.json +132 -26
- package/dist/site/buildchain-site.json +16 -16
- package/dist/site/capability-registry.json +1 -1
- package/dist/site/controller-registry.json +48 -4
- package/dist/site/kfd-claims.json +111 -8
- package/dist/site/kfd-upstream-aggregate.json +1 -1
- package/dist/site/manual-registry.json +4 -4
- package/dist/site/node-api-registry.json +6 -6
- package/dist/site/page-registry.json +8 -8
- package/dist/site/public-surface-audit.json +124 -6
- package/dist/site/publication-authority-registry.json +26 -1
- package/dist/site/publication-registry.json +4 -4
- package/dist/site/site-manifest.json +8 -8
- package/dist/site/workflow-registry.json +124 -3
- package/docs/migration-inventory.md +14 -0
- package/docs/release-candidate.md +3 -0
- package/docs/release-governance.md +5 -4
- package/docs/reusable-build-surface.md +36 -1
- package/package.json +1 -1
- package/packages/core/buildchain-contract.js +41 -0
- package/packages/core/buildchain-kfd-claims.js +4 -0
- package/packages/core/buildchain-publication-authority.js +1 -0
- package/packages/core/controller-evidence.js +1 -1
- package/packages/core/publication-control-plane-audit.js +2 -0
- package/packages/core/release-passport.js +39 -0
- package/scripts/audit-publication-control-plane.mjs +6 -1
- package/scripts/check-inventory.mjs +39 -2
- package/scripts/generate-channel-promotion-workflow.mjs +413 -0
- package/scripts/promotion-channel-router.mjs +125 -0
- package/scripts/stable-candidate-patrol.mjs +55 -6
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"product": {
|
|
5
5
|
"name": "Buildchain",
|
|
6
6
|
"package": "@kungfu-tech/buildchain",
|
|
7
|
-
"version": "2.14.3-alpha.
|
|
7
|
+
"version": "2.14.3-alpha.10",
|
|
8
8
|
"repository": "https://github.com/kungfu-systems/buildchain"
|
|
9
9
|
},
|
|
10
10
|
"majorLine": "v2",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"retryable GitHub fallback fetches use a bounded attempt budget before exact source SHA and tree verification"
|
|
51
51
|
],
|
|
52
52
|
"breakingDigest": "sha256:a6a35370d6b0d0f46e1b2712dcc01961fe53c2febde95409a27a485c10a36650",
|
|
53
|
-
"auditDigest": "sha256:
|
|
53
|
+
"auditDigest": "sha256:18d0ab6f916258871d45e92fa28597f590efbac0a0610f9bf7585472a5126307"
|
|
54
54
|
},
|
|
55
55
|
{
|
|
56
56
|
"contractVersion": 1,
|
|
@@ -108,11 +108,17 @@
|
|
|
108
108
|
"release-candidate-artifact"
|
|
109
109
|
],
|
|
110
110
|
"breakingDefaults": {
|
|
111
|
+
"channelDefault": "auto",
|
|
112
|
+
"alphaShellDefault": "v2-alpha",
|
|
113
|
+
"stableShellDefault": "v2",
|
|
111
114
|
"promoteOnlyReleaseCandidate": true,
|
|
112
115
|
"requiredStatusCheck": "check / check"
|
|
113
116
|
},
|
|
114
117
|
"optionalInputs": [
|
|
118
|
+
"buildchain-channel",
|
|
115
119
|
"buildchain-ref",
|
|
120
|
+
"buildchain-alpha-contract-lock-path",
|
|
121
|
+
"buildchain-stable-contract-lock-path",
|
|
116
122
|
"release-candidate-workflow-file",
|
|
117
123
|
"release-candidate-workflow-name",
|
|
118
124
|
"publish-required-artifacts-json",
|
|
@@ -151,6 +157,9 @@
|
|
|
151
157
|
]
|
|
152
158
|
},
|
|
153
159
|
"guarantees": [
|
|
160
|
+
"one declarative promotion job selects matching alpha or stable workflow shell, runtime, and contract lock",
|
|
161
|
+
"router, shell, runtime, lock, publication channel, target ref, and override identities are bound before candidate download",
|
|
162
|
+
"train and exact-SHA runtime overrides remain limited to trusted workflow_dispatch actors",
|
|
154
163
|
"promotion reuses PR-stage release-candidate artifacts",
|
|
155
164
|
"promotion does not run the heavy native build matrix",
|
|
156
165
|
"built source and promotion channel SHA are recorded separately",
|
|
@@ -158,8 +167,50 @@
|
|
|
158
167
|
"publish-gate source locks are created by the wrapper and enforced by promote-buildchain-ref before publish side effects",
|
|
159
168
|
"GitHub Release passport and evidence publication is delegated to promote-buildchain-ref after the semver release transaction completes"
|
|
160
169
|
],
|
|
161
|
-
"breakingDigest": "sha256:
|
|
162
|
-
"auditDigest": "sha256:
|
|
170
|
+
"breakingDigest": "sha256:1f476fb9a4854b362c4b24cef89a3c7675d7d63baf3bc828d7b8ae7d2787cead",
|
|
171
|
+
"auditDigest": "sha256:4a0f29c9c33ef97609ca0e2244f79a36307de2c3bbb42f1515b358d2f4a2caa2"
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"contractVersion": 1,
|
|
175
|
+
"stability": "stable",
|
|
176
|
+
"additiveChanges": "optional inputs, optional outputs, diagnostics, and documentation may be added within the same major line",
|
|
177
|
+
"id": "advanced-release-candidate-promote",
|
|
178
|
+
"kind": "workflow",
|
|
179
|
+
"path": ".github/workflows/.release-candidate-promote.yml",
|
|
180
|
+
"publicRef": "kungfu-systems/buildchain/.github/workflows/.release-candidate-promote.yml@v2",
|
|
181
|
+
"requiredInputs": [
|
|
182
|
+
"channel"
|
|
183
|
+
],
|
|
184
|
+
"requiredOutputs": [
|
|
185
|
+
"promoted-sha",
|
|
186
|
+
"built-source-sha",
|
|
187
|
+
"release-candidate-artifact"
|
|
188
|
+
],
|
|
189
|
+
"breakingDefaults": {
|
|
190
|
+
"promoteOnlyReleaseCandidate": true,
|
|
191
|
+
"requiredStatusCheck": "check / check"
|
|
192
|
+
},
|
|
193
|
+
"optionalInputs": [
|
|
194
|
+
"buildchain-ref",
|
|
195
|
+
"buildchain-contract-lock-path",
|
|
196
|
+
"promotion-router-ref",
|
|
197
|
+
"promotion-router-sha",
|
|
198
|
+
"promotion-shell-ref",
|
|
199
|
+
"promotion-shell-sha",
|
|
200
|
+
"promotion-runtime-ref",
|
|
201
|
+
"promotion-runtime-sha",
|
|
202
|
+
"promotion-contract-lock-path",
|
|
203
|
+
"promotion-contract-lock-digest",
|
|
204
|
+
"promotion-publication-channel",
|
|
205
|
+
"promotion-target-ref",
|
|
206
|
+
"promotion-override-used"
|
|
207
|
+
],
|
|
208
|
+
"guarantees": [
|
|
209
|
+
"advanced promotion verifies routed shell, runtime, lock, publication channel, and target bindings before candidate resolution",
|
|
210
|
+
"promotion reuses PR-stage release-candidate artifacts and does not run the heavy native build matrix"
|
|
211
|
+
],
|
|
212
|
+
"breakingDigest": "sha256:aa30f22e3af0a89841310bdbdc900844dd95a66974db173fa140a71bbd7e82c0",
|
|
213
|
+
"auditDigest": "sha256:3c2594dccab4bf7836a28e1aca5189554618eb51bd73e63df5bc28f232b214db"
|
|
163
214
|
},
|
|
164
215
|
{
|
|
165
216
|
"contractVersion": 1,
|
|
@@ -269,7 +320,7 @@
|
|
|
269
320
|
"semver GitHub Releases are created or updated only after transaction completion, with prerelease/latest metadata derived from the public release tag"
|
|
270
321
|
],
|
|
271
322
|
"breakingDigest": "sha256:a59f0910e6df842e7699139472e5dd69ac2fdd7f7213bf2cb346d1d622556874",
|
|
272
|
-
"auditDigest": "sha256:
|
|
323
|
+
"auditDigest": "sha256:5b365ef8afa4c5d88e73d22415929f4123da0ea3b33374f465a1c8f22aaf2785"
|
|
273
324
|
},
|
|
274
325
|
{
|
|
275
326
|
"contractVersion": 1,
|
|
@@ -328,7 +379,7 @@
|
|
|
328
379
|
"release-state SHA is recorded as a durable audit entrance"
|
|
329
380
|
],
|
|
330
381
|
"breakingDigest": "sha256:b627e1b2ece9b6049517a942c5139e342e6077cdd3d8962d61cef8481b1f70ad",
|
|
331
|
-
"auditDigest": "sha256:
|
|
382
|
+
"auditDigest": "sha256:05abae7c71444b0c48c097a4363218ed3ae7d652677588f1cf2c457a358cc4c1"
|
|
332
383
|
},
|
|
333
384
|
{
|
|
334
385
|
"contractVersion": 1,
|
|
@@ -377,7 +428,7 @@
|
|
|
377
428
|
"prose-only public claims downgrade the release trust passport audit"
|
|
378
429
|
],
|
|
379
430
|
"breakingDigest": "sha256:f0b636eb925ddbf45ff1a8872454ab7b4dd98857cac12bb75217830130e62a16",
|
|
380
|
-
"auditDigest": "sha256:
|
|
431
|
+
"auditDigest": "sha256:05abae7c71444b0c48c097a4363218ed3ae7d652677588f1cf2c457a358cc4c1"
|
|
381
432
|
},
|
|
382
433
|
{
|
|
383
434
|
"contractVersion": 1,
|
|
@@ -527,7 +578,7 @@
|
|
|
527
578
|
"manual entries carry source file digests so downstream sites and agents can detect stale hand-written documentation"
|
|
528
579
|
],
|
|
529
580
|
"breakingDigest": "sha256:7d0d2819e3a3e72989d9c57b5efe9d0bc0a79bc0f2c82a0c7b9d6c5a211a91f2",
|
|
530
|
-
"auditDigest": "sha256:
|
|
581
|
+
"auditDigest": "sha256:e0770d43da650319a70d83cdb52f79e70ed0a9d31e103a28a1f8423a52aa1539"
|
|
531
582
|
},
|
|
532
583
|
{
|
|
533
584
|
"contractVersion": 1,
|
|
@@ -549,7 +600,7 @@
|
|
|
549
600
|
"agents can discover supported Node APIs without importing internal file paths"
|
|
550
601
|
],
|
|
551
602
|
"breakingDigest": "sha256:48f925608d3e2131d90936b07dc2a30341204cae3e6e785c0f77d61ad755c945",
|
|
552
|
-
"auditDigest": "sha256:
|
|
603
|
+
"auditDigest": "sha256:7d74190fd37b62acc862e5a50fa01f2888605b60404f600548a3bb32c0d8b93f"
|
|
553
604
|
},
|
|
554
605
|
{
|
|
555
606
|
"contractVersion": 1,
|
|
@@ -600,7 +651,7 @@
|
|
|
600
651
|
"controllerDescriptor": {
|
|
601
652
|
"contract": "buildchain.controller-descriptor/v1",
|
|
602
653
|
"digest": "sha256:373723a73d188194d389dee04c394d3b79cb0c016a370f2f5d0f60979a02ed48",
|
|
603
|
-
"registryDigest": "sha256:
|
|
654
|
+
"registryDigest": "sha256:5f771d5b2f481a28afc48f516685f50985c1d51391857cdf04e3238c271fecc8",
|
|
604
655
|
"inputClassifications": {
|
|
605
656
|
"buildchain-ref": {
|
|
606
657
|
"classification": "included",
|
|
@@ -747,7 +798,7 @@
|
|
|
747
798
|
"controllerDescriptor": {
|
|
748
799
|
"contract": "buildchain.controller-descriptor/v1",
|
|
749
800
|
"digest": "sha256:367be236280f2597ffefc49680feb106b4cf9e8f5fb9420713351f075a168c4a",
|
|
750
|
-
"registryDigest": "sha256:
|
|
801
|
+
"registryDigest": "sha256:5f771d5b2f481a28afc48f516685f50985c1d51391857cdf04e3238c271fecc8",
|
|
751
802
|
"inputClassifications": {
|
|
752
803
|
"BUILDCHAIN_ARTIFACT_RELAY_S3_DOWNLOAD_ROLE_ARN": {
|
|
753
804
|
"classification": "redacted",
|
|
@@ -1006,7 +1057,7 @@
|
|
|
1006
1057
|
"missing receipts are non-qualifying and must not be represented as a successful controller run"
|
|
1007
1058
|
],
|
|
1008
1059
|
"breakingDigest": "sha256:e264a79f9f399038c2fcfd21e4168c68c2e1485ee5c651c02242a02b622ac2be",
|
|
1009
|
-
"auditDigest": "sha256:
|
|
1060
|
+
"auditDigest": "sha256:18d0ab6f916258871d45e92fa28597f590efbac0a0610f9bf7585472a5126307"
|
|
1010
1061
|
},
|
|
1011
1062
|
{
|
|
1012
1063
|
"contractVersion": 1,
|
|
@@ -1113,7 +1164,7 @@
|
|
|
1113
1164
|
"controllerDescriptor": {
|
|
1114
1165
|
"contract": "buildchain.controller-descriptor/v1",
|
|
1115
1166
|
"digest": "sha256:2e113607af3cb0a17b4da64b8758652a4bee4a162656ce7256a8e06de3d4cf2f",
|
|
1116
|
-
"registryDigest": "sha256:
|
|
1167
|
+
"registryDigest": "sha256:5f771d5b2f481a28afc48f516685f50985c1d51391857cdf04e3238c271fecc8",
|
|
1117
1168
|
"inputClassifications": {
|
|
1118
1169
|
"BUILDCHAIN_ARTIFACT_RELAY_S3_DOWNLOAD_ROLE_ARN": {
|
|
1119
1170
|
"classification": "redacted",
|
|
@@ -1443,7 +1494,7 @@
|
|
|
1443
1494
|
"controllerDescriptor": {
|
|
1444
1495
|
"contract": "buildchain.controller-descriptor/v1",
|
|
1445
1496
|
"digest": "sha256:29569f4b754595792a16742d1c4c63838b54601674a2cb6c96261a72c962dece",
|
|
1446
|
-
"registryDigest": "sha256:
|
|
1497
|
+
"registryDigest": "sha256:5f771d5b2f481a28afc48f516685f50985c1d51391857cdf04e3238c271fecc8",
|
|
1447
1498
|
"inputClassifications": {
|
|
1448
1499
|
"artifact-name": {
|
|
1449
1500
|
"classification": "included",
|
|
@@ -1614,7 +1665,7 @@
|
|
|
1614
1665
|
"controllerDescriptor": {
|
|
1615
1666
|
"contract": "buildchain.controller-descriptor/v1",
|
|
1616
1667
|
"digest": "sha256:7e6283c8fbeab7a680bae57c9ab9c8eb94aab7400d3ee01c5b9dfdd03f149edb",
|
|
1617
|
-
"registryDigest": "sha256:
|
|
1668
|
+
"registryDigest": "sha256:5f771d5b2f481a28afc48f516685f50985c1d51391857cdf04e3238c271fecc8",
|
|
1618
1669
|
"inputClassifications": {
|
|
1619
1670
|
"artifact-path": {
|
|
1620
1671
|
"classification": "digest-only",
|
|
@@ -1850,7 +1901,7 @@
|
|
|
1850
1901
|
"controllerDescriptor": {
|
|
1851
1902
|
"contract": "buildchain.controller-descriptor/v1",
|
|
1852
1903
|
"digest": "sha256:6b132790b9798e8a5dfbe095701d8e024c160a08bc7c4bd477ee79feef7a9cfd",
|
|
1853
|
-
"registryDigest": "sha256:
|
|
1904
|
+
"registryDigest": "sha256:5f771d5b2f481a28afc48f516685f50985c1d51391857cdf04e3238c271fecc8",
|
|
1854
1905
|
"inputClassifications": {
|
|
1855
1906
|
"artifact-name": {
|
|
1856
1907
|
"classification": "included",
|
|
@@ -2031,7 +2082,7 @@
|
|
|
2031
2082
|
"controllerDescriptor": {
|
|
2032
2083
|
"contract": "buildchain.controller-descriptor/v1",
|
|
2033
2084
|
"digest": "sha256:0613ea545fe2d630f34e665c8e6fe99df3f5333d75051a7176e9cf991e494f59",
|
|
2034
|
-
"registryDigest": "sha256:
|
|
2085
|
+
"registryDigest": "sha256:5f771d5b2f481a28afc48f516685f50985c1d51391857cdf04e3238c271fecc8",
|
|
2035
2086
|
"inputClassifications": {
|
|
2036
2087
|
"artifact-name": {
|
|
2037
2088
|
"classification": "included",
|
|
@@ -2198,7 +2249,7 @@
|
|
|
2198
2249
|
"additiveChanges": "optional inputs, optional outputs, diagnostics, and documentation may be added within the same major line",
|
|
2199
2250
|
"id": "controller:release-candidate-promotion",
|
|
2200
2251
|
"kind": "controller",
|
|
2201
|
-
"path": ".github/workflows
|
|
2252
|
+
"path": ".github/workflows/.release-candidate-promote.yml",
|
|
2202
2253
|
"requiredInputs": [],
|
|
2203
2254
|
"requiredOutputs": [
|
|
2204
2255
|
"controller-plan-json",
|
|
@@ -2210,7 +2261,7 @@
|
|
|
2210
2261
|
"breakingDefaults": {
|
|
2211
2262
|
"evidenceContract": "buildchain.controller-evidence/v1",
|
|
2212
2263
|
"descriptorVersion": 1,
|
|
2213
|
-
"workflowPath": ".github/workflows
|
|
2264
|
+
"workflowPath": ".github/workflows/.release-candidate-promote.yml",
|
|
2214
2265
|
"requiredStages": [
|
|
2215
2266
|
"preflight",
|
|
2216
2267
|
"admit-release-candidate",
|
|
@@ -2259,6 +2310,17 @@
|
|
|
2259
2310
|
"github-release-notes",
|
|
2260
2311
|
"github-release-title",
|
|
2261
2312
|
"package-manager",
|
|
2313
|
+
"promotion-contract-lock-digest",
|
|
2314
|
+
"promotion-contract-lock-path",
|
|
2315
|
+
"promotion-override-used",
|
|
2316
|
+
"promotion-publication-channel",
|
|
2317
|
+
"promotion-router-ref",
|
|
2318
|
+
"promotion-router-sha",
|
|
2319
|
+
"promotion-runtime-ref",
|
|
2320
|
+
"promotion-runtime-sha",
|
|
2321
|
+
"promotion-shell-ref",
|
|
2322
|
+
"promotion-shell-sha",
|
|
2323
|
+
"promotion-target-ref",
|
|
2262
2324
|
"publication-admission-json",
|
|
2263
2325
|
"publication-auto-admission",
|
|
2264
2326
|
"publication-auto-no-gate",
|
|
@@ -2304,8 +2366,8 @@
|
|
|
2304
2366
|
],
|
|
2305
2367
|
"controllerDescriptor": {
|
|
2306
2368
|
"contract": "buildchain.controller-descriptor/v1",
|
|
2307
|
-
"digest": "sha256:
|
|
2308
|
-
"registryDigest": "sha256:
|
|
2369
|
+
"digest": "sha256:6a531c572b59eb3b8aa5d47df3658f8f438a0d026468dd13b1a6642a3ea8c425",
|
|
2370
|
+
"registryDigest": "sha256:5f771d5b2f481a28afc48f516685f50985c1d51391857cdf04e3238c271fecc8",
|
|
2309
2371
|
"inputClassifications": {
|
|
2310
2372
|
"BUILDCHAIN_ISSUE_APP_ID": {
|
|
2311
2373
|
"classification": "redacted",
|
|
@@ -2403,6 +2465,50 @@
|
|
|
2403
2465
|
"classification": "included",
|
|
2404
2466
|
"source": "workflow-call-input"
|
|
2405
2467
|
},
|
|
2468
|
+
"promotion-contract-lock-digest": {
|
|
2469
|
+
"classification": "included",
|
|
2470
|
+
"source": "workflow-call-input"
|
|
2471
|
+
},
|
|
2472
|
+
"promotion-contract-lock-path": {
|
|
2473
|
+
"classification": "digest-only",
|
|
2474
|
+
"source": "workflow-call-input"
|
|
2475
|
+
},
|
|
2476
|
+
"promotion-override-used": {
|
|
2477
|
+
"classification": "included",
|
|
2478
|
+
"source": "workflow-call-input"
|
|
2479
|
+
},
|
|
2480
|
+
"promotion-publication-channel": {
|
|
2481
|
+
"classification": "included",
|
|
2482
|
+
"source": "workflow-call-input"
|
|
2483
|
+
},
|
|
2484
|
+
"promotion-router-ref": {
|
|
2485
|
+
"classification": "included",
|
|
2486
|
+
"source": "workflow-call-input"
|
|
2487
|
+
},
|
|
2488
|
+
"promotion-router-sha": {
|
|
2489
|
+
"classification": "included",
|
|
2490
|
+
"source": "workflow-call-input"
|
|
2491
|
+
},
|
|
2492
|
+
"promotion-runtime-ref": {
|
|
2493
|
+
"classification": "included",
|
|
2494
|
+
"source": "workflow-call-input"
|
|
2495
|
+
},
|
|
2496
|
+
"promotion-runtime-sha": {
|
|
2497
|
+
"classification": "included",
|
|
2498
|
+
"source": "workflow-call-input"
|
|
2499
|
+
},
|
|
2500
|
+
"promotion-shell-ref": {
|
|
2501
|
+
"classification": "included",
|
|
2502
|
+
"source": "workflow-call-input"
|
|
2503
|
+
},
|
|
2504
|
+
"promotion-shell-sha": {
|
|
2505
|
+
"classification": "included",
|
|
2506
|
+
"source": "workflow-call-input"
|
|
2507
|
+
},
|
|
2508
|
+
"promotion-target-ref": {
|
|
2509
|
+
"classification": "included",
|
|
2510
|
+
"source": "workflow-call-input"
|
|
2511
|
+
},
|
|
2406
2512
|
"publication-admission-json": {
|
|
2407
2513
|
"classification": "digest-only",
|
|
2408
2514
|
"source": "workflow-call-input"
|
|
@@ -2579,8 +2685,8 @@
|
|
|
2579
2685
|
"redacted input values are never serialized and digest-only input values are never emitted in plaintext",
|
|
2580
2686
|
"missing receipts are non-qualifying and must not be represented as a successful controller run"
|
|
2581
2687
|
],
|
|
2582
|
-
"breakingDigest": "sha256:
|
|
2583
|
-
"auditDigest": "sha256:
|
|
2688
|
+
"breakingDigest": "sha256:015d8de793adbd4c539416be7d7512e18cc92097e629b0203fa06d2c183e98bd",
|
|
2689
|
+
"auditDigest": "sha256:3c2594dccab4bf7836a28e1aca5189554618eb51bd73e63df5bc28f232b214db"
|
|
2584
2690
|
},
|
|
2585
2691
|
{
|
|
2586
2692
|
"contractVersion": 1,
|
|
@@ -2641,7 +2747,7 @@
|
|
|
2641
2747
|
"controllerDescriptor": {
|
|
2642
2748
|
"contract": "buildchain.controller-descriptor/v1",
|
|
2643
2749
|
"digest": "sha256:ede9eba43b87cf19330d5f8203a1585bf066aa9affc9cac0f43230ac76b8580d",
|
|
2644
|
-
"registryDigest": "sha256:
|
|
2750
|
+
"registryDigest": "sha256:5f771d5b2f481a28afc48f516685f50985c1d51391857cdf04e3238c271fecc8",
|
|
2645
2751
|
"inputClassifications": {
|
|
2646
2752
|
"buildchain-ref": {
|
|
2647
2753
|
"classification": "included",
|
|
@@ -2723,6 +2829,6 @@
|
|
|
2723
2829
|
"auditDigest": "sha256:43fd4da155c701d4c5078373c1f47b50bebc6a46556b8db5e3c4d502c113fa95"
|
|
2724
2830
|
}
|
|
2725
2831
|
],
|
|
2726
|
-
"compatibilityDigest": "sha256:
|
|
2727
|
-
"contractDigest": "sha256:
|
|
2832
|
+
"compatibilityDigest": "sha256:edc3653e5cb34efd97065a6941db16140bbf375a565bbcf329d9d795bb07676f",
|
|
2833
|
+
"contractDigest": "sha256:311379747d9beb4f3d8a1126b8c34122e92750690694ba5a04677ace3004bd21"
|
|
2728
2834
|
}
|