@kungfu-tech/buildchain 4.0.2-alpha.2 → 4.0.2-alpha.21

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 (71) hide show
  1. package/architecture/agent-change-map.md +52 -1
  2. package/architecture/ci-lane-change-budget.json +349 -0
  3. package/architecture/internal-capabilities.json +44 -1
  4. package/architecture/maintainability-debt.json +53 -33
  5. package/architecture/maintainability-policy.json +20 -15
  6. package/architecture/v3-core-mechanism-inventory.json +1 -0
  7. package/architecture/v4-delivery-warrant-shadow-fixtures.json +5 -5
  8. package/architecture/v4-release-invocation-fixtures.json +20 -0
  9. package/architecture/v4-release-topology.json +160 -84
  10. package/architecture/v4-runtime-semantic-closure.json +4 -1
  11. package/architecture/v4-universal-workflow-bootstrap.json +171 -0
  12. package/architecture/v4-universal-workflow-fault-campaign.json +72 -0
  13. package/architecture/v4-universal-workflow-train-admission.json +40 -0
  14. package/contracts/buildchain-v2-residuals-v1.json +0 -54
  15. package/contracts/v4-release-invocation-v1.schema.json +50 -2
  16. package/dist/site/buildchain-contract.json +87 -42
  17. package/dist/site/buildchain-site.json +15 -10
  18. package/dist/site/capability-registry.json +1 -1
  19. package/dist/site/controller-registry.json +46 -10
  20. package/dist/site/kfd-claims.json +174 -196
  21. package/dist/site/kfd-upstream-aggregate.json +1 -1
  22. package/dist/site/manual-registry.json +2 -2
  23. package/dist/site/node-api-registry.json +95 -20
  24. package/dist/site/page-registry.json +9 -4
  25. package/dist/site/public-surface-audit.json +178 -198
  26. package/dist/site/publication-authority-registry.json +67 -57
  27. package/dist/site/publication-registry.json +4 -4
  28. package/dist/site/site-manifest.json +6 -6
  29. package/dist/site/workflow-registry.json +209 -259
  30. package/docs/node-api-reference.md +25 -22
  31. package/docs/reusable-build-surface.md +16 -0
  32. package/package.json +2 -2
  33. package/packages/core/buildchain-publication-authority.js +3 -2
  34. package/packages/core/ci-lane-change-budget.js +14 -1
  35. package/packages/core/dev-delivery-candidate-identity.js +18 -0
  36. package/packages/core/dev-delivery-execution-transfer.js +6 -7
  37. package/packages/core/dev-delivery-warrant-legacy-recovery.js +4 -2
  38. package/packages/core/dev-delivery-warrant-native-compatibility.js +33 -0
  39. package/packages/core/dev-delivery-warrant-state.js +42 -26
  40. package/packages/core/dev-delivery-warrant.js +8 -0
  41. package/packages/core/dev-delivery-writer-protocol-transition.js +72 -0
  42. package/packages/core/release-tail-product-capabilities.js +29 -0
  43. package/packages/core/release-tail-provider-plane.js +3 -3
  44. package/packages/core/v4-canonical-contracts.js +6 -0
  45. package/packages/core/v4-product-publication.js +387 -0
  46. package/packages/core/v4-protected-publication-source.js +93 -0
  47. package/packages/core/v4-publication-qualification.js +1 -0
  48. package/packages/core/v4-release-invocation.js +72 -3
  49. package/packages/core/v4-universal-workflow-bootstrap.js +586 -0
  50. package/scripts/check-inventory.mjs +13 -22
  51. package/scripts/check-maintainability.mjs +16 -113
  52. package/scripts/check-v4-release-topology.mjs +296 -40
  53. package/scripts/check-v4-universal-workflow-bootstrap.mjs +270 -0
  54. package/scripts/dev-delivery-warrant-store.mjs +73 -7
  55. package/scripts/dev-delivery-warrant-transition.mjs +109 -0
  56. package/scripts/dev-delivery-warrant.mjs +84 -100
  57. package/scripts/dev-pr-auto-merge.mjs +15 -15
  58. package/scripts/generate-channel-build-workflow.mjs +5 -1
  59. package/scripts/generate-channel-promotion-workflow.mjs +5 -3
  60. package/scripts/generate-v4-universal-workflow-facades.mjs +415 -0
  61. package/scripts/maintainability-public-surface.mjs +115 -0
  62. package/scripts/release-candidate-resolver.mjs +23 -24
  63. package/scripts/resume-from-candidate-run.mjs +16 -17
  64. package/scripts/universal-facade-maintainability.mjs +82 -0
  65. package/scripts/v4-product-publication-intent.mjs +114 -0
  66. package/scripts/v4-release-candidate-adapter.mjs +41 -0
  67. package/scripts/v4-universal-workflow-backflow.mjs +212 -0
  68. package/scripts/v4-universal-workflow-engine.mjs +617 -0
  69. package/scripts/v4-universal-workflow-self-dogfood.mjs +205 -0
  70. package/templates/universal-buildchain-bootstrap-recovery.yml +282 -0
  71. package/templates/universal-buildchain-bootstrap.yml +28 -0
