@kungfu-tech/buildchain 4.0.1-alpha.8 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -6
- package/actions/v4-release-candidate-promote/README.md +3 -0
- package/architecture/agent-change-map.md +1015 -0
- package/architecture/ci-lane-change-budget.json +70 -1
- package/architecture/decisions/0004-v4-declarative-release-tail.md +47 -0
- package/architecture/internal-capabilities.json +156 -11
- package/architecture/maintainability-debt.json +3229 -0
- package/architecture/maintainability-policy.json +480 -129
- package/architecture/v3-core-mechanism-inventory.json +4 -3
- package/architecture/v3-v4-capability-closure.md +59 -0
- package/architecture/v3-v4-live-capability-inventory.json +102404 -0
- package/architecture/v4-cross-platform-adopter-qualification.json +52 -0
- package/architecture/v4-delivery-warrant-shadow-fixtures.json +3 -3
- package/architecture/v4-runtime-semantic-closure.json +710 -0
- package/bin/internal/trust-release-release-handlers.mjs +5 -0
- package/contracts/fixtures/v4-tail-reseal-v1/valid.json +1 -1
- package/contracts/v4-publication-qualification-v1.schema.json +51 -0
- package/dist/site/agent-index.json +1 -0
- package/dist/site/artifact-schemas.json +2 -0
- package/dist/site/buildchain-contract.json +123 -32
- package/dist/site/buildchain-site.json +96 -28
- package/dist/site/capability-registry.json +6 -6
- package/dist/site/cli-registry.json +5 -2
- package/dist/site/controller-registry.json +41 -5
- package/dist/site/kfd-claims.json +170 -21
- package/dist/site/kfd-upstream-aggregate.json +1 -1
- package/dist/site/manual-registry.json +6 -6
- package/dist/site/node-api-registry.json +1474 -215
- package/dist/site/page-registry.json +85 -17
- package/dist/site/public-surface-audit.json +85 -20
- package/dist/site/publication-authority-registry.json +28 -1
- package/dist/site/publication-registry.json +4 -4
- package/dist/site/release-provenance.json +5 -0
- package/dist/site/schemas/v4-publication-qualification-v1.schema.json +51 -0
- package/dist/site/site-manifest.json +10 -10
- package/dist/site/workflow-registry.json +94 -18
- package/docs/MAP.md +1 -1
- package/docs/cli-reference.md +4 -4
- package/docs/dev-delivery-warrant.md +12 -9
- package/docs/node-api-reference.md +291 -206
- package/docs/publish-transaction.md +11 -4
- package/docs/release-candidate.md +7 -0
- package/docs/v4-adopter-delivery.md +23 -4
- package/docs/v4-declarative-release-tail-migration.md +43 -0
- package/package.json +8 -3
- package/packages/core/adopter-delivery-passport.js +36 -0
- package/packages/core/buildchain-contract.js +31 -1
- package/packages/core/buildchain-publication-authority.js +1 -0
- package/packages/core/dev-delivery-warrant-settlement.js +239 -3
- package/packages/core/dev-delivery-warrant-state.js +15 -2
- package/packages/core/dev-delivery-warrant.js +21 -4
- package/packages/core/github-governance-authority.js +4 -4
- package/packages/core/index.js +1 -0
- package/packages/core/paper-scaffold-content.js +401 -0
- package/packages/core/paper.js +12 -378
- package/packages/core/publication-control-plane-audit.js +135 -111
- package/packages/core/publication-rehearsal-projection.js +104 -0
- package/packages/core/publication-rehearsal-runtime.js +190 -0
- package/packages/core/release-candidate-recovery.js +6 -5
- package/packages/core/release-passport.js +82 -184
- package/packages/core/v4-cross-platform-adopter-qualification.js +343 -0
- package/packages/core/v4-floating-consumer-policy.js +3 -2
- package/packages/core/v4-floating-consumer-release-passport.js +134 -15
- package/packages/core/v4-publication-qualification.js +222 -0
- package/scripts/artifact-signing-controller-core.mjs +1 -1
- package/scripts/audit-publication-control-plane.mjs +17 -17
- package/scripts/buildchain-cli-help.mjs +3 -0
- package/scripts/check-internal-architecture.mjs +23 -3
- package/scripts/check-inventory.mjs +23 -5
- package/scripts/check-maintainability.mjs +145 -4
- package/scripts/check-project-cut-merge-queue-admission.mjs +87 -0
- package/scripts/check-v3-v4-capability-inventory.mjs +574 -0
- package/scripts/check-v4-floating-consumer-policy-contract.mjs +10 -3
- package/scripts/check-v4-runtime-semantic-closure.mjs +266 -0
- package/scripts/dev-delivery-warrant-options.mjs +27 -11
- package/scripts/dev-delivery-warrant.mjs +45 -5
- package/scripts/dev-pr-auto-merge.mjs +25 -11
- package/scripts/dev-pr-delivery-warrant.mjs +44 -0
- package/scripts/dev-pr-prequeue-guard.mjs +0 -18
- package/scripts/dispatch-artifact-signing-authority.mjs +1 -1
- package/scripts/generate-agent-change-map.mjs +118 -0
- package/scripts/generate-release-candidate-passport.mjs +26 -1
- package/scripts/generate-site-bundle.mjs +6 -0
- package/scripts/maintainability-domain-metrics.mjs +237 -0
- package/scripts/maintainability-governance.mjs +473 -0
- package/scripts/maintainability-metrics.mjs +28 -6
- package/scripts/project-cut-merge-queue-admission.mjs +394 -0
- package/scripts/promotion-routing-evidence.mjs +35 -6
- package/scripts/release-candidate-resolver.mjs +44 -0
- package/scripts/release-line-policy.mjs +25 -15
- package/scripts/release-tail.mjs +19 -2
- package/scripts/resume-from-candidate-run.mjs +106 -103
- package/scripts/run-lifecycle-core.mjs +341 -376
- package/scripts/site-capability-metadata.mjs +4 -0
- package/scripts/stable-candidate-qualification.mjs +9 -10
- package/scripts/v3-v4-capability-catalog.mjs +439 -0
- package/scripts/v4-cross-platform-adopter-qualification.mjs +228 -0
- package/scripts/v4-declarative-promotion-admission.mjs +42 -0
|
@@ -183,5 +183,74 @@
|
|
|
183
183
|
".github/workflows/verify.yml#stage-capsule-checkpoints"
|
|
184
184
|
]
|
|
185
185
|
},
|
|
186
|
-
"declarations": [
|
|
186
|
+
"declarations": [
|
|
187
|
+
{
|
|
188
|
+
"laneId": ".github/workflows/.release-candidate-promote.yml#legacy-promote",
|
|
189
|
+
"authorityClass": "release",
|
|
190
|
+
"triggerClass": "reusable",
|
|
191
|
+
"concurrencyPolicy": {
|
|
192
|
+
"mode": "none",
|
|
193
|
+
"cancelInProgress": false
|
|
194
|
+
},
|
|
195
|
+
"expectedRunnerMinutes": 45,
|
|
196
|
+
"cancellationBehavior": "finish-started",
|
|
197
|
+
"sloImpact": {
|
|
198
|
+
"mergeCritical": false,
|
|
199
|
+
"metric": "protected release completion latency",
|
|
200
|
+
"expectedContributionSeconds": 0,
|
|
201
|
+
"rationale": "This is the existing v3 promotion lane under an explicit legacy identity, not an added execution path."
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"laneId": ".github/workflows/.release-candidate-promote.yml#v4-declarative-promote",
|
|
206
|
+
"authorityClass": "release",
|
|
207
|
+
"triggerClass": "reusable",
|
|
208
|
+
"concurrencyPolicy": {
|
|
209
|
+
"mode": "none",
|
|
210
|
+
"cancelInProgress": false
|
|
211
|
+
},
|
|
212
|
+
"expectedRunnerMinutes": 30,
|
|
213
|
+
"cancellationBehavior": "finish-started",
|
|
214
|
+
"sloImpact": {
|
|
215
|
+
"mergeCritical": false,
|
|
216
|
+
"metric": "protected release completion latency",
|
|
217
|
+
"expectedContributionSeconds": 0,
|
|
218
|
+
"rationale": "The v4 provider lane replaces consumer tail execution only for release invocations and is outside merge-critical CI."
|
|
219
|
+
}
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
"laneId": ".github/workflows/v4-declarative-release-tail-dogfood.yml#publish",
|
|
223
|
+
"authorityClass": "release",
|
|
224
|
+
"triggerClass": "manual",
|
|
225
|
+
"concurrencyPolicy": {
|
|
226
|
+
"mode": "none",
|
|
227
|
+
"cancelInProgress": false
|
|
228
|
+
},
|
|
229
|
+
"expectedRunnerMinutes": 35,
|
|
230
|
+
"cancellationBehavior": "finish-started",
|
|
231
|
+
"sloImpact": {
|
|
232
|
+
"mergeCritical": false,
|
|
233
|
+
"metric": "manual dogfood release completion latency",
|
|
234
|
+
"expectedContributionSeconds": 0,
|
|
235
|
+
"rationale": "The explicit dogfood run proves hosted provider publication and checkpoint resume without joining pull-request checks."
|
|
236
|
+
}
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
"laneId": ".github/workflows/v4-adopter-delivery.yml#qualification",
|
|
240
|
+
"authorityClass": "evidence",
|
|
241
|
+
"triggerClass": "mixed",
|
|
242
|
+
"concurrencyPolicy": {
|
|
243
|
+
"mode": "none",
|
|
244
|
+
"cancelInProgress": false
|
|
245
|
+
},
|
|
246
|
+
"expectedRunnerMinutes": 5,
|
|
247
|
+
"cancellationBehavior": "finish-started",
|
|
248
|
+
"sloImpact": {
|
|
249
|
+
"mergeCritical": false,
|
|
250
|
+
"metric": "public adopter qualification completion latency",
|
|
251
|
+
"expectedContributionSeconds": 0,
|
|
252
|
+
"rationale": "The lane only reconciles already-produced rooted platform reports and grants no provider, release, or stable publication authority."
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
]
|
|
187
256
|
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: accepted
|
|
3
|
+
period: ongoing
|
|
4
|
+
theme: buildchain-v4-declarative-release-tail
|
|
5
|
+
doc_type: decision
|
|
6
|
+
source_level: local-files
|
|
7
|
+
confidence: high
|
|
8
|
+
sensitivity: public
|
|
9
|
+
evidence_grade: A
|
|
10
|
+
review_state: self-reviewed
|
|
11
|
+
last_reviewed: 2026-08-26
|
|
12
|
+
ai_provenance:
|
|
13
|
+
model_family: GPT-5
|
|
14
|
+
product: Codex
|
|
15
|
+
generated_at: 2026-08-26
|
|
16
|
+
invisible_context: unavailable
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# ADR 0004: v4 release tails are sealed provider transactions
|
|
20
|
+
|
|
21
|
+
## Decision
|
|
22
|
+
|
|
23
|
+
Buildchain v4 release candidates carry a `kungfu.buildchain.v4-publication-qualification/v1` receipt. Build/Verify creates it from the candidate root, source root, typed artifact and manifest roots, floating-consumer policy digest, and a bounded freshness interval. The receipt root is written into every release-candidate Stage Capsule.
|
|
24
|
+
|
|
25
|
+
`release-candidate-promote` validates that evidence before publication. It does not check out the consumer repository and does not evaluate product-owned qualification, KFD, invariant, publication, activation, or evidence commands. The v4 path accepts no non-empty `command`, `cmd`, `script`, `shell`, or `run` input. The v3 path remains available with its existing inputs and behavior.
|
|
26
|
+
|
|
27
|
+
One Buildchain-owned provider transaction executes these ordered capabilities:
|
|
28
|
+
|
|
29
|
+
1. `artifact.publish` creates and reads back immutable GitHub Release assets.
|
|
30
|
+
2. `signed-channel.commit` commits the rooted channel document through the built-in GitHub document provider.
|
|
31
|
+
3. `release.activate` commits and reads back the rooted activation document.
|
|
32
|
+
4. `released-evidence.synthesize` writes receipt-only evidence from the sealed roots.
|
|
33
|
+
|
|
34
|
+
Buildchain aggregates the Release Passport before the first provider mutation. All four capabilities share one transaction root and use the existing Release Tail Provider Plane envelope, idempotency, retry, observation, and receipt contracts.
|
|
35
|
+
|
|
36
|
+
## Failure and resume semantics
|
|
37
|
+
|
|
38
|
+
The transaction state is checkpointed after every observation and effect. A retry reads the same state, verifies its declaration and plan roots, and starts at the first capability without a settled receipt. A provider result lost after mutation is recovered by readback. Conflicting or partially matching public state enters `repair-required` without another mutation.
|
|
39
|
+
|
|
40
|
+
The dogfood-only `provider-failure-after-capability` input interrupts after a durable capability checkpoint. The workflow immediately invokes the same built-in provider action against the same state path, proving local tail-only continuation and retaining the state, receipts, candidate evidence, and Release Passport as workflow artifacts.
|
|
41
|
+
|
|
42
|
+
## Consequences
|
|
43
|
+
|
|
44
|
+
- Consumers declare evidence and provider targets; they do not inject release-tail programs.
|
|
45
|
+
- Candidate, source, artifact, and policy mismatch, tampering, missing evidence, and stale evidence fail before provider mutation.
|
|
46
|
+
- Adding a new provider capability requires changing Buildchain's fixed capability registry and schema; arbitrary executable extension points are not a compatibility mechanism.
|
|
47
|
+
- v3 consumers are not forced onto the v4 evidence contract.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"schemaVersion":
|
|
2
|
+
"schemaVersion": 2,
|
|
3
3
|
"coverageRoots": [
|
|
4
4
|
"actions/promote-buildchain-ref/internal",
|
|
5
5
|
"bin/buildchain.mjs",
|
|
@@ -42,6 +42,7 @@
|
|
|
42
42
|
"scripts/paper-work-fleet-cli.mjs",
|
|
43
43
|
"scripts/run-lifecycle-core.mjs",
|
|
44
44
|
"scripts/resolve-artifact-transfer-mode.mjs",
|
|
45
|
+
"scripts/resolve-build-summary-names.sh",
|
|
45
46
|
"scripts/release-propagation.mjs",
|
|
46
47
|
"scripts/engineering-housekeeper-workflow.mjs",
|
|
47
48
|
"scripts/release-tail.mjs",
|
|
@@ -129,9 +130,17 @@
|
|
|
129
130
|
"packages/core/published-delivery-authority.js",
|
|
130
131
|
"packages/core/v4-adopter-delivery.js",
|
|
131
132
|
"packages/core/v4-adopter-delivery-parity.js",
|
|
133
|
+
"packages/core/v4-cross-platform-adopter-qualification.js",
|
|
134
|
+
"scripts/v4-cross-platform-adopter-qualification.mjs",
|
|
132
135
|
"crates/buildchain-v4-contracts/src/adopter_delivery.rs",
|
|
133
136
|
"crates/buildchain-v4-contracts/src/compatibility_facts.rs",
|
|
134
|
-
"crates/buildchain-v4-contracts/src/compatibility_facts"
|
|
137
|
+
"crates/buildchain-v4-contracts/src/compatibility_facts",
|
|
138
|
+
"scripts/check-internal-architecture.mjs",
|
|
139
|
+
"scripts/check-maintainability.mjs",
|
|
140
|
+
"scripts/maintainability-metrics.mjs",
|
|
141
|
+
"scripts/generate-agent-change-map.mjs",
|
|
142
|
+
"scripts/maintainability-domain-metrics.mjs",
|
|
143
|
+
"scripts/maintainability-governance.mjs"
|
|
135
144
|
],
|
|
136
145
|
"ownershipRules": [
|
|
137
146
|
{
|
|
@@ -209,13 +218,16 @@
|
|
|
209
218
|
"contracts": [
|
|
210
219
|
"actions/promote-buildchain-ref/action.yml",
|
|
211
220
|
"actions/promote-buildchain-ref/lib.js"
|
|
221
|
+
],
|
|
222
|
+
"generatedOutputs": ["actions/promote-buildchain-ref/dist/index.js"],
|
|
223
|
+
"validationCommands": [
|
|
224
|
+
"node --test tests/promote-buildchain-ref.test.mjs tests/promote-buildchain-ref-governance.test.mjs tests/promotion-responsibilities.test.mjs"
|
|
212
225
|
]
|
|
213
226
|
},
|
|
214
227
|
{
|
|
215
228
|
"id": "promotion-version-state",
|
|
216
229
|
"owner": "Buildchain maintainers",
|
|
217
230
|
"implementation": [
|
|
218
|
-
"actions/promote-buildchain-ref/internal/existing-version-state.js",
|
|
219
231
|
"actions/promote-buildchain-ref/internal/version-state.js",
|
|
220
232
|
"actions/promote-buildchain-ref/internal/version-state-operations.js"
|
|
221
233
|
],
|
|
@@ -227,6 +239,10 @@
|
|
|
227
239
|
"contracts": [
|
|
228
240
|
".buildchain/release-impact.json",
|
|
229
241
|
"actions/promote-buildchain-ref/lib.js"
|
|
242
|
+
],
|
|
243
|
+
"generatedOutputs": ["actions/promote-buildchain-ref/dist/index.js"],
|
|
244
|
+
"validationCommands": [
|
|
245
|
+
"node --test tests/promote-buildchain-ref.test.mjs tests/promote-buildchain-ref-recovery.test.mjs tests/release-impact-contract.test.mjs"
|
|
230
246
|
]
|
|
231
247
|
},
|
|
232
248
|
{
|
|
@@ -235,14 +251,19 @@
|
|
|
235
251
|
"implementation": [
|
|
236
252
|
"actions/promote-buildchain-ref/internal/durable-transaction-store.js",
|
|
237
253
|
"actions/promote-buildchain-ref/internal/durable-transaction-operations.js",
|
|
238
|
-
"actions/promote-buildchain-ref/internal/github-adapter.js"
|
|
254
|
+
"actions/promote-buildchain-ref/internal/github-adapter.js",
|
|
255
|
+
"actions/promote-buildchain-ref/internal/promotion-operations.js"
|
|
239
256
|
],
|
|
240
257
|
"tests": [
|
|
241
258
|
"tests/promote-buildchain-ref.test.mjs",
|
|
242
259
|
"tests/promote-buildchain-ref-recovery.test.mjs",
|
|
243
260
|
"tests/promotion-responsibilities.test.mjs"
|
|
244
261
|
],
|
|
245
|
-
"contracts": ["actions/promote-buildchain-ref/lib.js"]
|
|
262
|
+
"contracts": ["actions/promote-buildchain-ref/lib.js"],
|
|
263
|
+
"generatedOutputs": ["actions/promote-buildchain-ref/dist/index.js"],
|
|
264
|
+
"validationCommands": [
|
|
265
|
+
"node --test tests/promote-buildchain-ref.test.mjs tests/promote-buildchain-ref-recovery.test.mjs tests/promotion-responsibilities.test.mjs"
|
|
266
|
+
]
|
|
246
267
|
},
|
|
247
268
|
{
|
|
248
269
|
"id": "promotion-channel-orchestration",
|
|
@@ -261,6 +282,10 @@
|
|
|
261
282
|
"contracts": [
|
|
262
283
|
"actions/promote-buildchain-ref/action.yml",
|
|
263
284
|
"actions/promote-buildchain-ref/lib.js"
|
|
285
|
+
],
|
|
286
|
+
"generatedOutputs": ["actions/promote-buildchain-ref/dist/index.js"],
|
|
287
|
+
"validationCommands": [
|
|
288
|
+
"node --test tests/promote-buildchain-ref.test.mjs tests/promote-buildchain-ref-recovery.test.mjs tests/promote-buildchain-ref-governance.test.mjs tests/promotion-responsibilities.test.mjs"
|
|
264
289
|
]
|
|
265
290
|
},
|
|
266
291
|
{
|
|
@@ -275,7 +300,11 @@
|
|
|
275
300
|
"bin/internal/trust-release-verification-handlers.mjs"
|
|
276
301
|
],
|
|
277
302
|
"tests": ["tests/cli.test.mjs", "tests/public-surface-audit.test.mjs"],
|
|
278
|
-
"contracts": ["bin/buildchain.mjs", "docs/cli.md"]
|
|
303
|
+
"contracts": ["bin/buildchain.mjs", "docs/cli.md"],
|
|
304
|
+
"generatedOutputs": [],
|
|
305
|
+
"validationCommands": [
|
|
306
|
+
"node --test tests/cli.test.mjs tests/public-surface-audit.test.mjs"
|
|
307
|
+
]
|
|
279
308
|
},
|
|
280
309
|
{
|
|
281
310
|
"id": "release-workflow-promotion-routing",
|
|
@@ -292,6 +321,10 @@
|
|
|
292
321
|
"contracts": [
|
|
293
322
|
".github/workflows/.release-candidate-promote.yml",
|
|
294
323
|
".github/workflows/release-candidate-promote.yml"
|
|
324
|
+
],
|
|
325
|
+
"generatedOutputs": [".github/workflows/release-candidate-promote.yml"],
|
|
326
|
+
"validationCommands": [
|
|
327
|
+
"node --test tests/promotion-routing-evidence.test.mjs tests/build-surface.test.mjs tests/build-surface-promotion.test.mjs"
|
|
295
328
|
]
|
|
296
329
|
},
|
|
297
330
|
{
|
|
@@ -305,6 +338,10 @@
|
|
|
305
338
|
"contracts": [
|
|
306
339
|
"docs/release-passport.md",
|
|
307
340
|
"dist/site/release-passport-check-manifest.json"
|
|
341
|
+
],
|
|
342
|
+
"generatedOutputs": ["dist/site/release-passport-check-manifest.json"],
|
|
343
|
+
"validationCommands": [
|
|
344
|
+
"node --test tests/release-passport.test.mjs tests/release-passport-contract.test.mjs"
|
|
308
345
|
]
|
|
309
346
|
},
|
|
310
347
|
{
|
|
@@ -315,7 +352,11 @@
|
|
|
315
352
|
"bin/internal/command-registry.mjs"
|
|
316
353
|
],
|
|
317
354
|
"tests": ["tests/command-registry.test.mjs", "tests/cli.test.mjs"],
|
|
318
|
-
"contracts": ["docs/cli.md", "dist/site/cli-registry.json"]
|
|
355
|
+
"contracts": ["docs/cli.md", "dist/site/cli-registry.json"],
|
|
356
|
+
"generatedOutputs": ["dist/site/cli-registry.json"],
|
|
357
|
+
"validationCommands": [
|
|
358
|
+
"node --test tests/command-registry.test.mjs tests/cli.test.mjs"
|
|
359
|
+
]
|
|
319
360
|
},
|
|
320
361
|
{
|
|
321
362
|
"id": "reusable-build-orchestration",
|
|
@@ -323,10 +364,13 @@
|
|
|
323
364
|
"implementation": [
|
|
324
365
|
"scripts/generate-channel-build-workflow.mjs",
|
|
325
366
|
"scripts/resolve-artifact-transfer-mode.mjs",
|
|
367
|
+
"scripts/resolve-build-summary-names.sh",
|
|
326
368
|
"scripts/run-lifecycle-core.mjs"
|
|
327
369
|
],
|
|
328
370
|
"tests": [
|
|
329
371
|
"tests/artifact-transfer-mode.test.mjs",
|
|
372
|
+
"tests/resolve-build-summary-names.test.mjs",
|
|
373
|
+
"tests/build-surface-reusable-build-artifacts.test.mjs",
|
|
330
374
|
"tests/build-surface.test.mjs",
|
|
331
375
|
"tests/build-surface-promotion.test.mjs",
|
|
332
376
|
"tests/controller-evidence.test.mjs"
|
|
@@ -334,6 +378,13 @@
|
|
|
334
378
|
"contracts": [
|
|
335
379
|
".github/workflows/.build.yml",
|
|
336
380
|
".github/workflows/build.yml"
|
|
381
|
+
],
|
|
382
|
+
"generatedOutputs": [
|
|
383
|
+
".github/workflows/build.yml",
|
|
384
|
+
"actions/run-lifecycle/dist/index.js"
|
|
385
|
+
],
|
|
386
|
+
"validationCommands": [
|
|
387
|
+
"node --test tests/artifact-transfer-mode.test.mjs tests/resolve-build-summary-names.test.mjs tests/build-surface-reusable-build-artifacts.test.mjs tests/build-surface.test.mjs tests/build-surface-promotion.test.mjs tests/controller-evidence.test.mjs"
|
|
337
388
|
]
|
|
338
389
|
},
|
|
339
390
|
{
|
|
@@ -348,7 +399,11 @@
|
|
|
348
399
|
"tests/web-surface.test.mjs",
|
|
349
400
|
"tests/web-surface-publication-authority.test.mjs"
|
|
350
401
|
],
|
|
351
|
-
"contracts": [".github/workflows/.web-surface.yml"]
|
|
402
|
+
"contracts": [".github/workflows/.web-surface.yml"],
|
|
403
|
+
"generatedOutputs": [],
|
|
404
|
+
"validationCommands": [
|
|
405
|
+
"node --test tests/web-surface.test.mjs tests/web-surface-publication-authority.test.mjs"
|
|
406
|
+
]
|
|
352
407
|
},
|
|
353
408
|
{
|
|
354
409
|
"id": "shared-build-contract",
|
|
@@ -365,6 +420,10 @@
|
|
|
365
420
|
"contracts": [
|
|
366
421
|
"dist/site/buildchain-contract.json",
|
|
367
422
|
"docs/runtime-train-validation.md"
|
|
423
|
+
],
|
|
424
|
+
"generatedOutputs": ["dist/site/buildchain-contract.json"],
|
|
425
|
+
"validationCommands": [
|
|
426
|
+
"node --test tests/buildchain-contract.test.mjs tests/build-surface.test.mjs tests/build-surface-promotion.test.mjs"
|
|
368
427
|
]
|
|
369
428
|
},
|
|
370
429
|
{
|
|
@@ -379,14 +438,22 @@
|
|
|
379
438
|
"tests/workflow-call-contract.test.mjs",
|
|
380
439
|
"tests/public-surface-audit.test.mjs"
|
|
381
440
|
],
|
|
382
|
-
"contracts": ["docs/release-governance.md"]
|
|
441
|
+
"contracts": ["docs/release-governance.md"],
|
|
442
|
+
"generatedOutputs": [],
|
|
443
|
+
"validationCommands": [
|
|
444
|
+
"node --test tests/workflow-call-contract.test.mjs tests/public-surface-audit.test.mjs"
|
|
445
|
+
]
|
|
383
446
|
},
|
|
384
447
|
{
|
|
385
448
|
"id": "promotion-runtime-override-authorization",
|
|
386
449
|
"owner": "Buildchain release governance maintainers",
|
|
387
450
|
"implementation": ["scripts/authorize-promotion-runtime-override.cjs"],
|
|
388
451
|
"tests": ["tests/authorize-promotion-runtime-override.test.mjs"],
|
|
389
|
-
"contracts": [".github/workflows/release-candidate-promote.yml"]
|
|
452
|
+
"contracts": [".github/workflows/release-candidate-promote.yml"],
|
|
453
|
+
"generatedOutputs": [],
|
|
454
|
+
"validationCommands": [
|
|
455
|
+
"node --test tests/authorize-promotion-runtime-override.test.mjs"
|
|
456
|
+
]
|
|
390
457
|
},
|
|
391
458
|
{
|
|
392
459
|
"id": "paper-fleet-golden-path",
|
|
@@ -411,6 +478,13 @@
|
|
|
411
478
|
"contracts": [
|
|
412
479
|
"dist/site/cli-registry.json",
|
|
413
480
|
"dist/site/node-api-registry.json"
|
|
481
|
+
],
|
|
482
|
+
"generatedOutputs": [
|
|
483
|
+
"dist/site/cli-registry.json",
|
|
484
|
+
"dist/site/node-api-registry.json"
|
|
485
|
+
],
|
|
486
|
+
"validationCommands": [
|
|
487
|
+
"node --test tests/cli.test.mjs tests/paper.test.mjs tests/public-surface-audit.test.mjs"
|
|
414
488
|
]
|
|
415
489
|
},
|
|
416
490
|
{
|
|
@@ -431,6 +505,13 @@
|
|
|
431
505
|
"docs/release-propagation.md",
|
|
432
506
|
"dist/site/cli-registry.json",
|
|
433
507
|
"dist/site/node-api-registry.json"
|
|
508
|
+
],
|
|
509
|
+
"generatedOutputs": [
|
|
510
|
+
"dist/site/cli-registry.json",
|
|
511
|
+
"dist/site/node-api-registry.json"
|
|
512
|
+
],
|
|
513
|
+
"validationCommands": [
|
|
514
|
+
"node --test tests/release-propagation.test.mjs tests/release-propagation-pickup.test.mjs"
|
|
434
515
|
]
|
|
435
516
|
},
|
|
436
517
|
{
|
|
@@ -451,6 +532,10 @@
|
|
|
451
532
|
"contracts/engineering-housekeeper-v1.schema.json",
|
|
452
533
|
"contracts/fixtures/engineering-housekeeper-v1/cases.json",
|
|
453
534
|
"docs/engineering-housekeeper.md"
|
|
535
|
+
],
|
|
536
|
+
"generatedOutputs": [],
|
|
537
|
+
"validationCommands": [
|
|
538
|
+
"node --test tests/engineering-housekeeper.test.mjs tests/engineering-housekeeper-github.test.mjs tests/engineering-housekeeper-workflow.test.mjs"
|
|
454
539
|
]
|
|
455
540
|
},
|
|
456
541
|
{
|
|
@@ -473,6 +558,10 @@
|
|
|
473
558
|
".github/workflows/release-tail.yml",
|
|
474
559
|
"actions/release-tail/action.yml",
|
|
475
560
|
"docs/release-tail-provider-plane.md"
|
|
561
|
+
],
|
|
562
|
+
"generatedOutputs": ["actions/release-tail/dist/index.js"],
|
|
563
|
+
"validationCommands": [
|
|
564
|
+
"node --test tests/release-tail-provider-plane.test.mjs tests/release-tail-contract.test.mjs"
|
|
476
565
|
]
|
|
477
566
|
},
|
|
478
567
|
{
|
|
@@ -489,6 +578,10 @@
|
|
|
489
578
|
"contracts/v4-publication-rehearsal-capsule-v1.schema.json",
|
|
490
579
|
".github/workflows/v4-publication-rehearsal-dogfood.yml",
|
|
491
580
|
"docs/v4-publication-rehearsal.md"
|
|
581
|
+
],
|
|
582
|
+
"generatedOutputs": [],
|
|
583
|
+
"validationCommands": [
|
|
584
|
+
"node --test tests/v4-publication-rehearsal.test.mjs"
|
|
492
585
|
]
|
|
493
586
|
},
|
|
494
587
|
{
|
|
@@ -551,6 +644,12 @@
|
|
|
551
644
|
"templates/native-dev-delivery.yml",
|
|
552
645
|
"docs/dev-delivery-warrant.md",
|
|
553
646
|
"docs/dev-delivery-qualification-landing-adr.md"
|
|
647
|
+
],
|
|
648
|
+
"generatedOutputs": [
|
|
649
|
+
"dist/site/schemas/dev-delivery-authority-v2.schema.json"
|
|
650
|
+
],
|
|
651
|
+
"validationCommands": [
|
|
652
|
+
"node --test tests/dev-delivery-warrant.test.mjs tests/dev-delivery-warrant-command.test.mjs tests/dev-delivery-two-phase.test.mjs tests/dev-delivery-two-phase-run.test.mjs tests/dev-delivery-native-run.test.mjs tests/dev-delivery-process-boundary.test.mjs tests/dev-delivery-process-boundary-negative.test.mjs tests/dev-delivery-provider-heartbeat.test.mjs tests/dev-delivery-authority.test.mjs tests/build-surface.test.mjs tests/v4-delivery-authority-parity.test.mjs"
|
|
554
653
|
]
|
|
555
654
|
},
|
|
556
655
|
{
|
|
@@ -575,6 +674,12 @@
|
|
|
575
674
|
"contracts/fixtures/v4-compatibility-facts-v1/shared.json",
|
|
576
675
|
"dist/site/schemas/v4-compatibility-facts-v1.schema.json",
|
|
577
676
|
"docs/v4-compatibility-facts.md"
|
|
677
|
+
],
|
|
678
|
+
"generatedOutputs": [
|
|
679
|
+
"dist/site/schemas/v4-compatibility-facts-v1.schema.json"
|
|
680
|
+
],
|
|
681
|
+
"validationCommands": [
|
|
682
|
+
"node --test tests/v4-compatibility-facts.test.mjs"
|
|
578
683
|
]
|
|
579
684
|
},
|
|
580
685
|
{
|
|
@@ -593,14 +698,19 @@
|
|
|
593
698
|
"packages/core/published-delivery-authority.js",
|
|
594
699
|
"packages/core/v4-adopter-delivery.js",
|
|
595
700
|
"packages/core/v4-adopter-delivery-parity.js",
|
|
701
|
+
"packages/core/v4-cross-platform-adopter-qualification.js",
|
|
702
|
+
"scripts/v4-cross-platform-adopter-qualification.mjs",
|
|
596
703
|
"crates/buildchain-v4-contracts/src/adopter_delivery.rs"
|
|
597
704
|
],
|
|
598
705
|
"tests": [
|
|
599
706
|
"tests/v4-adopter-delivery.test.mjs",
|
|
600
|
-
"tests/v4-adopter-delivery-parity.test.mjs"
|
|
707
|
+
"tests/v4-adopter-delivery-parity.test.mjs",
|
|
708
|
+
"tests/v4-cross-platform-adopter-qualification.test.mjs",
|
|
709
|
+
"tests/non-kfd-specification-driver-clean-room.test.mjs"
|
|
601
710
|
],
|
|
602
711
|
"contracts": [
|
|
603
712
|
"architecture/v4-adopter-delivery-parity.json",
|
|
713
|
+
"architecture/v4-cross-platform-adopter-qualification.json",
|
|
604
714
|
"contracts/v4-adopter-delivery-v1.schema.json",
|
|
605
715
|
"contracts/fixtures/v4-adopter-delivery-v1/archive-template.json",
|
|
606
716
|
"contracts/fixtures/v4-adopter-delivery-v1/bootstrap-positive.json",
|
|
@@ -610,6 +720,10 @@
|
|
|
610
720
|
".github/workflows/v4-adopter-delivery.yml",
|
|
611
721
|
".github/workflows/v4-adopter-delivery-dogfood.yml",
|
|
612
722
|
"docs/v4-adopter-delivery.md"
|
|
723
|
+
],
|
|
724
|
+
"generatedOutputs": [],
|
|
725
|
+
"validationCommands": [
|
|
726
|
+
"node --test tests/v4-adopter-delivery.test.mjs tests/v4-adopter-delivery-parity.test.mjs tests/v4-cross-platform-adopter-qualification.test.mjs tests/non-kfd-specification-driver-clean-room.test.mjs"
|
|
613
727
|
]
|
|
614
728
|
},
|
|
615
729
|
{
|
|
@@ -708,6 +822,37 @@
|
|
|
708
822
|
"docs/v4-stage-capsule.md",
|
|
709
823
|
"docs/v4-runtime-ref-resume-authority.md",
|
|
710
824
|
"docs/v4-tail-reseal.md"
|
|
825
|
+
],
|
|
826
|
+
"generatedOutputs": [],
|
|
827
|
+
"validationCommands": [
|
|
828
|
+
"node --test tests/v4-architecture.test.mjs tests/v4-bridge.test.mjs tests/v4-provider-operation-journal.test.mjs tests/v4-provider-readback-idempotency.test.mjs tests/v4-release-activation-shadow.test.mjs tests/v4-stable-publication-fence.test.mjs tests/v4-partial-mutation-recovery-qualification.test.mjs tests/v4-stage-capsule.test.mjs tests/v4-stage-capsule-store.test.mjs tests/v4-platform-stage-checkpoints.test.mjs tests/v4-stage-capsule-qualification.test.mjs tests/v4-runtime-ref-resume-authority.test.mjs tests/v4-tail-reseal.test.mjs tests/v4-tail-reseal-parity.test.mjs"
|
|
829
|
+
]
|
|
830
|
+
},
|
|
831
|
+
{
|
|
832
|
+
"id": "maintainability-governance",
|
|
833
|
+
"owner": "Buildchain architecture maintainers",
|
|
834
|
+
"implementation": [
|
|
835
|
+
"scripts/check-internal-architecture.mjs",
|
|
836
|
+
"scripts/check-maintainability.mjs",
|
|
837
|
+
"scripts/maintainability-metrics.mjs",
|
|
838
|
+
"scripts/generate-agent-change-map.mjs",
|
|
839
|
+
"scripts/maintainability-domain-metrics.mjs",
|
|
840
|
+
"scripts/maintainability-governance.mjs"
|
|
841
|
+
],
|
|
842
|
+
"tests": [
|
|
843
|
+
"tests/internal-architecture.test.mjs",
|
|
844
|
+
"tests/maintainability.test.mjs",
|
|
845
|
+
"tests/maintainability-governance.test.mjs"
|
|
846
|
+
],
|
|
847
|
+
"contracts": [
|
|
848
|
+
"architecture/internal-capabilities.json",
|
|
849
|
+
"architecture/maintainability-debt.json",
|
|
850
|
+
"architecture/maintainability-policy.json"
|
|
851
|
+
],
|
|
852
|
+
"generatedOutputs": ["architecture/agent-change-map.md"],
|
|
853
|
+
"validationCommands": [
|
|
854
|
+
"node --test tests/internal-architecture.test.mjs tests/maintainability.test.mjs tests/maintainability-governance.test.mjs",
|
|
855
|
+
"node scripts/generate-agent-change-map.mjs"
|
|
711
856
|
]
|
|
712
857
|
}
|
|
713
858
|
]
|