@kungfu-tech/buildchain 3.0.2 → 3.0.3-alpha.1

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 (127) hide show
  1. package/AGENTS.md +1 -1
  2. package/CONTRIBUTING.md +1 -1
  3. package/README.md +27 -1
  4. package/actions/promote-buildchain-ref/README.md +90 -19
  5. package/actions/report-buildchain-issue/README.md +20 -2
  6. package/actions/run-lifecycle/README.md +5 -0
  7. package/actions/validate-config/README.md +19 -1
  8. package/bin/buildchain.mjs +56 -2
  9. package/bin/internal/command-registry.mjs +82 -0
  10. package/bin/internal/trust-release-cli.mjs +1 -0
  11. package/contracts/auditable-demo-media-profiles-v1.json +116 -1
  12. package/contracts/buildchain-v2-residuals-v1.json +146 -0
  13. package/contracts/evidence/auditable-demo-responsive-web-delivery-v1.json +143 -0
  14. package/contracts/evidence/auditable-demo-web-delivery-v1.json +7 -3
  15. package/contracts/fixtures/auditable-demo-responsive-web-delivery-v1/complete-transcript.txt +2 -0
  16. package/contracts/fixtures/auditable-demo-responsive-web-delivery-v1/public-projection.json +16 -0
  17. package/contracts/fixtures/auditable-demo-responsive-web-delivery-v1/scene.json +12 -0
  18. package/dist/site/buildchain-contract.json +188 -46
  19. package/dist/site/buildchain-site.json +181 -90
  20. package/dist/site/capability-registry.json +5 -5
  21. package/dist/site/cli-registry.json +860 -98
  22. package/dist/site/controller-registry.json +118 -5
  23. package/dist/site/kfd-claims.json +233 -19
  24. package/dist/site/kfd-upstream-aggregate.json +1 -1
  25. package/dist/site/manual-registry.json +20 -20
  26. package/dist/site/node-api-registry.json +374 -59
  27. package/dist/site/page-registry.json +156 -65
  28. package/dist/site/public-surface-audit.json +231 -22
  29. package/dist/site/publication-registry.json +4 -4
  30. package/dist/site/release-provenance.json +3 -0
  31. package/dist/site/site-manifest.json +24 -24
  32. package/dist/site/workflow-registry.json +575 -79
  33. package/docs/MAP.md +22 -4
  34. package/docs/auditable-demo.md +54 -13
  35. package/docs/aws-us-elastic-runner-burst-plane.md +381 -0
  36. package/docs/cli.md +119 -12
  37. package/docs/consumer-issue-reporting.md +20 -2
  38. package/docs/dev-alpha-candidate-patrol.md +24 -10
  39. package/docs/github-governance-authority.md +24 -31
  40. package/docs/lifecycle-protocol.md +20 -2
  41. package/docs/migration-inventory.md +24 -5
  42. package/docs/observed-evidence-patrol.md +28 -12
  43. package/docs/ownership.md +19 -1
  44. package/docs/publication-artifacts.md +158 -18
  45. package/docs/publication-authority.md +4 -4
  46. package/docs/publish-transaction.md +78 -31
  47. package/docs/release-candidate.md +24 -0
  48. package/docs/release-flow.md +50 -32
  49. package/docs/release-governance.md +39 -32
  50. package/docs/release-passport.md +4 -0
  51. package/docs/release-propagation.md +57 -12
  52. package/docs/reusable-build-surface.md +218 -90
  53. package/docs/runtime-train-validation.md +20 -2
  54. package/docs/shifu-gate-profiles.md +7 -1
  55. package/docs/stable-candidate-patrol.md +6 -6
  56. package/docs/toolkit-observability.md +22 -0
  57. package/docs/versioning.md +46 -24
  58. package/docs/web-surface-deployments.md +82 -1
  59. package/package.json +7 -5
  60. package/packages/core/README.md +60 -4
  61. package/packages/core/artifact-signing.js +1 -0
  62. package/packages/core/buildchain-contract.js +9 -4
  63. package/packages/core/cache-evidence.js +1 -0
  64. package/packages/core/controller-evidence.js +2 -0
  65. package/packages/core/diagnostics.js +105 -30
  66. package/packages/core/github-governance-authority.js +25 -17
  67. package/packages/core/index.js +40 -0
  68. package/packages/core/paper.js +3226 -0
  69. package/packages/core/public-surface-audit.js +3 -0
  70. package/packages/core/publication-artifact.js +1 -6
  71. package/packages/core/publication-authority.js +1 -0
  72. package/packages/core/publication-control-plane-audit.js +28 -0
  73. package/packages/core/publication-reproducibility.js +947 -0
  74. package/packages/core/publication-sealed-bundle.js +190 -0
  75. package/packages/core/publish-transaction.js +147 -17
  76. package/packages/core/release-candidate.js +234 -0
  77. package/packages/core/release-passport.js +519 -228
  78. package/packages/core/release-propagation.js +175 -1
  79. package/packages/core/stable-release-gate.js +4 -1
  80. package/scripts/artifact-signing-delegation.mjs +268 -0
  81. package/scripts/audit-github-governance.mjs +32 -13
  82. package/scripts/audit-publication-control-plane.mjs +17 -8
  83. package/scripts/auditable-demo.mjs +266 -7
  84. package/scripts/aws-codebuild-toolchain.mjs +285 -0
  85. package/scripts/aws-macos-jit-core.mjs +378 -0
  86. package/scripts/aws-macos-jit.mjs +123 -0
  87. package/scripts/aws-runner-burst-core.mjs +248 -0
  88. package/scripts/aws-runner-burst.mjs +79 -0
  89. package/scripts/aws-windows-jit-core.mjs +374 -0
  90. package/scripts/aws-windows-jit.mjs +121 -0
  91. package/scripts/build-contract-core.mjs +69 -6
  92. package/scripts/build-standalone-binary.mjs +23 -0
  93. package/scripts/buildchain-contract-lock.mjs +1 -1
  94. package/scripts/buildchain-patrol.mjs +1 -1
  95. package/scripts/check-internal-architecture.mjs +69 -2
  96. package/scripts/check-inventory.mjs +70 -2
  97. package/scripts/check-javascript-syntax.mjs +31 -0
  98. package/scripts/check-maintainability.mjs +371 -0
  99. package/scripts/compiler-cache-evidence.mjs +221 -0
  100. package/scripts/dev-alpha-candidate-patrol.mjs +288 -43
  101. package/scripts/dispatch-artifact-signing-authority.mjs +7 -1
  102. package/scripts/finalize-native-artifact-signing-result.mjs +185 -31
  103. package/scripts/gate-profile-core.mjs +6 -1
  104. package/scripts/generate-channel-promotion-workflow.mjs +3 -12
  105. package/scripts/generate-release-candidate-passport.mjs +4 -0
  106. package/scripts/generate-site-bundle.mjs +84 -18
  107. package/scripts/import-artifact-signing-results.mjs +64 -5
  108. package/scripts/inspect-artifact-signing-requests.mjs +52 -14
  109. package/scripts/maintainability-metrics.mjs +339 -0
  110. package/scripts/npm-publish-transaction.mjs +57 -6
  111. package/scripts/observed-evidence.mjs +151 -33
  112. package/scripts/paper.mjs +645 -0
  113. package/scripts/promotion-channel-router.mjs +16 -4
  114. package/scripts/publication-reproducibility.mjs +62 -0
  115. package/scripts/reconcile-github-governance.mjs +8 -1
  116. package/scripts/release-propagation.mjs +39 -0
  117. package/scripts/resolve-artifact-signing-upload-route.mjs +55 -0
  118. package/scripts/resolve-build-contract.mjs +6 -0
  119. package/scripts/route-offline-runners.mjs +236 -0
  120. package/scripts/run-candidate-body-prefix-renderer.mjs +187 -0
  121. package/scripts/run-lifecycle-core.mjs +62 -1
  122. package/scripts/runtime-ref-core.mjs +36 -4
  123. package/scripts/seal-artifact-signing-requests.mjs +64 -12
  124. package/scripts/stable-candidate-qualification.mjs +50 -0
  125. package/scripts/verify-artifact-signing-results.mjs +26 -1
  126. package/scripts/web-surface-core.mjs +272 -86
  127. package/scripts/web-surface-production-decision.mjs +19 -3
