@kungfu-tech/buildchain 4.1.6-alpha.0 → 4.1.7-alpha.0

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 (101) hide show
  1. package/AGENTS.md +7 -5
  2. package/CONTRIBUTING.md +12 -6
  3. package/README.md +9 -5
  4. package/architecture/action-taxonomy.json +2 -0
  5. package/architecture/agent-change-map.md +6 -1
  6. package/architecture/build-orchestration.json +7 -1
  7. package/architecture/ci-lane-change-budget.json +1836 -0
  8. package/architecture/consumer-upgrade.json +6482 -0
  9. package/architecture/internal-capabilities.json +5 -2
  10. package/architecture/maintainability-debt.json +18 -10
  11. package/architecture/maintainability-policy.json +9 -9
  12. package/architecture/release-topology.json +10 -1
  13. package/architecture/universal-workflow-bootstrap.json +88 -18
  14. package/architecture/universal-workflow-capability-policy.json +2 -2
  15. package/architecture/workflow-taxonomy.json +2 -1
  16. package/contracts/dev-delivery-authority-v2.schema.json +29 -3
  17. package/contracts/fixtures/consumer-upgrade/build-v4.0.0.json +764 -0
  18. package/contracts/fixtures/consumer-upgrade/consumer-calls.json +447 -0
  19. package/contracts/fixtures/consumer-upgrade/dev-delivery-identity-v4.0.0.json +27 -0
  20. package/contracts/fixtures/consumer-upgrade/dev-pr-auto-merge-v4.0.0.json +256 -0
  21. package/contracts/fixtures/consumer-upgrade/dev-pr-auto-merge-v4.0.9.json +358 -0
  22. package/contracts/fixtures/consumer-upgrade/release-v4.0.0.json +815 -0
  23. package/contracts/promotion-invocation-v1.schema.json +5 -0
  24. package/dist/site/buildchain-contract.json +40 -23
  25. package/dist/site/buildchain-site.json +20 -20
  26. package/dist/site/capability-registry.json +5 -5
  27. package/dist/site/controller-registry.json +17 -5
  28. package/dist/site/kfd-claims.json +1376 -143
  29. package/dist/site/kfd-upstream-aggregate.json +1 -1
  30. package/dist/site/manual-registry.json +4 -4
  31. package/dist/site/node-api-registry.json +22 -22
  32. package/dist/site/page-registry.json +14 -14
  33. package/dist/site/public-surface-audit.json +1733 -101
  34. package/dist/site/publication-authority-registry.json +651 -32
  35. package/dist/site/publication-registry.json +1 -1
  36. package/dist/site/schemas/dev-delivery-authority-v2.schema.json +29 -3
  37. package/dist/site/site-manifest.json +5 -5
  38. package/dist/site/workflow-registry.json +2501 -149
  39. package/docs/MAP.md +5 -4
  40. package/docs/code-organization.md +11 -8
  41. package/docs/getting-started.md +31 -2
  42. package/docs/migration-inventory.md +8 -6
  43. package/docs/node-api-reference.md +36 -36
  44. package/docs/workflow-path-migration.md +8 -7
  45. package/package.json +1 -1
  46. package/packages/core/build/artifact/contracts.js +10 -2
  47. package/packages/core/build/artifact/transport.js +1 -1
  48. package/packages/core/build/artifact/upload.js +2 -2
  49. package/packages/core/build/plan/action.js +2 -0
  50. package/packages/core/build/plan/admission.js +9 -3
  51. package/packages/core/build/plan/compatibility-artifacts.js +47 -0
  52. package/packages/core/build/plan/compatibility-plan.js +121 -0
  53. package/packages/core/build/plan/compatibility.js +162 -0
  54. package/packages/core/build/plan/configuration.js +10 -37
  55. package/packages/core/build/plan/identity.js +42 -0
  56. package/packages/core/build/plan/lifecycle.js +1 -0
  57. package/packages/core/build/plan/resolve.js +2 -0
  58. package/packages/core/build/summary/aggregation.js +4 -2
  59. package/packages/core/build/summary/compatibility.js +24 -0
  60. package/packages/core/build/summary/finalization.js +18 -0
  61. package/packages/core/build/summary/historical-outputs.js +88 -0
  62. package/packages/core/contracts/runtime-contract-inspection.js +8 -0
  63. package/packages/core/dev-delivery/candidate/submission.js +2 -1
  64. package/packages/core/dev-delivery/commands/dev-delivery-authority-command-adapters.mjs +2 -1
  65. package/packages/core/dev-delivery/commands/dev-delivery-authority.mjs +6 -5
  66. package/packages/core/dev-delivery/commands/dev-delivery-warrant-options.mjs +22 -3
  67. package/packages/core/dev-delivery/dev-delivery-candidate-identity.js +13 -4
  68. package/packages/core/dev-delivery/dev-delivery-warrant.js +4 -1
  69. package/packages/core/dev-delivery/warrant/handoff.js +2 -1
  70. package/packages/core/dev-delivery/warrant/transitions.js +2 -2
  71. package/packages/core/governance/buildchain-publication-authority.js +5 -9
  72. package/packages/core/release/github-release-metadata.js +58 -0
  73. package/packages/core/release/promote-candidate/action.js +4 -2
  74. package/packages/core/release/promote-candidate/preparation.js +6 -0
  75. package/packages/core/release/promote-candidate/publication.js +36 -0
  76. package/packages/core/release/promote-candidate/release-documents.js +1 -1
  77. package/packages/core/release/promotion/candidate.js +4 -2
  78. package/packages/core/release/promotion/compatibility-context.js +93 -0
  79. package/packages/core/release/promotion/compatibility-qualification.js +48 -0
  80. package/packages/core/release/promotion/compatibility.js +141 -0
  81. package/packages/core/release/promotion/historical-evidence-action.js +17 -0
  82. package/packages/core/release/promotion/historical-evidence-files.js +112 -0
  83. package/packages/core/release/promotion/historical-evidence.js +231 -0
  84. package/packages/core/release/promotion/qualification.js +12 -1
  85. package/packages/core/release/promotion/routing.js +3 -2
  86. package/packages/core/release/promotion-request.js +31 -2
  87. package/packages/core/release/release-tail-provider-adapters.js +18 -0
  88. package/packages/core/runtime/entry/actions.js +4 -1
  89. package/packages/core/runtime/entry/compatibility.js +53 -0
  90. package/packages/core/workflow/engine/conformance.js +7 -3
  91. package/packages/core/workflow/pipeline/controller.js +26 -26
  92. package/scripts/check-dev-delivery-actions.mjs +12 -0
  93. package/scripts/check-inventory.mjs +1 -1
  94. package/scripts/check-public-dogfood-contract.mjs +2 -0
  95. package/scripts/check-release-topology.mjs +5 -1
  96. package/scripts/check-self-consumer-contract.mjs +5 -1
  97. package/scripts/generate-bootstrap-admission.mjs +20 -0
  98. package/scripts/generate-site-bundle.mjs +5 -5
  99. package/scripts/generate-workflow-taxonomy.mjs +17 -0
  100. package/scripts/maintainability-metrics.mjs +30 -2
  101. package/scripts/maintainability-public-surface.mjs +5 -3
