@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.
- package/AGENTS.md +7 -5
- package/CONTRIBUTING.md +12 -6
- package/README.md +9 -5
- package/architecture/action-taxonomy.json +2 -0
- package/architecture/agent-change-map.md +6 -1
- package/architecture/build-orchestration.json +7 -1
- package/architecture/ci-lane-change-budget.json +1836 -0
- package/architecture/consumer-upgrade.json +6482 -0
- package/architecture/internal-capabilities.json +5 -2
- package/architecture/maintainability-debt.json +18 -10
- package/architecture/maintainability-policy.json +9 -9
- package/architecture/release-topology.json +10 -1
- package/architecture/universal-workflow-bootstrap.json +88 -18
- package/architecture/universal-workflow-capability-policy.json +2 -2
- package/architecture/workflow-taxonomy.json +2 -1
- package/contracts/dev-delivery-authority-v2.schema.json +29 -3
- package/contracts/fixtures/consumer-upgrade/build-v4.0.0.json +764 -0
- package/contracts/fixtures/consumer-upgrade/consumer-calls.json +447 -0
- package/contracts/fixtures/consumer-upgrade/dev-delivery-identity-v4.0.0.json +27 -0
- package/contracts/fixtures/consumer-upgrade/dev-pr-auto-merge-v4.0.0.json +256 -0
- package/contracts/fixtures/consumer-upgrade/dev-pr-auto-merge-v4.0.9.json +358 -0
- package/contracts/fixtures/consumer-upgrade/release-v4.0.0.json +815 -0
- package/contracts/promotion-invocation-v1.schema.json +5 -0
- package/dist/site/buildchain-contract.json +40 -23
- package/dist/site/buildchain-site.json +20 -20
- package/dist/site/capability-registry.json +5 -5
- package/dist/site/controller-registry.json +17 -5
- package/dist/site/kfd-claims.json +1376 -143
- package/dist/site/kfd-upstream-aggregate.json +1 -1
- package/dist/site/manual-registry.json +4 -4
- package/dist/site/node-api-registry.json +22 -22
- package/dist/site/page-registry.json +14 -14
- package/dist/site/public-surface-audit.json +1733 -101
- package/dist/site/publication-authority-registry.json +651 -32
- package/dist/site/publication-registry.json +1 -1
- package/dist/site/schemas/dev-delivery-authority-v2.schema.json +29 -3
- package/dist/site/site-manifest.json +5 -5
- package/dist/site/workflow-registry.json +2501 -149
- package/docs/MAP.md +5 -4
- package/docs/code-organization.md +11 -8
- package/docs/getting-started.md +31 -2
- package/docs/migration-inventory.md +8 -6
- package/docs/node-api-reference.md +36 -36
- package/docs/workflow-path-migration.md +8 -7
- package/package.json +1 -1
- package/packages/core/build/artifact/contracts.js +10 -2
- package/packages/core/build/artifact/transport.js +1 -1
- package/packages/core/build/artifact/upload.js +2 -2
- package/packages/core/build/plan/action.js +2 -0
- package/packages/core/build/plan/admission.js +9 -3
- package/packages/core/build/plan/compatibility-artifacts.js +47 -0
- package/packages/core/build/plan/compatibility-plan.js +121 -0
- package/packages/core/build/plan/compatibility.js +162 -0
- package/packages/core/build/plan/configuration.js +10 -37
- package/packages/core/build/plan/identity.js +42 -0
- package/packages/core/build/plan/lifecycle.js +1 -0
- package/packages/core/build/plan/resolve.js +2 -0
- package/packages/core/build/summary/aggregation.js +4 -2
- package/packages/core/build/summary/compatibility.js +24 -0
- package/packages/core/build/summary/finalization.js +18 -0
- package/packages/core/build/summary/historical-outputs.js +88 -0
- package/packages/core/contracts/runtime-contract-inspection.js +8 -0
- package/packages/core/dev-delivery/candidate/submission.js +2 -1
- package/packages/core/dev-delivery/commands/dev-delivery-authority-command-adapters.mjs +2 -1
- package/packages/core/dev-delivery/commands/dev-delivery-authority.mjs +6 -5
- package/packages/core/dev-delivery/commands/dev-delivery-warrant-options.mjs +22 -3
- package/packages/core/dev-delivery/dev-delivery-candidate-identity.js +13 -4
- package/packages/core/dev-delivery/dev-delivery-warrant.js +4 -1
- package/packages/core/dev-delivery/warrant/handoff.js +2 -1
- package/packages/core/dev-delivery/warrant/transitions.js +2 -2
- package/packages/core/governance/buildchain-publication-authority.js +5 -9
- package/packages/core/release/github-release-metadata.js +58 -0
- package/packages/core/release/promote-candidate/action.js +4 -2
- package/packages/core/release/promote-candidate/preparation.js +6 -0
- package/packages/core/release/promote-candidate/publication.js +36 -0
- package/packages/core/release/promote-candidate/release-documents.js +1 -1
- package/packages/core/release/promotion/candidate.js +4 -2
- package/packages/core/release/promotion/compatibility-context.js +93 -0
- package/packages/core/release/promotion/compatibility-qualification.js +48 -0
- package/packages/core/release/promotion/compatibility.js +141 -0
- package/packages/core/release/promotion/historical-evidence-action.js +17 -0
- package/packages/core/release/promotion/historical-evidence-files.js +112 -0
- package/packages/core/release/promotion/historical-evidence.js +231 -0
- package/packages/core/release/promotion/qualification.js +12 -1
- package/packages/core/release/promotion/routing.js +3 -2
- package/packages/core/release/promotion-request.js +31 -2
- package/packages/core/release/release-tail-provider-adapters.js +18 -0
- package/packages/core/runtime/entry/actions.js +4 -1
- package/packages/core/runtime/entry/compatibility.js +53 -0
- package/packages/core/workflow/engine/conformance.js +7 -3
- package/packages/core/workflow/pipeline/controller.js +26 -26
- package/scripts/check-dev-delivery-actions.mjs +12 -0
- package/scripts/check-inventory.mjs +1 -1
- package/scripts/check-public-dogfood-contract.mjs +2 -0
- package/scripts/check-release-topology.mjs +5 -1
- package/scripts/check-self-consumer-contract.mjs +5 -1
- package/scripts/generate-bootstrap-admission.mjs +20 -0
- package/scripts/generate-site-bundle.mjs +5 -5
- package/scripts/generate-workflow-taxonomy.mjs +17 -0
- package/scripts/maintainability-metrics.mjs +30 -2
- package/scripts/maintainability-public-surface.mjs +5 -3
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
{
|
|
2
|
+
"inputs": {
|
|
3
|
+
"buildchain-repository": {
|
|
4
|
+
"description": "Buildchain runtime repository",
|
|
5
|
+
"default": "kungfu-systems/buildchain",
|
|
6
|
+
"type": "string",
|
|
7
|
+
"required": false
|
|
8
|
+
},
|
|
9
|
+
"buildchain-ref": {
|
|
10
|
+
"description": "Optional Buildchain runtime ref. Empty uses v3.",
|
|
11
|
+
"default": "v3",
|
|
12
|
+
"type": "string",
|
|
13
|
+
"required": false
|
|
14
|
+
},
|
|
15
|
+
"target-branch": {
|
|
16
|
+
"description": "Protected dev branch to merge ready PRs into",
|
|
17
|
+
"default": "",
|
|
18
|
+
"type": "string",
|
|
19
|
+
"required": false
|
|
20
|
+
},
|
|
21
|
+
"expected-pr-number": {
|
|
22
|
+
"description": "Optional exact PR number for targeted Agent admission; requires expected-head-sha",
|
|
23
|
+
"default": 0,
|
|
24
|
+
"type": "number",
|
|
25
|
+
"required": false
|
|
26
|
+
},
|
|
27
|
+
"expected-head-sha": {
|
|
28
|
+
"description": "Exact 40-character PR head required for targeted Agent admission",
|
|
29
|
+
"default": "",
|
|
30
|
+
"type": "string",
|
|
31
|
+
"required": false
|
|
32
|
+
},
|
|
33
|
+
"diagnostic-context": {
|
|
34
|
+
"description": "Commit-status context used for PR-visible targeted admission state",
|
|
35
|
+
"default": "Buildchain delivery intent",
|
|
36
|
+
"type": "string",
|
|
37
|
+
"required": false
|
|
38
|
+
},
|
|
39
|
+
"delivery-warrant-mode": {
|
|
40
|
+
"description": "Delivery Warrant rollout: off, shadow (read-only queue plan), or required",
|
|
41
|
+
"default": "off",
|
|
42
|
+
"type": "string",
|
|
43
|
+
"required": false
|
|
44
|
+
},
|
|
45
|
+
"assignment-root": {
|
|
46
|
+
"description": "Exact native Assignment content root",
|
|
47
|
+
"default": "",
|
|
48
|
+
"type": "string",
|
|
49
|
+
"required": false
|
|
50
|
+
},
|
|
51
|
+
"initiative-root": {
|
|
52
|
+
"description": "Exact parent Initiative content root",
|
|
53
|
+
"default": "",
|
|
54
|
+
"type": "string",
|
|
55
|
+
"required": false
|
|
56
|
+
},
|
|
57
|
+
"source-identity-root": {
|
|
58
|
+
"description": "Immutable semantic source identity root",
|
|
59
|
+
"default": "",
|
|
60
|
+
"type": "string",
|
|
61
|
+
"required": false
|
|
62
|
+
},
|
|
63
|
+
"source-patch-root": {
|
|
64
|
+
"description": "Immutable source patch or tree-intent root",
|
|
65
|
+
"default": "",
|
|
66
|
+
"type": "string",
|
|
67
|
+
"required": false
|
|
68
|
+
},
|
|
69
|
+
"project-cut-proof-json": {
|
|
70
|
+
"description": "Optional exact rooted Project Cut replay proof required when GitHub reports the PR behind the current protected base",
|
|
71
|
+
"default": "",
|
|
72
|
+
"type": "string",
|
|
73
|
+
"required": false
|
|
74
|
+
},
|
|
75
|
+
"plan-root": {
|
|
76
|
+
"description": "Exact qualification plan root",
|
|
77
|
+
"default": "",
|
|
78
|
+
"type": "string",
|
|
79
|
+
"required": false
|
|
80
|
+
},
|
|
81
|
+
"closure-root": {
|
|
82
|
+
"description": "Exact affected-closure root",
|
|
83
|
+
"default": "",
|
|
84
|
+
"type": "string",
|
|
85
|
+
"required": false
|
|
86
|
+
},
|
|
87
|
+
"dependency-root": {
|
|
88
|
+
"description": "Exact dependency-graph root",
|
|
89
|
+
"default": "",
|
|
90
|
+
"type": "string",
|
|
91
|
+
"required": false
|
|
92
|
+
},
|
|
93
|
+
"toolchain-root": {
|
|
94
|
+
"description": "Exact qualification toolchain root",
|
|
95
|
+
"default": "",
|
|
96
|
+
"type": "string",
|
|
97
|
+
"required": false
|
|
98
|
+
},
|
|
99
|
+
"affected-paths-json": {
|
|
100
|
+
"description": "JSON array of paths covered by source qualification",
|
|
101
|
+
"default": "[]",
|
|
102
|
+
"type": "string",
|
|
103
|
+
"required": false
|
|
104
|
+
},
|
|
105
|
+
"shard-evidence-roots-json": {
|
|
106
|
+
"description": "JSON array of additional source-shard evidence roots",
|
|
107
|
+
"default": "[]",
|
|
108
|
+
"type": "string",
|
|
109
|
+
"required": false
|
|
110
|
+
},
|
|
111
|
+
"delivery-class": {
|
|
112
|
+
"description": "Bounded delivery class",
|
|
113
|
+
"default": "native-proof-required",
|
|
114
|
+
"type": "string",
|
|
115
|
+
"required": false
|
|
116
|
+
},
|
|
117
|
+
"delivery-priority": {
|
|
118
|
+
"description": "Reviewed priority: ordinary, expedited, or emergency",
|
|
119
|
+
"default": "ordinary",
|
|
120
|
+
"type": "string",
|
|
121
|
+
"required": false
|
|
122
|
+
},
|
|
123
|
+
"warrant-lease-seconds": {
|
|
124
|
+
"description": "Delivery Warrant lease TTL",
|
|
125
|
+
"default": 3600,
|
|
126
|
+
"type": "number",
|
|
127
|
+
"required": false
|
|
128
|
+
},
|
|
129
|
+
"required-status-checks": {
|
|
130
|
+
"description": "Comma or newline separated required status/check-run name fragments",
|
|
131
|
+
"default": "check / check",
|
|
132
|
+
"type": "string",
|
|
133
|
+
"required": false
|
|
134
|
+
},
|
|
135
|
+
"queue-admission-context": {
|
|
136
|
+
"description": "Temporary exact-head commit status required before native queue admission",
|
|
137
|
+
"default": "",
|
|
138
|
+
"type": "string",
|
|
139
|
+
"required": false
|
|
140
|
+
},
|
|
141
|
+
"ready-label": {
|
|
142
|
+
"description": "Required label for PRs eligible to merge. Empty disables the label gate.",
|
|
143
|
+
"default": "ready",
|
|
144
|
+
"type": "string",
|
|
145
|
+
"required": false
|
|
146
|
+
},
|
|
147
|
+
"block-labels": {
|
|
148
|
+
"description": "Comma or newline separated labels that block merging",
|
|
149
|
+
"default": "blocked,do-not-merge,work-in-progress",
|
|
150
|
+
"type": "string",
|
|
151
|
+
"required": false
|
|
152
|
+
},
|
|
153
|
+
"allowed-head-prefixes": {
|
|
154
|
+
"description": "Comma or newline separated allowed source branch prefixes",
|
|
155
|
+
"default": "feature/,fix/,chore/,docs/,ci/,refactor/",
|
|
156
|
+
"type": "string",
|
|
157
|
+
"required": false
|
|
158
|
+
},
|
|
159
|
+
"require-approval": {
|
|
160
|
+
"description": "Require at least one current approval and no latest changes-requested review",
|
|
161
|
+
"default": true,
|
|
162
|
+
"type": "boolean",
|
|
163
|
+
"required": false
|
|
164
|
+
},
|
|
165
|
+
"same-repository-only": {
|
|
166
|
+
"description": "Reject fork/cross-repository PR heads by default",
|
|
167
|
+
"default": true,
|
|
168
|
+
"type": "boolean",
|
|
169
|
+
"required": false
|
|
170
|
+
},
|
|
171
|
+
"max-merges": {
|
|
172
|
+
"description": "Maximum PRs to merge in one run",
|
|
173
|
+
"default": 1,
|
|
174
|
+
"type": "number",
|
|
175
|
+
"required": false
|
|
176
|
+
},
|
|
177
|
+
"merge-method": {
|
|
178
|
+
"description": "GitHub merge method: merge, squash, or rebase",
|
|
179
|
+
"default": "merge",
|
|
180
|
+
"type": "string",
|
|
181
|
+
"required": false
|
|
182
|
+
},
|
|
183
|
+
"landing-mode": {
|
|
184
|
+
"description": "Landing mode: auto selects native queue when enabled; queue fails closed without one",
|
|
185
|
+
"default": "auto",
|
|
186
|
+
"type": "string",
|
|
187
|
+
"required": false
|
|
188
|
+
},
|
|
189
|
+
"dry-run": {
|
|
190
|
+
"description": "Plan only; do not merge PRs",
|
|
191
|
+
"default": true,
|
|
192
|
+
"type": "boolean",
|
|
193
|
+
"required": false
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
"secrets": {
|
|
197
|
+
"github-token": {
|
|
198
|
+
"description": "Optional token for reading and merging PRs. Defaults to github.token.",
|
|
199
|
+
"required": false
|
|
200
|
+
}
|
|
201
|
+
},
|
|
202
|
+
"outputs": {
|
|
203
|
+
"evaluated-count": {
|
|
204
|
+
"description": "Number of PRs evaluated",
|
|
205
|
+
"value": "${{ jobs.merge-dev-prs.outputs.evaluated-count }}"
|
|
206
|
+
},
|
|
207
|
+
"merged-count": {
|
|
208
|
+
"description": "Number of PRs directly merged, or directly eligible in dry-run mode",
|
|
209
|
+
"value": "${{ jobs.merge-dev-prs.outputs.merged-count }}"
|
|
210
|
+
},
|
|
211
|
+
"enqueued-count": {
|
|
212
|
+
"description": "Number of PRs admitted into the native merge queue",
|
|
213
|
+
"value": "${{ jobs.merge-dev-prs.outputs.enqueued-count }}"
|
|
214
|
+
},
|
|
215
|
+
"action-count": {
|
|
216
|
+
"description": "Number of direct merges, queue admissions, or planned actions",
|
|
217
|
+
"value": "${{ jobs.merge-dev-prs.outputs.action-count }}"
|
|
218
|
+
},
|
|
219
|
+
"skipped-count": {
|
|
220
|
+
"description": "Number of PRs skipped",
|
|
221
|
+
"value": "${{ jobs.merge-dev-prs.outputs.skipped-count }}"
|
|
222
|
+
},
|
|
223
|
+
"final-base-sha": {
|
|
224
|
+
"description": "Final target branch SHA after the run",
|
|
225
|
+
"value": "${{ jobs.merge-dev-prs.outputs.final-base-sha }}"
|
|
226
|
+
},
|
|
227
|
+
"admission-state": {
|
|
228
|
+
"description": "Typed targeted admission state; empty for cadence patrol",
|
|
229
|
+
"value": "${{ jobs.merge-dev-prs.outputs.admission-state }}"
|
|
230
|
+
},
|
|
231
|
+
"admission-receipt-root": {
|
|
232
|
+
"description": "Content root of the targeted exact-head admission receipt",
|
|
233
|
+
"value": "${{ jobs.merge-dev-prs.outputs.admission-receipt-root }}"
|
|
234
|
+
},
|
|
235
|
+
"source-proof-root": {
|
|
236
|
+
"description": "Content root of the reusable Source Qualification Proof",
|
|
237
|
+
"value": "${{ jobs.merge-dev-prs.outputs.source-proof-root }}"
|
|
238
|
+
},
|
|
239
|
+
"warrant-receipt-root": {
|
|
240
|
+
"description": "Content root of the selected Delivery Warrant receipt",
|
|
241
|
+
"value": "${{ jobs.merge-dev-prs.outputs.warrant-receipt-root }}"
|
|
242
|
+
},
|
|
243
|
+
"warrant-state-root": {
|
|
244
|
+
"description": "Exact readback root of the durable Warrant queue",
|
|
245
|
+
"value": "${{ jobs.merge-dev-prs.outputs.warrant-state-root }}"
|
|
246
|
+
},
|
|
247
|
+
"warrant-state-commit": {
|
|
248
|
+
"description": "Immutable queue commit containing the active Warrant readback",
|
|
249
|
+
"value": "${{ jobs.merge-dev-prs.outputs.warrant-state-commit }}"
|
|
250
|
+
},
|
|
251
|
+
"project-cut-proof-root": {
|
|
252
|
+
"description": "Verified exact Project Cut replay proof root, when supplied",
|
|
253
|
+
"value": "${{ jobs.merge-dev-prs.outputs.project-cut-proof-root }}"
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
{
|
|
2
|
+
"inputs": {
|
|
3
|
+
"universal-request-json": {
|
|
4
|
+
"description": "Versioned exact-candidate request envelope; empty preserves the compatibility path",
|
|
5
|
+
"default": "",
|
|
6
|
+
"required": false,
|
|
7
|
+
"type": "string"
|
|
8
|
+
},
|
|
9
|
+
"buildchain-repository": {
|
|
10
|
+
"description": "Buildchain runtime repository",
|
|
11
|
+
"default": "kungfu-systems/buildchain",
|
|
12
|
+
"type": "string",
|
|
13
|
+
"required": false
|
|
14
|
+
},
|
|
15
|
+
"buildchain-ref": {
|
|
16
|
+
"description": "Explicit Buildchain v4 runtime ref; empty and v3 selectors are rejected.",
|
|
17
|
+
"default": "v4",
|
|
18
|
+
"type": "string",
|
|
19
|
+
"required": false
|
|
20
|
+
},
|
|
21
|
+
"target-branch": {
|
|
22
|
+
"description": "Protected dev branch to merge ready PRs into",
|
|
23
|
+
"default": "",
|
|
24
|
+
"type": "string",
|
|
25
|
+
"required": false
|
|
26
|
+
},
|
|
27
|
+
"expected-pr-number": {
|
|
28
|
+
"description": "Optional exact PR number for targeted Agent admission; requires expected-head-sha",
|
|
29
|
+
"default": 0,
|
|
30
|
+
"type": "number",
|
|
31
|
+
"required": false
|
|
32
|
+
},
|
|
33
|
+
"expected-head-sha": {
|
|
34
|
+
"description": "Exact 40-character PR head required for targeted Agent admission",
|
|
35
|
+
"default": "",
|
|
36
|
+
"type": "string",
|
|
37
|
+
"required": false
|
|
38
|
+
},
|
|
39
|
+
"source-workflow-run-id": {
|
|
40
|
+
"description": "Exact successful source workflow run retained for immediate Warrant handoff",
|
|
41
|
+
"default": 0,
|
|
42
|
+
"type": "number",
|
|
43
|
+
"required": false
|
|
44
|
+
},
|
|
45
|
+
"handoff-workflow-id": {
|
|
46
|
+
"description": "Optional consumer workflow file to dispatch when another candidate owns the active Warrant",
|
|
47
|
+
"default": "",
|
|
48
|
+
"type": "string",
|
|
49
|
+
"required": false
|
|
50
|
+
},
|
|
51
|
+
"source-workflow-id": {
|
|
52
|
+
"description": "Optional consumer source workflow file used to recover a legacy active candidate's exact successful run",
|
|
53
|
+
"default": "",
|
|
54
|
+
"type": "string",
|
|
55
|
+
"required": false
|
|
56
|
+
},
|
|
57
|
+
"legacy-active-owner-binding-json": {
|
|
58
|
+
"description": "Explicit legacy-safe handoff path carrying the exact phase-less queue root, fence, and generation",
|
|
59
|
+
"default": "",
|
|
60
|
+
"type": "string",
|
|
61
|
+
"required": false
|
|
62
|
+
},
|
|
63
|
+
"diagnostic-context": {
|
|
64
|
+
"description": "Commit-status context used for PR-visible targeted admission state",
|
|
65
|
+
"default": "Buildchain delivery intent",
|
|
66
|
+
"type": "string",
|
|
67
|
+
"required": false
|
|
68
|
+
},
|
|
69
|
+
"delivery-warrant-mode": {
|
|
70
|
+
"description": "Delivery Warrant rollout: off, shadow (read-only queue plan), or required",
|
|
71
|
+
"default": "off",
|
|
72
|
+
"type": "string",
|
|
73
|
+
"required": false
|
|
74
|
+
},
|
|
75
|
+
"assignment-root": {
|
|
76
|
+
"description": "Exact native Assignment content root",
|
|
77
|
+
"default": "",
|
|
78
|
+
"type": "string",
|
|
79
|
+
"required": false
|
|
80
|
+
},
|
|
81
|
+
"initiative-root": {
|
|
82
|
+
"description": "Exact parent Initiative content root",
|
|
83
|
+
"default": "",
|
|
84
|
+
"type": "string",
|
|
85
|
+
"required": false
|
|
86
|
+
},
|
|
87
|
+
"source-identity-root": {
|
|
88
|
+
"description": "Immutable semantic source identity root",
|
|
89
|
+
"default": "",
|
|
90
|
+
"type": "string",
|
|
91
|
+
"required": false
|
|
92
|
+
},
|
|
93
|
+
"source-patch-root": {
|
|
94
|
+
"description": "Immutable source patch or tree-intent root",
|
|
95
|
+
"default": "",
|
|
96
|
+
"type": "string",
|
|
97
|
+
"required": false
|
|
98
|
+
},
|
|
99
|
+
"project-cut-proof-json": {
|
|
100
|
+
"description": "Optional exact rooted Project Cut replay proof required when GitHub reports the PR behind the current protected base",
|
|
101
|
+
"default": "",
|
|
102
|
+
"type": "string",
|
|
103
|
+
"required": false
|
|
104
|
+
},
|
|
105
|
+
"plan-root": {
|
|
106
|
+
"description": "Exact qualification plan root",
|
|
107
|
+
"default": "",
|
|
108
|
+
"type": "string",
|
|
109
|
+
"required": false
|
|
110
|
+
},
|
|
111
|
+
"closure-root": {
|
|
112
|
+
"description": "Exact affected-closure root",
|
|
113
|
+
"default": "",
|
|
114
|
+
"type": "string",
|
|
115
|
+
"required": false
|
|
116
|
+
},
|
|
117
|
+
"dependency-root": {
|
|
118
|
+
"description": "Exact dependency-graph root",
|
|
119
|
+
"default": "",
|
|
120
|
+
"type": "string",
|
|
121
|
+
"required": false
|
|
122
|
+
},
|
|
123
|
+
"toolchain-root": {
|
|
124
|
+
"description": "Exact qualification toolchain root",
|
|
125
|
+
"default": "",
|
|
126
|
+
"type": "string",
|
|
127
|
+
"required": false
|
|
128
|
+
},
|
|
129
|
+
"environment-root": {
|
|
130
|
+
"description": "Exact native execution environment contract root; required for required native qualification",
|
|
131
|
+
"default": "",
|
|
132
|
+
"type": "string",
|
|
133
|
+
"required": false
|
|
134
|
+
},
|
|
135
|
+
"affected-paths-json": {
|
|
136
|
+
"description": "JSON array of paths covered by source qualification",
|
|
137
|
+
"default": "[]",
|
|
138
|
+
"type": "string",
|
|
139
|
+
"required": false
|
|
140
|
+
},
|
|
141
|
+
"shard-evidence-roots-json": {
|
|
142
|
+
"description": "JSON array of additional native-shard evidence roots",
|
|
143
|
+
"default": "[]",
|
|
144
|
+
"type": "string",
|
|
145
|
+
"required": false
|
|
146
|
+
},
|
|
147
|
+
"native-proof-json": {
|
|
148
|
+
"description": "Optional reusable semantic native proof; base-only drift is classified before use",
|
|
149
|
+
"default": "",
|
|
150
|
+
"type": "string",
|
|
151
|
+
"required": false
|
|
152
|
+
},
|
|
153
|
+
"native-command": {
|
|
154
|
+
"description": "Native qualification command run after provisional Warrant selection when proof reuse is unavailable",
|
|
155
|
+
"default": "",
|
|
156
|
+
"type": "string",
|
|
157
|
+
"required": false
|
|
158
|
+
},
|
|
159
|
+
"native-command-root": {
|
|
160
|
+
"description": "Optional exact root of native-command; when supplied it must match before admission or spawn",
|
|
161
|
+
"default": "",
|
|
162
|
+
"type": "string",
|
|
163
|
+
"required": false
|
|
164
|
+
},
|
|
165
|
+
"release-blocker-priority-json": {
|
|
166
|
+
"description": "Optional exact rooted release-blocker priority claim",
|
|
167
|
+
"default": "",
|
|
168
|
+
"type": "string",
|
|
169
|
+
"required": false
|
|
170
|
+
},
|
|
171
|
+
"native-heartbeat-seconds": {
|
|
172
|
+
"description": "Heartbeat cadence while native qualification is running",
|
|
173
|
+
"default": 300,
|
|
174
|
+
"type": "number",
|
|
175
|
+
"required": false
|
|
176
|
+
},
|
|
177
|
+
"delivery-class": {
|
|
178
|
+
"description": "Bounded delivery class",
|
|
179
|
+
"default": "native-proof-required",
|
|
180
|
+
"type": "string",
|
|
181
|
+
"required": false
|
|
182
|
+
},
|
|
183
|
+
"delivery-priority": {
|
|
184
|
+
"description": "Reviewed priority: ordinary, expedited, or emergency",
|
|
185
|
+
"default": "ordinary",
|
|
186
|
+
"type": "string",
|
|
187
|
+
"required": false
|
|
188
|
+
},
|
|
189
|
+
"warrant-lease-seconds": {
|
|
190
|
+
"description": "Delivery Warrant lease TTL",
|
|
191
|
+
"default": 3600,
|
|
192
|
+
"type": "number",
|
|
193
|
+
"required": false
|
|
194
|
+
},
|
|
195
|
+
"required-status-checks": {
|
|
196
|
+
"description": "Comma or newline separated required status/check-run name fragments",
|
|
197
|
+
"default": "check / check",
|
|
198
|
+
"type": "string",
|
|
199
|
+
"required": false
|
|
200
|
+
},
|
|
201
|
+
"queue-admission-context": {
|
|
202
|
+
"description": "Exact-head status written and read back before native queue admission; required in Warrant mode",
|
|
203
|
+
"default": "",
|
|
204
|
+
"type": "string",
|
|
205
|
+
"required": false
|
|
206
|
+
},
|
|
207
|
+
"active-lease-context": {
|
|
208
|
+
"description": "Exact-head lease status written and read back as pending before enqueue; required in Warrant mode",
|
|
209
|
+
"default": "",
|
|
210
|
+
"type": "string",
|
|
211
|
+
"required": false
|
|
212
|
+
},
|
|
213
|
+
"ready-label": {
|
|
214
|
+
"description": "Required label for PRs eligible to merge. Empty disables the label gate.",
|
|
215
|
+
"default": "ready",
|
|
216
|
+
"type": "string",
|
|
217
|
+
"required": false
|
|
218
|
+
},
|
|
219
|
+
"block-labels": {
|
|
220
|
+
"description": "Comma or newline separated labels that block merging",
|
|
221
|
+
"default": "blocked,do-not-merge,work-in-progress",
|
|
222
|
+
"type": "string",
|
|
223
|
+
"required": false
|
|
224
|
+
},
|
|
225
|
+
"allowed-head-prefixes": {
|
|
226
|
+
"description": "Comma or newline separated allowed source branch prefixes",
|
|
227
|
+
"default": "feature/,fix/,chore/,docs/,ci/,refactor/",
|
|
228
|
+
"type": "string",
|
|
229
|
+
"required": false
|
|
230
|
+
},
|
|
231
|
+
"require-approval": {
|
|
232
|
+
"description": "Require at least one current approval and no latest changes-requested review",
|
|
233
|
+
"default": true,
|
|
234
|
+
"type": "boolean",
|
|
235
|
+
"required": false
|
|
236
|
+
},
|
|
237
|
+
"same-repository-only": {
|
|
238
|
+
"description": "Reject fork/cross-repository PR heads by default",
|
|
239
|
+
"default": true,
|
|
240
|
+
"type": "boolean",
|
|
241
|
+
"required": false
|
|
242
|
+
},
|
|
243
|
+
"max-merges": {
|
|
244
|
+
"description": "Maximum PRs to merge in one run",
|
|
245
|
+
"default": 1,
|
|
246
|
+
"type": "number",
|
|
247
|
+
"required": false
|
|
248
|
+
},
|
|
249
|
+
"merge-method": {
|
|
250
|
+
"description": "GitHub merge method: merge, squash, or rebase",
|
|
251
|
+
"default": "merge",
|
|
252
|
+
"type": "string",
|
|
253
|
+
"required": false
|
|
254
|
+
},
|
|
255
|
+
"landing-mode": {
|
|
256
|
+
"description": "Landing mode: auto selects native queue when enabled; queue fails closed without one",
|
|
257
|
+
"default": "auto",
|
|
258
|
+
"type": "string",
|
|
259
|
+
"required": false
|
|
260
|
+
},
|
|
261
|
+
"defer-landing": {
|
|
262
|
+
"description": "Qualify the exact required Warrant and publish its evidence without landing the PR",
|
|
263
|
+
"default": false,
|
|
264
|
+
"type": "boolean",
|
|
265
|
+
"required": false
|
|
266
|
+
},
|
|
267
|
+
"dry-run": {
|
|
268
|
+
"description": "Plan only; do not merge PRs",
|
|
269
|
+
"default": true,
|
|
270
|
+
"type": "boolean",
|
|
271
|
+
"required": false
|
|
272
|
+
}
|
|
273
|
+
},
|
|
274
|
+
"secrets": {
|
|
275
|
+
"github-token": {
|
|
276
|
+
"description": "Optional token for reading and merging PRs. Defaults to github.token.",
|
|
277
|
+
"required": false
|
|
278
|
+
}
|
|
279
|
+
},
|
|
280
|
+
"outputs": {
|
|
281
|
+
"evaluated-count": {
|
|
282
|
+
"description": "Number of PRs evaluated",
|
|
283
|
+
"value": "${{ jobs.merge-dev-prs.outputs.evaluated-count }}"
|
|
284
|
+
},
|
|
285
|
+
"merged-count": {
|
|
286
|
+
"description": "Number of PRs directly merged, or directly eligible in dry-run mode",
|
|
287
|
+
"value": "${{ jobs.merge-dev-prs.outputs.merged-count }}"
|
|
288
|
+
},
|
|
289
|
+
"enqueued-count": {
|
|
290
|
+
"description": "Number of PRs admitted into the native merge queue",
|
|
291
|
+
"value": "${{ jobs.merge-dev-prs.outputs.enqueued-count }}"
|
|
292
|
+
},
|
|
293
|
+
"action-count": {
|
|
294
|
+
"description": "Number of direct merges, queue admissions, or planned actions",
|
|
295
|
+
"value": "${{ jobs.merge-dev-prs.outputs.action-count }}"
|
|
296
|
+
},
|
|
297
|
+
"skipped-count": {
|
|
298
|
+
"description": "Number of PRs skipped",
|
|
299
|
+
"value": "${{ jobs.merge-dev-prs.outputs.skipped-count }}"
|
|
300
|
+
},
|
|
301
|
+
"final-base-sha": {
|
|
302
|
+
"description": "Final target branch SHA after the run",
|
|
303
|
+
"value": "${{ jobs.merge-dev-prs.outputs.final-base-sha }}"
|
|
304
|
+
},
|
|
305
|
+
"admission-state": {
|
|
306
|
+
"description": "Typed targeted admission state; empty for cadence patrol",
|
|
307
|
+
"value": "${{ jobs.merge-dev-prs.outputs.admission-state }}"
|
|
308
|
+
},
|
|
309
|
+
"admission-receipt-root": {
|
|
310
|
+
"description": "Content root of the targeted exact-head admission receipt",
|
|
311
|
+
"value": "${{ jobs.merge-dev-prs.outputs.admission-receipt-root }}"
|
|
312
|
+
},
|
|
313
|
+
"source-proof-root": {
|
|
314
|
+
"description": "Content root of the reusable Source Qualification Proof",
|
|
315
|
+
"value": "${{ jobs.merge-dev-prs.outputs.source-proof-root }}"
|
|
316
|
+
},
|
|
317
|
+
"warrant-receipt-root": {
|
|
318
|
+
"description": "Content root of the selected Delivery Warrant receipt",
|
|
319
|
+
"value": "${{ jobs.merge-dev-prs.outputs.warrant-receipt-root }}"
|
|
320
|
+
},
|
|
321
|
+
"warrant-state-root": {
|
|
322
|
+
"description": "Exact readback root of the durable Warrant queue",
|
|
323
|
+
"value": "${{ jobs.merge-dev-prs.outputs.warrant-state-root }}"
|
|
324
|
+
},
|
|
325
|
+
"warrant-state-commit": {
|
|
326
|
+
"description": "Immutable queue commit containing the active Warrant readback",
|
|
327
|
+
"value": "${{ jobs.merge-dev-prs.outputs.warrant-state-commit }}"
|
|
328
|
+
},
|
|
329
|
+
"project-cut-proof-root": {
|
|
330
|
+
"description": "Verified exact Project Cut replay proof root, when supplied",
|
|
331
|
+
"value": "${{ jobs.merge-dev-prs.outputs.project-cut-proof-root }}"
|
|
332
|
+
},
|
|
333
|
+
"native-proof-root": {
|
|
334
|
+
"description": "Fresh or reused semantic native proof root",
|
|
335
|
+
"value": "${{ jobs.merge-dev-prs.outputs.native-proof-root }}"
|
|
336
|
+
},
|
|
337
|
+
"native-reuse-decision-root": {
|
|
338
|
+
"description": "Rooted fail-closed native proof reuse decision",
|
|
339
|
+
"value": "${{ jobs.merge-dev-prs.outputs.native-reuse-decision-root }}"
|
|
340
|
+
},
|
|
341
|
+
"qualified-warrant-receipt-root": {
|
|
342
|
+
"description": "Atomic provisional-to-qualified Warrant receipt root",
|
|
343
|
+
"value": "${{ jobs.merge-dev-prs.outputs.qualified-warrant-receipt-root }}"
|
|
344
|
+
},
|
|
345
|
+
"native-execution-transfer-root": {
|
|
346
|
+
"description": "Content root of the cross-job native proof and state transfer",
|
|
347
|
+
"value": "${{ jobs.merge-dev-prs.outputs.native-execution-transfer-root }}"
|
|
348
|
+
},
|
|
349
|
+
"provider-finalizer-boundary-root": {
|
|
350
|
+
"description": "Live provider readback root proving pairwise-distinct hosted native, seal, and finalizer domains",
|
|
351
|
+
"value": "${{ jobs.merge-dev-prs.outputs.provider-finalizer-boundary-root }}"
|
|
352
|
+
},
|
|
353
|
+
"provider-heartbeat-receipt-root": {
|
|
354
|
+
"description": "Rooted independent durable heartbeat continuity receipt",
|
|
355
|
+
"value": "${{ jobs.merge-dev-prs.outputs.provider-heartbeat-receipt-root }}"
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
}
|