@@ -8,14 +8,20 @@
8
8
  "specifier": "@kungfu-tech/buildchain",
9
9
  "export": ".",
10
10
  "target": "./packages/core/index.js",
11
- "digest": "sha256:d9ae3dea43788f32b8a65bcc50044bb29fb268a354b5b1fe3558cb4250e2b83b",
11
+ "digest": "sha256:ad56044fe0c4ee1bb99a79195efb3d01da1bb1a7fabd393094c4fb94d97d5b87",
12
12
  "summary": "Root toolkit export for Buildchain's public Node API.",
13
13
  "capabilityGroup": "api-cli-reference",
14
14
  "audience": [
15
15
  "developer",
16
16
  "agent"
17
17
  ],
18
- "maturity": "stable"
18
+ "owner": "buildchain-core",
19
+ "maturity": "stable",
20
+ "introducedVersion": "pre-3.0.2-alpha.4",
21
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
22
+ "deprecationReplacement": "",
23
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
24
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
19
25
  },
20
26
  {
21
27
  "specifier": "@kungfu-tech/buildchain/badges",
@@ -28,7 +34,13 @@
28
34
  "developer",
29
35
  "agent"
30
36
  ],
31
- "maturity": "stable"
37
+ "owner": "buildchain-core",
38
+ "maturity": "stable",
39
+ "introducedVersion": "pre-3.0.2-alpha.4",
40
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
41
+ "deprecationReplacement": "",
42
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
43
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
32
44
  },
33
45
  {
34
46
  "specifier": "@kungfu-tech/buildchain/build-facts",
@@ -41,20 +53,32 @@
41
53
  "developer",
42
54
  "agent"
43
55
  ],
