@kungfu-tech/buildchain 4.0.1-alpha.9 → 4.0.2-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/README.md +9 -6
  2. package/actions/v4-release-candidate-promote/README.md +3 -0
  3. package/architecture/agent-change-map.md +1017 -0
  4. package/architecture/ci-lane-change-budget.json +70 -1
  5. package/architecture/decisions/0004-v4-declarative-release-tail.md +47 -0
  6. package/architecture/internal-capabilities.json +159 -11
  7. package/architecture/maintainability-debt.json +3229 -0
  8. package/architecture/maintainability-policy.json +480 -129
  9. package/architecture/v3-core-mechanism-inventory.json +6 -3
  10. package/architecture/v3-v4-capability-closure.md +59 -0
  11. package/architecture/v3-v4-live-capability-inventory.json +102404 -0
  12. package/architecture/v4-cross-platform-adopter-qualification.json +52 -0
  13. package/architecture/v4-delivery-warrant-shadow-fixtures.json +3 -3
  14. package/architecture/v4-runtime-semantic-closure.json +710 -0
  15. package/bin/internal/trust-release-release-handlers.mjs +5 -0
  16. package/contracts/fixtures/v4-tail-reseal-v1/valid.json +1 -1
  17. package/contracts/v4-publication-qualification-v1.schema.json +51 -0
  18. package/dist/site/agent-index.json +1 -0
  19. package/dist/site/artifact-schemas.json +2 -0
  20. package/dist/site/buildchain-contract.json +123 -32
  21. package/dist/site/buildchain-site.json +96 -28
  22. package/dist/site/capability-registry.json +6 -6
  23. package/dist/site/cli-registry.json +5 -2
  24. package/dist/site/controller-registry.json +41 -5
  25. package/dist/site/kfd-claims.json +172 -23
  26. package/dist/site/kfd-upstream-aggregate.json +1 -1
  27. package/dist/site/manual-registry.json +6 -6
  28. package/dist/site/node-api-registry.json +1474 -215
  29. package/dist/site/page-registry.json +85 -17
  30. package/dist/site/public-surface-audit.json +91 -21
  31. package/dist/site/publication-authority-registry.json +28 -1
  32. package/dist/site/publication-registry.json +4 -4
  33. package/dist/site/release-provenance.json +5 -0
  34. package/dist/site/schemas/v4-publication-qualification-v1.schema.json +51 -0
  35. package/dist/site/site-manifest.json +10 -10
  36. package/dist/site/workflow-registry.json +94 -18
  37. package/docs/MAP.md +1 -1
  38. package/docs/cli-reference.md +4 -4
  39. package/docs/dev-delivery-warrant.md +33 -9
  40. package/docs/node-api-reference.md +291 -206
  41. package/docs/publish-transaction.md +11 -4
  42. package/docs/release-candidate.md +7 -0
  43. package/docs/v4-adopter-delivery.md +23 -4
  44. package/docs/v4-declarative-release-tail-migration.md +43 -0
  45. package/package.json +8 -3
  46. package/packages/core/adopter-delivery-passport.js +36 -0
  47. package/packages/core/buildchain-contract.js +31 -1
  48. package/packages/core/buildchain-publication-authority.js +1 -0
  49. package/packages/core/dev-delivery-warrant-legacy-recovery.js +246 -0
  50. package/packages/core/dev-delivery-warrant-settlement.js +239 -3
  51. package/packages/core/dev-delivery-warrant-state.js +15 -2
  52. package/packages/core/dev-delivery-warrant.js +21 -4
  53. package/packages/core/github-governance-authority.js +4 -4
  54. package/packages/core/index.js +1 -0
  55. package/packages/core/paper-scaffold-content.js +401 -0
  56. package/packages/core/paper.js +12 -378
  57. package/packages/core/publication-control-plane-audit.js +135 -111
  58. package/packages/core/publication-rehearsal-projection.js +104 -0
  59. package/packages/core/publication-rehearsal-runtime.js +190 -0
  60. package/packages/core/release-candidate-recovery.js +6 -5
  61. package/packages/core/release-passport.js +82 -184
  62. package/packages/core/v4-cross-platform-adopter-qualification.js +343 -0
  63. package/packages/core/v4-floating-consumer-policy.js +3 -2
  64. package/packages/core/v4-floating-consumer-release-passport.js +134 -15
  65. package/packages/core/v4-publication-qualification.js +222 -0
  66. package/scripts/artifact-signing-controller-core.mjs +1 -1
  67. package/scripts/audit-publication-control-plane.mjs +17 -17
  68. package/scripts/buildchain-cli-help.mjs +3 -0
  69. package/scripts/check-internal-architecture.mjs +23 -3
  70. package/scripts/check-inventory.mjs +23 -5
  71. package/scripts/check-maintainability.mjs +145 -4
  72. package/scripts/check-project-cut-merge-queue-admission.mjs +87 -0
  73. package/scripts/check-v3-v4-capability-inventory.mjs +574 -0
  74. package/scripts/check-v4-floating-consumer-policy-contract.mjs +10 -3
  75. package/scripts/check-v4-runtime-semantic-closure.mjs +266 -0
  76. package/scripts/dev-delivery-warrant-options.mjs +42 -15
  77. package/scripts/dev-delivery-warrant.mjs +59 -6
  78. package/scripts/dev-pr-auto-merge.mjs +25 -11
  79. package/scripts/dev-pr-delivery-warrant.mjs +44 -0
  80. package/scripts/dev-pr-prequeue-guard.mjs +0 -18
  81. package/scripts/dispatch-artifact-signing-authority.mjs +1 -1
  82. package/scripts/generate-agent-change-map.mjs +118 -0
  83. package/scripts/generate-release-candidate-passport.mjs +26 -1
  84. package/scripts/generate-site-bundle.mjs +6 -0
  85. package/scripts/maintainability-domain-metrics.mjs +237 -0
  86. package/scripts/maintainability-governance.mjs +473 -0
  87. package/scripts/maintainability-metrics.mjs +28 -6
  88. package/scripts/project-cut-merge-queue-admission.mjs +394 -0
  89. package/scripts/promotion-routing-evidence.mjs +35 -6
  90. package/scripts/release-candidate-resolver.mjs +44 -0
  91. package/scripts/release-line-policy.mjs +25 -15
  92. package/scripts/release-tail.mjs +19 -2
  93. package/scripts/resume-from-candidate-run.mjs +106 -103
  94. package/scripts/run-lifecycle-core.mjs +341 -376
  95. package/scripts/site-capability-metadata.mjs +4 -0
  96. package/scripts/stable-candidate-qualification.mjs +9 -10
  97. package/scripts/v3-v4-capability-catalog.mjs +439 -0
  98. package/scripts/v4-cross-platform-adopter-qualification.mjs +228 -0
  99. 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": 1,
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",
@@ -75,6 +76,7 @@
75
76
  "packages/core/dev-delivery-warrant.js",
