@kungfu-tech/buildchain 4.0.2-alpha.0 → 4.0.2-alpha.11
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/architecture/agent-change-map.md +52 -5
- package/architecture/ci-lane-change-budget.json +408 -8
- package/architecture/internal-capabilities.json +44 -1
- package/architecture/maintainability-debt.json +65 -133
- package/architecture/maintainability-policy.json +20 -15
- package/architecture/release-tail-contract-inventory.json +4 -4
- package/architecture/v3-core-mechanism-inventory.json +1 -0
- package/architecture/v3-v4-live-capability-inventory.json +17 -17
- package/architecture/v4-delivery-warrant-shadow-fixtures.json +5 -5
- package/architecture/v4-release-invocation-fixtures.json +139 -0
- package/architecture/v4-release-topology.json +317 -0
- package/architecture/v4-runtime-semantic-closure.json +4 -1
- package/architecture/v4-universal-workflow-bootstrap.json +181 -0
- package/architecture/v4-universal-workflow-fault-campaign.json +72 -0
- package/architecture/v4-universal-workflow-train-admission.json +40 -0
- package/contracts/buildchain-v2-residuals-v1.json +0 -9
- package/contracts/fixtures/v4-tail-reseal-v1/valid.json +1 -1
- package/contracts/v4-release-invocation-v1.schema.json +134 -0
- package/dist/site/buildchain-contract.json +87 -42
- package/dist/site/buildchain-site.json +15 -10
- package/dist/site/capability-registry.json +1 -1
- package/dist/site/controller-registry.json +46 -10
- package/dist/site/kfd-claims.json +176 -69
- package/dist/site/kfd-upstream-aggregate.json +1 -1
- package/dist/site/manual-registry.json +2 -2
- package/dist/site/node-api-registry.json +97 -22
- package/dist/site/page-registry.json +9 -4
- package/dist/site/public-surface-audit.json +190 -71
- package/dist/site/publication-authority-registry.json +68 -3
- package/dist/site/publication-registry.json +4 -4
- package/dist/site/site-manifest.json +6 -6
- package/dist/site/workflow-registry.json +221 -72
- package/docs/node-api-reference.md +28 -25
- package/docs/reusable-build-surface.md +16 -0
- package/package.json +2 -2
- package/packages/core/buildchain-publication-authority.js +3 -0
- package/packages/core/ci-lane-change-budget.js +14 -1
- package/packages/core/dev-delivery-candidate-identity.js +45 -17
- package/packages/core/dev-delivery-execution-transfer.js +6 -7
- package/packages/core/dev-delivery-provider-heartbeat.js +22 -6
- package/packages/core/dev-delivery-warrant-legacy-recovery.js +4 -2
- package/packages/core/dev-delivery-warrant-native-compatibility.js +33 -0
- package/packages/core/dev-delivery-warrant-state.js +54 -54
- package/packages/core/dev-delivery-warrant.js +8 -0
- package/packages/core/dev-delivery-writer-protocol-transition.js +72 -0
- package/packages/core/release-tail-product-capabilities.js +29 -0
- package/packages/core/release-tail-provider-plane.js +3 -3
- package/packages/core/v4-canonical-contracts.js +14 -0
- package/packages/core/v4-floating-consumer-policy.js +4 -1
- package/packages/core/v4-product-publication.js +387 -0
- package/packages/core/v4-protected-publication-source.js +93 -0
- package/packages/core/v4-publication-qualification.js +1 -0
- package/packages/core/v4-release-invocation.js +425 -0
- package/packages/core/v4-universal-workflow-bootstrap.js +596 -0
- package/scripts/audit-publication-control-plane.mjs +0 -1
- package/scripts/check-inventory.mjs +27 -59
- package/scripts/check-maintainability.mjs +29 -118
- package/scripts/check-v3-v4-capability-inventory.mjs +3 -61
- package/scripts/check-v4-floating-consumer-policy-contract.mjs +10 -20
- package/scripts/check-v4-release-topology.mjs +493 -0
- package/scripts/check-v4-universal-workflow-bootstrap.mjs +257 -0
- package/scripts/dev-delivery-warrant.mjs +26 -5
- package/scripts/generate-channel-build-workflow.mjs +5 -1
- package/scripts/generate-channel-promotion-workflow.mjs +17 -57
- package/scripts/generate-v4-universal-workflow-facades.mjs +415 -0
- package/scripts/maintainability-public-surface.mjs +115 -0
- package/scripts/release-candidate-resolver.mjs +23 -24
- package/scripts/resume-from-candidate-run.mjs +16 -17
- package/scripts/universal-facade-maintainability.mjs +82 -0
- package/scripts/v3-v4-capability-catalog.mjs +107 -0
- package/scripts/v4-declarative-promotion-admission.mjs +4 -1
- package/scripts/v4-product-publication-intent.mjs +114 -0
- package/scripts/v4-release-candidate-adapter.mjs +41 -0
- package/scripts/v4-universal-workflow-backflow.mjs +212 -0
- package/scripts/v4-universal-workflow-engine.mjs +586 -0
- package/scripts/v4-universal-workflow-self-dogfood.mjs +205 -0
- package/templates/universal-buildchain-bootstrap-recovery.yml +282 -0
- package/templates/universal-buildchain-bootstrap.yml +28 -0
- package/scripts/capture-package-release-propagation.mjs +0 -263
- package/scripts/publication-commit-evidence.mjs +0 -444
- package/scripts/publish-github-artifact-attestation-evidence.mjs +0 -201
- package/scripts/stage-github-artifact-attestation-inputs.mjs +0 -65
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"contract": "kungfu-buildchain-v4-release-topology/v1",
|
|
4
|
+
"sourceCut": {
|
|
5
|
+
"branch": "dev/v4/v4.0",
|
|
6
|
+
"commit": "c3a50c941d018fcc3bec624e19a1298357b7f84a",
|
|
7
|
+
"tree": "213cdcaded8d90c823ecdafdd9968bceceed9057"
|
|
8
|
+
},
|
|
9
|
+
"enforcement": "converged",
|
|
10
|
+
"closedWorld": {
|
|
11
|
+
"workflowPaths": [
|
|
12
|
+
".github/workflows/.binary-release-assets.yml",
|
|
13
|
+
".github/workflows/.build.yml",
|
|
14
|
+
".github/workflows/.declarative-auditable-demo.yml",
|
|
15
|
+
".github/workflows/.publication-authority.yml",
|
|
16
|
+
".github/workflows/.release-candidate-promote.yml",
|
|
17
|
+
".github/workflows/.release-elastic-beanstalk.yml",
|
|
18
|
+
".github/workflows/.release-new-version.yml",
|
|
19
|
+
".github/workflows/.sam-release.yml",
|
|
20
|
+
".github/workflows/.web-surface.yml",
|
|
21
|
+
".github/workflows/.wheel-release.yml",
|
|
22
|
+
".github/workflows/auditable-demo.yml",
|
|
23
|
+
".github/workflows/binary-release-assets.yml",
|
|
24
|
+
".github/workflows/build-surface-fixture.yml",
|
|
25
|
+
".github/workflows/build.yml",
|
|
26
|
+
".github/workflows/buildchain-alpha-self-dogfood.yml",
|
|
27
|
+
".github/workflows/buildchain-dev-delivery.yml",
|
|
28
|
+
".github/workflows/buildchain-ref-promotion-recovery.yml",
|
|
29
|
+
".github/workflows/buildchain-ref-promotion.yml",
|
|
30
|
+
".github/workflows/buildchain-patrol-daily.yml",
|
|
31
|
+
".github/workflows/buildchain-patrol-monthly.yml",
|
|
32
|
+
".github/workflows/buildchain-patrol-weekly.yml",
|
|
33
|
+
".github/workflows/buildchain-stable-candidate-patrol.yml",
|
|
34
|
+
".github/workflows/dev-alpha-candidate-patrol.yml",
|
|
35
|
+
".github/workflows/dev-pr-auto-merge.yml",
|
|
36
|
+
".github/workflows/github-artifact-attestation.yml",
|
|
37
|
+
".github/workflows/npm-publish.yml",
|
|
38
|
+
".github/workflows/paper-release-sealed.yml",
|
|
39
|
+
".github/workflows/paper-release.yml",
|
|
40
|
+
".github/workflows/patrol-observed-evidence.yml",
|
|
41
|
+
".github/workflows/release-candidate-promote.yml",
|
|
42
|
+
".github/workflows/release-line-bootstrap.yml",
|
|
43
|
+
".github/workflows/release-new-version.yml",
|
|
44
|
+
".github/workflows/release-propagation.yml",
|
|
45
|
+
".github/workflows/release-tail.yml",
|
|
46
|
+
".github/workflows/stable-candidate-patrol.yml",
|
|
47
|
+
".github/workflows/v4-publication-rehearsal-dogfood.yml",
|
|
48
|
+
".github/workflows/v4-declarative-release-tail-dogfood.yml"
|
|
49
|
+
],
|
|
50
|
+
"unknownTopologyPolicy": "fail-closed"
|
|
51
|
+
},
|
|
52
|
+
"semanticScope": {
|
|
53
|
+
"workflowPaths": [
|
|
54
|
+
".github/workflows/.release-candidate-promote.yml",
|
|
55
|
+
".github/workflows/buildchain-ref-promotion-recovery.yml",
|
|
56
|
+
".github/workflows/buildchain-ref-promotion.yml",
|
|
57
|
+
".github/workflows/release-candidate-promote.yml",
|
|
58
|
+
".github/workflows/v4-declarative-release-tail-dogfood.yml"
|
|
59
|
+
],
|
|
60
|
+
"excludedMechanisms": [
|
|
61
|
+
"Paper product release",
|
|
62
|
+
"npm dry-run",
|
|
63
|
+
"v3 rollback workflows",
|
|
64
|
+
"retired compatibility workflows"
|
|
65
|
+
]
|
|
66
|
+
},
|
|
67
|
+
"authorityClosure": {
|
|
68
|
+
"providerAdapters": [
|
|
69
|
+
"actions/promote-buildchain-ref/github-release.js",
|
|
70
|
+
"actions/promote-buildchain-ref/v4-provider-plane.js",
|
|
71
|
+
"actions/release-tail/index.js",
|
|
72
|
+
"actions/v4-release-candidate-promote/index.js",
|
|
73
|
+
"actions/v4-release-candidate-promote/product-provider-adapters.js",
|
|
74
|
+
"actions/v4-release-candidate-promote/product-provider-github-adapters.js",
|
|
75
|
+
"actions/v4-release-candidate-promote/product-provider.js",
|
|
76
|
+
"packages/core/buildchain-agent-manuals.js",
|
|
77
|
+
"packages/core/index.js",
|
|
78
|
+
"packages/core/publication-rehearsal-runtime.js",
|
|
79
|
+
"packages/core/release-tail-provider-adapters.js",
|
|
80
|
+
"packages/core/release-tail-provider-plane.js",
|
|
81
|
+
"packages/core/v4-product-publication.js",
|
|
82
|
+
"packages/core/v4-publication-rehearsal-capsule.js",
|
|
83
|
+
"packages/core/v4-publication-rehearsal.js"
|
|
84
|
+
],
|
|
85
|
+
"runtimeSelectors": [
|
|
86
|
+
".github/workflows/.build.yml",
|
|
87
|
+
".github/workflows/.release-candidate-promote.yml",
|
|
88
|
+
".github/workflows/.web-surface.yml",
|
|
89
|
+
".github/workflows/buildchain-ref-promotion-recovery.yml",
|
|
90
|
+
".github/workflows/buildchain-ref-promotion.yml",
|
|
91
|
+
".github/workflows/paper-release.yml",
|
|
92
|
+
".github/workflows/publication-artifact.yml",
|
|
93
|
+
".github/workflows/release-candidate-promote.yml",
|
|
94
|
+
".github/workflows/v4-tail-reseal.yml",
|
|
95
|
+
"packages/core/buildchain-contract.js",
|
|
96
|
+
"packages/core/v4-runtime-ref-resume-authority.js",
|
|
97
|
+
"packages/core/v4-runtime-selector-persistence.js",
|
|
98
|
+
"scripts/aggregate-build-summary.mjs",
|
|
99
|
+
"scripts/artifact-signing-controller-core.mjs",
|
|
100
|
+
"scripts/authorize-promotion-runtime-override.cjs",
|
|
101
|
+
"scripts/buildchain-contract-lock.mjs",
|
|
102
|
+
"scripts/check-inventory.mjs",
|
|
103
|
+
"scripts/generate-channel-promotion-workflow.mjs",
|
|
104
|
+
"scripts/generate-release-candidate-passport.mjs",
|
|
105
|
+
"scripts/release-candidate-resolver.mjs",
|
|
106
|
+
"scripts/resume-from-candidate-run.mjs",
|
|
107
|
+
"scripts/v4-declarative-promotion-admission.mjs",
|
|
108
|
+
"scripts/v4-release-candidate-adapter.mjs"
|
|
109
|
+
],
|
|
110
|
+
"runtimeEngines": ["actions/v4-release-candidate-promote/index.js"],
|
|
111
|
+
"terminalProjections": [
|
|
112
|
+
".github/workflows/.release-candidate-promote.yml",
|
|
113
|
+
"actions/v4-release-candidate-promote/index.js",
|
|
114
|
+
"packages/core/v4-release-invocation.js",
|
|
115
|
+
"scripts/v4-universal-workflow-engine.mjs"
|
|
116
|
+
],
|
|
117
|
+
"privilegedExecutableClosure": {
|
|
118
|
+
"entrypoints": ["actions/v4-release-candidate-promote/index.js"],
|
|
119
|
+
"modules": [
|
|
120
|
+
"actions/promote-buildchain-ref/github-release.js",
|
|
121
|
+
"actions/promote-buildchain-ref/internal/version-state.js",
|
|
122
|
+
"actions/promote-buildchain-ref/reuse-complete-release.js",
|
|
123
|
+
"actions/promote-buildchain-ref/v4-provider-plane.js",
|
|
124
|
+
"actions/v4-release-candidate-promote/index.js",
|
|
125
|
+
"actions/v4-release-candidate-promote/product-provider-adapters.js",
|
|
126
|
+
"actions/v4-release-candidate-promote/product-provider-github-adapters.js",
|
|
127
|
+
"actions/v4-release-candidate-promote/product-provider.js",
|
|
128
|
+
"packages/core/adopter-delivery-gate.js",
|
|
129
|
+
"packages/core/adopter-delivery-json.js",
|
|
130
|
+
"packages/core/adopter-delivery-passport.js",
|
|
131
|
+
"packages/core/artifact-verification-envelope.js",
|
|
132
|
+
"packages/core/buildchain-channel-identity.js",
|
|
133
|
+
"packages/core/buildchain-compatibility-authority.js",
|
|
134
|
+
"packages/core/buildchain-compatibility-fact.js",
|
|
135
|
+
"packages/core/buildchain-compatibility-facts.json",
|
|
136
|
+
"packages/core/buildchain-compatibility-proof.js",
|
|
137
|
+
"packages/core/buildchain-config.js",
|
|
138
|
+
"packages/core/buildchain-contract.js",
|
|
139
|
+
"packages/core/buildchain-layout.js",
|
|
140
|
+
"packages/core/controller-evidence.js",
|
|
141
|
+
"packages/core/dev-delivery-common.js",
|
|
142
|
+
"packages/core/dev-delivery-contract-surface.js",
|
|
143
|
+
"packages/core/github-artifact-attestation.js",
|
|
144
|
+
"packages/core/kfd-adopter-manifest.js",
|
|
145
|
+
"packages/core/kfd-gate.js",
|
|
146
|
+
"packages/core/kfd-product-gates.js",
|
|
147
|
+
"packages/core/kungfu-temporal-fact.js",
|
|
148
|
+
"packages/core/package-manager.js",
|
|
149
|
+
"packages/core/public-surface-audit.js",
|
|
150
|
+
"packages/core/public-surface-cli.js",
|
|
151
|
+
"packages/core/publication-artifact-candidate.js",
|
|
152
|
+
"packages/core/publication-authority.js",
|
|
153
|
+
"packages/core/publication-sealed-bundle.js",
|
|
154
|
+
"packages/core/publish-transaction.js",
|
|
155
|
+
"packages/core/release-candidate-recovery.js",
|
|
156
|
+
"packages/core/release-candidate.js",
|
|
157
|
+
"packages/core/release-passport-contract.js",
|
|
158
|
+
"packages/core/release-passport.js",
|
|
159
|
+
"packages/core/release-tail-product-capabilities.js",
|
|
160
|
+
"packages/core/release-tail-provider-adapters.js",
|
|
161
|
+
"packages/core/release-tail-provider-plane.js",
|
|
162
|
+
"packages/core/spawn-command.js",
|
|
163
|
+
"packages/core/surface-manifest.js",
|
|
164
|
+
"packages/core/v4-canonical-contracts.js",
|
|
165
|
+
"packages/core/v4-floating-consumer-evidence.js",
|
|
166
|
+
"packages/core/v4-floating-consumer-policy.js",
|
|
167
|
+
"packages/core/v4-floating-consumer-release-passport.js",
|
|
168
|
+
"packages/core/v4-product-publication.js",
|
|
169
|
+
"packages/core/v4-protected-publication-source.js",
|
|
170
|
+
"packages/core/v4-publication-qualification.js",
|
|
171
|
+
"packages/core/v4-release-invocation.js",
|
|
172
|
+
"packages/core/v4-runtime-ref-resume-authority.js",
|
|
173
|
+
"packages/core/v4-runtime-selector-persistence.js",
|
|
174
|
+
"packages/core/web-surface-publication-candidate.js",
|
|
175
|
+
"packages/core/workflow-yaml-contract.js",
|
|
176
|
+
"scripts/ensure-github-release.mjs"
|
|
177
|
+
],
|
|
178
|
+
"root": "sha256:31d13d74b8b3dadbfe4b5061c99f6f6711be6c3b06449114f2708427374f9c85"
|
|
179
|
+
},
|
|
180
|
+
"legacyEngineModules": [
|
|
181
|
+
"actions/promote-buildchain-ref/internal/durable-transaction-operations.js",
|
|
182
|
+
"actions/promote-buildchain-ref/internal/promote-alpha-channel.js",
|
|
183
|
+
"actions/promote-buildchain-ref/internal/promote-major-channel.js",
|
|
184
|
+
"actions/promote-buildchain-ref/internal/promote-release-channel.js",
|
|
185
|
+
"actions/promote-buildchain-ref/lib.js"
|
|
186
|
+
],
|
|
187
|
+
"freshEntry": ".github/workflows/release-candidate-promote.yml",
|
|
188
|
+
"recoveryEntry": ".github/workflows/buildchain-ref-promotion-recovery.yml",
|
|
189
|
+
"forbiddenLegacyEnginePatterns": [
|
|
190
|
+
"legacy-promote",
|
|
191
|
+
"v4-declarative-promote",
|
|
192
|
+
"BUILDCHAIN_DECLARATIVE_PROMOTION",
|
|
193
|
+
"Select declarative or legacy promotion result"
|
|
194
|
+
]
|
|
195
|
+
},
|
|
196
|
+
"baselineMetrics": {
|
|
197
|
+
"workflowCount": 15,
|
|
198
|
+
"jobCount": 38,
|
|
199
|
+
"reusableEdgeCount": 11,
|
|
200
|
+
"mutationRelevantNodeCount": 25,
|
|
201
|
+
"contentsWriteJobCount": 10,
|
|
202
|
+
"oidcWriteJobCount": 9,
|
|
203
|
+
"semanticMutationRelevantNodeCount": 17
|
|
204
|
+
},
|
|
205
|
+
"targetBudgets": {
|
|
206
|
+
"semanticBoundaries": ["QUALIFY", "APPLY", "SETTLE"],
|
|
207
|
+
"maximumMutationRelevantNodeCount": 8,
|
|
208
|
+
"contentsWriteJobCount": 1,
|
|
209
|
+
"oidcWriteJobCount": 1,
|
|
210
|
+
"publisherIdentityCount": 1,
|
|
211
|
+
"runtimeIdentityCount": 1,
|
|
212
|
+
"terminalReceiptAuthorityCount": 1
|
|
213
|
+
},
|
|
214
|
+
"authorityClassification": {
|
|
215
|
+
"publisher": {
|
|
216
|
+
"current": [
|
|
217
|
+
".github/workflows/.release-candidate-promote.yml#legacy-promote",
|
|
218
|
+
".github/workflows/.release-candidate-promote.yml#v4-declarative-promote"
|
|
219
|
+
],
|
|
220
|
+
"target": ".github/workflows/.release-candidate-promote.yml#apply"
|
|
221
|
+
},
|
|
222
|
+
"runtimeSelectors": {
|
|
223
|
+
"discoveryOnly": ["v4-alpha", "v4", "alpha/v4/v4.0"],
|
|
224
|
+
"postAdmissionPolicy": "exact-sha-only"
|
|
225
|
+
},
|
|
226
|
+
"engines": {
|
|
227
|
+
"current": ["legacy-promote", "v4-declarative-promote"],
|
|
228
|
+
"target": "release-transaction"
|
|
229
|
+
},
|
|
230
|
+
"terminalProjections": {
|
|
231
|
+
"current": ["promote", "controller-receipt", "release-tail receipt"],
|
|
232
|
+
"target": "ReleaseReceipt"
|
|
233
|
+
}
|
|
234
|
+
},
|
|
235
|
+
"observedTopology": {
|
|
236
|
+
"jobRecordFields": [
|
|
237
|
+
"id",
|
|
238
|
+
"kind",
|
|
239
|
+
"uses",
|
|
240
|
+
"contentsPermission",
|
|
241
|
+
"oidcPermission",
|
|
242
|
+
"carriers",
|
|
243
|
+
"mutationSignals"
|
|
244
|
+
],
|
|
245
|
+
"workflows": [
|
|
246
|
+
{
|
|
247
|
+
"path": ".github/workflows/.release-candidate-promote.yml",
|
|
248
|
+
"triggers": ["workflow_call"],
|
|
249
|
+
"jobs": [
|
|
250
|
+
"apply|runner|-|write|write|artifactDownload,artifactUpload|contents-write,oidc-write,promotion-runtime",
|
|
251
|
+
"qualify|runner|-|read|-|artifactUpload,jobOutput|-",
|
|
252
|
+
"settle|runner|-|read|-|artifactDownload,artifactUpload,jobOutput|-"
|
|
253
|
+
],
|
|
254
|
+
"reusableEdges": []
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"path": ".github/workflows/buildchain-ref-promotion-recovery.yml",
|
|
258
|
+
"triggers": ["workflow_dispatch"],
|
|
259
|
+
"jobs": [
|
|
260
|
+
"resume|reusable-call|kungfu-systems/buildchain/.github/workflows/release-candidate-promote.yml@v4-alpha|write|write|-|contents-write,oidc-write"
|
|
261
|
+
],
|
|
262
|
+
"reusableEdges": [
|
|
263
|
+
"kungfu-systems/buildchain/.github/workflows/release-candidate-promote.yml@v4-alpha"
|
|
264
|
+
]
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"path": ".github/workflows/buildchain-ref-promotion.yml",
|
|
268
|
+
"triggers": ["workflow_dispatch", "workflow_run:completed"],
|
|
269
|
+
"jobs": [
|
|
270
|
+
"promote|reusable-call|kungfu-systems/buildchain/.github/workflows/.release-candidate-promote.yml@v4-alpha|write|write|-|contents-write,oidc-write",
|
|
271
|
+
"reject-invalid-candidate-recovery|runner|-|read|-|-|-",
|
|
272
|
+
"reject-invalid-durable-recovery|runner|-|read|-|-|-",
|
|
273
|
+
"reject-manual-apply|runner|-|read|-|-|-"
|
|
274
|
+
],
|
|
275
|
+
"reusableEdges": [
|
|
276
|
+
"kungfu-systems/buildchain/.github/workflows/.release-candidate-promote.yml@v4-alpha"
|
|
277
|
+
]
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"path": ".github/workflows/release-candidate-promote.yml",
|
|
281
|
+
"triggers": ["workflow_call"],
|
|
282
|
+
"jobs": [
|
|
283
|
+
"consumer-admission|runner|-|read|-|artifactUpload|-",
|
|
284
|
+
"invoke|reusable-call|kungfu-systems/buildchain/.github/workflows/.release-candidate-promote.yml@v4-alpha|write|write|-|contents-write,oidc-write",
|
|
285
|
+
"resolve-promotion|runner|-|read|-|jobOutput|-"
|
|
286
|
+
],
|
|
287
|
+
"reusableEdges": [
|
|
288
|
+
"kungfu-systems/buildchain/.github/workflows/.release-candidate-promote.yml@v4-alpha"
|
|
289
|
+
]
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
"path": ".github/workflows/v4-declarative-release-tail-dogfood.yml",
|
|
293
|
+
"triggers": ["workflow_dispatch"],
|
|
294
|
+
"jobs": [
|
|
295
|
+
"publish|reusable-call|kungfu-systems/buildchain/.github/workflows/release-candidate-promote.yml@v4-alpha|-|-|-|-"
|
|
296
|
+
],
|
|
297
|
+
"reusableEdges": [
|
|
298
|
+
"kungfu-systems/buildchain/.github/workflows/release-candidate-promote.yml@v4-alpha"
|
|
299
|
+
]
|
|
300
|
+
}
|
|
301
|
+
],
|
|
302
|
+
"metrics": {
|
|
303
|
+
"workflowCount": 37,
|
|
304
|
+
"jobCount": 92,
|
|
305
|
+
"reusableEdgeCount": 23,
|
|
306
|
+
"mutationRelevantNodeCount": 74,
|
|
307
|
+
"contentsWriteJobCount": 14,
|
|
308
|
+
"oidcWriteJobCount": 16
|
|
309
|
+
},
|
|
310
|
+
"semanticMetrics": {
|
|
311
|
+
"workflowCount": 5,
|
|
312
|
+
"mutationRelevantNodeCount": 8,
|
|
313
|
+
"contentsWriteJobCount": 1,
|
|
314
|
+
"oidcWriteJobCount": 1
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
}
|
|
@@ -73,7 +73,10 @@
|
|
|
73
73
|
"stateAuthority": "single-writer-state-machine",
|
|
74
74
|
"legacyFallbackAllowed": false,
|
|
75
75
|
"providerDecisionAuthorityAllowed": false,
|
|
76
|
-
"implementation": [
|
|
76
|
+
"implementation": [
|
|
77
|
+
"packages/core/dev-delivery-warrant-native-compatibility.js",
|
|
78
|
+
"packages/core/dev-delivery-warrant.js"
|
|
79
|
+
],
|
|
77
80
|
"invariants": {
|
|
78
81
|
"exactHeadFence": true,
|
|
79
82
|
"immutableRootFence": true,
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "kungfu-buildchain-v4-universal-workflow-bootstrap/v1",
|
|
3
|
+
"status": "migration-active",
|
|
4
|
+
"bootstrap": {
|
|
5
|
+
"publicWorkflow": ".github/workflows/bootstrap.yml",
|
|
6
|
+
"requestSchema": "kungfu-buildchain-v4-universal-workflow-request/v1",
|
|
7
|
+
"admissionSchema": "kungfu-buildchain-v4-universal-workflow-admission/v1",
|
|
8
|
+
"terminalReceiptSchema": "kungfu-buildchain-v4-universal-workflow-terminal-receipt/v1",
|
|
9
|
+
"candidateRepository": "kungfu-systems/buildchain",
|
|
10
|
+
"candidateEnginePath": "scripts/v4-universal-workflow-engine.mjs",
|
|
11
|
+
"consumerTemplate": "templates/universal-buildchain-bootstrap.yml",
|
|
12
|
+
"consumerRecoveryTemplate": "templates/universal-buildchain-bootstrap-recovery.yml",
|
|
13
|
+
"consumerRecoveryWorkflow": ".github/workflows/universal-bootstrap-recovery.yml",
|
|
14
|
+
"consumerRecoveryMode": "separate-pre-positioned-consumer-owned-shell",
|
|
15
|
+
"recoveryDependsOnPublishedBuildchain": false,
|
|
16
|
+
"selfDogfoodWorkflow": ".github/workflows/universal-bootstrap-dogfood.yml",
|
|
17
|
+
"faultCampaign": "architecture/v4-universal-workflow-fault-campaign.json",
|
|
18
|
+
"discoveryRefExecutionAuthority": false,
|
|
19
|
+
"exactShaExecutionAuthority": true,
|
|
20
|
+
"consumerSourceMutationPerIncident": false,
|
|
21
|
+
"consumerAdmission": "verified-caller-exact-repository-workflow-and-source",
|
|
22
|
+
"buildchainReleasePromotionPerIncident": false,
|
|
23
|
+
"selfDogfoodUsesPublicContract": true
|
|
24
|
+
},
|
|
25
|
+
"capabilityAdapters": [
|
|
26
|
+
{
|
|
27
|
+
"id": "bootstrap-conformance",
|
|
28
|
+
"execution": "exact-candidate-engine",
|
|
29
|
+
"payloadSchema": "kungfu-buildchain-v4-universal-bootstrap-conformance/v1",
|
|
30
|
+
"providerEffects": false
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"id": "release-candidate-promote",
|
|
34
|
+
"execution": "exact-candidate-action-and-provider-readback",
|
|
35
|
+
"payloadSchema": "kungfu-buildchain-v4-universal-release-promotion/v1",
|
|
36
|
+
"providerEffects": true
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"id": "release-invocation",
|
|
40
|
+
"execution": "exact-candidate-canonical-projection",
|
|
41
|
+
"payloadSchema": "kungfu-buildchain-v4-release-invocation/v1",
|
|
42
|
+
"providerEffects": false
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
"complexityBudget": {
|
|
46
|
+
"bootstrapAbis": 1,
|
|
47
|
+
"requestEnvelopes": 1,
|
|
48
|
+
"candidateResolvers": 1,
|
|
49
|
+
"candidateEngines": 1,
|
|
50
|
+
"terminalReceiptAuthorities": 1,
|
|
51
|
+
"perWorkflowBootstrapImplementations": 0,
|
|
52
|
+
"buildchainOnlySelfReleasePaths": 0,
|
|
53
|
+
"perIncidentConsumerEdits": 0
|
|
54
|
+
},
|
|
55
|
+
"permissionCeiling": {
|
|
56
|
+
"actions": "write",
|
|
57
|
+
"artifact-metadata": "write",
|
|
58
|
+
"attestations": "write",
|
|
59
|
+
"checks": "write",
|
|
60
|
+
"contents": "write",
|
|
61
|
+
"deployments": "write",
|
|
62
|
+
"id-token": "write",
|
|
63
|
+
"issues": "write",
|
|
64
|
+
"packages": "write",
|
|
65
|
+
"pages": "write",
|
|
66
|
+
"pull-requests": "write",
|
|
67
|
+
"security-events": "write",
|
|
68
|
+
"statuses": "write"
|
|
69
|
+
},
|
|
70
|
+
"inventoryWorkflows": [
|
|
71
|
+
".github/workflows/.auditable-demo.yml",
|
|
72
|
+
".github/workflows/.binary-release-assets.yml",
|
|
73
|
+
".github/workflows/.build.yml",
|
|
74
|
+
".github/workflows/.bump-minor-version.yml",
|
|
75
|
+
".github/workflows/.declarative-auditable-demo.yml",
|
|
76
|
+
".github/workflows/.gate-profile.yml",
|
|
77
|
+
".github/workflows/.publication-authority.yml",
|
|
78
|
+
".github/workflows/.release-candidate-promote.yml",
|
|
79
|
+
".github/workflows/.release-docker.yml",
|
|
80
|
+
".github/workflows/.release-elastic-beanstalk.yml",
|
|
81
|
+
".github/workflows/.release-new-version.yml",
|
|
82
|
+
".github/workflows/.release-verify.yml",
|
|
83
|
+
".github/workflows/.sam-release.yml",
|
|
84
|
+
".github/workflows/.sam-verify.yml",
|
|
85
|
+
".github/workflows/.sync-release-page.yml",
|
|
86
|
+
".github/workflows/.sync-remote-git.yml",
|
|
87
|
+
".github/workflows/.web-surface.yml",
|
|
88
|
+
".github/workflows/.wheel-release.yml",
|
|
89
|
+
".github/workflows/.wheel-verify.yml",
|
|
90
|
+
".github/workflows/bootstrap.yml",
|
|
91
|
+
".github/workflows/build.yml",
|
|
92
|
+
".github/workflows/buildchain-patrol.yml",
|
|
93
|
+
".github/workflows/check.yml",
|
|
94
|
+
".github/workflows/dev-alpha-candidate-patrol.yml",
|
|
95
|
+
".github/workflows/dev-delivery-warrant-cancel.yml",
|
|
96
|
+
".github/workflows/dev-delivery-warrant-close.yml",
|
|
97
|
+
".github/workflows/dev-pr-auto-merge.yml",
|
|
98
|
+
".github/workflows/dev-qualification-patrol.yml",
|
|
99
|
+
".github/workflows/engineering-housekeeper.yml",
|
|
100
|
+
".github/workflows/github-artifact-attestation.yml",
|
|
101
|
+
".github/workflows/paper-release-sealed.yml",
|
|
102
|
+
".github/workflows/paper-release.yml",
|
|
103
|
+
".github/workflows/patrol-daily.yml",
|
|
104
|
+
".github/workflows/patrol-monthly.yml",
|
|
105
|
+
".github/workflows/patrol-observed-evidence.yml",
|
|
106
|
+
".github/workflows/patrol-weekly.yml",
|
|
107
|
+
".github/workflows/publication-artifact.yml",
|
|
108
|
+
".github/workflows/release-candidate-promote.yml",
|
|
109
|
+
".github/workflows/release-governance-reconcile.yml",
|
|
110
|
+
".github/workflows/release-propagation.yml",
|
|
111
|
+
".github/workflows/release-tail.yml",
|
|
112
|
+
".github/workflows/stable-candidate-patrol.yml",
|
|
113
|
+
".github/workflows/universal-bootstrap-recovery.yml",
|
|
114
|
+
".github/workflows/v4-adopter-delivery.yml",
|
|
115
|
+
".github/workflows/v4-stage-capsule-canary.yml",
|
|
116
|
+
".github/workflows/v4-tail-reseal.yml"
|
|
117
|
+
],
|
|
118
|
+
"retiredWorkflowSurfaces": [
|
|
119
|
+
".github/workflows/.release-docker.yml",
|
|
120
|
+
".github/workflows/.release-elastic-beanstalk.yml",
|
|
121
|
+
".github/workflows/.release-new-version.yml",
|
|
122
|
+
".github/workflows/.sam-release.yml",
|
|
123
|
+
".github/workflows/.wheel-release.yml"
|
|
124
|
+
],
|
|
125
|
+
"bootstrapGovernedWorkflows": [
|
|
126
|
+
".github/workflows/.auditable-demo.yml",
|
|
127
|
+
".github/workflows/.binary-release-assets.yml",
|
|
128
|
+
".github/workflows/.build.yml",
|
|
129
|
+
".github/workflows/.bump-minor-version.yml",
|
|
130
|
+
".github/workflows/.declarative-auditable-demo.yml",
|
|
131
|
+
".github/workflows/.gate-profile.yml",
|
|
132
|
+
".github/workflows/.publication-authority.yml",
|
|
133
|
+
".github/workflows/.release-candidate-promote.yml",
|
|
134
|
+
".github/workflows/.release-verify.yml",
|
|
135
|
+
".github/workflows/.sam-verify.yml",
|
|
136
|
+
".github/workflows/.sync-release-page.yml",
|
|
137
|
+
".github/workflows/.sync-remote-git.yml",
|
|
138
|
+
".github/workflows/.web-surface.yml",
|
|
139
|
+
".github/workflows/.wheel-verify.yml",
|
|
140
|
+
".github/workflows/bootstrap.yml",
|
|
141
|
+
".github/workflows/build.yml",
|
|
142
|
+
".github/workflows/buildchain-patrol.yml",
|
|
143
|
+
".github/workflows/check.yml",
|
|
144
|
+
".github/workflows/dev-alpha-candidate-patrol.yml",
|
|
145
|
+
".github/workflows/dev-delivery-warrant-cancel.yml",
|
|
146
|
+
".github/workflows/dev-delivery-warrant-close.yml",
|
|
147
|
+
".github/workflows/dev-pr-auto-merge.yml",
|
|
148
|
+
".github/workflows/dev-qualification-patrol.yml",
|
|
149
|
+
".github/workflows/engineering-housekeeper.yml",
|
|
150
|
+
".github/workflows/github-artifact-attestation.yml",
|
|
151
|
+
".github/workflows/paper-release-sealed.yml",
|
|
152
|
+
".github/workflows/paper-release.yml",
|
|
153
|
+
".github/workflows/patrol-daily.yml",
|
|
154
|
+
".github/workflows/patrol-monthly.yml",
|
|
155
|
+
".github/workflows/patrol-observed-evidence.yml",
|
|
156
|
+
".github/workflows/patrol-weekly.yml",
|
|
157
|
+
".github/workflows/publication-artifact.yml",
|
|
158
|
+
".github/workflows/release-candidate-promote.yml",
|
|
159
|
+
".github/workflows/release-governance-reconcile.yml",
|
|
160
|
+
".github/workflows/release-propagation.yml",
|
|
161
|
+
".github/workflows/release-tail.yml",
|
|
162
|
+
".github/workflows/stable-candidate-patrol.yml",
|
|
163
|
+
".github/workflows/v4-adopter-delivery.yml",
|
|
164
|
+
".github/workflows/v4-stage-capsule-canary.yml",
|
|
165
|
+
".github/workflows/v4-tail-reseal.yml"
|
|
166
|
+
],
|
|
167
|
+
"migration": {
|
|
168
|
+
"compatibilityFacadeGenerator": "scripts/generate-v4-universal-workflow-facades.mjs",
|
|
169
|
+
"facadeSourceRevision": "e211a3535b4b3c9a921324ea1a81522a4e271b98",
|
|
170
|
+
"channelGeneratedFacades": [
|
|
171
|
+
".github/workflows/build.yml",
|
|
172
|
+
".github/workflows/release-candidate-promote.yml"
|
|
173
|
+
],
|
|
174
|
+
"staticBootstrap": "implemented",
|
|
175
|
+
"candidateEngine": "bounded-capability-adapters",
|
|
176
|
+
"compatibilityFacades": "generated-dual-path",
|
|
177
|
+
"externalConsumerDogfood": "public-consumer-three-platform-runtime-and-non-circular-recovery-hosted-proof-passed",
|
|
178
|
+
"buildchainSelfDogfood": "train-primary-and-consumer-recovery-three-pair-hosted-proof-passed",
|
|
179
|
+
"oldPathRetirement": "pending-protected-dev-integration"
|
|
180
|
+
}
|
|
181
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "kungfu-buildchain-v4-universal-workflow-fault-campaign/v1",
|
|
3
|
+
"independentFaultsOnly": true,
|
|
4
|
+
"simultaneousPrimaryAndRecoveryFailureClaimed": false,
|
|
5
|
+
"externalBoundary": {
|
|
6
|
+
"id": "github-workflow-parser-or-service-unavailable",
|
|
7
|
+
"classification": "irreducible-external-availability",
|
|
8
|
+
"recovered": false
|
|
9
|
+
},
|
|
10
|
+
"faults": [
|
|
11
|
+
{
|
|
12
|
+
"id": "primary-facade",
|
|
13
|
+
"injectionTarget": "templates/universal-buildchain-bootstrap.yml",
|
|
14
|
+
"recoveryRoute": "pre-positioned-recovery-shell",
|
|
15
|
+
"recoveryTarget": "templates/universal-buildchain-bootstrap-recovery.yml"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"id": "typed-input-adapter",
|
|
19
|
+
"injectionTarget": "packages/core/v4-universal-workflow-bootstrap.js",
|
|
20
|
+
"recoveryRoute": "exact-train-candidate",
|
|
21
|
+
"recoveryTarget": "scripts/v4-universal-workflow-engine.mjs"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"id": "route-selector",
|
|
25
|
+
"injectionTarget": ".github/workflows/bootstrap.yml",
|
|
26
|
+
"recoveryRoute": "pre-positioned-recovery-shell",
|
|
27
|
+
"recoveryTarget": "templates/universal-buildchain-bootstrap-recovery.yml"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": "ordinary-candidate-loader",
|
|
31
|
+
"injectionTarget": ".github/workflows/bootstrap.yml",
|
|
32
|
+
"recoveryRoute": "pre-positioned-recovery-shell",
|
|
33
|
+
"recoveryTarget": "templates/universal-buildchain-bootstrap-recovery.yml"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"id": "router",
|
|
37
|
+
"injectionTarget": "packages/core/v4-release-invocation.js",
|
|
38
|
+
"recoveryRoute": "exact-train-candidate",
|
|
39
|
+
"recoveryTarget": "scripts/v4-universal-workflow-engine.mjs"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"id": "action",
|
|
43
|
+
"injectionTarget": "actions/v4-release-candidate-promote/action.yml",
|
|
44
|
+
"recoveryRoute": "exact-train-candidate",
|
|
45
|
+
"recoveryTarget": "actions/v4-release-candidate-promote/dist/index.js"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "cli-runtime",
|
|
49
|
+
"injectionTarget": "scripts/v4-universal-workflow-engine.mjs",
|
|
50
|
+
"recoveryRoute": "exact-train-candidate",
|
|
51
|
+
"recoveryTarget": "scripts/v4-universal-workflow-engine.mjs"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "recovery-logic",
|
|
55
|
+
"injectionTarget": "templates/universal-buildchain-bootstrap-recovery.yml",
|
|
56
|
+
"recoveryRoute": "primary-bootstrap-shell",
|
|
57
|
+
"recoveryTarget": "templates/universal-buildchain-bootstrap.yml"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"id": "result-projection",
|
|
61
|
+
"injectionTarget": ".github/workflows/bootstrap.yml",
|
|
62
|
+
"recoveryRoute": "pre-positioned-recovery-shell",
|
|
63
|
+
"recoveryTarget": "templates/universal-buildchain-bootstrap-recovery.yml"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"id": "self-dogfood-caller",
|
|
67
|
+
"injectionTarget": ".github/workflows/universal-bootstrap-dogfood.yml",
|
|
68
|
+
"recoveryRoute": "consumer-equivalent-recovery-shell",
|
|
69
|
+
"recoveryTarget": "templates/universal-buildchain-bootstrap-recovery.yml"
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "kungfu-buildchain-v4-universal-workflow-admission-policy/v1",
|
|
3
|
+
"sourceRepository": "kungfu-systems/buildchain",
|
|
4
|
+
"consumerAdmission": "verified-caller",
|
|
5
|
+
"allowedCapabilities": [
|
|
6
|
+
"bootstrap-conformance",
|
|
7
|
+
"release-candidate-promote",
|
|
8
|
+
"release-invocation"
|
|
9
|
+
],
|
|
10
|
+
"permissionCeiling": {
|
|
11
|
+
"actions": "write",
|
|
12
|
+
"artifact-metadata": "write",
|
|
13
|
+
"attestations": "write",
|
|
14
|
+
"checks": "write",
|
|
15
|
+
"contents": "write",
|
|
16
|
+
"deployments": "write",
|
|
17
|
+
"id-token": "write",
|
|
18
|
+
"issues": "write",
|
|
19
|
+
"packages": "write",
|
|
20
|
+
"pages": "write",
|
|
21
|
+
"pull-requests": "write",
|
|
22
|
+
"security-events": "write",
|
|
23
|
+
"statuses": "write"
|
|
24
|
+
},
|
|
25
|
+
"contractRoots": [
|
|
26
|
+
"sha256:3e5ec3bb803169de0b64747cbc1e5bbff536a8409d7ba1a6528f2930bc294a5c",
|
|
27
|
+
"sha256:60fc0802b7e46cb4460264b8b7359d06b2406d66a9d805d0d076bb692f80b35e",
|
|
28
|
+
"sha256:65a0c2fc3faecaddf5076fff086b5d6e12eb9ba27796efc10aed19f2d93b9457",
|
|
29
|
+
"sha256:93cd47a50798199fcb778e90b338542ab58842392da11cc4f8914525e98790be",
|
|
30
|
+
"sha256:a31570dd0f1a85dae851a9acd3731a60967c474cd09615a11d6d8d10c6f9a78b",
|
|
31
|
+
"sha256:b6737ed958e8f53f7770b1c214c092591573ad63af41e05797117d9b7b212ed8",
|
|
32
|
+
"sha256:d6ad9cf661c0ba3825cabdc7185fd122a60fc1929dfc799cda3352650588663f"
|
|
33
|
+
],
|
|
34
|
+
"targetRef": "dev/v4/v4.0",
|
|
35
|
+
"allowedReviewers": ["kungfu-origin"],
|
|
36
|
+
"minimumApprovals": 1,
|
|
37
|
+
"requiredChecks": ["check"],
|
|
38
|
+
"validFrom": "2026-08-30T00:00:00.000Z",
|
|
39
|
+
"expiresAt": "2026-09-07T00:00:00.000Z"
|
|
40
|
+
}
|
|
@@ -16,15 +16,6 @@
|
|
|
16
16
|
"owner": "buildchain-maintainers",
|
|
17
17
|
"sunsetCondition": "Remove after every known caller migrates to the lifecycle version command."
|
|
18
18
|
},
|
|
19
|
-
{
|
|
20
|
-
"path": ".github/workflows/.release-candidate-promote.yml",
|
|
21
|
-
"token": "actions/create-github-app-token@v2",
|
|
22
|
-
"expectedOccurrences": 1,
|
|
23
|
-
"classification": "third-party-action-version",
|
|
24
|
-
"callerStatus": "active",
|
|
25
|
-
"owner": "actions/create-github-app-token maintainers",
|
|
26
|
-
"sunsetCondition": "Upgrade through normal dependency review when a compatible successor is adopted."
|
|
27
|
-
},
|
|
28
19
|
{
|
|
29
20
|
"path": ".github/workflows/.release-docker.yml",
|
|
30
21
|
"token": "workflows v2 Docker release path is retired",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"ref": "v4-alpha",
|
|
23
23
|
"sha": "dddddddddddddddddddddddddddddddddddddddd",
|
|
24
24
|
"contractRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
|
|
25
|
-
"consumerPolicyReceiptRoot": "sha256:
|
|
25
|
+
"consumerPolicyReceiptRoot": "sha256:8d8e55a4ae07a57a2a262e138f55148b05916c364b3d086530e1392c982b886f"
|
|
26
26
|
},
|
|
27
27
|
"warrant": {
|
|
28
28
|
"candidateId": "candidate-alpha-2",
|