@@ -3,26 +3,44 @@
3
3
  "contract": "kungfu-buildchain-v4-release-topology/v1",
4
4
  "sourceCut": {
5
5
  "branch": "dev/v4/v4.0",
6
- "commit": "30cbbc46870871a0eacbe952935ea753e473ff25",
7
- "tree": "b86fea30cb92a32215206f159708a8ea1d10d462"
6
+ "commit": "c3a50c941d018fcc3bec624e19a1298357b7f84a",
7
+ "tree": "213cdcaded8d90c823ecdafdd9968bceceed9057"
8
8
  },
9
9
  "enforcement": "converged",
10
10
  "closedWorld": {
11
11
  "workflowPaths": [
12
+ ".github/workflows/.binary-release-assets.yml",
13
+ ".github/workflows/.build.yml",
14
+ ".github/workflows/.declarative-auditable-demo.yml",
12
15
  ".github/workflows/.publication-authority.yml",
13
16
  ".github/workflows/.release-candidate-promote.yml",
14
- ".github/workflows/.release-elastic-beanstalk.yml",
15
- ".github/workflows/.release-new-version.yml",
16
- ".github/workflows/.sam-release.yml",
17
- ".github/workflows/.wheel-release.yml",
17
+ ".github/workflows/.web-surface.yml",
18
+ ".github/workflows/auditable-demo.yml",
19
+ ".github/workflows/binary-release-assets.yml",
20
+ ".github/workflows/build-surface-fixture.yml",
21
+ ".github/workflows/build.yml",
22
+ ".github/workflows/buildchain-alpha-self-dogfood.yml",
23
+ ".github/workflows/buildchain-dev-delivery.yml",
18
24
  ".github/workflows/buildchain-ref-promotion-recovery.yml",
19
25
  ".github/workflows/buildchain-ref-promotion.yml",
26
+ ".github/workflows/buildchain-patrol-daily.yml",
27
+ ".github/workflows/buildchain-patrol-monthly.yml",
28
+ ".github/workflows/buildchain-patrol-weekly.yml",
29
+ ".github/workflows/buildchain-stable-candidate-patrol.yml",
30
+ ".github/workflows/dev-alpha-candidate-patrol.yml",
31
+ ".github/workflows/dev-pr-auto-merge.yml",
32
+ ".github/workflows/github-artifact-attestation.yml",
20
33
  ".github/workflows/npm-publish.yml",
21
34
  ".github/workflows/paper-release-sealed.yml",
22
35
  ".github/workflows/paper-release.yml",
36
+ ".github/workflows/patrol-observed-evidence.yml",
23
37
  ".github/workflows/release-candidate-promote.yml",
38
+ ".github/workflows/release-line-bootstrap.yml",
24
39
  ".github/workflows/release-new-version.yml",
40
+ ".github/workflows/release-propagation.yml",
25
41
  ".github/workflows/release-tail.yml",
42
+ ".github/workflows/stable-candidate-patrol.yml",
43
+ ".github/workflows/v4-publication-rehearsal-dogfood.yml",
26
44
  ".github/workflows/v4-declarative-release-tail-dogfood.yml"
27
45
  ],
28
46
  "unknownTopologyPolicy": "fail-closed"
@@ -42,6 +60,135 @@
42
60
  "retired compatibility workflows"
43
61
  ]
