@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.
Files changed (101) hide show
  1. package/AGENTS.md +7 -5
  2. package/CONTRIBUTING.md +12 -6
  3. package/README.md +9 -5
  4. package/architecture/action-taxonomy.json +2 -0
  5. package/architecture/agent-change-map.md +6 -1
  6. package/architecture/build-orchestration.json +7 -1
  7. package/architecture/ci-lane-change-budget.json +1836 -0
  8. package/architecture/consumer-upgrade.json +6482 -0
  9. package/architecture/internal-capabilities.json +5 -2
  10. package/architecture/maintainability-debt.json +18 -10
  11. package/architecture/maintainability-policy.json +9 -9
  12. package/architecture/release-topology.json +10 -1
  13. package/architecture/universal-workflow-bootstrap.json +88 -18
  14. package/architecture/universal-workflow-capability-policy.json +2 -2
  15. package/architecture/workflow-taxonomy.json +2 -1
  16. package/contracts/dev-delivery-authority-v2.schema.json +29 -3
  17. package/contracts/fixtures/consumer-upgrade/build-v4.0.0.json +764 -0
  18. package/contracts/fixtures/consumer-upgrade/consumer-calls.json +447 -0
  19. package/contracts/fixtures/consumer-upgrade/dev-delivery-identity-v4.0.0.json +27 -0
  20. package/contracts/fixtures/consumer-upgrade/dev-pr-auto-merge-v4.0.0.json +256 -0
  21. package/contracts/fixtures/consumer-upgrade/dev-pr-auto-merge-v4.0.9.json +358 -0
  22. package/contracts/fixtures/consumer-upgrade/release-v4.0.0.json +815 -0
  23. package/contracts/promotion-invocation-v1.schema.json +5 -0
  24. package/dist/site/buildchain-contract.json +40 -23
  25. package/dist/site/buildchain-site.json +20 -20
  26. package/dist/site/capability-registry.json +5 -5
  27. package/dist/site/controller-registry.json +17 -5
  28. package/dist/site/kfd-claims.json +1376 -143
  29. package/dist/site/kfd-upstream-aggregate.json +1 -1
  30. package/dist/site/manual-registry.json +4 -4
  31. package/dist/site/node-api-registry.json +22 -22
  32. package/dist/site/page-registry.json +14 -14
  33. package/dist/site/public-surface-audit.json +1733 -101
  34. package/dist/site/publication-authority-registry.json +651 -32
  35. package/dist/site/publication-registry.json +1 -1
  36. package/dist/site/schemas/dev-delivery-authority-v2.schema.json +29 -3
  37. package/dist/site/site-manifest.json +5 -5
  38. package/dist/site/workflow-registry.json +2501 -149
  39. package/docs/MAP.md +5 -4
  40. package/docs/code-organization.md +11 -8
  41. package/docs/getting-started.md +31 -2
  42. package/docs/migration-inventory.md +8 -6
  43. package/docs/node-api-reference.md +36 -36
  44. package/docs/workflow-path-migration.md +8 -7
  45. package/package.json +1 -1
  46. package/packages/core/build/artifact/contracts.js +10 -2
  47. package/packages/core/build/artifact/transport.js +1 -1
  48. package/packages/core/build/artifact/upload.js +2 -2
  49. package/packages/core/build/plan/action.js +2 -0
  50. package/packages/core/build/plan/admission.js +9 -3
  51. package/packages/core/build/plan/compatibility-artifacts.js +47 -0
  52. package/packages/core/build/plan/compatibility-plan.js +121 -0
  53. package/packages/core/build/plan/compatibility.js +162 -0
  54. package/packages/core/build/plan/configuration.js +10 -37
  55. package/packages/core/build/plan/identity.js +42 -0
  56. package/packages/core/build/plan/lifecycle.js +1 -0
  57. package/packages/core/build/plan/resolve.js +2 -0
  58. package/packages/core/build/summary/aggregation.js +4 -2
  59. package/packages/core/build/summary/compatibility.js +24 -0
  60. package/packages/core/build/summary/finalization.js +18 -0
  61. package/packages/core/build/summary/historical-outputs.js +88 -0
  62. package/packages/core/contracts/runtime-contract-inspection.js +8 -0
  63. package/packages/core/dev-delivery/candidate/submission.js +2 -1
  64. package/packages/core/dev-delivery/commands/dev-delivery-authority-command-adapters.mjs +2 -1
  65. package/packages/core/dev-delivery/commands/dev-delivery-authority.mjs +6 -5
  66. package/packages/core/dev-delivery/commands/dev-delivery-warrant-options.mjs +22 -3
  67. package/packages/core/dev-delivery/dev-delivery-candidate-identity.js +13 -4
  68. package/packages/core/dev-delivery/dev-delivery-warrant.js +4 -1
  69. package/packages/core/dev-delivery/warrant/handoff.js +2 -1
  70. package/packages/core/dev-delivery/warrant/transitions.js +2 -2
  71. package/packages/core/governance/buildchain-publication-authority.js +5 -9
  72. package/packages/core/release/github-release-metadata.js +58 -0
  73. package/packages/core/release/promote-candidate/action.js +4 -2
  74. package/packages/core/release/promote-candidate/preparation.js +6 -0
  75. package/packages/core/release/promote-candidate/publication.js +36 -0
  76. package/packages/core/release/promote-candidate/release-documents.js +1 -1
  77. package/packages/core/release/promotion/candidate.js +4 -2
  78. package/packages/core/release/promotion/compatibility-context.js +93 -0
  79. package/packages/core/release/promotion/compatibility-qualification.js +48 -0
  80. package/packages/core/release/promotion/compatibility.js +141 -0
  81. package/packages/core/release/promotion/historical-evidence-action.js +17 -0
  82. package/packages/core/release/promotion/historical-evidence-files.js +112 -0
  83. package/packages/core/release/promotion/historical-evidence.js +231 -0
  84. package/packages/core/release/promotion/qualification.js +12 -1
  85. package/packages/core/release/promotion/routing.js +3 -2
  86. package/packages/core/release/promotion-request.js +31 -2
  87. package/packages/core/release/release-tail-provider-adapters.js +18 -0
  88. package/packages/core/runtime/entry/actions.js +4 -1
  89. package/packages/core/runtime/entry/compatibility.js +53 -0
  90. package/packages/core/workflow/engine/conformance.js +7 -3
  91. package/packages/core/workflow/pipeline/controller.js +26 -26
  92. package/scripts/check-dev-delivery-actions.mjs +12 -0
  93. package/scripts/check-inventory.mjs +1 -1
  94. package/scripts/check-public-dogfood-contract.mjs +2 -0
  95. package/scripts/check-release-topology.mjs +5 -1
  96. package/scripts/check-self-consumer-contract.mjs +5 -1
  97. package/scripts/generate-bootstrap-admission.mjs +20 -0
  98. package/scripts/generate-site-bundle.mjs +5 -5
  99. package/scripts/generate-workflow-taxonomy.mjs +17 -0
  100. package/scripts/maintainability-metrics.mjs +30 -2
  101. package/scripts/maintainability-public-surface.mjs +5 -3