44
- "maturity": "stable"
56
+ "owner": "buildchain-core",
57
+ "maturity": "stable",
58
+ "introducedVersion": "pre-3.0.2-alpha.4",
59
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
60
+ "deprecationReplacement": "",
61
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
62
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
45
63
  },
46
64
  {
47
65
  "specifier": "@kungfu-tech/buildchain/core",
48
66
  "export": "./core",
49
67
  "target": "./packages/core/index.js",
50
- "digest": "sha256:d9ae3dea43788f32b8a65bcc50044bb29fb268a354b5b1fe3558cb4250e2b83b",
68
+ "digest": "sha256:ad56044fe0c4ee1bb99a79195efb3d01da1bb1a7fabd393094c4fb94d97d5b87",
51
69
  "summary": "Alias for the root public toolkit export.",
52
70
  "capabilityGroup": "api-cli-reference",
53
71
  "audience": [
54
72
  "developer",
55
73
  "agent"
56
74
  ],
57
- "maturity": "stable"
75
+ "owner": "buildchain-core",
76
+ "maturity": "stable",
77
+ "introducedVersion": "pre-3.0.2-alpha.4",
78
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
79
+ "deprecationReplacement": "",
80
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
81
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
58
82
  },
59
83
  {
60
84
  "specifier": "@kungfu-tech/buildchain/artifact-passport",
@@ -67,7 +91,13 @@
67
91
  "developer",
68
92
  "agent"
69
93
  ],
70
- "maturity": "stable"
94
+ "owner": "buildchain-core",
95
+ "maturity": "stable",
96
+ "introducedVersion": "pre-3.0.2-alpha.4",
97
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
98
+ "deprecationReplacement": "",
99
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
100
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
71
101
  },
72
102
  {
73
103
  "specifier": "@kungfu-tech/buildchain/artifact-verification-envelope",
@@ -80,7 +110,13 @@
80
110
  "developer",
81
111
  "agent"
82
112
  ],
83
- "maturity": "stable"
113
+ "owner": "buildchain-core",
114
+ "maturity": "stable",
115
+ "introducedVersion": "pre-3.0.2-alpha.4",
116
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
117
+ "deprecationReplacement": "",
118
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
119
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
84
120
  },
85
121
  {
86
122
  "specifier": "@kungfu-tech/buildchain/github-artifact-attestation",
@@ -93,20 +129,32 @@
93
129
  "developer",
94
130
  "agent"
95
131
  ],
96
- "maturity": "stable"
132
+ "owner": "buildchain-core",
133
+ "maturity": "stable",
134
+ "introducedVersion": "pre-3.0.2-alpha.4",
135
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
136
+ "deprecationReplacement": "",
137
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
138
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
97
139
  },
98
140
  {
99
141
  "specifier": "@kungfu-tech/buildchain/artifact-signing",
100
142
  "export": "./artifact-signing",
101
143
  "target": "./packages/core/artifact-signing.js",
102
- "digest": "sha256:2314a3858214ea7f573510208b97042545931d4b6c505575f62bc46168de757c",
144
+ "digest": "sha256:7b4c88201125f08645092b121eeeab0390b4fdee665f0d6c949217cb6545d590",
103
145
  "summary": "Credential-free artifact signing declarations, source-bound requests, authority receipts, profile resolution, and fail-closed validation APIs.",
104
146
  "capabilityGroup": "reusable-build",
105
147
  "audience": [
106
148
  "developer",
107
149
  "agent"
108
150
  ],
109
- "maturity": "stable"
151
+ "owner": "buildchain-core",
152
+ "maturity": "stable",
153
+ "introducedVersion": "pre-3.0.2-alpha.4",
154
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
155
+ "deprecationReplacement": "",
156
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
157
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
110
158
  },
111
159
  {
112
160
  "specifier": "@kungfu-tech/buildchain/artifact-signing-result",
@@ -119,7 +167,13 @@
119
167
  "developer",
120
168
  "agent"
121
169
  ],
122
- "maturity": "stable"
170
+ "owner": "buildchain-core",
171
+ "maturity": "stable",
172
+ "introducedVersion": "pre-3.0.2-alpha.4",
173
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
174
+ "deprecationReplacement": "",
175
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
176
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
123
177
  },
124
178
  {
125
179
  "specifier": "@kungfu-tech/buildchain/detached-artifact-signature",
@@ -132,7 +186,13 @@
132
186
  "developer",
133
187
  "agent"
134
188
  ],
135
- "maturity": "stable"
189
+ "owner": "buildchain-core",
190
+ "maturity": "stable",
191
+ "introducedVersion": "pre-3.0.2-alpha.4",
192
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
193
+ "deprecationReplacement": "",
194
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
195
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
136
196
  },
137
197
  {
138
198
  "specifier": "@kungfu-tech/buildchain/anchored-version-material",
@@ -145,20 +205,32 @@
145
205
  "developer",
146
206
  "agent"
147
207
  ],
148
- "maturity": "stable"
208
+ "owner": "buildchain-core",
209
+ "maturity": "stable",
210
+ "introducedVersion": "pre-3.0.2-alpha.4",
211
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
212
+ "deprecationReplacement": "",
213
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
214
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
149
215
  },