76
77
  "packages/core/dev-delivery-warrant-state.js",
77
78
  "packages/core/dev-delivery-warrant-qualification.js",
79
+ "packages/core/dev-delivery-warrant-legacy-recovery.js",
78
80
  "packages/core/dev-delivery-native-proof.js",
79
81
  "packages/core/dev-delivery-native-execution.js",
80
82
  "packages/core/dev-delivery-execution-failure.js",
@@ -129,9 +131,17 @@
129
131
  "packages/core/published-delivery-authority.js",
130
132
  "packages/core/v4-adopter-delivery.js",
131
133
  "packages/core/v4-adopter-delivery-parity.js",
134
+ "packages/core/v4-cross-platform-adopter-qualification.js",
135
+ "scripts/v4-cross-platform-adopter-qualification.mjs",
132
136
  "crates/buildchain-v4-contracts/src/adopter_delivery.rs",
133
137
  "crates/buildchain-v4-contracts/src/compatibility_facts.rs",
134
- "crates/buildchain-v4-contracts/src/compatibility_facts"
138
+ "crates/buildchain-v4-contracts/src/compatibility_facts",
139
+ "scripts/check-internal-architecture.mjs",
140
+ "scripts/check-maintainability.mjs",
141
+ "scripts/maintainability-metrics.mjs",
142
+ "scripts/generate-agent-change-map.mjs",
143
+ "scripts/maintainability-domain-metrics.mjs",
144
+ "scripts/maintainability-governance.mjs"
135
145
  ],