44
62
  },
63
+ "authorityClosure": {
64
+ "providerAdapters": [
65
+ "actions/promote-buildchain-ref/github-release.js",
66
+ "actions/promote-buildchain-ref/v4-provider-plane.js",
67
+ "actions/release-tail/index.js",
68
+ "actions/v4-release-candidate-promote/index.js",
69
+ "actions/v4-release-candidate-promote/product-provider-adapters.js",
70
+ "actions/v4-release-candidate-promote/product-provider-github-adapters.js",
71
+ "actions/v4-release-candidate-promote/product-provider.js",
72
+ "packages/core/buildchain-agent-manuals.js",
73
+ "packages/core/index.js",
74
+ "packages/core/publication-rehearsal-runtime.js",
75
+ "packages/core/release-tail-provider-adapters.js",
76
+ "packages/core/release-tail-provider-plane.js",
77
+ "packages/core/v4-product-publication.js",
78
+ "packages/core/v4-publication-rehearsal-capsule.js",
79
+ "packages/core/v4-publication-rehearsal.js"
80
+ ],
81
+ "runtimeSelectors": [
82
+ ".github/workflows/.build.yml",
83
+ ".github/workflows/.release-candidate-promote.yml",
84
+ ".github/workflows/.web-surface.yml",
85
+ ".github/workflows/buildchain-ref-promotion-recovery.yml",
86
+ ".github/workflows/buildchain-ref-promotion.yml",
87
+ ".github/workflows/paper-release.yml",
88
+ ".github/workflows/publication-artifact.yml",
89
+ ".github/workflows/release-candidate-promote.yml",
90
+ ".github/workflows/v4-tail-reseal.yml",
91
+ "packages/core/buildchain-contract.js",
92
+ "packages/core/v4-runtime-ref-resume-authority.js",
93
+ "packages/core/v4-runtime-selector-persistence.js",
94
+ "scripts/aggregate-build-summary.mjs",
95
+ "scripts/artifact-signing-controller-core.mjs",
96
+ "scripts/authorize-promotion-runtime-override.cjs",
97
+ "scripts/buildchain-contract-lock.mjs",
98
+ "scripts/check-inventory.mjs",
99
+ "scripts/generate-channel-promotion-workflow.mjs",
100
+ "scripts/generate-release-candidate-passport.mjs",
101
+ "scripts/release-candidate-resolver.mjs",
102
+ "scripts/resume-from-candidate-run.mjs",
103
+ "scripts/v4-declarative-promotion-admission.mjs",
104
+ "scripts/v4-release-candidate-adapter.mjs"
105
+ ],
106
+ "runtimeEngines": ["actions/v4-release-candidate-promote/index.js"],
107
+ "terminalProjections": [
108
+ ".github/workflows/.release-candidate-promote.yml",
109
+ "actions/v4-release-candidate-promote/index.js",
110
+ "packages/core/v4-release-invocation.js",
111
+ "scripts/v4-universal-workflow-engine.mjs"
112
+ ],
113
+ "privilegedExecutableClosure": {
114
+ "entrypoints": ["actions/v4-release-candidate-promote/index.js"],
115
+ "modules": [
116
+ "actions/promote-buildchain-ref/github-release.js",
117
+ "actions/promote-buildchain-ref/internal/version-state.js",
118
+ "actions/promote-buildchain-ref/reuse-complete-release.js",
119
+ "actions/promote-buildchain-ref/v4-provider-plane.js",
120
+ "actions/v4-release-candidate-promote/index.js",
121
+ "actions/v4-release-candidate-promote/product-provider-adapters.js",
122
+ "actions/v4-release-candidate-promote/product-provider-github-adapters.js",
123
+ "actions/v4-release-candidate-promote/product-provider.js",
124
+ "packages/core/adopter-delivery-gate.js",
125
+ "packages/core/adopter-delivery-json.js",
126
+ "packages/core/adopter-delivery-passport.js",
127
+ "packages/core/artifact-verification-envelope.js",
128
+ "packages/core/buildchain-channel-identity.js",
129
+ "packages/core/buildchain-compatibility-authority.js",
130
+ "packages/core/buildchain-compatibility-fact.js",
131
+ "packages/core/buildchain-compatibility-facts.json",
132
+ "packages/core/buildchain-compatibility-proof.js",
133
+ "packages/core/buildchain-config.js",
134
+ "packages/core/buildchain-contract.js",
135
+ "packages/core/buildchain-layout.js",
136
+ "packages/core/controller-evidence.js",
137
+ "packages/core/dev-delivery-common.js",
138
+ "packages/core/dev-delivery-contract-surface.js",
139
+ "packages/core/github-artifact-attestation.js",
140
+ "packages/core/kfd-adopter-manifest.js",
141
+ "packages/core/kfd-gate.js",
142
+ "packages/core/kfd-product-gates.js",
143
+ "packages/core/kungfu-temporal-fact.js",
144
+ "packages/core/package-manager.js",
145
+ "packages/core/public-surface-audit.js",
146
+ "packages/core/public-surface-cli.js",
147
+ "packages/core/publication-artifact-candidate.js",
148
+ "packages/core/publication-authority.js",
149
+ "packages/core/publication-sealed-bundle.js",
150
+ "packages/core/publish-transaction.js",
151
+ "packages/core/release-candidate-recovery.js",
152
+ "packages/core/release-candidate.js",
153
+ "packages/core/release-passport-contract.js",
154
+ "packages/core/release-passport.js",
155
+ "packages/core/release-tail-product-capabilities.js",
156
+ "packages/core/release-tail-provider-adapters.js",
157
+ "packages/core/release-tail-provider-plane.js",
158
+ "packages/core/spawn-command.js",
159
+ "packages/core/surface-manifest.js",
160
+ "packages/core/v4-canonical-contracts.js",
161
+ "packages/core/v4-floating-consumer-evidence.js",
162
+ "packages/core/v4-floating-consumer-policy.js",
163
+ "packages/core/v4-floating-consumer-release-passport.js",
164
+ "packages/core/v4-product-publication.js",
165
+ "packages/core/v4-protected-publication-source.js",
166
+ "packages/core/v4-publication-qualification.js",
167
+ "packages/core/v4-release-invocation.js",
168
+ "packages/core/v4-runtime-ref-resume-authority.js",
169
+ "packages/core/v4-runtime-selector-persistence.js",
170
+ "packages/core/web-surface-publication-candidate.js",
171
+ "packages/core/workflow-yaml-contract.js",
172
+ "scripts/ensure-github-release.mjs"
173
+ ],
174
+ "root": "sha256:31d13d74b8b3dadbfe4b5061c99f6f6711be6c3b06449114f2708427374f9c85"
175
+ },
176
+ "legacyEngineModules": [
177
+ "actions/promote-buildchain-ref/internal/durable-transaction-operations.js",
178
+ "actions/promote-buildchain-ref/internal/promote-alpha-channel.js",
179
+ "actions/promote-buildchain-ref/internal/promote-major-channel.js",
180
+ "actions/promote-buildchain-ref/internal/promote-release-channel.js",
181
+ "actions/promote-buildchain-ref/lib.js"
182
+ ],
183
+ "freshEntry": ".github/workflows/release-candidate-promote.yml",
184
+ "recoveryEntry": ".github/workflows/buildchain-ref-promotion-recovery.yml",
185
+ "forbiddenLegacyEnginePatterns": [
186
+ "legacy-promote",
187
+ "v4-declarative-promote",
188
+ "BUILDCHAIN_DECLARATIVE_PROMOTION",
189
+ "Select declarative or legacy promotion result"
190
+ ]
191
+ },
45
192
  "baselineMetrics": {
46
193
  "workflowCount": 15,
47
194
  "jobCount": 38,
@@ -92,14 +239,6 @@
92
239
  "mutationSignals"
93
240
  ],
