@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
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-
|
|
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-
|
|
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
|
-
|
|
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.
|
|
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-
|
|
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-
|
|
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
|
-
|
|
59
|
-
|
|
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.
|
|
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.
|
|
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-
|
|
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-
|
|
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
|
-
|
|
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.
|
|
293
|
-
|
|
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
|
}
|