136
146
  "ownershipRules": [
137
147
  {
@@ -209,13 +219,16 @@
209
219
  "contracts": [
210
220
  "actions/promote-buildchain-ref/action.yml",
211
221
  "actions/promote-buildchain-ref/lib.js"
222
+ ],
223
+ "generatedOutputs": ["actions/promote-buildchain-ref/dist/index.js"],
224
+ "validationCommands": [
225
+ "node --test tests/promote-buildchain-ref.test.mjs tests/promote-buildchain-ref-governance.test.mjs tests/promotion-responsibilities.test.mjs"
212
226
  ]
213
227
  },
214
228
  {
215
229
  "id": "promotion-version-state",
216
230
  "owner": "Buildchain maintainers",
217
231
  "implementation": [
218
- "actions/promote-buildchain-ref/internal/existing-version-state.js",
219
232
  "actions/promote-buildchain-ref/internal/version-state.js",
220
233
  "actions/promote-buildchain-ref/internal/version-state-operations.js"
221
234
  ],
@@ -227,6 +240,10 @@
227
240
  "contracts": [
228
241
  ".buildchain/release-impact.json",
229
242
  "actions/promote-buildchain-ref/lib.js"
243
+ ],
244
+ "generatedOutputs": ["actions/promote-buildchain-ref/dist/index.js"],
245
+ "validationCommands": [
246
+ "node --test tests/promote-buildchain-ref.test.mjs tests/promote-buildchain-ref-recovery.test.mjs tests/release-impact-contract.test.mjs"
230
247
  ]
231
248
  },
232
249
  {
@@ -235,14 +252,19 @@
235
252
  "implementation": [
236
253
  "actions/promote-buildchain-ref/internal/durable-transaction-store.js",
237
254
  "actions/promote-buildchain-ref/internal/durable-transaction-operations.js",
238
- "actions/promote-buildchain-ref/internal/github-adapter.js"
255
+ "actions/promote-buildchain-ref/internal/github-adapter.js",
256
+ "actions/promote-buildchain-ref/internal/promotion-operations.js"
239
257
  ],
240
258
  "tests": [
241
259
  "tests/promote-buildchain-ref.test.mjs",
242
260
  "tests/promote-buildchain-ref-recovery.test.mjs",
243
261
  "tests/promotion-responsibilities.test.mjs"
244
262
  ],
245
- "contracts": ["actions/promote-buildchain-ref/lib.js"]
263
+ "contracts": ["actions/promote-buildchain-ref/lib.js"],
264
+ "generatedOutputs": ["actions/promote-buildchain-ref/dist/index.js"],
265
+ "validationCommands": [
266
+ "node --test tests/promote-buildchain-ref.test.mjs tests/promote-buildchain-ref-recovery.test.mjs tests/promotion-responsibilities.test.mjs"
267
+ ]
246
268
  },
247
269
  {
248
270
  "id": "promotion-channel-orchestration",
@@ -261,6 +283,10 @@
261
283
  "contracts": [
262
284
  "actions/promote-buildchain-ref/action.yml",
263
285
  "actions/promote-buildchain-ref/lib.js"
286
+ ],
287
+ "generatedOutputs": ["actions/promote-buildchain-ref/dist/index.js"],
288
+ "validationCommands": [
289
+ "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
290
  ]
265
291
  },
266
292
  {
@@ -275,7 +301,11 @@
275
301
  "bin/internal/trust-release-verification-handlers.mjs"
276
302
  ],
277
303
  "tests": ["tests/cli.test.mjs", "tests/public-surface-audit.test.mjs"],
278
- "contracts": ["bin/buildchain.mjs", "docs/cli.md"]
304
+ "contracts": ["bin/buildchain.mjs", "docs/cli.md"],
305
+ "generatedOutputs": [],
306
+ "validationCommands": [
307
+ "node --test tests/cli.test.mjs tests/public-surface-audit.test.mjs"
308
+ ]
279
309
  },
280
310
  {
281
311
  "id": "release-workflow-promotion-routing",
@@ -292,6 +322,10 @@
292
322
  "contracts": [
293
323
  ".github/workflows/.release-candidate-promote.yml",
294
324
  ".github/workflows/release-candidate-promote.yml"
325
+ ],
326
+ "generatedOutputs": [".github/workflows/release-candidate-promote.yml"],
327
+ "validationCommands": [
328
+ "node --test tests/promotion-routing-evidence.test.mjs tests/build-surface.test.mjs tests/build-surface-promotion.test.mjs"
295
329
  ]
296
330
  },
