@kungfu-tech/buildchain 4.0.2-alpha.9 → 4.0.3-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 +14 -5
- package/CONTRIBUTING.md +58 -0
- package/README.md +3 -3
- package/actions/promote-buildchain-ref/README.md +1 -1
- package/actions/release-candidate-promote/README.md +31 -0
- package/architecture/agent-change-map.md +190 -126
- package/architecture/{v4-architecture-constitution.md → architecture-constitution.md} +33 -30
- package/architecture/{v3-core-mechanism-inventory.md → baseline-core-mechanism-inventory.md} +1 -1
- package/architecture/{v4-bootstrap-authority.json → bootstrap-authority.json} +3 -3
- package/architecture/{v3-v4-capability-closure.md → capability-parity-closure.md} +3 -3
- package/architecture/{v3-v4-live-capability-inventory.json → capability-parity-live-capability-inventory.json} +4 -4
- package/architecture/{v4-capability-state-machine-manifest.json → capability-state-machine-manifest.json} +2 -2
- package/architecture/{v4-capability-state-machine-manifest.schema.json → capability-state-machine-manifest.schema.json} +2 -2
- package/architecture/ci-lane-change-budget.json +384 -0
- package/architecture/{v4-cross-platform-adopter-qualification.json → cross-platform-adopter-qualification.json} +4 -4
- package/architecture/{v4-delivery-authority-parity.json → delivery-authority-parity.json} +17 -17
- package/architecture/{v4-delivery-warrant-shadow-bootstrap-plan.json → delivery-warrant-shadow-bootstrap-plan.json} +4 -4
- package/architecture/{v4-delivery-warrant-shadow-bootstrap-plan.md → delivery-warrant-shadow-bootstrap-plan.md} +7 -7
- package/architecture/{v4-floating-consumer-policy.json → floating-consumer-policy.json} +2 -2
- package/architecture/{v4-floating-consumer-policy.md → floating-consumer-policy.md} +1 -1
- package/architecture/implementation-naming.json +1273 -0
- package/architecture/internal-capabilities.json +201 -154
- package/architecture/maintainability-debt.json +205 -146
- package/architecture/maintainability-policy.json +37 -33
- package/architecture/{v4-next-development-parity.json → next-development-parity.json} +12 -12
- package/architecture/{v4-partial-mutation-recovery-qualification.json → partial-mutation-recovery-qualification.json} +8 -5
- package/architecture/{v4-platform-stage-checkpoints.json → platform-stage-checkpoints.json} +3 -3
- package/architecture/{v4-provider-operation-journal-contract.json → provider-operation-journal-contract.json} +10 -7
- package/architecture/publication-facade-patches.json +64 -0
- package/architecture/{v4-publication-rehearsal-parity.json → publication-rehearsal-parity.json} +4 -4
- package/architecture/{v4-release-activation-shadow-domain.json → release-activation-shadow-domain.json} +9 -6
- package/architecture/release-tail-contract-inventory.json +6 -6
- package/architecture/{v4-release-topology.json → release-topology.json} +163 -72
- package/architecture/{v4-release-train-parity.json → release-train-parity.json} +2 -2
- package/architecture/{v4-runtime-ref-resume-authority.json → runtime-ref-resume-authority.json} +1 -1
- package/architecture/{v4-runtime-semantic-closure.json → runtime-semantic-closure.json} +2 -2
- package/architecture/{v4-rust-libnode-bridge-evaluation.json → rust-libnode-bridge-evaluation.json} +3 -3
- package/architecture/{v4-rust-libnode-bridge-spike.md → rust-libnode-bridge-spike.md} +6 -6
- package/architecture/rust-wasm-production-authority.json +58 -0
- package/architecture/{v4-stable-publication-fence.json → stable-publication-fence.json} +7 -4
- package/architecture/{v4-stage-capsule-contract.json → stage-capsule-contract.json} +1 -1
- package/architecture/{v4-stage-capsule-qualification.json → stage-capsule-qualification.json} +8 -8
- package/architecture/{v4-stage-capsule-resume-planner.json → stage-capsule-resume-planner.json} +2 -2
- package/architecture/{v4-stage-capsule-store-contract.json → stage-capsule-store-contract.json} +4 -4
- package/architecture/{v4-tail-reseal-parity.json → tail-reseal-parity.json} +35 -33
- package/architecture/universal-workflow-bootstrap.json +176 -0
- package/architecture/universal-workflow-fault-campaign.json +72 -0
- package/architecture/universal-workflow-train-admission.json +40 -0
- package/architecture/workflow-taxonomy.json +1462 -0
- package/bin/buildchain.mjs +10 -10
- package/bin/internal/adopter-delivery-cli.mjs +9 -9
- package/contracts/buildchain-v2-residuals-v1.json +57 -48
- package/contracts/dev-delivery-authority-v2.schema.json +16 -2
- package/contracts/fixtures/v4-tail-reseal-v1/valid.json +1 -1
- package/contracts/v4-canonical-contracts-v1.schema.json +1 -0
- package/crates/{buildchain-v4-bridge → buildchain-host-bridge}/Cargo.lock +1 -1
- package/crates/{buildchain-v4-bridge → buildchain-host-bridge}/Cargo.toml +1 -1
- package/crates/{buildchain-v4-bridge → buildchain-host-bridge}/src/main.rs +3 -3
- package/dist/site/buildchain-contract.json +98 -53
- package/dist/site/buildchain-site.json +351 -102
- package/dist/site/capability-registry.json +7 -7
- package/dist/site/controller-registry.json +50 -13
- package/dist/site/kfd-claims.json +2773 -1052
- package/dist/site/kfd-upstream-aggregate.json +1 -1
- package/dist/site/manual-registry.json +14 -14
- package/dist/site/node-api-registry.json +13176 -10733
- package/dist/site/page-registry.json +332 -83
- package/dist/site/public-surface-audit.json +3227 -1222
- package/dist/site/publication-authority-registry.json +1135 -363
- package/dist/site/publication-registry.json +4 -4
- package/dist/site/release-provenance.json +18 -9
- package/dist/site/schemas/dev-delivery-authority-v2.schema.json +16 -2
- package/dist/site/site-manifest.json +18 -18
- package/dist/site/workflow-registry.json +5367 -1931
- package/docs/MAP.md +5 -3
- package/docs/auditable-demo.md +1 -1
- package/docs/cli.md +21 -8
- package/docs/dev-delivery-warrant.md +1 -1
- package/docs/engineering-housekeeper.md +3 -3
- package/docs/kfd-support.md +26 -2
- package/docs/next-development-transition.md +26 -3
- package/docs/node-api-reference.md +618 -358
- package/docs/oci-publication.md +173 -0
- package/docs/publication-authority.md +2 -2
- package/docs/publish-transaction.md +36 -3
- package/docs/release-candidate.md +3 -3
- package/docs/release-flow.md +67 -19
- package/docs/release-governance.md +8 -8
- package/docs/release-passport.md +27 -2
- package/docs/reusable-build-surface.md +17 -1
- package/docs/v4-adopter-delivery.md +4 -4
- package/docs/v4-canonical-contracts.md +7 -7
- package/docs/v4-delivery-warrant-read-candidate.md +3 -3
- package/docs/v4-delivery-warrant-semantic-diff.md +3 -3
- package/docs/v4-production-release.md +77 -8
- package/docs/v4-publication-rehearsal.md +3 -3
- package/docs/v4-runtime-ref-resume-authority.md +2 -2
- package/docs/v4-rust-wasm-production-authority.md +58 -0
- package/docs/v4-stage-capsule.md +9 -9
- package/docs/v4-tail-reseal.md +2 -2
- package/docs/workflow-catalog.md +155 -0
- package/docs/workflow-path-migration.md +109 -0
- package/package.json +39 -24
- package/packages/compatibility/adopter-delivery.js +16 -0
- package/packages/compatibility/cross-platform-adopter-qualification.js +12 -0
- package/packages/compatibility/floating-consumer-policy.js +14 -0
- package/packages/compatibility/publication-qualification.js +11 -0
- package/packages/compatibility/publication-rehearsal.js +18 -0
- package/packages/compatibility/runtime-ref-resume-authority.js +13 -0
- package/packages/compatibility/tail-reseal-receipt.js +7 -0
- package/packages/compatibility/tail-reseal.js +11 -0
- package/packages/core/{v4-adopter-delivery-parity.js → adopter-delivery-parity.js} +12 -12
- package/packages/core/{v4-adopter-delivery.js → adopter-delivery.js} +24 -24
- package/packages/core/artifact-verification-envelope.js +5 -5
- package/packages/core/buildchain-contract.js +6 -6
- package/packages/core/buildchain-domain.wasm +0 -0
- package/packages/core/buildchain-kfd-claims.js +2 -2
- package/packages/core/buildchain-publication-authority.js +43 -26
- package/packages/core/{v4-canonical-contracts.js → canonical-contracts.js} +39 -103
- package/packages/core/ci-lane-change-budget.js +14 -1
- package/packages/core/controller-evidence.js +4 -1
- package/packages/core/{v4-cross-platform-adopter-qualification.js → cross-platform-adopter-qualification.js} +19 -19
- package/packages/core/{v4-delivery-warrant-fixture-runner.js → delivery-warrant-fixture-runner.js} +36 -32
- package/packages/core/{v4-delivery-warrant-read-candidate.js → delivery-warrant-read-candidate.js} +40 -40
- package/packages/core/{v4-delivery-warrant-semantic-diff-gate.js → delivery-warrant-semantic-diff-gate.js} +58 -59
- package/packages/core/{v4-delivery-warrant-shadow-adapter.js → delivery-warrant-shadow-adapter.js} +15 -15
- package/packages/core/dev-delivery-candidate-identity.js +40 -6
- package/packages/core/dev-delivery-execution-transfer.js +6 -6
- package/packages/core/dev-delivery-native-proof.js +12 -8
- package/packages/core/dev-delivery-warrant-legacy-recovery.js +1 -1
- package/packages/core/dev-delivery-warrant-native-compatibility.js +4 -4
- package/packages/core/dev-delivery-warrant-state.js +14 -15
- package/packages/core/dev-delivery-warrant.js +15 -5
- package/packages/core/domain-wasm-artifact.js +7 -0
- package/packages/core/domain-wasm.js +216 -0
- package/packages/core/{v4-floating-consumer-evidence.js → floating-consumer-evidence.js} +14 -14
- package/packages/core/{v4-floating-consumer-policy.js → floating-consumer-policy.js} +28 -30
- package/packages/core/{v4-floating-consumer-release-passport.js → floating-consumer-release-passport.js} +25 -25
- package/packages/core/github-governance-authority.js +4 -4
- package/packages/core/index.js +4 -8
- package/packages/core/kfd-adopter-manifest.js +46 -47
- package/packages/core/next-development-projection.js +26 -3
- package/packages/core/next-development-transition.js +5 -6
- package/packages/core/oci-compose-qualification.js +143 -0
- package/packages/core/oci-publication-bundle.js +281 -0
- package/packages/core/oci-publication-graph.js +206 -0
- package/packages/core/paper-agent-entry.js +30 -4
- package/packages/core/paper-fleet.js +1 -1
- package/packages/core/paper-runtime-channels.js +348 -0
- package/packages/core/paper-scaffold-content.js +10 -0
- package/packages/core/paper.js +37 -71
- package/packages/core/partial-mutation-recovery-qualification.js +18 -0
- package/packages/core/{v4-platform-stage-checkpoints.js → platform-stage-checkpoints.js} +37 -37
- package/packages/core/product-publication.js +59 -0
- package/packages/core/{v4-protected-publication-source.js → protected-publication-source.js} +22 -24
- package/packages/core/provider-operation-journal.js +62 -0
- package/packages/core/{v4-provider-readback-idempotency.js → provider-readback-idempotency.js} +40 -125
- package/packages/core/public-export-compatibility.js +33 -0
- package/packages/core/publication-development.js +72 -0
- package/packages/core/{v4-publication-qualification.js → publication-qualification.js} +17 -17
- package/packages/core/{v4-publication-rehearsal-capsule.js → publication-rehearsal-capsule.js} +23 -23
- package/packages/core/publication-rehearsal-projection.js +2 -2
- package/packages/core/{v4-publication-rehearsal-provider-bindings.js → publication-rehearsal-provider-bindings.js} +4 -4
- package/packages/core/publication-rehearsal-runtime.js +21 -21
- package/packages/core/{v4-publication-rehearsal.js → publication-rehearsal.js} +33 -33
- package/packages/core/publication-sealed-bundle.js +78 -13
- package/packages/core/release-activation-shadow.js +32 -0
- package/packages/core/release-candidate.js +6 -6
- package/packages/core/release-invocation.js +64 -0
- package/packages/core/release-line-dry-run.js +1 -1
- package/packages/core/release-passport-contract.js +5 -5
- package/packages/core/release-passport.js +41 -40
- package/packages/core/release-tail-product-capabilities.js +9 -0
- package/packages/core/release-tail-provider-plane.js +68 -1048
- package/packages/core/{v4-runtime-ref-resume-authority.js → runtime-ref-resume-authority.js} +36 -40
- package/packages/core/{v4-runtime-selector-persistence.js → runtime-selector-persistence.js} +7 -7
- package/packages/core/stable-publication-fence.js +28 -0
- package/packages/core/{v4-stage-capsule-local-store.js → stage-capsule-local-store.js} +56 -54
- package/packages/core/{v4-stage-capsule-qualification-campaign.js → stage-capsule-qualification-campaign.js} +37 -38
- package/packages/core/{v4-stage-capsule-qualification.js → stage-capsule-qualification.js} +28 -29
- package/packages/core/{v4-stage-capsule-resume-planner.js → stage-capsule-resume-planner.js} +29 -29
- package/packages/core/{v4-stage-capsule-store.js → stage-capsule-store.js} +59 -56
- package/packages/core/{v4-stage-capsule.js → stage-capsule.js} +45 -45
- package/packages/core/{v4-tail-reseal-contract.js → tail-reseal-contract.js} +6 -6
- package/packages/core/{v4-tail-reseal-github.js → tail-reseal-github.js} +12 -12
- package/packages/core/{v4-tail-reseal-receipt.js → tail-reseal-receipt.js} +22 -22
- package/packages/core/{v4-tail-reseal.js → tail-reseal.js} +29 -29
- package/packages/core/universal-workflow-bootstrap.js +586 -0
- package/scripts/{v4-architecture.mjs → architecture.mjs} +6 -6
- package/scripts/binary-publication-evidence.mjs +135 -0
- package/scripts/{v4-bridge-bootstrap.mjs → bridge-bootstrap.mjs} +14 -18
- package/scripts/{v4-bridge-evidence.mjs → bridge-evidence.mjs} +8 -8
- package/scripts/build-contract-core.mjs +1 -14
- package/scripts/build-domain-wasm.mjs +177 -0
- package/scripts/{v3-v4-capability-catalog.mjs → capability-parity-catalog.mjs} +19 -19
- package/scripts/check-action-bundles.mjs +12 -2
- package/scripts/{check-v3-v4-capability-inventory.mjs → check-capability-parity-inventory.mjs} +42 -42
- package/scripts/check-ci-lane-change-budget.mjs +4 -1
- package/scripts/check-core-mechanism-inventory.mjs +8 -4
- package/scripts/{check-v4-floating-consumer-policy-contract.mjs → check-floating-consumer-policy-contract.mjs} +10 -10
- package/scripts/check-implementation-naming.mjs +135 -0
- package/scripts/check-inventory.mjs +39 -47
- package/scripts/check-maintainability.mjs +25 -115
- package/scripts/{check-v4-public-dogfood-contract.mjs → check-public-dogfood-contract.mjs} +37 -24
- package/scripts/{check-v4-release-topology.mjs → check-release-topology.mjs} +131 -52
- package/scripts/{check-v4-runtime-semantic-closure.mjs → check-runtime-semantic-closure.mjs} +23 -17
- package/scripts/check-universal-workflow-bootstrap.mjs +266 -0
- package/scripts/check-workflow-taxonomy.mjs +6 -0
- package/scripts/{v4-consumer-policy.mjs → consumer-policy.mjs} +15 -15
- package/scripts/copy-domain-wasm.mjs +14 -0
- package/scripts/{v4-cross-platform-adopter-qualification.mjs → cross-platform-adopter-qualification.mjs} +9 -9
- package/scripts/{v4-declarative-promotion-admission.mjs → declarative-promotion-admission.mjs} +4 -4
- package/scripts/dev-delivery-authority-command-adapters.mjs +1 -1
- package/scripts/dev-delivery-authority.mjs +8 -8
- package/scripts/dev-delivery-source-proof-reuse.mjs +2 -1
- package/scripts/dev-delivery-warrant-options.mjs +15 -10
- package/scripts/dev-delivery-warrant-store.mjs +98 -13
- package/scripts/dev-delivery-warrant-transition.mjs +109 -0
- package/scripts/dev-delivery-warrant.mjs +80 -103
- package/scripts/dev-pr-auto-merge.mjs +15 -15
- package/scripts/dev-pr-delivery-warrant.mjs +1 -1
- package/scripts/generate-channel-build-workflow.mjs +7 -2
- package/scripts/generate-channel-promotion-workflow.mjs +19 -34
- package/scripts/generate-release-candidate-passport.mjs +23 -23
- package/scripts/generate-site-bundle.mjs +28 -28
- package/scripts/generate-universal-workflow-facades.mjs +498 -0
- package/scripts/generate-workflow-taxonomy.mjs +25 -0
- package/scripts/github-output.mjs +31 -0
- package/scripts/{v4-host-adapter.mjs → host-adapter.mjs} +1 -1
- package/scripts/implementation-references.mjs +25 -0
- package/scripts/init-repo.mjs +1 -1
- package/scripts/maintainability-metrics.mjs +16 -5
- package/scripts/maintainability-public-surface.mjs +115 -0
- package/scripts/next-development-review.mjs +313 -0
- package/scripts/oci-compose-preview.mjs +261 -0
- package/scripts/paper-work-fleet-cli.mjs +2 -0
- package/scripts/{v4-platform-stage-checkpoint-rehearsal.mjs → platform-stage-checkpoint-rehearsal.mjs} +17 -17
- package/scripts/{v4-product-publication-intent.mjs → product-publication-intent.mjs} +28 -13
- package/scripts/publication-candidate-kind.mjs +93 -0
- package/scripts/publication-candidate-sealer.mjs +16 -1
- package/scripts/{v4-publication-rehearsal-fixture.mjs → publication-rehearsal-fixture.mjs} +5 -5
- package/scripts/publication-settlement.mjs +211 -0
- package/scripts/release-asset-client.mjs +91 -0
- package/scripts/{v4-release-candidate-adapter.mjs → release-candidate-adapter.mjs} +4 -4
- package/scripts/release-candidate-resolver.mjs +24 -35
- package/scripts/release-tail.mjs +5 -5
- package/scripts/resume-from-candidate-run.mjs +35 -42
- package/scripts/site-capability-metadata.mjs +9 -0
- package/scripts/source-verification-evidence.mjs +344 -0
- package/scripts/stable-candidate-qualification.mjs +1 -1
- package/scripts/{v4-stage-capsule-qualification.mjs → stage-capsule-qualification.mjs} +62 -62
- package/scripts/{v4-stage-capsule-resume-rehearsal.mjs → stage-capsule-resume-rehearsal.mjs} +6 -6
- package/scripts/{v4-tail-reseal-macos-rehearsal.mjs → tail-reseal-macos-rehearsal.mjs} +9 -9
- package/scripts/{v4-tail-reseal.mjs → tail-reseal.mjs} +19 -19
- package/scripts/universal-facade-maintainability.mjs +91 -0
- package/scripts/universal-workflow-backflow.mjs +212 -0
- package/scripts/universal-workflow-engine.mjs +620 -0
- package/scripts/universal-workflow-self-dogfood.mjs +205 -0
- package/scripts/verify-version-state-delta.mjs +175 -0
- package/scripts/{v4-warrant-shadow-plan.mjs → warrant-shadow-plan.mjs} +6 -6
- package/scripts/workflow-taxonomy.mjs +507 -0
- package/templates/native-dev-delivery.yml +4 -7
- package/templates/universal-buildchain-bootstrap-recovery.yml +282 -0
- package/templates/universal-buildchain-bootstrap.yml +28 -0
- package/actions/v4-release-candidate-promote/README.md +0 -3
- package/packages/core/v4-partial-mutation-recovery-qualification.js +0 -395
- package/packages/core/v4-product-publication.js +0 -387
- package/packages/core/v4-provider-operation-journal.js +0 -531
- package/packages/core/v4-release-activation-shadow.js +0 -519
- package/packages/core/v4-release-invocation.js +0 -425
- package/packages/core/v4-stable-publication-fence.js +0 -357
- /package/architecture/{v4-adopter-delivery-parity.json → adopter-delivery-parity.json} +0 -0
- /package/architecture/{v3-core-mechanism-inventory.json → baseline-core-mechanism-inventory.json} +0 -0
- /package/architecture/{v4-canonical-contract-fixtures.json → canonical-contract-fixtures.json} +0 -0
- /package/architecture/{v4-compatibility-facts-parity.json → compatibility-facts-parity.json} +0 -0
- /package/architecture/{v4-delivery-warrant-shadow-bootstrap-plan.schema.json → delivery-warrant-shadow-bootstrap-plan.schema.json} +0 -0
- /package/architecture/{v4-delivery-warrant-shadow-fixtures.json → delivery-warrant-shadow-fixtures.json} +0 -0
- /package/architecture/{v4-delivery-warrant-shadow-fixtures.schema.json → delivery-warrant-shadow-fixtures.schema.json} +0 -0
- /package/architecture/{v4-exception-ledger.json → exception-ledger.json} +0 -0
- /package/architecture/{v4-exception-ledger.schema.json → exception-ledger.schema.json} +0 -0
- /package/architecture/{v4-release-invocation-fixtures.json → release-invocation-fixtures.json} +0 -0
|
@@ -50,7 +50,7 @@ provider effects, modify v3 authority, or provide a v4 write cutover receipt.
|
|
|
50
50
|
|
|
51
51
|
## Run the gate
|
|
52
52
|
|
|
53
|
-
Call `
|
|
53
|
+
Call `runDeliveryWarrantSemanticDiffGate` with exact source revisions,
|
|
54
54
|
explicit observation time, schema and runner roots, public-safe retained cases,
|
|
55
55
|
bounded fault probes, an observation retention sink, and a report retention
|
|
56
56
|
sink. The returned report is canonical JSON data suitable for a caller-owned
|
|
@@ -59,7 +59,7 @@ retained evidence file.
|
|
|
59
59
|
The checked-in focused suite exercises that API against the real Rust host:
|
|
60
60
|
|
|
61
61
|
```sh
|
|
62
|
-
node --test tests/
|
|
62
|
+
node --test tests/delivery-warrant-fixture-runner.test.mjs
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
A qualified report makes only the next
|
|
@@ -71,5 +71,5 @@ documented in
|
|
|
71
71
|
Focused verification:
|
|
72
72
|
|
|
73
73
|
```sh
|
|
74
|
-
pnpm run check:
|
|
74
|
+
pnpm run check:contracts
|
|
75
75
|
```
|
|
@@ -7,12 +7,12 @@ source_level: repository-contracts + protected-provider-readback
|
|
|
7
7
|
confidence: high
|
|
8
8
|
sensitivity: public
|
|
9
9
|
evidence_grade: A
|
|
10
|
-
review_state:
|
|
11
|
-
last_reviewed: 2026-
|
|
10
|
+
review_state: unreviewed
|
|
11
|
+
last_reviewed: 2026-09-07
|
|
12
12
|
ai_provenance:
|
|
13
|
-
model_family: GPT-
|
|
13
|
+
model_family: GPT-6
|
|
14
14
|
product: Codex
|
|
15
|
-
generated_at: 2026-
|
|
15
|
+
generated_at: 2026-09-07
|
|
16
16
|
invisible_context: Provider credentials and private provider state were not read.
|
|
17
17
|
---
|
|
18
18
|
|
|
@@ -26,8 +26,15 @@ dev/v4/v4.0 -> alpha/v4/v4.0 -> release/v4/v4.0
|
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
Public consumers use `v4-alpha` for the current prerelease channel and `v4`
|
|
29
|
-
for stable
|
|
30
|
-
|
|
29
|
+
for stable, with matching stable and alpha contract locks. Exact commits and
|
|
30
|
+
immutable release tags identify retained evidence and explicitly admitted runtime
|
|
31
|
+
inputs; tracked v4 reusable-workflow selectors remain `@v4` or `@v4-alpha`.
|
|
32
|
+
|
|
33
|
+
Before qualifying a new release, run `node scripts/check-universal-workflow-bootstrap.mjs`.
|
|
34
|
+
The required repository check rejects an expired or not-yet-valid candidate admission
|
|
35
|
+
policy before publication. Renew the bounded validity window through protected review;
|
|
36
|
+
keep its capability, permission, reviewer and exact-source requirements unchanged.
|
|
37
|
+
Historical publication receipts remain immutable when a later admission window expires.
|
|
31
38
|
|
|
32
39
|
The release transaction is fail-closed. The v4 provider-operation journal,
|
|
33
40
|
activation plan, stable publication fence, and partial-mutation recovery plan
|
|
@@ -51,8 +58,9 @@ exact alpha tag, and npm's `alpha` tag.
|
|
|
51
58
|
## Non-destructive rollback
|
|
52
59
|
|
|
53
60
|
Rollback never rewrites an exact tag, release, package version, Passport, or
|
|
54
|
-
provider journal. Stop forward promotion
|
|
55
|
-
|
|
61
|
+
provider journal. Stop forward promotion and select the last verified exact
|
|
62
|
+
v4 runtime through an admitted, non-persistent recovery input; keep tracked v4
|
|
63
|
+
workflow selectors on their locked floating channel. Use `release/v3/v3.0`
|
|
56
64
|
coordinate only as an explicit compatibility rollback reference. Restoring v3
|
|
57
65
|
as production authority requires a new reviewed cutover; it is not an implicit
|
|
58
66
|
fallback.
|
|
@@ -61,3 +69,64 @@ Before any retry, compare the current provider state with the retained
|
|
|
61
69
|
transaction and operation roots. Resume only missing eligible operations.
|
|
62
70
|
Conflicting state remains `repair-required` or terminal and must not be
|
|
63
71
|
converted into success by moving a floating ref.
|
|
72
|
+
|
|
73
|
+
## Publication settlement and binary recovery
|
|
74
|
+
|
|
75
|
+
Publication, next-development advancement, and binary distribution have separate
|
|
76
|
+
results. A completed native ReleaseReceipt remains publication evidence when the
|
|
77
|
+
later generated Dev PR is still pending or its enqueue call fails. SETTLE verifies
|
|
78
|
+
the immutable invocation, transaction, both provider states, receipt and Passport
|
|
79
|
+
roots even when APPLY fails after publication. It has no provider write permission.
|
|
80
|
+
|
|
81
|
+
APPLY retains that exact chain before waiting for next-development in the existing GitHub Release as
|
|
82
|
+
`buildchain-publication-settlement.json`; it reads the exact tag and original
|
|
83
|
+
`buildchain.release.json` before adding the packet. The APPLY artifact also retains
|
|
84
|
+
`delivery-summary.json`, which reports publication and next-development separately.
|
|
85
|
+
A green workflow label cannot substitute for this receipt verification.
|
|
86
|
+
|
|
87
|
+
Binary Distribution reads this settlement and the original publication Passport.
|
|
88
|
+
Tag creation can precede settlement, so it waits at most 40 observations, 15 seconds
|
|
89
|
+
apart, for missing evidence. A mismatched source, tag, Passport or receipt fails
|
|
90
|
+
immediately. It no longer requires a legacy `buildchain/release-state/*` ref for v4.
|
|
91
|
+
|
|
92
|
+
The sealed binary publisher retains the publication Passport and writes its own
|
|
93
|
+
Passport as `buildchain.binary.release.json`. All v4 asset collisions are checked
|
|
94
|
+
before uploads: identical bytes are preserved, absent assets are added, and
|
|
95
|
+
conflicting bytes are rejected. Each publication authorization is retained as
|
|
96
|
+
`buildchain.binary.capability-<sha256>.json`, so a fresh recovery capability does
|
|
97
|
+
not overwrite an earlier grant. Existing assets are never clobbered. Recovery uses
|
|
98
|
+
the same exact successful Binary Distribution evidence run through
|
|
99
|
+
`self-release-binary-assets.yml`; it does not rebuild already admitted archives or
|
|
100
|
+
create another npm version. Read back all three platform archives, checksums,
|
|
101
|
+
both Passports and the settlement packet before declaring distribution complete.
|
|
102
|
+
|
|
103
|
+
The native publication receipt authorizes no stable promotion and makes no claim
|
|
104
|
+
that a pending next-development PR has merged. Inspect the exact PR head, protected
|
|
105
|
+
base and merge result independently. A retry of the publication phase must first
|
|
106
|
+
read retained provider facts and resume only missing operations.
|
|
107
|
+
|
|
108
|
+
## Automatic next-development review
|
|
109
|
+
|
|
110
|
+
`self-release-next-development.yml` observes a successful exact `Verify` PR run
|
|
111
|
+
for a same-repository `chore/next-development/*` branch. It executes only the
|
|
112
|
+
protected default branch runtime. The PR must have one parent equal to the
|
|
113
|
+
current protected Dev head. The protected generator reconstructs every tracked
|
|
114
|
+
byte, permits only the declared immediate alpha version increment, and verifies
|
|
115
|
+
the completed alpha settlement against the exact tag and original Passport.
|
|
116
|
+
The published source tree must equal the protected development base tree.
|
|
117
|
+
|
|
118
|
+
The verification step receives no approval credential and never executes PR
|
|
119
|
+
code. A separate step uses `BUILDCHAIN_APPROVAL_TOKEN`, verifies that its identity
|
|
120
|
+
is the independent `kungfu-origin` CODEOWNER, rereads the exact PR/run/base, and
|
|
121
|
+
approves only that commit. Existing requests for changes stop automation.
|
|
122
|
+
The exact approval is read back before queue admission with the separate
|
|
123
|
+
`BUILDCHAIN_PROMOTION_TOKEN`. Required checks, CODEOWNER protection and native
|
|
124
|
+
merge-group verification remain enforced. Missing credentials or evidence,
|
|
125
|
+
forks, source changes and base/head drift fail closed.
|
|
126
|
+
|
|
127
|
+
The producer waits for pending independent review and required checks with a
|
|
128
|
+
bounded retry budget. Publication evidence is already durable during this wait,
|
|
129
|
+
so binaries can proceed independently. The reviewer also enqueues the verified
|
|
130
|
+
head idempotently, allowing a producer interruption to leave a recoverable PR.
|
|
131
|
+
An interrupted producer run remains failed; a successful later release is needed
|
|
132
|
+
to establish an uninterrupted end-to-end publication.
|
|
@@ -27,7 +27,7 @@ release candidate and asks the production release-tail planner and executor to
|
|
|
27
27
|
simulate, replay, or observe provider-facing publication behavior.
|
|
28
28
|
|
|
29
29
|
The rooted parity matrix is
|
|
30
|
-
[`architecture/
|
|
30
|
+
[`architecture/publication-rehearsal-parity.json`](../architecture/publication-rehearsal-parity.json),
|
|
31
31
|
and the public schema is
|
|
32
32
|
[`v4-publication-rehearsal-capsule-v1.schema.json`](../contracts/v4-publication-rehearsal-capsule-v1.schema.json).
|
|
33
33
|
|
|
@@ -125,6 +125,6 @@ records Linux, macOS and Windows projections. Their capsule, transaction,
|
|
|
125
125
|
state, and evidence roots are byte-identical. Regenerate or verify them with:
|
|
126
126
|
|
|
127
127
|
```sh
|
|
128
|
-
node scripts/
|
|
129
|
-
node scripts/
|
|
128
|
+
node scripts/publication-rehearsal-fixture.mjs
|
|
129
|
+
node scripts/publication-rehearsal-fixture.mjs --check
|
|
130
130
|
```
|
|
@@ -60,9 +60,9 @@ construction and verification.
|
|
|
60
60
|
|
|
61
61
|
Normative files:
|
|
62
62
|
|
|
63
|
-
- `architecture/
|
|
63
|
+
- `architecture/runtime-ref-resume-authority.json`
|
|
64
64
|
- `contracts/v4-runtime-ref-resume-authority-v1.schema.json`
|
|
65
|
-
- `packages/core/
|
|
65
|
+
- `packages/core/runtime-ref-resume-authority.js`
|
|
66
66
|
- `scripts/authorize-promotion-runtime-override.cjs`
|
|
67
67
|
|
|
68
68
|
This contract changes no v3 behavior, grants no provider mutation authority,
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: draft
|
|
3
|
+
period: 2026-09-04
|
|
4
|
+
theme: buildchain-v4-rust-wasm-production-authority
|
|
5
|
+
doc_type: architecture
|
|
6
|
+
source_level: local-files
|
|
7
|
+
confidence: high
|
|
8
|
+
sensitivity: public
|
|
9
|
+
evidence_grade: A
|
|
10
|
+
review_state: self-reviewed
|
|
11
|
+
last_reviewed: 2026-09-04
|
|
12
|
+
ai_provenance:
|
|
13
|
+
model_family: GPT-5
|
|
14
|
+
product: Codex
|
|
15
|
+
generated_at: 2026-09-04
|
|
16
|
+
invisible_context: not-claimed
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Buildchain v4 Rust/WASM production authority
|
|
20
|
+
|
|
21
|
+
Buildchain v4 的确定性发布语义由
|
|
22
|
+
`crates/buildchain-domain-contracts` 编译出的同一份 WebAssembly artifact 执行。Node
|
|
23
|
+
仍是 GitHub Action 和 npm 包的宿主,但只负责 provider SDK、文件系统、凭据、环境变量及
|
|
24
|
+
workflow 输入输出等副作用边界。权威契约见
|
|
25
|
+
`architecture/rust-wasm-production-authority.json`。
|
|
26
|
+
|
|
27
|
+
## 分发与调用
|
|
28
|
+
|
|
29
|
+
`packages/core/buildchain-domain.wasm` 与 JavaScript 一起提交和发布。三个生产 Action
|
|
30
|
+
在构建时把完全相同的字节复制到各自 `dist/`;运行时不进入调用方仓库寻找 Rust
|
|
31
|
+
源码,也不要求安装 Rust。`packages/core/domain-wasm.js` 从自身相邻路径同步读取
|
|
32
|
+
artifact,先核验生成元数据中的 SHA-256,再实例化 WebAssembly 并通过封闭 JSON/bytes
|
|
33
|
+
ABI 调用领域操作。
|
|
34
|
+
|
|
35
|
+
缺失、被篡改、无法实例化、缺少导出、ABI 版本不符、trap 或非法响应都会失败关闭;
|
|
36
|
+
不存在 JavaScript 领域算法回退。公共 JavaScript API 保留为薄 facade,调用者无须改成
|
|
37
|
+
直接操作 WASM 内存。
|
|
38
|
+
|
|
39
|
+
## 构建和审计
|
|
40
|
+
|
|
41
|
+
`pnpm run build:wasm` 使用锁定的 Rust 工具链和 `wasm32-unknown-unknown` target 生成
|
|
42
|
+
artifact 与绑定元数据,并把 Cargo 依赖源目录映射到稳定的虚拟路径,禁止主机 Cargo
|
|
43
|
+
registry 路径进入 artifact。`pnpm run check:wasm` 在干净临时 target 目录重新构建并逐字节
|
|
44
|
+
比较已跟踪 artifact。这个检查不是生产运行时的重复编译:生产只加载已提交字节;检查
|
|
45
|
+
用于证明这些字节仍能由当前 Rust 真相源和锁定工具链唯一导出,从而阻止源码、二进制或
|
|
46
|
+
生成元数据静默漂移。
|
|
47
|
+
|
|
48
|
+
受保护的 Verify 在 Linux 完成可复现构建,并在 Linux x64、macOS arm64 和 Windows x64
|
|
49
|
+
上用 Node 24 直接加载同一提交中的 artifact。Action bundle 检查同时证明三个 `dist/`
|
|
50
|
+
副本与核心 artifact 完全一致。
|
|
51
|
+
|
|
52
|
+
## 权威边界
|
|
53
|
+
|
|
54
|
+
Rust/WASM 决定 canonical JSON/content root、release invocation、product publication、
|
|
55
|
+
provider journal/readback fold、activation、stable fence、partial-mutation recovery 与
|
|
56
|
+
release-tail 的计划、状态转换、重试/readback 和 receipt。Node 执行 Rust 返回的明确
|
|
57
|
+
instruction,把 provider observation 或归类后的 provider fault 回送给 Rust,由 Rust
|
|
58
|
+
决定下一状态;Node 不写第二套相同领域规则。
|
package/docs/v4-stage-capsule.md
CHANGED
|
@@ -20,7 +20,7 @@ ai_provenance:
|
|
|
20
20
|
|
|
21
21
|
## Platform checkpoint projection
|
|
22
22
|
|
|
23
|
-
`architecture/
|
|
23
|
+
`architecture/platform-stage-checkpoints.json` is the single declaration
|
|
24
24
|
for the macOS arm64, Linux x64, and Windows x64 shadow checkpoint lanes. It
|
|
25
25
|
defines the allowed platform/stage pairs and the exact declared inputs,
|
|
26
26
|
outputs, environment names, toolchains, and portable restore paths.
|
|
@@ -100,19 +100,19 @@ GitHub Artifact and S3-compatible adapters expose only `effect-disabled` and
|
|
|
100
100
|
`fixture-backed` modes in this slice. They accept rooted locators, never raw
|
|
101
101
|
credentials or signed URLs, and cannot perform a provider upload or restore.
|
|
102
102
|
The executable architecture ceiling is
|
|
103
|
-
[`
|
|
103
|
+
[`stage-capsule-store-contract.json`](../architecture/stage-capsule-store-contract.json),
|
|
104
104
|
and the shared Rust/JavaScript fixture is
|
|
105
105
|
[`shared.json`](../contracts/fixtures/v4-stage-capsule-store-v1/shared.json).
|
|
106
106
|
|
|
107
107
|
Focused verification:
|
|
108
108
|
|
|
109
109
|
```sh
|
|
110
|
-
pnpm run check:
|
|
110
|
+
pnpm run check:contracts
|
|
111
111
|
```
|
|
112
112
|
|
|
113
113
|
## Deterministic resume planning
|
|
114
114
|
|
|
115
|
-
`architecture/
|
|
115
|
+
`architecture/stage-capsule-resume-planner.json` closes the Wave 2 resume
|
|
116
116
|
planner. Its request is an explicit topological stage graph with targets,
|
|
117
117
|
expected Capsule identity and retention, current Capsule/availability
|
|
118
118
|
observations, an evaluation clock, and separately declared provider or
|
|
@@ -133,11 +133,11 @@ shadow-only: it does not skip a v3 production stage or move v3 authority.
|
|
|
133
133
|
|
|
134
134
|
## Three-platform qualification and Wave reconciliation
|
|
135
135
|
|
|
136
|
-
`architecture/
|
|
136
|
+
`architecture/stage-capsule-qualification.json` closes the Wave 2
|
|
137
137
|
qualification boundary. Buildchain and external repositories use the same
|
|
138
138
|
Buildchain-owned public reusable workflow,
|
|
139
|
-
`.github/workflows/
|
|
140
|
-
`.github/workflows/
|
|
139
|
+
`.github/workflows/public-build-stage-capsule-canary.yml`. Buildchain's caller is the thin
|
|
140
|
+
`.github/workflows/self-build-public-consumer-dogfood.yml`; it has no steps, copied
|
|
141
141
|
orchestration, local action, direct qualification invocation, or private
|
|
142
142
|
consumer profile. Candidate recursion is resolved only by publishing the exact
|
|
143
143
|
candidate at `train/v4/v4.0/<capability>` and calling that fully qualified
|
|
@@ -182,12 +182,12 @@ authorized by this qualification.
|
|
|
182
182
|
Focused local rehearsal:
|
|
183
183
|
|
|
184
184
|
```sh
|
|
185
|
-
node scripts/
|
|
185
|
+
node scripts/stage-capsule-qualification.mjs campaign \
|
|
186
186
|
--work-root /tmp/buildchain-v4-stage-qualification \
|
|
187
187
|
--platform linux-x64 \
|
|
188
188
|
--consumer buildchain \
|
|
189
189
|
--runtime-ref <exact-buildchain-commit> \
|
|
190
190
|
--consumer-source-revision <exact-consumer-commit> \
|
|
191
191
|
--consumer-root . \
|
|
192
|
-
--lifecycle-evidence-root .buildchain/artifacts/
|
|
192
|
+
--lifecycle-evidence-root .buildchain/artifacts/stage-capsule-canary
|
|
193
193
|
```
|
package/docs/v4-tail-reseal.md
CHANGED
|
@@ -56,7 +56,7 @@ receipt creation and verification.
|
|
|
56
56
|
## Reusable workflow
|
|
57
57
|
|
|
58
58
|
Consumers invoke
|
|
59
|
-
`kungfu-systems/buildchain/.github/workflows/
|
|
59
|
+
`kungfu-systems/buildchain/.github/workflows/public-ops-tail-reseal.yml@v4-alpha` from a
|
|
60
60
|
trusted, same-repository workflow. The caller supplies the rooted request, the
|
|
61
61
|
original candidate consumer-policy receipt, a reviewed macOS finalization
|
|
62
62
|
command, and the explicitly named signing secret. The command must write:
|
|
@@ -70,4 +70,4 @@ and archive digest; no credential or provider effect is replayed from a Stage
|
|
|
70
70
|
Capsule.
|
|
71
71
|
|
|
72
72
|
The v3-to-v4 invariant mapping is recorded in
|
|
73
|
-
[`architecture/
|
|
73
|
+
[`architecture/tail-reseal-parity.json`](../architecture/tail-reseal-parity.json).
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: active
|
|
3
|
+
period: ongoing
|
|
4
|
+
theme: workflow-taxonomy
|
|
5
|
+
doc_type: technical-reference
|
|
6
|
+
source_level: local-files
|
|
7
|
+
confidence: high
|
|
8
|
+
sensitivity: public
|
|
9
|
+
evidence_grade: B
|
|
10
|
+
review_state: unreviewed
|
|
11
|
+
last_reviewed: 2026-09-05
|
|
12
|
+
ai_provenance:
|
|
13
|
+
model_family: GPT-6
|
|
14
|
+
product: Codex
|
|
15
|
+
generated_at: 2026-09-05
|
|
16
|
+
visible_context: Repository workflow source and the approved naming scheme
|
|
17
|
+
invisible_context_boundary: No credentials or unpublished provider configuration inspected
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Workflow catalog
|
|
21
|
+
|
|
22
|
+
Generated from `architecture/workflow-taxonomy.json`; edit that source, then run
|
|
23
|
+
`pnpm run generate:workflows`. Every YAML file, including compatibility paths,
|
|
24
|
+
is checked by the existing required workflow check.
|
|
25
|
+
|
|
26
|
+
## Naming and ownership
|
|
27
|
+
|
|
28
|
+
`public-<build|release|ops>-<purpose>.yml` is a consumer entry;
|
|
29
|
+
`.<build|release|ops>-<purpose>.yml` is an advanced component;
|
|
30
|
+
`self-<build|release|ops>-<purpose>.yml` is Buildchain's own automation.
|
|
31
|
+
Public is a product role, not GitHub access control. Dispatch services are
|
|
32
|
+
marked separately from reusable workflows. Keep workflow names, job IDs,
|
|
33
|
+
permissions, and trigger semantics stable during path migration.
|
|
34
|
+
|
|
35
|
+
## Channel rollout
|
|
36
|
+
|
|
37
|
+
Canonical names become callable on a channel only after that channel publishes
|
|
38
|
+
them. Existing `@v4`/`@v4-alpha` consumers keep their exact registered legacy
|
|
39
|
+
paths until provider readback proves canonical availability. New examples below
|
|
40
|
+
describe the target surface, not a claim that both channels already publish it.
|
|
41
|
+
Compatibility files are generated byte-identical projections, not independently
|
|
42
|
+
editable implementations. They retain full jobs to preserve called-workflow
|
|
43
|
+
identity, permission envelopes, and required check names without extra nesting.
|
|
44
|
+
|
|
45
|
+
The controller registry records the actual source path separately from a migrated
|
|
46
|
+
repository controller contractPath. This preserves the established logical
|
|
47
|
+
contract identity while exposing its current execution source. New workflows
|
|
48
|
+
do not acquire historical identities. Public controllers retain their real
|
|
49
|
+
compatibility paths while those paths remain supported.
|
|
50
|
+
|
|
51
|
+
## Adding or changing a workflow
|
|
52
|
+
|
|
53
|
+
Register a stable identity, role, category, purpose, owner, lifecycle status,
|
|
54
|
+
invocation and concrete summary before creating its derived path. A new entry
|
|
55
|
+
must explain its scope in review. New aliases cannot be invented: compatibility
|
|
56
|
+
must name an exact migration source with a reason and removal condition.
|
|
57
|
+
The policy, generator, checker, tests, required CI chain and CODEOWNERS require
|
|
58
|
+
independent `kungfu-origin` review. No wildcard compatibility admission is allowed.
|
|
59
|
+
Workflow filenames cannot contain version tokens such as `v4` or `v5`.
|
|
60
|
+
Retired aliases cannot be recreated or called; see [path migration](workflow-path-migration.md).
|
|
61
|
+
|
|
62
|
+
A role, category or implementation edit must preserve or deliberately update
|
|
63
|
+
all related declarations. Run `pnpm run generate:workflows` and
|
|
64
|
+
`pnpm run check:workflows`; the full `pnpm run check` remains required.
|
|
65
|
+
|
|
66
|
+
## public
|
|
67
|
+
|
|
68
|
+
| Canonical workflow | Category | Invocation | Status | Purpose | Compatibility path |
|
|
69
|
+
| --- | --- | --- | --- | --- | --- |
|
|
70
|
+
| [public-build-adopter-qualification.yml](../.github/workflows/public-build-adopter-qualification.yml) | build | reusable | active | V4 Adopter Delivery | — |
|
|
71
|
+
| [public-build-candidate.yml](../.github/workflows/public-build-candidate.yml) | build | reusable | active | Buildchain Channel Build | `build.yml` |
|
|
72
|
+
| [public-build-check.yml](../.github/workflows/public-build-check.yml) | build | reusable | active | Buildchain Check | `check.yml` |
|
|
73
|
+
| [public-build-demo.yml](../.github/workflows/public-build-demo.yml) | build | reusable | active | Buildchain Declarative Binary Auditable Demo | `.declarative-auditable-demo.yml` |
|
|
74
|
+
| [public-build-publication.yml](../.github/workflows/public-build-publication.yml) | build | reusable | active | Buildchain Publication Artifact | `publication-artifact.yml` |
|
|
75
|
+
| [public-build-stage-capsule-canary.yml](../.github/workflows/public-build-stage-capsule-canary.yml) | build | reusable | active | V4 Stage Capsule Canary | — |
|
|
76
|
+
| [public-ops-alpha-candidate-patrol.yml](../.github/workflows/public-ops-alpha-candidate-patrol.yml) | ops | reusable | active | Buildchain Dev to Alpha Candidate Patrol | `dev-alpha-candidate-patrol.yml` |
|
|
77
|
+
| [public-ops-bootstrap-recovery.yml](../.github/workflows/public-ops-bootstrap-recovery.yml) | ops | reusable | active | Universal Buildchain Bootstrap Recovery | `universal-bootstrap-recovery.yml` |
|
|
78
|
+
| [public-ops-bootstrap.yml](../.github/workflows/public-ops-bootstrap.yml) | ops | reusable | active | Buildchain Universal Bootstrap | `bootstrap.yml` |
|
|
79
|
+
| [public-ops-dev-auto-merge.yml](../.github/workflows/public-ops-dev-auto-merge.yml) | ops | reusable | active | Dev PR Auto Merge | `dev-pr-auto-merge.yml` |
|
|
80
|
+
| [public-ops-dev-qualification-patrol.yml](../.github/workflows/public-ops-dev-qualification-patrol.yml) | ops | reusable | active | Buildchain Dev Qualification Patrol | `dev-qualification-patrol.yml` |
|
|
81
|
+
| [public-ops-housekeeping.yml](../.github/workflows/public-ops-housekeeping.yml) | ops | reusable | active | Engineering Housekeeper | `engineering-housekeeper.yml` |
|
|
82
|
+
| [public-ops-observed-evidence.yml](../.github/workflows/public-ops-observed-evidence.yml) | ops | reusable | active | Patrol Observed Evidence | `patrol-observed-evidence.yml` |
|
|
83
|
+
| [public-ops-patrol-daily.yml](../.github/workflows/public-ops-patrol-daily.yml) | ops | reusable | active | Buildchain Patrol Daily | `patrol-daily.yml` |
|
|
84
|
+
| [public-ops-patrol-monthly.yml](../.github/workflows/public-ops-patrol-monthly.yml) | ops | reusable | active | Buildchain Patrol Monthly | `patrol-monthly.yml` |
|
|
85
|
+
| [public-ops-patrol-weekly.yml](../.github/workflows/public-ops-patrol-weekly.yml) | ops | reusable | active | Buildchain Patrol Weekly | `patrol-weekly.yml` |
|
|
86
|
+
| [public-ops-patrol.yml](../.github/workflows/public-ops-patrol.yml) | ops | reusable | active | Buildchain Patrol | `buildchain-patrol.yml` |
|
|
87
|
+
| [public-ops-release-governance.yml](../.github/workflows/public-ops-release-governance.yml) | ops | reusable | active | Release Governance Reconcile | `release-governance-reconcile.yml` |
|
|
88
|
+
| [public-ops-stable-candidate-patrol.yml](../.github/workflows/public-ops-stable-candidate-patrol.yml) | ops | reusable | active | Buildchain Stable Candidate Patrol | `stable-candidate-patrol.yml` |
|
|
89
|
+
| [public-ops-tail-reseal.yml](../.github/workflows/public-ops-tail-reseal.yml) | ops | reusable | active | V4 Retained Candidate Tail Reseal | — |
|
|
90
|
+
| [public-ops-warrant-cancel.yml](../.github/workflows/public-ops-warrant-cancel.yml) | ops | reusable | active | Dev Delivery Warrant Queued Candidate Cancel | `dev-delivery-warrant-cancel.yml` |
|
|
91
|
+
| [public-ops-warrant-close.yml](../.github/workflows/public-ops-warrant-close.yml) | ops | reusable | active | Dev Delivery Warrant Close | `dev-delivery-warrant-close.yml` |
|
|
92
|
+
| [public-release-artifact-attestation.yml](../.github/workflows/public-release-artifact-attestation.yml) | release | reusable | active | Buildchain GitHub Artifact Attestation | `github-artifact-attestation.yml` |
|
|
93
|
+
| [public-release-oci-compose-preview.yml](../.github/workflows/public-release-oci-compose-preview.yml) | release | reusable | active | Buildchain OCI Compose Preview | — |
|
|
94
|
+
| [public-release-paper-sealed.yml](../.github/workflows/public-release-paper-sealed.yml) | release | reusable | active | Buildchain Sealed Paper Release | `paper-release-sealed.yml` |
|
|
95
|
+
| [public-release-paper.yml](../.github/workflows/public-release-paper.yml) | release | reusable | active | Buildchain Paper Release | `paper-release.yml` |
|
|
96
|
+
| [public-release-promote.yml](../.github/workflows/public-release-promote.yml) | release | reusable | active | Release Candidate Promote | `release-candidate-promote.yml` |
|
|
97
|
+
| [public-release-propagation.yml](../.github/workflows/public-release-propagation.yml) | release | reusable | active | Release Propagation | `release-propagation.yml` |
|
|
98
|
+
| [public-release-signing-authority.yml](../.github/workflows/public-release-signing-authority.yml) | release | dispatch-service | active | Buildchain Artifact Signing Authority | `artifact-signing-authority.yml` |
|
|
99
|
+
| [public-release-tail.yml](../.github/workflows/public-release-tail.yml) | release | reusable | active | Declarative Release Tail | `release-tail.yml` |
|
|
100
|
+
| [public-release-web.yml](../.github/workflows/public-release-web.yml) | release | reusable | active | Buildchain Web Surface | `.web-surface.yml` |
|
|
101
|
+
|
|
102
|
+
## component
|
|
103
|
+
|
|
104
|
+
| Canonical workflow | Category | Invocation | Status | Purpose | Compatibility path |
|
|
105
|
+
| --- | --- | --- | --- | --- | --- |
|
|
106
|
+
| [.build-demo-adapter.yml](../.github/workflows/.build-demo-adapter.yml) | build | reusable | active | Buildchain Auditable Demo | `.auditable-demo.yml` |
|
|
107
|
+
| [.build-engine.yml](../.github/workflows/.build-engine.yml) | build | reusable | active | Buildchain Build | `.build.yml` |
|
|
108
|
+
| [.build-gate-profile.yml](../.github/workflows/.build-gate-profile.yml) | build | reusable | active | Buildchain Shifu Gate Profile | `.gate-profile.yml` |
|
|
109
|
+
| [.build-release-verify-compat.yml](../.github/workflows/.build-release-verify-compat.yml) | build | reusable | compatibility | release verify | `.release-verify.yml` |
|
|
110
|
+
| [.build-sam-verify-compat.yml](../.github/workflows/.build-sam-verify-compat.yml) | build | reusable | compatibility | sam verify | `.sam-verify.yml` |
|
|
111
|
+
| [.build-wheel-verify-compat.yml](../.github/workflows/.build-wheel-verify-compat.yml) | build | reusable | compatibility | wheel verify | `.wheel-verify.yml` |
|
|
112
|
+
| [.ops-git-sync.yml](../.github/workflows/.ops-git-sync.yml) | ops | reusable | active | sync remote git | `.sync-remote-git.yml` |
|
|
113
|
+
| [.release-authority.yml](../.github/workflows/.release-authority.yml) | release | reusable | active | Buildchain Sealed Publication Authority | `.publication-authority.yml` |
|
|
114
|
+
| [.release-binary-assets.yml](../.github/workflows/.release-binary-assets.yml) | release | reusable | active | Buildchain Binary Release Assets | `.binary-release-assets.yml` |
|
|
115
|
+
| [.release-minor-bump-compat.yml](../.github/workflows/.release-minor-bump-compat.yml) | release | reusable | compatibility | bump minor version | `.bump-minor-version.yml` |
|
|
116
|
+
| [.release-page-sync-retired.yml](../.github/workflows/.release-page-sync-retired.yml) | release | reusable | retired | sync release page | `.sync-release-page.yml` |
|
|
117
|
+
| [.release-promote.yml](../.github/workflows/.release-promote.yml) | release | reusable | active | Release Candidate Promote Advanced | `.release-candidate-promote.yml` |
|
|
118
|
+
|
|
119
|
+
## self
|
|
120
|
+
|
|
121
|
+
| Canonical workflow | Category | Invocation | Status | Purpose | Compatibility path |
|
|
122
|
+
| --- | --- | --- | --- | --- | --- |
|
|
123
|
+
| [self-build-adopter-dogfood.yml](../.github/workflows/self-build-adopter-dogfood.yml) | build | repository | active | V4 Adopter Delivery Dogfood | — |
|
|
124
|
+
| [self-build-alpha-dogfood.yml](../.github/workflows/self-build-alpha-dogfood.yml) | build | repository | active | Buildchain Alpha Self-Dogfood | — |
|
|
125
|
+
| [self-build-binary-distribution.yml](../.github/workflows/self-build-binary-distribution.yml) | build | repository | active | Binary Distribution | — |
|
|
126
|
+
| [self-build-candidate-lab.yml](../.github/workflows/self-build-candidate-lab.yml) | build | repository | active | Candidate Lab | — |
|
|
127
|
+
| [self-build-demo-dogfood.yml](../.github/workflows/self-build-demo-dogfood.yml) | build | repository | active | Buildchain Declarative Demo Dogfood | — |
|
|
128
|
+
| [self-build-demo-media-qualification.yml](../.github/workflows/self-build-demo-media-qualification.yml) | build | repository | active | Auditable Demo Media Profile Qualification | — |
|
|
129
|
+
| [self-build-fixture.yml](../.github/workflows/self-build-fixture.yml) | build | repository | active | Build Surface Fixture | — |
|
|
130
|
+
| [self-build-public-consumer-dogfood.yml](../.github/workflows/self-build-public-consumer-dogfood.yml) | build | repository | active | V4 Public Consumer Dogfood | — |
|
|
131
|
+
| [self-build-release-verify-compat.yml](../.github/workflows/self-build-release-verify-compat.yml) | build | repository | compatibility | Release - Verify | — |
|
|
132
|
+
| [self-build-stable-candidate-qualification.yml](../.github/workflows/self-build-stable-candidate-qualification.yml) | build | repository | active | Buildchain Stable Candidate Qualification | — |
|
|
133
|
+
| [self-build-verify.yml](../.github/workflows/self-build-verify.yml) | build | repository | active | Verify | — |
|
|
134
|
+
| [self-ops-bootstrap-dogfood.yml](../.github/workflows/self-ops-bootstrap-dogfood.yml) | ops | repository | active | Universal Bootstrap Train-First Self-Dogfood | — |
|
|
135
|
+
| [self-ops-dev-delivery.yml](../.github/workflows/self-ops-dev-delivery.yml) | ops | repository | active | Buildchain Dev Delivery | — |
|
|
136
|
+
| [self-ops-governance-audit.yml](../.github/workflows/self-ops-governance-audit.yml) | ops | repository | active | GitHub Governance Authority Audit | — |
|
|
137
|
+
| [self-ops-housekeeping-daily.yml](../.github/workflows/self-ops-housekeeping-daily.yml) | ops | repository | active | Engineering Housekeeper Daily | — |
|
|
138
|
+
| [self-ops-housekeeping-monthly.yml](../.github/workflows/self-ops-housekeeping-monthly.yml) | ops | repository | active | Engineering Housekeeper Monthly | — |
|
|
139
|
+
| [self-ops-housekeeping-weekly.yml](../.github/workflows/self-ops-housekeeping-weekly.yml) | ops | repository | active | Engineering Housekeeper Weekly | — |
|
|
140
|
+
| [self-ops-merge-queue.yml](../.github/workflows/self-ops-merge-queue.yml) | ops | repository | active | Dev Merge Queue Governance | — |
|
|
141
|
+
| [self-ops-patrol-daily.yml](../.github/workflows/self-ops-patrol-daily.yml) | ops | repository | active | Buildchain Dogfood Patrol Daily | — |
|
|
142
|
+
| [self-ops-patrol-monthly.yml](../.github/workflows/self-ops-patrol-monthly.yml) | ops | repository | active | Buildchain Dogfood Patrol Monthly | — |
|
|
143
|
+
| [self-ops-patrol-weekly.yml](../.github/workflows/self-ops-patrol-weekly.yml) | ops | repository | active | Buildchain Dogfood Patrol Weekly | — |
|
|
144
|
+
| [self-ops-promotion-recovery.yml](../.github/workflows/self-ops-promotion-recovery.yml) | ops | repository | active | Buildchain Ref Promotion Recovery | — |
|
|
145
|
+
| [self-ops-recovery-failure-dogfood.yml](../.github/workflows/self-ops-recovery-failure-dogfood.yml) | ops | repository | active | Buildchain Candidate Recovery Dogfood Startup Failure | — |
|
|
146
|
+
| [self-ops-runner-smoke.yml](../.github/workflows/self-ops-runner-smoke.yml) | ops | repository | active | Self-hosted Runner Smoke | — |
|
|
147
|
+
| [self-ops-stable-candidate-patrol.yml](../.github/workflows/self-ops-stable-candidate-patrol.yml) | ops | repository | active | Buildchain Dogfood Stable Candidate Patrol | — |
|
|
148
|
+
| [self-release-binary-assets.yml](../.github/workflows/self-release-binary-assets.yml) | release | repository | active | Binary Release Assets | — |
|
|
149
|
+
| [self-release-line-open.yml](../.github/workflows/self-release-line-open.yml) | release | repository | active | Release Line Bootstrap | — |
|
|
150
|
+
| [self-release-new-version-compat.yml](../.github/workflows/self-release-new-version-compat.yml) | release | repository | compatibility | Release - New Version | — |
|
|
151
|
+
| [self-release-next-development.yml](../.github/workflows/self-release-next-development.yml) | release | repository | active | Next Development Review | — |
|
|
152
|
+
| [self-release-npm-dry-run.yml](../.github/workflows/self-release-npm-dry-run.yml) | release | repository | active | Publish npm package | — |
|
|
153
|
+
| [self-release-promote.yml](../.github/workflows/self-release-promote.yml) | release | repository | active | Buildchain Ref Promotion | — |
|
|
154
|
+
| [self-release-rehearsal-dogfood.yml](../.github/workflows/self-release-rehearsal-dogfood.yml) | release | repository | active | V4 Publication Rehearsal Dogfood | — |
|
|
155
|
+
| [self-release-tail-dogfood.yml](../.github/workflows/self-release-tail-dogfood.yml) | release | repository | active | V4 Declarative Release Tail Dogfood | — |
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: draft
|
|
3
|
+
period: ongoing
|
|
4
|
+
theme: workflow-path-migration
|
|
5
|
+
doc_type: migration-guide
|
|
6
|
+
source_level: local-files
|
|
7
|
+
confidence: high
|
|
8
|
+
sensitivity: public
|
|
9
|
+
evidence_grade: B
|
|
10
|
+
review_state: unreviewed
|
|
11
|
+
last_reviewed: 2026-09-06
|
|
12
|
+
ai_provenance:
|
|
13
|
+
model_family: GPT-6
|
|
14
|
+
product: Codex
|
|
15
|
+
generated_at: 2026-09-05
|
|
16
|
+
visible_context: Exact GitHub channel refs and workflow files on 23 organization default branches
|
|
17
|
+
invisible_context_boundary: Other branches, private or unlisted consumers and future floating ref updates were not established by this audit
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Version-prefixed workflow path migration
|
|
21
|
+
|
|
22
|
+
This source change retires three filenames. Their reusable capabilities, inputs,
|
|
23
|
+
outputs, jobs and permission envelopes remain at the canonical paths below.
|
|
24
|
+
Keep the existing channel selector and dual contract-lock policy when migrating.
|
|
25
|
+
|
|
26
|
+
| Retired path | Canonical path |
|
|
27
|
+
| --- | --- |
|
|
28
|
+
| `v4-adopter-delivery.yml` | `public-build-adopter-qualification.yml` |
|
|
29
|
+
| `v4-stage-capsule-canary.yml` | `public-build-stage-capsule-canary.yml` |
|
|
30
|
+
| `v4-tail-reseal.yml` | `public-ops-tail-reseal.yml` |
|
|
31
|
+
|
|
32
|
+
All paths are beneath `.github/workflows/`. The taxonomy gate rejects version
|
|
33
|
+
segments in filenames and calls to version-prefixed Buildchain workflows. An
|
|
34
|
+
explicit retirement record keeps the original migration identity for historical
|
|
35
|
+
metrics and frozen facade source; generators resolve that identity to the
|
|
36
|
+
canonical implementation and cannot recreate the removed file.
|
|
37
|
+
|
|
38
|
+
## Development merge and channel rollout
|
|
39
|
+
|
|
40
|
+
The development change retires these filenames on `dev/v4/v4.0`, updates the
|
|
41
|
+
Buildchain-owned callers, and enforces the canonical paths through generators
|
|
42
|
+
and required checks. Its delivery boundary is the protected development merge.
|
|
43
|
+
External-repository migration and stable publication are separate follow-up
|
|
44
|
+
work and do not block this development merge.
|
|
45
|
+
|
|
46
|
+
The published channel boundary still requires the following rollout order:
|
|
47
|
+
|
|
48
|
+
1. Publish and verify the canonical entries on every affected channel while the
|
|
49
|
+
old entries remain available. The admission identity must match the actual
|
|
50
|
+
invoked canonical workflow, rather than its previous filename.
|
|
51
|
+
2. Migrate consumers on their existing floating channels, refresh locks through
|
|
52
|
+
the supported contract acceptance path if required, and verify real consumer
|
|
53
|
+
runs. Stable callers remain on stable; alpha callers remain on alpha.
|
|
54
|
+
3. Before publishing the retirement into a channel, recheck its live consumers
|
|
55
|
+
and resolve any remaining old-path calls. A protected development merge does
|
|
56
|
+
not by itself establish this channel readiness.
|
|
57
|
+
|
|
58
|
+
## Initial consumer readback
|
|
59
|
+
|
|
60
|
+
On 2026-09-05, all workflow files from 23 accessible `kungfu-systems` repository
|
|
61
|
+
_default branches_ were read at their returned Git revisions. Five calls were
|
|
62
|
+
found in three repositories. This is a bounded inventory, not evidence that
|
|
63
|
+
unknown or non-default-branch consumers do not exist.
|
|
64
|
+
|
|
65
|
+
| Repository and observed revision | Caller | Existing selector |
|
|
66
|
+
| --- | --- | --- |
|
|
67
|
+
| Buildchain `d434a73d2d4fb010ee80fede2bf3ce872b1d04c8` | `self-build-adopter-dogfood.yml` | `v4-alpha` |
|
|
68
|
+
| Buildchain `d434a73d2d4fb010ee80fede2bf3ce872b1d04c8` | `self-build-public-consumer-dogfood.yml` | `v4-alpha` |
|
|
69
|
+
| agent-hub-demo `3f5de882b63464d70c50df0fd7ca418f487b794b` | `v4-adopter-delivery-qualification.yml` | `v4-alpha` |
|
|
70
|
+
| agent-hub-demo `3f5de882b63464d70c50df0fd7ca418f487b794b` | `v4-stage-capsule-canary.yml` | `v4` |
|
|
71
|
+
| taolu `6dcccdc3bd2c8b1801c7f6decea08ae7877aac2b` | `verify.yml` | `v4-alpha` |
|
|
72
|
+
|
|
73
|
+
The initial published channel readback was `v4` at
|
|
74
|
+
`da5e2db8384313e899eace87aea0a1a8e28c0aa8` and `v4-alpha` at
|
|
75
|
+
`dd87f43f7122b41c4ce7f1f6d1888521cc7f892f`. Neither contained the three canonical
|
|
76
|
+
filenames at that initial readback. The later evidence below records progress
|
|
77
|
+
without changing the scope or revisions of that initial inventory.
|
|
78
|
+
|
|
79
|
+
## Rollout evidence as of 2026-09-06
|
|
80
|
+
|
|
81
|
+
The canonical invocation-identity preparation was merged in
|
|
82
|
+
[Buildchain PR 3508](https://github.com/kungfu-systems/buildchain/pull/3508).
|
|
83
|
+
All three canonical paths are available in the immutable `v4.0.2-alpha.35`
|
|
84
|
+
release (`feab078f5d7c9927a3525154003e321700e8ca30`) and the later
|
|
85
|
+
`v4.0.2-alpha.37` release (`f5fa1a4a3e8d83eccee79c077e5f48417760c9df`).
|
|
86
|
+
The floating `v4-alpha` readback selects alpha.37.
|
|
87
|
+
|
|
88
|
+
[Taolu PR 30](https://github.com/kungfu-systems/taolu/pull/30) migrated its
|
|
89
|
+
Stage Capsule call on `@v4-alpha`, preserving the existing dual locks.
|
|
90
|
+
Its exact source `b3f4c12578d733ff44165ff1acafe131251b8907` passed
|
|
91
|
+
[consumer Verify](https://github.com/kungfu-systems/taolu/actions/runs/33975786413)
|
|
92
|
+
on all declared platforms and
|
|
93
|
+
[native delivery](https://github.com/kungfu-systems/taolu/actions/runs/34005576362).
|
|
94
|
+
The protected dev landing is `7e15123733110ad8ce484241934bbf0ef99fbb45`.
|
|
95
|
+
|
|
96
|
+
The stable `v4` readback remains
|
|
97
|
+
`da5e2db8384313e899eace87aea0a1a8e28c0aa8`, which does not contain the canonical
|
|
98
|
+
paths. Stable publication and the agent-hub-demo migration remain **pending**
|
|
99
|
+
outside this development change's completion boundary. The alpha.35
|
|
100
|
+
[Build Surface Fixture](https://github.com/kungfu-systems/buildchain/actions/runs/34005360217)
|
|
101
|
+
passed, but this individual result does not establish complete stable
|
|
102
|
+
qualification or authorize moving the stable channel.
|
|
103
|
+
|
|
104
|
+
## Recovery
|
|
105
|
+
|
|
106
|
+
Before channel retirement, revert consumer changes to the still-available old
|
|
107
|
+
paths if verification fails. After retirement, restore the exact previous
|
|
108
|
+
provider implementation through a reviewed corrective commit and normal
|
|
109
|
+
publication; do not rewrite immutable release tags or bypass admission checks.
|