150
216
  {
151
217
  "specifier": "@kungfu-tech/buildchain/buildchain-contract",
152
218
  "export": "./buildchain-contract",
153
219
  "target": "./packages/core/buildchain-contract.js",
154
- "digest": "sha256:79a3b4109777e3e13ac936a04e09e2d71fd8f93f50544ead4d51ed41f3fdf3e8",
220
+ "digest": "sha256:b36bbd70ebd7dffdba2ab3161cbea8adfed0cd72b418ba587a4d0e5aecbd94dc",
155
221
  "summary": "Runtime contract world and compatibility digest APIs for floating-ref drift checks.",
156
222
  "capabilityGroup": "governance-versioning",
157
223
  "audience": [
158
224
  "developer",
159
225
  "agent"
160
226
  ],
161
- "maturity": "stable"
227
+ "owner": "buildchain-core",
228
+ "maturity": "stable",
229
+ "introducedVersion": "pre-3.0.2-alpha.4",
230
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
231
+ "deprecationReplacement": "",
232
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
233
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
162
234
  },
163
235
  {
164
236
  "specifier": "@kungfu-tech/buildchain/candidate-timeline",
@@ -171,7 +243,13 @@
171
243
  "developer",
172
244
  "agent"
173
245
  ],
174
- "maturity": "stable"
246
+ "owner": "buildchain-core",
247
+ "maturity": "stable",
248
+ "introducedVersion": "pre-3.0.2-alpha.4",
249
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
250
+ "deprecationReplacement": "",
251
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
252
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
175
253
  },
176
254
  {
177
255
  "specifier": "@kungfu-tech/buildchain/channel-candidate",
@@ -184,46 +262,70 @@
184
262
  "developer",
185
263
  "agent"
186
264
  ],
187
- "maturity": "stable"
265
+ "owner": "buildchain-core",
266
+ "maturity": "stable",
267
+ "introducedVersion": "pre-3.0.2-alpha.4",
268
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
269
+ "deprecationReplacement": "",
270
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
271
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
188
272
  },
189
273
  {
190
274
  "specifier": "@kungfu-tech/buildchain/cache-evidence",
191
275
  "export": "./cache-evidence",
192
276
  "target": "./packages/core/cache-evidence.js",
193
- "digest": "sha256:9f8453c53d7f31bccbfc9cdf5c5e62578d531c08fd213416845f753f92ee1d2e",
277
+ "digest": "sha256:9b19957c2f42c20bcc36621741381e471133ad02647d7ffa0d98a7eca49c126d",
194
278
  "summary": "Content-addressed cache operation receipts and source/platform-bound evidence-set verification APIs.",
195
279
  "capabilityGroup": "observability-diagnostics",
196
280
  "audience": [
197
281
  "developer",
198
282
  "agent"
199
283
  ],
200
- "maturity": "stable"
284
+ "owner": "buildchain-core",
285
+ "maturity": "stable",
286
+ "introducedVersion": "pre-3.0.2-alpha.4",
287
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
288
+ "deprecationReplacement": "",
289
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
290
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
201
291
  },
202
292
  {
203
293
  "specifier": "@kungfu-tech/buildchain/controller-evidence",
204
294
  "export": "./controller-evidence",
205
295
  "target": "./packages/core/controller-evidence.js",
206
- "digest": "sha256:6169f625ab2bd8a21ddcbb1c72529df481a4eeadd2b37a4c5e8e0dee9668a435",
296
+ "digest": "sha256:5237d49ad4bb4cc803bdeb96039967b1896145483f6d9f40c7e06e0303545457",
207
297
  "summary": "Project-independent controller descriptors, source/runtime-bound plans, receipts, aggregates, and validation APIs.",
208
298
  "capabilityGroup": "reusable-build",
209
299
  "audience": [
210
300
  "developer",
211
301
  "agent"
212
302
  ],
213
- "maturity": "stable"
303
+ "owner": "buildchain-core",
304
+ "maturity": "stable",
305
+ "introducedVersion": "pre-3.0.2-alpha.4",
306
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
307
+ "deprecationReplacement": "",
308
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
309
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
214
310
  },
215
311
  {
216
312
  "specifier": "@kungfu-tech/buildchain/diagnostics",
217
313
  "export": "./diagnostics",
218
314
  "target": "./packages/core/diagnostics.js",
219
- "digest": "sha256:be62d59d4a6e18e8fe96a98539012cd8db82976eea2593540db80a8522d52e73",
315
+ "digest": "sha256:21d14194f9b876927c54b53cecf8265b23085b05f98d57c5526ef2a4a033962f",
220
316
  "summary": "Native diagnostics collection, summarization, cache, compiler, and process-sampler APIs.",
221
317
  "capabilityGroup": "observability-diagnostics",
222
318
  "audience": [
223
319
  "developer",
224
320
  "agent"
225
321
  ],
226
- "maturity": "stable"
322
+ "owner": "buildchain-core",
323
+ "maturity": "stable",
324
+ "introducedVersion": "pre-3.0.2-alpha.4",
325
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
326
+ "deprecationReplacement": "",
327
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
328
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
227
329
  },