297
331
  {
@@ -305,6 +339,10 @@
305
339
  "contracts": [
306
340
  "docs/release-passport.md",
307
341
  "dist/site/release-passport-check-manifest.json"
342
+ ],
343
+ "generatedOutputs": ["dist/site/release-passport-check-manifest.json"],
344
+ "validationCommands": [
345
+ "node --test tests/release-passport.test.mjs tests/release-passport-contract.test.mjs"
308
346
  ]
309
347
  },
310
348
  {
@@ -315,7 +353,11 @@
315
353
  "bin/internal/command-registry.mjs"
316
354
  ],
317
355
  "tests": ["tests/command-registry.test.mjs", "tests/cli.test.mjs"],
318
- "contracts": ["docs/cli.md", "dist/site/cli-registry.json"]
356
+ "contracts": ["docs/cli.md", "dist/site/cli-registry.json"],
357
+ "generatedOutputs": ["dist/site/cli-registry.json"],
358
+ "validationCommands": [
359
+ "node --test tests/command-registry.test.mjs tests/cli.test.mjs"
360
+ ]
319
361
  },
320
362
  {
321
363
  "id": "reusable-build-orchestration",
@@ -323,10 +365,13 @@
323
365
  "implementation": [
324
366
  "scripts/generate-channel-build-workflow.mjs",
325
367
  "scripts/resolve-artifact-transfer-mode.mjs",
368
+ "scripts/resolve-build-summary-names.sh",
326
369
  "scripts/run-lifecycle-core.mjs"
327
370
  ],
328
371
  "tests": [
329
372
  "tests/artifact-transfer-mode.test.mjs",
373
+ "tests/resolve-build-summary-names.test.mjs",
374
+ "tests/build-surface-reusable-build-artifacts.test.mjs",
330
375
  "tests/build-surface.test.mjs",
331
376
  "tests/build-surface-promotion.test.mjs",
332
377
  "tests/controller-evidence.test.mjs"
@@ -334,6 +379,13 @@
334
379
  "contracts": [
335
380
  ".github/workflows/.build.yml",
336
381
  ".github/workflows/build.yml"
382
+ ],
383
+ "generatedOutputs": [
384
+ ".github/workflows/build.yml",
385
+ "actions/run-lifecycle/dist/index.js"
386
+ ],
387
+ "validationCommands": [
388
+ "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
389
  ]
338
390
  },
339
391
  {
@@ -348,7 +400,11 @@
348
400
  "tests/web-surface.test.mjs",
349
401
  "tests/web-surface-publication-authority.test.mjs"
350
402
  ],
351
- "contracts": [".github/workflows/.web-surface.yml"]
403
+ "contracts": [".github/workflows/.web-surface.yml"],
404
+ "generatedOutputs": [],
405
+ "validationCommands": [
406
+ "node --test tests/web-surface.test.mjs tests/web-surface-publication-authority.test.mjs"
407
+ ]
352
408
  },
353
409
  {
354
410
  "id": "shared-build-contract",
@@ -365,6 +421,10 @@
365
421
  "contracts": [
366
422
  "dist/site/buildchain-contract.json",
367
423
  "docs/runtime-train-validation.md"
424
+ ],
425
+ "generatedOutputs": ["dist/site/buildchain-contract.json"],
426
+ "validationCommands": [
427
+ "node --test tests/buildchain-contract.test.mjs tests/build-surface.test.mjs tests/build-surface-promotion.test.mjs"
368
428
  ]
369
429
  },
370
430
  {
@@ -379,14 +439,22 @@
379
439
  "tests/workflow-call-contract.test.mjs",
380
440
  "tests/public-surface-audit.test.mjs"
381
441
  ],
382
- "contracts": ["docs/release-governance.md"]
442
+ "contracts": ["docs/release-governance.md"],
443
+ "generatedOutputs": [],
444
+ "validationCommands": [
445
+ "node --test tests/workflow-call-contract.test.mjs tests/public-surface-audit.test.mjs"
446
+ ]
383
447
  },
384
448
  {
385
449
  "id": "promotion-runtime-override-authorization",
386
450
  "owner": "Buildchain release governance maintainers",
387
451
  "implementation": ["scripts/authorize-promotion-runtime-override.cjs"],
388
452
  "tests": ["tests/authorize-promotion-runtime-override.test.mjs"],
389
- "contracts": [".github/workflows/release-candidate-promote.yml"]
453
+ "contracts": [".github/workflows/release-candidate-promote.yml"],
454
+ "generatedOutputs": [],
455
+ "validationCommands": [
456
+ "node --test tests/authorize-promotion-runtime-override.test.mjs"
457
+ ]
390
458
  },