94
241
  "workflows": [
95
- {
96
- "path": ".github/workflows/.publication-authority.yml",
97
- "triggers": ["workflow_call"],
98
- "jobs": [
99
- "verify|runner|-|read|-|artifactDownload,artifactUpload,jobOutput|-"
100
- ],
101
- "reusableEdges": []
102
- },
103
242
  {
104
243
  "path": ".github/workflows/.release-candidate-promote.yml",
105
244
  "triggers": ["workflow_call"],
@@ -110,30 +249,6 @@
110
249
  ],
111
250
  "reusableEdges": []
112
251
  },
113
- {
114
- "path": ".github/workflows/.release-elastic-beanstalk.yml",
115
- "triggers": ["workflow_call"],
116
- "jobs": ["retired|runner|-|-|-|-|-"],
117
- "reusableEdges": []
118
- },
119
- {
120
- "path": ".github/workflows/.release-new-version.yml",
121
- "triggers": ["workflow_call"],
122
- "jobs": ["retired|runner|-|-|-|-|-"],
123
- "reusableEdges": []
124
- },
125
- {
126
- "path": ".github/workflows/.sam-release.yml",
127
- "triggers": ["workflow_call"],
128
- "jobs": ["retired|runner|-|-|-|-|-"],
129
- "reusableEdges": []
130
- },
131
- {
132
- "path": ".github/workflows/.wheel-release.yml",
133
- "triggers": ["workflow_call"],
134
- "jobs": ["retired|runner|-|-|-|-|-"],
135
- "reusableEdges": []
136
- },
137
252
  {
138
253
  "path": ".github/workflows/buildchain-ref-promotion-recovery.yml",
139
254
  "triggers": ["workflow_dispatch"],
@@ -148,6 +263,7 @@
148
263
  "path": ".github/workflows/buildchain-ref-promotion.yml",
149
264
  "triggers": ["workflow_dispatch", "workflow_run:completed"],
150
265
  "jobs": [
266
+ "classify-workflow-run|runner|-|read|-|-|-",
151
267
  "promote|reusable-call|kungfu-systems/buildchain/.github/workflows/.release-candidate-promote.yml@v4-alpha|write|write|-|contents-write,oidc-write",
152
268
  "reject-invalid-candidate-recovery|runner|-|read|-|-|-",
153
269
  "reject-invalid-durable-recovery|runner|-|read|-|-|-",
@@ -157,34 +273,6 @@
157
273
  "kungfu-systems/buildchain/.github/workflows/.release-candidate-promote.yml@v4-alpha"
158
274
  ]
159
275
  },