228
330
  {
229
331
  "specifier": "@kungfu-tech/buildchain/homebrew",
@@ -236,7 +338,13 @@
236
338
  "developer",
237
339
  "agent"
238
340
  ],
239
- "maturity": "stable"
341
+ "owner": "buildchain-core",
342
+ "maturity": "stable",
343
+ "introducedVersion": "pre-3.0.2-alpha.4",
344
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
345
+ "deprecationReplacement": "",
346
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
347
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
240
348
  },
241
349
  {
242
350
  "specifier": "@kungfu-tech/buildchain/issue-reporting",
@@ -249,7 +357,13 @@
249
357
  "developer",
250
358
  "agent"
251
359
  ],
252
- "maturity": "stable"
360
+ "owner": "buildchain-core",
361
+ "maturity": "stable",
362
+ "introducedVersion": "pre-3.0.2-alpha.4",
363
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
364
+ "deprecationReplacement": "",
365
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
366
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
253
367
  },
254
368
  {
255
369
  "specifier": "@kungfu-tech/buildchain/kfd",
@@ -262,7 +376,13 @@
262
376
  "developer",
263
377
  "agent"
264
378
  ],
265
- "maturity": "stable"
379
+ "owner": "buildchain-core",
380
+ "maturity": "stable",
381
+ "introducedVersion": "pre-3.0.2-alpha.4",
382
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
383
+ "deprecationReplacement": "",
384
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
385
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
266
386
  },
267
387
  {
268
388
  "specifier": "@kungfu-tech/buildchain/kfd-product-gates",
@@ -275,7 +395,13 @@
275
395
  "developer",
276
396
  "agent"
277
397
  ],
278
- "maturity": "stable"
398
+ "owner": "buildchain-core",
399
+ "maturity": "stable",
400
+ "introducedVersion": "pre-3.0.2-alpha.4",
401
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
402
+ "deprecationReplacement": "",
403
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
404
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
279
405
  },
280
406
  {
281
407
  "specifier": "@kungfu-tech/buildchain/kfd-agent-hub",
@@ -288,7 +414,13 @@
288
414
  "developer",
289
415
  "agent"
290
416
  ],
291
- "maturity": "stable"
417
+ "owner": "buildchain-core",
418
+ "maturity": "stable",
419
+ "introducedVersion": "pre-3.0.2-alpha.4",
420
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
421
+ "deprecationReplacement": "",
422
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
423
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
292
424
  },
293
425
  {
294
426
  "specifier": "@kungfu-tech/buildchain/buildchain-layout",
@@ -301,7 +433,13 @@
301
433
  "developer",
302
434
  "agent"
303
435
  ],
304
- "maturity": "stable"
436
+ "owner": "buildchain-core",
437
+ "maturity": "stable",
438
+ "introducedVersion": "pre-3.0.2-alpha.4",
439
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
440
+ "deprecationReplacement": "",
441
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
442
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
305
443
  },
306
444
  {
307
445
  "specifier": "@kungfu-tech/buildchain/release-line-bootstrap",
@@ -314,7 +452,13 @@
314
452
  "developer",
315
453
  "agent"
316
454
  ],
317
- "maturity": "stable"
455
+ "owner": "buildchain-core",
456
+ "maturity": "stable",
457
+ "introducedVersion": "pre-3.0.2-alpha.4",
458
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
459
+ "deprecationReplacement": "",
460
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
461
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
318
462
  },
319
463
  {
320
464
  "specifier": "@kungfu-tech/buildchain/readme-badges",
@@ -327,20 +471,32 @@
327
471
  "developer",
328
472
  "agent"
329
473
  ],
330
- "maturity": "stable"
474
+ "owner": "buildchain-core",
475
+ "maturity": "stable",
476
+ "introducedVersion": "pre-3.0.2-alpha.4",
477
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
478
+ "deprecationReplacement": "",
479
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
480
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
331
481
  },
332
482
  {
333
483
  "specifier": "@kungfu-tech/buildchain/public-surface-audit",
334
484
  "export": "./public-surface-audit",
335
485
  "target": "./packages/core/public-surface-audit.js",
336
- "digest": "sha256:680a821f732f3da344c0ecc7a6c8f4178ac268694c43890f677e4c05ad5c3a7e",
486
+ "digest": "sha256:da96db43564bff353b4e6a87c0b9e8a566f597a8b0a15a05e3e9efc0fbcc0cc8",
337
487
  "summary": "Reverse audit APIs for CLI, workflow, action, site page, and documentation command surfaces.",
338
488
  "capabilityGroup": "kfd-trust",
339
489
  "audience": [
340
490
  "developer",
341
491
  "agent"
342
492
  ],
343
- "maturity": "stable"
493
+ "owner": "buildchain-core",
494
+ "maturity": "stable",
495
+ "introducedVersion": "pre-3.0.2-alpha.4",
496
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
497
+ "deprecationReplacement": "",
498
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
499
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
344
500
  },