package/AGENTS.md CHANGED
@@ -8,11 +8,11 @@ confidence: high
8
8
  sensitivity: public
9
9
  evidence_grade: B
10
10
  review_state: unreviewed
11
- last_reviewed: 2026-09-20
11
+ last_reviewed: 2026-09-23
12
12
  ai_provenance:
13
13
  model_family: GPT-6
14
14
  product: Codex
15
- generated_at: 2026-09-20
15
+ generated_at: 2026-09-23
16
16
  visible_context: Buildchain 4.1 source, architecture registries and local validation.
17
17
  invisible_context_boundary: No unpublished release or external consumer qualification is claimed.
18
18
  ---
@@ -60,14 +60,16 @@ generated consumer pair and protected self configuration remain `@v4`.
60
60
  Products declare their own install, build, and verification commands in TOML.
61
61
  Publication, source qualification, reviews, merge queues, provider readback and
62
62
  recovery belong to the published runtime. Internal workflow libraries and actions are implementation only. The complete
63
- public reusable API is `public-ops-pipeline.yml` and `public-ops-recover.yml`;
63
+ API for new consumers is `public-ops-pipeline.yml` and `public-ops-recover.yml`;
64
64
  self callers use the same public reusable-workflow contract as every other consumer.
65
65
 
66
66
  ## Building this repo
67
67
 
68
68
  Read [Code organization](docs/code-organization.md) before changing implementation
69
69
  layout. Keep workflows, action adapters, JavaScript modules and Rust domains in
70
- their declared responsibility layers. No historical compatibility entry is retained.
70
+ their declared responsibility layers. Published historical entry contracts are retained
71
+ by `architecture/consumer-upgrade.json`. Generate them from their maintained components;
72
+ do not add independent implementations or remove a published path during a compatible upgrade.
71
73
 
72
74
  Buildchain is a pnpm workspace running on Node 24:
73
75
 