160
- {
161
- "path": ".github/workflows/npm-publish.yml",
162
- "triggers": ["workflow_dispatch"],
163
- "jobs": ["dry-run|runner|-|-|-|-|direct-publication-command"],
164
- "reusableEdges": []
165
- },
166
- {
167
- "path": ".github/workflows/paper-release-sealed.yml",
168
- "triggers": ["workflow_call"],
169
- "jobs": [
170
- "publication-authority|reusable-call|./.github/workflows/.publication-authority.yml|read|-|-|-",
171
- "publication-candidate|reusable-call|./.github/workflows/publication-artifact.yml|read|-|-|-",
172
- "publish|runner|-|read|write|artifactDownload,artifactUpload,jobOutput|contents-write,oidc-write,promotion-runtime"
173
- ],
174
- "reusableEdges": [
175
- "./.github/workflows/.publication-authority.yml",
176
- "./.github/workflows/publication-artifact.yml"
177
- ]
178
- },
179
- {
180
- "path": ".github/workflows/paper-release.yml",
181
- "triggers": ["workflow_call"],
182
- "jobs": [
183
- "paper-release|runner|-|write|write|artifactUpload,jobOutput|contents-write,oidc-write,promotion-runtime",
184
- "publication-authority|reusable-call|./.github/workflows/.publication-authority.yml|read|-|-|-"
185
- ],
186
- "reusableEdges": ["./.github/workflows/.publication-authority.yml"]
187
- },
188
276
  {
189
277
  "path": ".github/workflows/release-candidate-promote.yml",
190
278
  "triggers": ["workflow_call"],
@@ -197,18 +285,6 @@
197
285
  "kungfu-systems/buildchain/.github/workflows/.release-candidate-promote.yml@v4-alpha"
198
286
  ]