345
501
  {
346
502
  "specifier": "@kungfu-tech/buildchain/logging",
@@ -353,7 +509,13 @@
353
509
  "developer",
354
510
  "agent"
355
511
  ],
356
- "maturity": "stable"
512
+ "owner": "buildchain-core",
513
+ "maturity": "stable",
514
+ "introducedVersion": "pre-3.0.2-alpha.4",
515
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
516
+ "deprecationReplacement": "",
517
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
518
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
357
519
  },
358
520
  {
359
521
  "specifier": "@kungfu-tech/buildchain/portable-dev-cache",
@@ -366,20 +528,32 @@
366
528
  "developer",
367
529
  "agent"
368
530
  ],
369
- "maturity": "stable"
531
+ "owner": "buildchain-core",
532
+ "maturity": "stable",
533
+ "introducedVersion": "pre-3.0.2-alpha.4",
534
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
535
+ "deprecationReplacement": "",
536
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
537
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
370
538
  },
371
539
  {
372
540
  "specifier": "@kungfu-tech/buildchain/publication-artifact",
373
541
  "export": "./publication-artifact",
374
542
  "target": "./packages/core/publication-artifact.js",
375
- "digest": "sha256:3c565ff115c1d6b161311227f99e3b2bbc0142f2be09cd95e07f35b1f168beef",
543
+ "digest": "sha256:d6213ebc05edd8d37fe61efdc5daac62063da73c9cd33bf182febdad4e1713a0",
376
544
  "summary": "Publication artifact manifest, source bundle, and publication passport APIs.",
377
545
  "capabilityGroup": "reusable-build",
378
546
  "audience": [
379
547
  "developer",
380
548
  "agent"
381
549
  ],
382
- "maturity": "stable"
550
+ "owner": "buildchain-core",
551
+ "maturity": "stable",
552
+ "introducedVersion": "pre-3.0.2-alpha.4",
553
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
554
+ "deprecationReplacement": "",
555
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
556
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
383
557
  },
384
558
  {
385
559
  "specifier": "@kungfu-tech/buildchain/publication-package",
@@ -392,33 +566,108 @@
392
566
  "developer",
393
567
  "agent"
394
568
  ],
395
- "maturity": "stable"
569
+ "owner": "buildchain-core",
570
+ "maturity": "stable",
571
+ "introducedVersion": "pre-3.0.2-alpha.4",
572
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
573
+ "deprecationReplacement": "",
574
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
575
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
576
+ },
577
+ {
578
+ "specifier": "@kungfu-tech/buildchain/publication-reproducibility",
579
+ "export": "./publication-reproducibility",
580
+ "target": "./packages/core/publication-reproducibility.js",
581
+ "digest": "sha256:ce857ae600c4abb88b21c180c68f014044b3ea673c97b32227806c7bd91f6879",
582
+ "summary": "Two-clean-build publication byte reproducibility receipt APIs.",
583
+ "capabilityGroup": "reusable-build",
584
+ "audience": [
585
+ "developer",
586
+ "agent"
587
+ ],
588
+ "owner": "buildchain-core",
589
+ "maturity": "stable",
590
+ "introducedVersion": "pre-3.0.2-alpha.4",
591
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
592
+ "deprecationReplacement": "",
593
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
594
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
595
+ },
596
+ {
597
+ "specifier": "@kungfu-tech/buildchain/publication-sealed-bundle",
598
+ "export": "./publication-sealed-bundle",
599
+ "target": "./packages/core/publication-sealed-bundle.js",
600
+ "digest": "sha256:9b1405a04548c9a87863c2cf410224f6cd7b44e06b76e0de0f7b8052029bc92d",
601
+ "summary": "Build-once publication bundle manifests and exact-byte resume verification APIs.",
602
+ "capabilityGroup": "reusable-build",
603
+ "audience": [
604
+ "developer",
605
+ "agent"
606
+ ],
607
+ "owner": "buildchain-core",
608
+ "maturity": "stable",
609
+ "introducedVersion": "pre-3.0.2-alpha.4",
610
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
611
+ "deprecationReplacement": "",
612
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
613
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
614
+ },
615
+ {
616
+ "specifier": "@kungfu-tech/buildchain/paper",
617
+ "export": "./paper",
618
+ "target": "./packages/core/paper.js",
619
+ "digest": "sha256:af6ad934478f68cde03535b5c431303a37b0ad804a6b0a9fa3610f900c5ff9c3",
620
+ "summary": "Unified paper scaffold, preflight, npm bootstrap, build, Alpha, status, and resume planning APIs.",
621
+ "capabilityGroup": "reusable-build",
622
+ "audience": [
623
+ "developer",
624
+ "agent"
625
+ ],
626
+ "owner": "buildchain-core",
627
+ "maturity": "stable",
628
+ "introducedVersion": "pre-3.0.2-alpha.4",
629
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
630
+ "deprecationReplacement": "",
631
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
632
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
396
633
  },