@@ -0,0 +1,447 @@
1
+ {
2
+ "schema": "buildchain.historical-consumer-calls/v1",
3
+ "calls": [
4
+ {
5
+ "repository": "kungfu-systems/libnode",
6
+ "sourceSha": "f617d10b63c23c167ee9b3886e2015e3f99a3aa6",
7
+ "workflow": ".github/workflows/build.yml",
8
+ "job": "build-matrix",
9
+ "entry": ".github/workflows/build.yml",
10
+ "ref": "v2",
11
+ "inputs": [
12
+ "artifact-name",
13
+ "artifact-name-template",
14
+ "artifact-paths",
15
+ "artifact-retention-days",
16
+ "artifact-transfer-mode",
17
+ "buildchain-alpha-contract-lock-path",
18
+ "buildchain-contract-drift-issue-mode",
19
+ "buildchain-stable-contract-lock-path",
20
+ "checkout-cache-fallback",
21
+ "checkout-cache-mirror-url-template",
22
+ "checkout-cache-mode",
23
+ "checkout-cache-timeout-seconds",
24
+ "expected-artifacts-json",
25
+ "install-command",
26
+ "node-version",
27
+ "platforms-json",
28
+ "publish-channel",
29
+ "release-candidate",
30
+ "require-build",
31
+ "require-install",
32
+ "require-verify",
33
+ "runner-preset",
34
+ "setup-node"
35
+ ],
36
+ "secrets": [],
37
+ "permissions": {
38
+ "actions": "read",
39
+ "contents": "read",
40
+ "issues": "write",
41
+ "id-token": "write"
42
+ }
43
+ },
44
+ {
45
+ "repository": "kungfu-systems/libnode",
46
+ "sourceSha": "f617d10b63c23c167ee9b3886e2015e3f99a3aa6",
47
+ "workflow": ".github/workflows/release-new-version.yml",
48
+ "job": "promote",
49
+ "entry": ".github/workflows/release-candidate-promote.yml",
50
+ "ref": "v2-alpha",
51
+ "inputs": [
52
+ "artifact-name",
53
+ "artifact-patterns",
54
+ "buildchain-alpha-contract-lock-path",
55
+ "buildchain-channel",
56
+ "buildchain-contract-drift-issue-mode",
57
+ "buildchain-stable-contract-lock-path",
58
+ "github-release",
59
+ "package-manager",
60
+ "publication-auto-admission",
61
+ "publication-auto-no-gate",
62
+ "publication-package-name",
63
+ "publication-product",
64
+ "publication-publisher-workflow-path",
65
+ "publication-target",
66
+ "publish-dist-tag",
67
+ "publish-mode",
68
+ "publish-package-main",
69
+ "publish-package-set-order",
70
+ "release-candidate-workflow-file",
71
+ "release-candidate-workflow-name",
72
+ "release-passport-kfd-1-witness-jsons",
73
+ "release-passport-kfd-2-claim-jsons",
74
+ "release-passport-kfd-3-artifact-verify-command",
75
+ "release-passport-kfd-3-prebuild-witness-jsons",
76
+ "release-passport-product-name",
77
+ "required-artifact-count",
78
+ "required-status-check"
79
+ ],
80
+ "secrets": [],
81
+ "permissions": {
82
+ "actions": "read",
83
+ "checks": "write",
84
+ "contents": "write",
85
+ "id-token": "write",
86
+ "issues": "write"
87
+ }
88
+ },
89
+ {
90
+ "repository": "kungfu-systems/libnode",
91
+ "sourceSha": "f617d10b63c23c167ee9b3886e2015e3f99a3aa6",
92
+ "workflow": ".github/workflows/release-verify.yaml",
93
+ "job": "build",
94
+ "entry": ".github/workflows/build.yml",
95
+ "ref": "v2",
96
+ "inputs": [
97
+ "artifact-name",
98
+ "artifact-name-template",
99
+ "artifact-paths",
100
+ "artifact-retention-days",
101
+ "artifact-transfer-mode",
102
+ "buildchain-alpha-contract-lock-path",
103
+ "buildchain-contract-drift-issue-mode",
104
+ "buildchain-stable-contract-lock-path",
105
+ "checkout-cache-fallback",
106
+ "checkout-cache-mirror-url-template",
107
+ "checkout-cache-mode",
108
+ "checkout-cache-timeout-seconds",
109
+ "expected-artifacts-json",
110
+ "install-command",
111
+ "node-version",
112
+ "platforms-json",
113
+ "publish-channel",
114
+ "release-candidate",
115
+ "require-build",
116
+ "require-install",
117
+ "require-verify",
118
+ "runner-preset",
119
+ "setup-node"
120
+ ],
121
+ "secrets": [],
122
+ "permissions": {
123
+ "actions": "read",
124
+ "contents": "read",
125
+ "issues": "write",
126
+ "id-token": "write"
127
+ }
128
+ },
129
+ {
130
+ "repository": "kungfu-systems/kfd",
131
+ "sourceSha": "d0542ea9bb8bfb3ed9004c28bc6629edf0ca21d4",
132
+ "workflow": ".github/workflows/build.yml",
133
+ "job": "kfd",
134
+ "entry": ".github/workflows/build.yml",
135
+ "ref": "v3-alpha",
136
+ "inputs": [
137
+ "artifact-name",
138
+ "artifact-name-template",
139
+ "artifact-paths",
140
+ "build-command",
141
+ "buildchain-alpha-contract-lock-path",
142
+ "buildchain-stable-contract-lock-path",
143
+ "checkout-history-mode",
144
+ "expected-artifacts-json",
145
+ "node-version",
146
+ "platforms-json",
147
+ "publish-channel",
148
+ "release-candidate",
149
+ "require-build",
150
+ "require-install",
151
+ "require-verify",
152
+ "runner-preset",
153
+ "rust-toolchain",
154
+ "setup-node",
155
+ "setup-rust"
156
+ ],
157
+ "secrets": [],
158
+ "permissions": {
159
+ "actions": "read",
160
+ "contents": "read",
161
+ "issues": "write",
162
+ "id-token": "write"
163
+ }
164
+ },
165
+ {
166
+ "repository": "kungfu-systems/kfd",
167
+ "sourceSha": "d0542ea9bb8bfb3ed9004c28bc6629edf0ca21d4",
168
+ "workflow": ".github/workflows/buildchain-ref-promotion.yml",
169
+ "job": "promote",
170
+ "entry": ".github/workflows/release-candidate-promote.yml",
171
+ "ref": "v3-alpha",
172
+ "inputs": [
173
+ "artifact-name",
174
+ "artifact-patterns",
175
+ "buildchain-contract-lock-path",
176
+ "buildchain-ref",
177
+ "dry-run",
178
+ "github-release",
179
+ "github-release-payload-patterns",
180
+ "package-manager",
181
+ "publication-auto-admission",
182
+ "publication-auto-no-gate",
183
+ "publication-package-name",
184
+ "publication-product",
185
+ "publication-publisher-workflow-path",
186
+ "publication-target",
187
+ "publish-dist-tag",
188
+ "publish-mode",
189
+ "publish-package-main",
190
+ "publish-package-set-order",
191
+ "publish-required-artifacts-json",
192
+ "release-candidate-workflow-file",
193
+ "release-candidate-workflow-name",
194
+ "release-passport",
195
+ "release-passport-impact-json",
196
+ "release-passport-kfd-1-witness-jsons",
197
+ "release-passport-kfd-2-claim-jsons",
198
+ "release-passport-kfd-3-artifact-witness-jsons",
199
+ "release-passport-kfd-3-prebuild-witness-jsons",
200
+ "release-passport-product-name",
201
+ "release-propagation-config-path",
202
+ "required-artifact-count",
203
+ "required-status-check",
204
+ "target-ref",
205
+ "target-sha"
206
+ ],
207
+ "secrets": [
208
+ "BUILDCHAIN_PROMOTION_TOKEN",
209
+ "KUNGFU_GOVERNANCE_AUDITOR_APP_PRIVATE_KEY",
210
+ "buildchain-issue-app-id",
211
+ "buildchain-issue-app-private-key"
212
+ ],
213
+ "permissions": {
214
+ "actions": "write",
215
+ "artifact-metadata": "write",
216
+ "attestations": "write",
217
+ "checks": "write",
218
+ "contents": "write",
219
+ "id-token": "write",
220
+ "issues": "write",
221
+ "pull-requests": "write"
222
+ }
223
+ },
224
+ {
225
+ "repository": "kungfu-systems/kfd",
226
+ "sourceSha": "d0542ea9bb8bfb3ed9004c28bc6629edf0ca21d4",
227
+ "workflow": ".github/workflows/verify.yml",
228
+ "job": "check",
229
+ "entry": ".github/workflows/check.yml",
230
+ "ref": "v3",
231
+ "inputs": [
232
+ "mode",
233
+ "require-version-state",
234
+ "upload-artifacts"
235
+ ],
236
+ "secrets": [],
237
+ "permissions": {
238
+ "contents": "read"
239
+ }
240
+ },
241
+ {
242
+ "repository": "kungfu-systems/taolu",
243
+ "sourceSha": "6dcccdc3bd2c8b1801c7f6decea08ae7877aac2b",
244
+ "workflow": ".github/workflows/dev-delivery.yml",
245
+ "job": "deliver",
246
+ "entry": ".github/workflows/dev-pr-auto-merge.yml",
247
+ "ref": "v4-alpha",
248
+ "inputs": [
249
+ "active-lease-context",
250
+ "affected-paths-json",
251
+ "allowed-head-prefixes",
252
+ "assignment-root",
253
+ "block-labels",
254
+ "buildchain-ref",
255
+ "buildchain-repository",
256
+ "closure-root",
257
+ "delivery-class",
258
+ "delivery-priority",
259
+ "delivery-warrant-mode",
260
+ "dependency-root",
261
+ "dry-run",
262
+ "environment-root",
263
+ "expected-head-sha",
264
+ "expected-pr-number",
265
+ "handoff-workflow-id",
266
+ "initiative-root",
267
+ "landing-mode",
268
+ "merge-method",
269
+ "native-command",
270
+ "native-heartbeat-seconds",
271
+ "plan-root",
272
+ "queue-admission-context",
273
+ "ready-label",
274
+ "required-status-checks",
275
+ "source-identity-root",
276
+ "source-patch-root",
277
+ "source-workflow-id",
278
+ "source-workflow-run-id",
279
+ "target-branch",
280
+ "toolchain-root"
281
+ ],
282
+ "secrets": [
283
+ "github-token"
284
+ ],
285
+ "permissions": {
286
+ "actions": "write",
287
+ "contents": "write",
288
+ "pull-requests": "write",
289
+ "checks": "read",
290
+ "statuses": "write"
291
+ }
292
+ },
293
+ {
294
+ "repository": "kungfu-systems/taolu",
295
+ "sourceSha": "6dcccdc3bd2c8b1801c7f6decea08ae7877aac2b",
296
+ "workflow": ".github/workflows/release.yml",
297
+ "job": "promote-alpha",
298
+ "entry": ".github/workflows/release-candidate-promote.yml",
299
+ "ref": "v4-alpha",
300
+ "inputs": [
301
+ "allow-repository",
302
+ "artifact-name",
303
+ "artifact-patterns",
304
+ "buildchain-alpha-contract-lock-path",
305
+ "buildchain-channel",
306
+ "buildchain-contract-lock-path",
307
+ "buildchain-ref",
308
+ "channel",
309
+ "declarative-release-tail",
310
+ "dry-run",
311
+ "github-release",
312
+ "github-release-payload-patterns",
313
+ "github-release-title",
314
+ "package-manager",
315
+ "publication-auto-admission",
316
+ "publication-auto-no-gate",
317
+ "publication-package-name",
318
+ "publication-product",
319
+ "publication-publisher-workflow-path",
320
+ "publication-target",
321
+ "publish-artifact-kind",
322
+ "publish-target",
323
+ "release-candidate-workflow-file",
324
+ "release-candidate-workflow-name",
325
+ "release-passport",
326
+ "release-passport-product-name",
327
+ "runner-preset",
328
+ "target-ref",
329
+ "target-sha",
330
+ "trusted-publishing"
331
+ ],
332
+ "secrets": [],
333
+ "permissions": {
334
+ "actions": "write",
335
+ "artifact-metadata": "write",
336
+ "attestations": "write",
337
+ "checks": "write",
338
+ "contents": "write",
339
+ "id-token": "write",
340
+ "issues": "write",
341
+ "pull-requests": "write"
342
+ }
343
+ },
344
+ {
345
+ "repository": "kungfu-systems/taolu",
346
+ "sourceSha": "6dcccdc3bd2c8b1801c7f6decea08ae7877aac2b",
347
+ "workflow": ".github/workflows/release.yml",
348
+ "job": "promote-stable",
349
+ "entry": ".github/workflows/release-candidate-promote.yml",
350
+ "ref": "v4",
351
+ "inputs": [
352
+ "allow-repository",
353
+ "artifact-name",
354
+ "artifact-patterns",
355
+ "buildchain-alpha-contract-lock-path",
356
+ "buildchain-channel",
357
+ "buildchain-contract-lock-path",
358
+ "buildchain-ref",
359
+ "buildchain-stable-contract-lock-path",
360
+ "channel",
361
+ "declarative-release-tail",
362
+ "dry-run",
363
+ "github-release",
364
+ "github-release-payload-patterns",
365
+ "github-release-title",
366
+ "package-manager",
367
+ "publication-auto-admission",
368
+ "publication-auto-no-gate",
369
+ "publication-package-name",
370
+ "publication-product",
371
+ "publication-publisher-workflow-path",
372
+ "publication-target",
373
+ "publish-artifact-kind",
374
+ "publish-target",
375
+ "release-candidate-workflow-file",
376
+ "release-candidate-workflow-name",
377
+ "release-passport",
378
+ "release-passport-product-name",
379
+ "runner-preset",
380
+ "target-ref",
381
+ "target-sha",
382
+ "trusted-publishing"
383
+ ],
384
+ "secrets": [],
385
+ "permissions": {
386
+ "actions": "write",
387
+ "artifact-metadata": "write",
388
+ "attestations": "write",
389
+ "checks": "write",
390
+ "contents": "write",
391
+ "id-token": "write",
392
+ "issues": "write",
393
+ "pull-requests": "write"
394
+ }
395
+ },
396
+ {
397
+ "repository": "kungfu-systems/taolu",
398
+ "sourceSha": "6dcccdc3bd2c8b1801c7f6decea08ae7877aac2b",
399
+ "workflow": ".github/workflows/verify.yml",
400
+ "job": "stage-capsule",
401
+ "entry": ".github/workflows/v4-stage-capsule-canary.yml",
402
+ "ref": "v4-alpha",
403
+ "inputs": [
404
+ "build-artifact-path",
405
+ "consumer",
406
+ "go-version",
407
+ "install-artifact-path",
408
+ "node-version",
409
+ "verify-artifact-path"
410
+ ],
411
+ "secrets": [],
412
+ "permissions": {
413
+ "actions": "read",
414
+ "contents": "read",
415
+ "issues": "write",
416
+ "id-token": "write"
417
+ }
418
+ },
419
+ {
420
+ "repository": "kungfu-systems/taolu",
421
+ "sourceSha": "6dcccdc3bd2c8b1801c7f6decea08ae7877aac2b",
422
+ "workflow": ".github/workflows/verify.yml",
423
+ "job": "build",
424
+ "entry": ".github/workflows/build.yml",
425
+ "ref": "v4-alpha",
426
+ "inputs": [
427
+ "artifact-name",
428
+ "artifact-paths",
429
+ "buildchain-channel",
430
+ "platforms-json",
431
+ "release-candidate",
432
+ "require-build",
433
+ "require-install",
434
+ "require-verify",
435
+ "runner-preset",
436
+ "setup-node"
437
+ ],
438
+ "secrets": [],
439
+ "permissions": {
440
+ "actions": "read",
441
+ "contents": "read",
442
+ "issues": "write",
443
+ "id-token": "write"
444
+ }
445
+ }
446
+ ]
447
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "source": {
3
+ "ref": "v4.0.0",
4
+ "sha": "45a49dcaa0fcef59bc66481a85c39514d08972cc"
5
+ },
6
+ "input": {
7
+ "pullRequestNumber": 7,
8
+ "assignmentRoot": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
9
+ "initiativeRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
10
+ "sourceIdentityRoot": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
11
+ "deliveryClass": "non-native-fast"
12
+ },
13
+ "expected": {
14
+ "repository": "example/consumer",
15
+ "protectedBase": "dev/v1/v1.0"
16
+ },
17
+ "identity": {
18
+ "repository": "example/consumer",
19
+ "protectedBase": "dev/v1/v1.0",
20
+ "pullRequestNumber": 7,
21
+ "assignmentRoot": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
22
+ "initiativeRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
23
+ "sourceIdentityRoot": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
24
+ "deliveryClass": "non-native-fast",
25
+ "candidateId": "sha256:813934370a742836babec43977e77b5d028901efb6dec3ccc087993ecb69a5d4"
26
+ }
27
+ }