199
287
  },
200
- {
201
- "path": ".github/workflows/release-new-version.yml",
202
- "triggers": ["pull_request:closed"],
203
- "jobs": ["buildchain-self-release|runner|-|-|-|-|-"],
204
- "reusableEdges": []
205
- },
206
- {
207
- "path": ".github/workflows/release-tail.yml",
208
- "triggers": ["workflow_call"],
209
- "jobs": ["release-tail|runner|-|-|-|artifactUpload|-"],
210
- "reusableEdges": []
211
- },
212
288
  {
213
289
  "path": ".github/workflows/v4-declarative-release-tail-dogfood.yml",
214
290
  "triggers": ["workflow_dispatch"],
@@ -221,12 +297,12 @@
221
297
  }
222
298
  ],
223
299
  "metrics": {
224
- "workflowCount": 15,
225
- "jobCount": 25,
226
- "reusableEdgeCount": 7,
227
- "mutationRelevantNodeCount": 16,
228
- "contentsWriteJobCount": 6,
229
- "oidcWriteJobCount": 6
300
+ "workflowCount": 33,
301
+ "jobCount": 89,
302
+ "reusableEdgeCount": 23,
303
+ "mutationRelevantNodeCount": 74,
304
+ "contentsWriteJobCount": 14,
305
+ "oidcWriteJobCount": 16
230
306
  },