397
634
  {
398
635
  "specifier": "@kungfu-tech/buildchain/publication-authority",
399
636
  "export": "./publication-authority",
400
637
  "target": "./packages/core/publication-authority.js",
401
- "digest": "sha256:c1b9e696669d4e6ee661ec0528244509b6b0f832ec4fad16386344b90ad91367",
638
+ "digest": "sha256:8d00e41772b01064a96c6962ccad6db9cc555f91a5eb5966da3357b83d10f082",
402
639
  "summary": "Sealed publication authority registry, runner provenance, control-plane audit, admission, and independent verification APIs.",
403
640
  "capabilityGroup": "release-passport-trust",
404
641
  "audience": [
405
642
  "developer",
406
643
  "agent"
407
644
  ],
408
- "maturity": "stable"
645
+ "owner": "buildchain-core",
646
+ "maturity": "stable",
647
+ "introducedVersion": "pre-3.0.2-alpha.4",
648
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
649
+ "deprecationReplacement": "",
650
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
651
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
409
652
  },
410
653
  {
411
654
  "specifier": "@kungfu-tech/buildchain/publication-control-plane-audit",
412
655
  "export": "./publication-control-plane-audit",
413
656
  "target": "./packages/core/publication-control-plane-audit.js",
414
- "digest": "sha256:3817d243ef01490be7375d7ed8bb0d00326f528b1fe0681bfd0d003c9932cc96",
657
+ "digest": "sha256:a2d207047837abddf9d1f2b728b5a730467917444cbcb2221310f8c45fe0ce5d",
415
658
  "summary": "Read-only publication control-plane snapshot evaluation APIs.",
416
659
  "capabilityGroup": "release-passport-trust",
417
660
  "audience": [
418
661
  "developer",
419
662
  "agent"
420
663
  ],
421
- "maturity": "stable"
664
+ "owner": "buildchain-core",
665
+ "maturity": "stable",
666
+ "introducedVersion": "pre-3.0.2-alpha.4",
667
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
668
+ "deprecationReplacement": "",
669
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
670
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
422
671
  },
423
672
  {
424
673
  "specifier": "@kungfu-tech/buildchain/buildchain-publication-authority",
@@ -431,20 +680,32 @@
431
680
  "developer",
432
681
  "agent"
433
682
  ],
434
- "maturity": "stable"
683
+ "owner": "buildchain-core",
684
+ "maturity": "stable",
685
+ "introducedVersion": "pre-3.0.2-alpha.4",
686
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
687
+ "deprecationReplacement": "",
688
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
689
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
435
690
  },
436
691
  {
437
692
  "specifier": "@kungfu-tech/buildchain/github-governance-authority",
438
693
  "export": "./github-governance-authority",
439
694
  "target": "./packages/core/github-governance-authority.js",
440
- "digest": "sha256:548c64ca8f23945cdbdd6c06bc6ed85854a46ea308c490376a8736677d7c1936",
695
+ "digest": "sha256:4aa2aeeb39516ae17db4d671ee8ce5fdce552a969db9858d8128f1a897acee89",
441
696
  "summary": "Fail-closed GitHub ownership, effective-policy, managed-zone admission, rollout-plan, and immutable receipt APIs.",
442
697
  "capabilityGroup": "governance-versioning",
443
698
  "audience": [
444
699
  "developer",
445
700
  "agent"
446
701
  ],
447
- "maturity": "stable"
702
+ "owner": "buildchain-core",
703
+ "maturity": "stable",
704
+ "introducedVersion": "pre-3.0.2-alpha.4",
705
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
706
+ "deprecationReplacement": "",
707
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
708
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
448
709
  },
449
710
  {
450
711
  "specifier": "@kungfu-tech/buildchain/kfd-gate",
@@ -457,20 +718,32 @@
457
718
  "developer",
458
719
  "agent"
459
720
  ],
460
- "maturity": "stable"
721
+ "owner": "buildchain-core",
722
+ "maturity": "stable",
723
+ "introducedVersion": "pre-3.0.2-alpha.4",
724
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
725
+ "deprecationReplacement": "",
726
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
727
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
461
728
  },
462
729
  {
463
730
  "specifier": "@kungfu-tech/buildchain/release-candidate",
464
731
  "export": "./release-candidate",
465
732
  "target": "./packages/core/release-candidate.js",
466
- "digest": "sha256:8d47b3dc103be8056fd2c4adec637efc663896dfd55d27a4642d0ee49ad0ded2",
733
+ "digest": "sha256:5ca9d360681ee0a508c3533416d2e591723289bc398e2575dbfac3c0cbf3358b",
467
734
  "summary": "PR-stage release-candidate artifact, passport, and promote-only resolver APIs.",
468
735
  "capabilityGroup": "reusable-build",
469
736
  "audience": [
470
737
  "developer",
471
738
  "agent"
472
739
  ],
473
- "maturity": "stable"
740
+ "owner": "buildchain-core",
741
+ "maturity": "stable",
742
+ "introducedVersion": "pre-3.0.2-alpha.4",
743
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
744
+ "deprecationReplacement": "",
745
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
746
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
474
747
  },