391
459
  {
392
460
  "id": "paper-fleet-golden-path",
@@ -411,6 +479,13 @@
411
479
  "contracts": [
412
480
  "dist/site/cli-registry.json",
413
481
  "dist/site/node-api-registry.json"
482
+ ],
483
+ "generatedOutputs": [
484
+ "dist/site/cli-registry.json",
485
+ "dist/site/node-api-registry.json"
486
+ ],
487
+ "validationCommands": [
488
+ "node --test tests/cli.test.mjs tests/paper.test.mjs tests/public-surface-audit.test.mjs"
414
489
  ]
415
490
  },
416
491
  {
@@ -431,6 +506,13 @@
431
506
  "docs/release-propagation.md",
432
507
  "dist/site/cli-registry.json",
433
508
  "dist/site/node-api-registry.json"
509
+ ],
510
+ "generatedOutputs": [
511
+ "dist/site/cli-registry.json",
512
+ "dist/site/node-api-registry.json"
513
+ ],
514
+ "validationCommands": [
515
+ "node --test tests/release-propagation.test.mjs tests/release-propagation-pickup.test.mjs"
434
516
  ]
435
517
  },
436
518
  {
@@ -451,6 +533,10 @@
451
533
  "contracts/engineering-housekeeper-v1.schema.json",
452
534
  "contracts/fixtures/engineering-housekeeper-v1/cases.json",
453
535
  "docs/engineering-housekeeper.md"
536
+ ],
537
+ "generatedOutputs": [],
538
+ "validationCommands": [
539
+ "node --test tests/engineering-housekeeper.test.mjs tests/engineering-housekeeper-github.test.mjs tests/engineering-housekeeper-workflow.test.mjs"
454
540
  ]
455
541
  },
456
542
  {
@@ -473,6 +559,10 @@
473
559
  ".github/workflows/release-tail.yml",
474
560
  "actions/release-tail/action.yml",
475
561
  "docs/release-tail-provider-plane.md"
562
+ ],
563
+ "generatedOutputs": ["actions/release-tail/dist/index.js"],
564
+ "validationCommands": [
565
+ "node --test tests/release-tail-provider-plane.test.mjs tests/release-tail-contract.test.mjs"
476
566
  ]
477
567
  },
478
568
  {
@@ -489,6 +579,10 @@
489
579
  "contracts/v4-publication-rehearsal-capsule-v1.schema.json",
490
580
  ".github/workflows/v4-publication-rehearsal-dogfood.yml",
491
581
  "docs/v4-publication-rehearsal.md"
582
+ ],
583
+ "generatedOutputs": [],
584
+ "validationCommands": [
585
+ "node --test tests/v4-publication-rehearsal.test.mjs"
492
586
  ]
493
587
  },
494
588
  {
@@ -498,6 +592,7 @@
498
592
  "packages/core/dev-delivery-warrant.js",
499
593
  "packages/core/dev-delivery-warrant-state.js",
500
594
  "packages/core/dev-delivery-warrant-qualification.js",
595
+ "packages/core/dev-delivery-warrant-legacy-recovery.js",
501
596
  "packages/core/dev-delivery-native-proof.js",
502
597
  "packages/core/dev-delivery-native-execution.js",
503
598
  "packages/core/dev-delivery-execution-failure.js",
@@ -531,6 +626,7 @@
531
626
  "tests": [
532
627
  "tests/dev-delivery-warrant.test.mjs",
533
628
  "tests/dev-delivery-warrant-command.test.mjs",
629
+ "tests/dev-delivery-warrant-legacy-recovery.test.mjs",
534
630
  "tests/dev-delivery-two-phase.test.mjs",
535
631
  "tests/dev-delivery-two-phase-run.test.mjs",
536
632
  "tests/dev-delivery-native-run.test.mjs",
@@ -551,6 +647,12 @@
551
647
  "templates/native-dev-delivery.yml",
552
648
  "docs/dev-delivery-warrant.md",
553
649
  "docs/dev-delivery-qualification-landing-adr.md"
650
+ ],
651
+ "generatedOutputs": [
652
+ "dist/site/schemas/dev-delivery-authority-v2.schema.json"
653
+ ],
654
+ "validationCommands": [
655
+ "node --test tests/dev-delivery-warrant.test.mjs tests/dev-delivery-warrant-command.test.mjs tests/dev-delivery-warrant-legacy-recovery.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
656
  ]
555
657
  },