@@ -81,7 +83,7 @@ Workflow paths are governed by [`architecture/workflow-taxonomy.json`](architect
81
83
  and the generated [`Workflow Catalog`](docs/workflow-catalog.md). Before adding,
82
84
  renaming, or editing workflow YAML, register its role (`public`, component `.`,
83
85
  or `self`) and category (`build`, `release`, or `ops`). Use the derived filename;
84
- do not invent prefixes, categories, or compatibility aliases. Edit canonical
86
+ do not invent prefixes, categories, or unregistered compatibility aliases. Edit canonical
85
87
  implementations, run `pnpm run generate:workflows`, and pass
86
88
  `pnpm run check:workflows` plus the full check. Taxonomy and gate changes require
87
89
  independent `@kungfu-origin` review through CODEOWNERS.
package/CONTRIBUTING.md CHANGED
@@ -8,11 +8,11 @@ confidence: high
8
8
  sensitivity: public
9
9
  evidence_grade: B
10
10
  review_state: unreviewed
11
- last_reviewed: 2026-09-20
11
+ last_reviewed: 2026-09-23
12
12
  ai_provenance:
13
13
  model_family: GPT-6
14
14
  product: Codex
15
- generated_at: 2026-09-20
15
+ generated_at: 2026-09-23
16
16
  visible_context: Repository contribution rules and implementation naming and release transition changes.
17
17
  invisible_context_boundary: No private credentials or unpublished external release state.
18
18
  ---
@@ -55,8 +55,11 @@ host live in `crates`. `bin` contains the CLI entry, and `scripts` contains only
55
55
  repository tooling. Schemas, ownership declarations and tests live in
56
56
  `contracts`, `architecture` and `tests`.
57
57
 
58
- Do not add historical aliases or compatibility forwarders. Update every owned
59
- caller and generated artifact when moving a contract or implementation.
58
+ Preserve published consumer contracts when moving an implementation. Historical
59
+ entry paths are explicitly retained in `architecture/consumer-upgrade.json` and
60
+ generated from the current canonical workflow. Their input defaults, outputs,
61
+ permissions and job contexts remain part of the upgrade contract. Do not add
62
+ unregistered aliases or independently maintained copies.
60
63
 
61
64
  ## Build and verification
62
65
 
@@ -96,9 +99,12 @@ category vocabulary is enforced by `architecture/workflow-taxonomy.json`:
96
99
  Categories are only `build`, `release`, and `ops`. Register the identity, role,
97
100
  category, purpose, owner, lifecycle status, invocation, and rationale before
98
101
  adding its derived filename. The [Workflow Catalog](docs/workflow-catalog.md)
99
- lists every canonical API and component path. Consumers select only the two public
102
+ lists every canonical API and component path. New consumers select the two public
100
103
  entries; actions and product-specific components are internal. Self automation
101
- has only the generated normal and recovery entries. Retired paths have no generated aliases. A matching prefix alone does not admit an unregistered workflow.
104
+ has only the generated normal and recovery entries. Existing consumers retain
105
+ the published paths registered in the consumer upgrade contract. The checker
106
+ verifies their generated bodies against the canonical implementation; they add
107
+ no repository event roots. A matching prefix alone does not admit an unregistered workflow.
102
108
 
103
109
  `validate`, `doctor`, and consumer source inspection check the generated caller
104
110
  bytes and the registered implementation inventory separately. A repository that
package/README.md CHANGED
@@ -8,11 +8,11 @@ confidence: high
8
8
  sensitivity: public
9
9
  evidence_grade: B
10
10
  review_state: unreviewed
11
- last_reviewed: 2026-09-20
11
+ last_reviewed: 2026-09-24
12
12
  ai_provenance:
13
13
  model_family: GPT-6
14
14
  product: Codex
15
- generated_at: 2026-09-20
15
+ generated_at: 2026-09-24
16
16
  visible_context: Buildchain 4.1 source, architecture registries and local validation.
17
17
  invisible_context_boundary: No unpublished release or external consumer qualification is claimed.
18
18
  ---
@@ -277,7 +277,7 @@ owns release orchestration and its evidence.
277
277
 
278
278
  ## Consumer workflow contract
279
279
 
280
- Every product uses the same two generated files:
280
+ New consumers use the same two generated files:
281
281
 
282
282
  - `.github/workflows/buildchain.yml` calls `public-ops-pipeline.yml@v4`.
283
283
  - `.github/workflows/buildchain-recover.yml` calls `public-ops-recover.yml@v4`.
@@ -289,13 +289,17 @@ release. The runtime manages publication, provider readback and completion.
289
289
  Recovery takes an exact attempt and, when needed, one temporary repaired runtime.
290
290
 
291
291
  The [workflow catalog](docs/workflow-catalog.md) distinguishes the two public
292
- entries from internal components. Consumers do not call internal workflows or
293
- actions, supply publication payloads, or implement their own release controller.
292
+ entries from internal components. New integrations declare products in TOML and
293
+ use these entries for release orchestration.
294
294
  The three [standard examples](templates/minimal-consumer/) share identical caller
295
295
  bytes; their TOML and product source differ. Tool-maintained locks bind the
296
296
  published runtime. Existing npm Trusted Publishing continues to authenticate
297
297
  publication in the hosted workflow.
298
298
 
299
+ Existing consumers can retain the registered historical workflow paths and their
300
+ schema-1 product configuration. See [Compatible upgrades](docs/getting-started.md#migrating-old-callers)
301
+ for the supported interfaces and validation boundary.
302
+
299
303
  ## Release Model
300
304
 
301
305
  Buildchain treats a reviewed branch merge as release intent:
@@ -90,6 +90,7 @@
90
90
  "aggregate",
91
91
  "execute",
92
92
  "plan",
93
+ "qualify-contract",
93
94
  "qualify-profile",
94
95
  "resolve",
95
96
  "run-profile"
@@ -400,6 +401,7 @@
400
401
  "bind-selection",
401
402
  "candidate",
402
403
  "classify",
404
+ "historical-evidence",
403
405
  "inspect-invocation",
404
406
  "qualify",
405
407
  "qualify-candidate",
@@ -129,6 +129,8 @@ Safe change route: Reduce one declared responsibility in its owning module, run
129
129
  - `tests/declarative-promotion-mode.test.mjs`
130
130
  - `tests/github-governance-authority.test.mjs`
131
131
  - `tests/macos-credential-island.test.mjs`
132
+ - `tests/public-dogfood-contract.test.mjs`
133
+ - `packages/core/workflow/workflow-taxonomy.mjs`
132
134
 
133
135
  ## action-process-runtime
134
136
 
@@ -2243,6 +2245,7 @@ Owner: Buildchain runtime maintainers
2243
2245
  - `packages/core/runtime/entry/actions.js`
2244
2246
  - `packages/core/runtime/entry/activation.js`
2245
2247
  - `packages/core/runtime/entry/attempt.js`
2248
+ - `packages/core/runtime/entry/compatibility.js`
2246
2249
  - `packages/core/runtime/entry/github.js`
2247
2250
  - `packages/core/runtime/entry/recovery.js`
2248
2251
  - `packages/core/runtime/entry/selection.js`
@@ -2256,11 +2259,13 @@ Owner: Buildchain runtime maintainers
2256
2259
 
2257
2260
  ### Tests
2258
2261
 
2262
+ - `tests/consumer-build-compatibility.test.mjs`
2259
2263
  - `tests/pipeline-recovery-runtime-continuation.test.mjs`
2260
2264
  - `tests/runtime-entry-activation.test.mjs`
2261
2265
  - `tests/runtime-entry-architecture.test.mjs`
2262
2266
  - `tests/runtime-entry-provider.test.mjs`
2263
2267
  - `tests/runtime-entry-selection.test.mjs`
2268
+ - `tests/runtime-entry-transport.test.mjs`
2264
2269
 
2265
2270
  ### Generated outputs
2266
2271
 
@@ -2269,7 +2274,7 @@ Owner: Buildchain runtime maintainers
2269
2274
 
2270
2275
  ### Minimal validation
2271
2276
 
2272
- - `node --test tests/runtime-entry-selection.test.mjs tests/runtime-entry-activation.test.mjs tests/runtime-entry-provider.test.mjs tests/runtime-entry-architecture.test.mjs`
2277
+ - `node --test tests/runtime-entry-selection.test.mjs tests/runtime-entry-activation.test.mjs tests/runtime-entry-provider.test.mjs tests/runtime-entry-architecture.test.mjs tests/runtime-entry-transport.test.mjs tests/consumer-build-compatibility.test.mjs`
2273
2278
 
2274
2279
  ## runtime-provider-foundations
2275
2280
 
@@ -45,6 +45,9 @@
45
45
  "packages/core/build/plan/action-context.js",
46
46
  "packages/core/build/plan/action.js",
47
47
  "packages/core/build/plan/admission.js",
48
+ "packages/core/build/plan/compatibility-artifacts.js",
49
+ "packages/core/build/plan/compatibility-plan.js",
50
+ "packages/core/build/plan/compatibility.js",
48
51
  "packages/core/build/plan/configuration.js",
49
52
  "packages/core/build/plan/environment.js",
50
53
  "packages/core/build/plan/identity.js",
@@ -60,8 +63,10 @@
60
63
  "packages/core/build/signing/credential-transaction.js",
61
64
  "packages/core/build/signing/transaction.js",
62
65
  "packages/core/build/summary/aggregation.js",
66
+ "packages/core/build/summary/compatibility.js",
63
67
  "packages/core/build/summary/controller-receipt.js",
64
68
  "packages/core/build/summary/finalization.js",
69
+ "packages/core/build/summary/historical-outputs.js",
65
70
  "packages/core/build/summary/payloads.js"
66
71
  ],
67
72
  "entryJob": "execution-runtime",
@@ -69,6 +74,7 @@
69
74
  "runtime-ref",
70
75
  "contract-lock",
71
76
  "resume-run-id",
72
- "runtime-selection"
77
+ "runtime-selection",
78
+ "compatibility-inputs"
73
79
  ]
74
80
  }