231
307
  "semanticMetrics": {
232
308
  "workflowCount": 5,
@@ -73,7 +73,10 @@
73
73
  "stateAuthority": "single-writer-state-machine",
74
74
  "legacyFallbackAllowed": false,
75
75
  "providerDecisionAuthorityAllowed": false,
76
- "implementation": ["packages/core/dev-delivery-warrant.js"],
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,171 @@
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
+ "reviewRuntimeBinding": "reviewed-head-or-protected-alpha-merge-to-exact-runtime",
23
+ "buildchainReleasePromotionPerIncident": false,
24
+ "selfDogfoodUsesPublicContract": true
25
+ },
26
+ "capabilityAdapters": [
27
+ {
28
+ "id": "bootstrap-conformance",
29
+ "execution": "exact-candidate-engine",
30
+ "payloadSchema": "kungfu-buildchain-v4-universal-bootstrap-conformance/v1",
31
+ "providerEffects": false
32
+ },
33
+ {
34
+ "id": "release-candidate-promote",
35
+ "execution": "exact-candidate-action-and-provider-readback",
36
+ "payloadSchema": "kungfu-buildchain-v4-universal-release-promotion/v1",
37
+ "providerEffects": true
38
+ },
39
+ {
40
+ "id": "release-invocation",
41
+ "execution": "exact-candidate-canonical-projection",
42
+ "payloadSchema": "kungfu-buildchain-v4-release-invocation/v1",
43
+ "providerEffects": false
44
+ }
45
+ ],
46
+ "complexityBudget": {
47
+ "bootstrapAbis": 1,
48
+ "requestEnvelopes": 1,
49
+ "candidateResolvers": 1,
50
+ "candidateEngines": 1,
51
+ "terminalReceiptAuthorities": 1,
52
+ "perWorkflowBootstrapImplementations": 0,
53
+ "buildchainOnlySelfReleasePaths": 0,
54
+ "perIncidentConsumerEdits": 0
55
+ },
56
+ "permissionCeiling": {
57
+ "actions": "write",
58
+ "artifact-metadata": "write",
59
+ "attestations": "write",
60
+ "checks": "write",
61
+ "contents": "write",
62
+ "deployments": "write",
63
+ "id-token": "write",
64
+ "issues": "write",
65
+ "packages": "write",
66
+ "pages": "write",
67
+ "pull-requests": "write",
68
+ "security-events": "write",
69
+ "statuses": "write"
70
+ },
71
+ "inventoryWorkflows": [
72
+ ".github/workflows/.auditable-demo.yml",
73
+ ".github/workflows/.binary-release-assets.yml",
74
+ ".github/workflows/.build.yml",
75
+ ".github/workflows/.bump-minor-version.yml",
76
+ ".github/workflows/.declarative-auditable-demo.yml",
77
+ ".github/workflows/.gate-profile.yml",
78
+ ".github/workflows/.publication-authority.yml",
79
+ ".github/workflows/.release-candidate-promote.yml",
80
+ ".github/workflows/.release-verify.yml",
81
+ ".github/workflows/.sam-verify.yml",
82
+ ".github/workflows/.sync-release-page.yml",
83
+ ".github/workflows/.sync-remote-git.yml",
84
+ ".github/workflows/.web-surface.yml",
85
+ ".github/workflows/.wheel-verify.yml",
86
+ ".github/workflows/bootstrap.yml",
87
+ ".github/workflows/build.yml",
88
+ ".github/workflows/buildchain-patrol.yml",
89
+ ".github/workflows/check.yml",
90
+ ".github/workflows/dev-alpha-candidate-patrol.yml",
91
+ ".github/workflows/dev-delivery-warrant-cancel.yml",
92
+ ".github/workflows/dev-delivery-warrant-close.yml",
93
+ ".github/workflows/dev-pr-auto-merge.yml",
94
+ ".github/workflows/dev-qualification-patrol.yml",
95
+ ".github/workflows/engineering-housekeeper.yml",
96
+ ".github/workflows/github-artifact-attestation.yml",
97
+ ".github/workflows/paper-release-sealed.yml",
98
+ ".github/workflows/paper-release.yml",
99
+ ".github/workflows/patrol-daily.yml",
100
+ ".github/workflows/patrol-monthly.yml",
101
+ ".github/workflows/patrol-observed-evidence.yml",
102
+ ".github/workflows/patrol-weekly.yml",
103
+ ".github/workflows/publication-artifact.yml",
104
+ ".github/workflows/release-candidate-promote.yml",
105
+ ".github/workflows/release-governance-reconcile.yml",
106
+ ".github/workflows/release-propagation.yml",
107
+ ".github/workflows/release-tail.yml",
108
+ ".github/workflows/stable-candidate-patrol.yml",
109
+ ".github/workflows/universal-bootstrap-recovery.yml",
110
+ ".github/workflows/v4-adopter-delivery.yml",
111
+ ".github/workflows/v4-stage-capsule-canary.yml",
112
+ ".github/workflows/v4-tail-reseal.yml"
113
+ ],
114
+ "retiredWorkflowSurfaces": [],
115
+ "bootstrapGovernedWorkflows": [
116
+ ".github/workflows/.auditable-demo.yml",
117
+ ".github/workflows/.binary-release-assets.yml",
118
+ ".github/workflows/.build.yml",
119
+ ".github/workflows/.bump-minor-version.yml",
120
+ ".github/workflows/.declarative-auditable-demo.yml",
121
+ ".github/workflows/.gate-profile.yml",
122
+ ".github/workflows/.publication-authority.yml",
123
+ ".github/workflows/.release-candidate-promote.yml",
124
+ ".github/workflows/.release-verify.yml",
125
+ ".github/workflows/.sam-verify.yml",
126
+ ".github/workflows/.sync-release-page.yml",
127
+ ".github/workflows/.sync-remote-git.yml",
128
+ ".github/workflows/.web-surface.yml",
129
+ ".github/workflows/.wheel-verify.yml",
130
+ ".github/workflows/bootstrap.yml",
131
+ ".github/workflows/build.yml",
132
+ ".github/workflows/buildchain-patrol.yml",
133
+ ".github/workflows/check.yml",
134
+ ".github/workflows/dev-alpha-candidate-patrol.yml",
135
+ ".github/workflows/dev-delivery-warrant-cancel.yml",
136
+ ".github/workflows/dev-delivery-warrant-close.yml",
137
+ ".github/workflows/dev-pr-auto-merge.yml",
138
+ ".github/workflows/dev-qualification-patrol.yml",
139
+ ".github/workflows/engineering-housekeeper.yml",
140
+ ".github/workflows/github-artifact-attestation.yml",
141
+ ".github/workflows/paper-release-sealed.yml",
142
+ ".github/workflows/paper-release.yml",
143
+ ".github/workflows/patrol-daily.yml",
144
+ ".github/workflows/patrol-monthly.yml",
145
+ ".github/workflows/patrol-observed-evidence.yml",
146
+ ".github/workflows/patrol-weekly.yml",
147
+ ".github/workflows/publication-artifact.yml",
148
+ ".github/workflows/release-candidate-promote.yml",
149
+ ".github/workflows/release-governance-reconcile.yml",
150
+ ".github/workflows/release-propagation.yml",
151
+ ".github/workflows/release-tail.yml",
152
+ ".github/workflows/stable-candidate-patrol.yml",
153
+ ".github/workflows/v4-adopter-delivery.yml",
154
+ ".github/workflows/v4-stage-capsule-canary.yml",
155
+ ".github/workflows/v4-tail-reseal.yml"
156
+ ],
157
+ "migration": {
158
+ "compatibilityFacadeGenerator": "scripts/generate-v4-universal-workflow-facades.mjs",
159
+ "facadeSourceRevision": "7f9ce215cf05bfd6b190624bfc1de8545065767d",
160
+ "channelGeneratedFacades": [
161
+ ".github/workflows/build.yml",
162
+ ".github/workflows/release-candidate-promote.yml"
163
+ ],
164
+ "staticBootstrap": "implemented",
165
+ "candidateEngine": "bounded-capability-adapters",
166
+ "compatibilityFacades": "generated-dual-path",
167
+ "externalConsumerDogfood": "public-consumer-three-platform-runtime-and-non-circular-recovery-hosted-proof-passed",
168
+ "buildchainSelfDogfood": "train-primary-and-consumer-recovery-three-pair-hosted-proof-passed",
169
+ "oldPathRetirement": "pending-protected-dev-integration"
170
+ }
171
+ }
@@ -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:4563c954e84d34b73e6683981e1e23dd6b8bb9b9551392b4e393efb624cc980e",
27
+ "sha256:65a0c2fc3faecaddf5076fff086b5d6e12eb9ba27796efc10aed19f2d93b9457",
28
+ "sha256:b6737ed958e8f53f7770b1c214c092591573ad63af41e05797117d9b7b212ed8",
29
+ "sha256:b94023c4abe4216765198adcaefb4825874a4d9053be096d35a53d6821128b52",
30
+ "sha256:ca0592275354f0690756e3f11accdd23615987827c346618c50c2e8a2807ad4d",
31
+ "sha256:cf3c5a79de580525953e1fc02b2b2937a1d1a50219b4464510dd5b4725ca9ca5",
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
+ }