556
658
  {
@@ -575,6 +677,12 @@
575
677
  "contracts/fixtures/v4-compatibility-facts-v1/shared.json",
576
678
  "dist/site/schemas/v4-compatibility-facts-v1.schema.json",
577
679
  "docs/v4-compatibility-facts.md"
680
+ ],
681
+ "generatedOutputs": [
682
+ "dist/site/schemas/v4-compatibility-facts-v1.schema.json"
683
+ ],
684
+ "validationCommands": [
685
+ "node --test tests/v4-compatibility-facts.test.mjs"
578
686
  ]
579
687
  },
580
688
  {
@@ -593,14 +701,19 @@
593
701
  "packages/core/published-delivery-authority.js",
594
702
  "packages/core/v4-adopter-delivery.js",
595
703
  "packages/core/v4-adopter-delivery-parity.js",
704
+ "packages/core/v4-cross-platform-adopter-qualification.js",
705
+ "scripts/v4-cross-platform-adopter-qualification.mjs",
596
706
  "crates/buildchain-v4-contracts/src/adopter_delivery.rs"
597
707
  ],
598
708
  "tests": [
599
709
  "tests/v4-adopter-delivery.test.mjs",
600
- "tests/v4-adopter-delivery-parity.test.mjs"
710
+ "tests/v4-adopter-delivery-parity.test.mjs",
711
+ "tests/v4-cross-platform-adopter-qualification.test.mjs",
712
+ "tests/non-kfd-specification-driver-clean-room.test.mjs"
601
713
  ],
602
714
  "contracts": [
603
715
  "architecture/v4-adopter-delivery-parity.json",
716
+ "architecture/v4-cross-platform-adopter-qualification.json",
604
717
  "contracts/v4-adopter-delivery-v1.schema.json",
605
718
  "contracts/fixtures/v4-adopter-delivery-v1/archive-template.json",
606
719
  "contracts/fixtures/v4-adopter-delivery-v1/bootstrap-positive.json",
@@ -610,6 +723,10 @@
610
723
  ".github/workflows/v4-adopter-delivery.yml",
611
724
  ".github/workflows/v4-adopter-delivery-dogfood.yml",
612
725
  "docs/v4-adopter-delivery.md"
726
+ ],
727
+ "generatedOutputs": [],
728
+ "validationCommands": [
729
+ "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
730
  ]
614
731
  },
615
732
  {
@@ -708,6 +825,37 @@
708
825
  "docs/v4-stage-capsule.md",
709
826
  "docs/v4-runtime-ref-resume-authority.md",
710
827
  "docs/v4-tail-reseal.md"
828
+ ],
829
+ "generatedOutputs": [],
830
+ "validationCommands": [
831
+ "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"
832
+ ]
833
+ },
834
+ {
835
+ "id": "maintainability-governance",
836
+ "owner": "Buildchain architecture maintainers",
837
+ "implementation": [
838
+ "scripts/check-internal-architecture.mjs",
839
+ "scripts/check-maintainability.mjs",
840
+ "scripts/maintainability-metrics.mjs",
841
+ "scripts/generate-agent-change-map.mjs",
842
+ "scripts/maintainability-domain-metrics.mjs",
843
+ "scripts/maintainability-governance.mjs"
844
+ ],
845
+ "tests": [
846
+ "tests/internal-architecture.test.mjs",
847
+ "tests/maintainability.test.mjs",
848
+ "tests/maintainability-governance.test.mjs"
849
+ ],
850
+ "contracts": [
851
+ "architecture/internal-capabilities.json",
852
+ "architecture/maintainability-debt.json",
853
+ "architecture/maintainability-policy.json"
854
+ ],
855
+ "generatedOutputs": ["architecture/agent-change-map.md"],
856
+ "validationCommands": [
857
+ "node --test tests/internal-architecture.test.mjs tests/maintainability.test.mjs tests/maintainability-governance.test.mjs",
858
+ "node scripts/generate-agent-change-map.mjs"
711
859
  ]
712
860
  }
713
861
  ]