475
748
  {
476
749
  "specifier": "@kungfu-tech/buildchain/stable-candidate-ledger",
@@ -483,20 +756,32 @@
483
756
  "developer",
484
757
  "agent"
485
758
  ],
486
- "maturity": "stable"
759
+ "owner": "buildchain-core",
760
+ "maturity": "stable",
761
+ "introducedVersion": "pre-3.0.2-alpha.4",
762
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
763
+ "deprecationReplacement": "",
764
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
765
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
487
766
  },
488
767
  {
489
768
  "specifier": "@kungfu-tech/buildchain/release-passport",
490
769
  "export": "./release-passport",
491
770
  "target": "./packages/core/release-passport.js",
492
- "digest": "sha256:aad90c2b39ce3fd7d2d4df5833f388c3090f5eeaecfd97d03276d375eed9459b",
771
+ "digest": "sha256:f177e3a60a1463db9a83b04a00f5cf0a015d68281da0d545245760856f6dfaf0",
493
772
  "summary": "Release passport collection, verification, explanation, and evidence APIs.",
494
773
  "capabilityGroup": "release-passport-trust",
495
774
  "audience": [
496
775
  "developer",
497
776
  "agent"
498
777
  ],
499
- "maturity": "stable"
778
+ "owner": "buildchain-core",
779
+ "maturity": "stable",
780
+ "introducedVersion": "pre-3.0.2-alpha.4",
781
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
782
+ "deprecationReplacement": "",
783
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
784
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
500
785
  },
501
786
  {
502
787
  "specifier": "@kungfu-tech/buildchain/release-passport-contract",
@@ -509,20 +794,32 @@
509
794
  "developer",
510
795
  "agent"
511
796
  ],
512
- "maturity": "stable"
797
+ "owner": "buildchain-core",
798
+ "maturity": "stable",
799
+ "introducedVersion": "pre-3.0.2-alpha.4",
800
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
801
+ "deprecationReplacement": "",
802
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
803
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
513
804
  },
514
805
  {
515
806
  "specifier": "@kungfu-tech/buildchain/release-propagation",
516
807
  "export": "./release-propagation",
517
808
  "target": "./packages/core/release-propagation.js",
518
- "digest": "sha256:74eecd2917cabbf9b2e2f7c37c75bb924ecaaa72d0b94255d5c5ab01820c26f2",
809
+ "digest": "sha256:a74aa99143964266c0076697e949dd423a8a71f63969913b847aaa740e76073c",
519
810
  "summary": "Release propagation graph, plan, and exact upstream lock APIs.",
520
811
  "capabilityGroup": "site-and-propagation",
521
812
  "audience": [
522
813
  "developer",
523
814
  "agent"
524
815
  ],
525
- "maturity": "stable"
816
+ "owner": "buildchain-core",
817
+ "maturity": "stable",
818
+ "introducedVersion": "pre-3.0.2-alpha.4",
819
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
820
+ "deprecationReplacement": "",
821
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
822
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
526
823
  },
527
824
  {
528
825
  "specifier": "@kungfu-tech/buildchain/release-activation-transaction",
@@ -535,7 +832,13 @@
535
832
  "developer",
536
833
  "agent"
537
834
  ],
538
- "maturity": "stable"
835
+ "owner": "buildchain-core",
836
+ "maturity": "stable",
837
+ "introducedVersion": "pre-3.0.2-alpha.4",
838
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
839
+ "deprecationReplacement": "",
840
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
841
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
539
842
  },
540
843
  {
541
844
  "specifier": "@kungfu-tech/buildchain/surface-manifest",
@@ -548,7 +851,13 @@
548
851
  "developer",
549
852
  "agent"
550
853
  ],
551
- "maturity": "stable"
854
+ "owner": "buildchain-core",
855
+ "maturity": "stable",
856
+ "introducedVersion": "pre-3.0.2-alpha.4",
857
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
858
+ "deprecationReplacement": "",
859
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
860
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
552
861
  },
553
862
  {
554
863
  "specifier": "@kungfu-tech/buildchain/buildchain-kfd-claims",
@@ -561,14 +870,20 @@
561
870
  "developer",
562
871
  "agent"
563
872
  ],
564
- "maturity": "stable"
873
+ "owner": "buildchain-core",
874
+ "maturity": "stable",
875
+ "introducedVersion": "pre-3.0.2-alpha.4",
876
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
877
+ "deprecationReplacement": "",
878
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
879
+ "nonDuplicationRationale": "Existing package subpath retained as the canonical API boundary for this capability."
565
880
  }
566
881
  ],
567
882
  "docs": [
568
883
  {
569
884
  "id": "cli-and-node-package",
570
885
  "path": "docs/cli.md",
571
- "digest": "sha256:49da688f9f8b726a9169a3e4b246cb6ef07c6c626ea15c22f0b26ba1a37a58b4"
886
+ "digest": "sha256:60c6b00e0dbf60f0b7ba8c3c549027925d94a6bdf8a2af3f8e35d24ef1dd50ba"
572
887
  },
573
888
  {
574
889
  "id": "build-facts",