@kungfu-tech/buildchain 4.0.2-alpha.5 → 4.0.2-alpha.50
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 +10 -1
- package/CONTRIBUTING.md +24 -0
- package/README.md +2 -2
- package/actions/promote-buildchain-ref/README.md +1 -1
- package/actions/v4-release-candidate-promote/README.md +28 -0
- package/architecture/agent-change-map.md +70 -9
- package/architecture/ci-lane-change-budget.json +384 -0
- package/architecture/internal-capabilities.json +56 -9
- package/architecture/maintainability-debt.json +162 -107
- package/architecture/maintainability-policy.json +34 -30
- package/architecture/release-tail-contract-inventory.json +6 -6
- package/architecture/v4-architecture-constitution.md +23 -20
- package/architecture/v4-cross-platform-adopter-qualification.json +1 -1
- package/architecture/v4-delivery-authority-parity.json +2 -2
- package/architecture/v4-delivery-warrant-shadow-bootstrap-plan.json +1 -1
- package/architecture/v4-floating-consumer-policy.json +2 -2
- package/architecture/v4-next-development-parity.json +5 -5
- package/architecture/v4-partial-mutation-recovery-qualification.json +4 -1
- package/architecture/v4-platform-stage-checkpoints.json +1 -1
- package/architecture/v4-provider-operation-journal-contract.json +5 -2
- package/architecture/v4-publication-facade-patches.json +64 -0
- package/architecture/v4-release-activation-shadow-domain.json +5 -2
- package/architecture/v4-release-topology.json +198 -38
- package/architecture/v4-rust-wasm-production-authority.json +58 -0
- package/architecture/v4-stable-publication-fence.json +5 -2
- package/architecture/v4-stage-capsule-qualification.json +2 -2
- package/architecture/v4-tail-reseal-parity.json +8 -6
- package/architecture/v4-universal-workflow-bootstrap.json +176 -0
- package/architecture/v4-universal-workflow-fault-campaign.json +72 -0
- package/architecture/v4-universal-workflow-train-admission.json +40 -0
- package/architecture/workflow-taxonomy.json +1462 -0
- package/bin/buildchain.mjs +7 -7
- 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/dist/site/buildchain-contract.json +93 -48
- package/dist/site/buildchain-site.json +276 -72
- package/dist/site/capability-registry.json +5 -5
- package/dist/site/controller-registry.json +50 -13
- package/dist/site/kfd-claims.json +2610 -983
- package/dist/site/kfd-upstream-aggregate.json +1 -1
- package/dist/site/manual-registry.json +14 -14
- package/dist/site/node-api-registry.json +273 -127
- package/dist/site/page-registry.json +257 -53
- package/dist/site/public-surface-audit.json +3239 -1232
- package/dist/site/publication-authority-registry.json +1135 -363
- package/dist/site/publication-registry.json +4 -4
- package/dist/site/release-provenance.json +2 -1
- 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 +5097 -1659
- package/docs/MAP.md +2 -0
- 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 +2 -2
- package/docs/node-api-reference.md +216 -205
- package/docs/oci-publication.md +160 -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 +16 -0
- package/docs/v4-adopter-delivery.md +2 -2
- package/docs/v4-production-release.md +71 -8
- package/docs/v4-rust-wasm-production-authority.md +58 -0
- package/docs/v4-stage-capsule.md +2 -2
- package/docs/v4-tail-reseal.md +1 -1
- package/docs/workflow-catalog.md +155 -0
- package/docs/workflow-path-migration.md +109 -0
- package/package.json +12 -7
- package/packages/core/artifact-verification-envelope.js +5 -5
- package/packages/core/buildchain-contract.js +1 -1
- package/packages/core/buildchain-kfd-claims.js +2 -2
- package/packages/core/buildchain-publication-authority.js +43 -26
- package/packages/core/buildchain-v4-domain.wasm +0 -0
- package/packages/core/ci-lane-change-budget.js +14 -1
- package/packages/core/controller-evidence.js +4 -1
- package/packages/core/dev-delivery-candidate-identity.js +40 -6
- package/packages/core/dev-delivery-warrant-state.js +3 -4
- package/packages/core/dev-delivery-warrant.js +12 -2
- package/packages/core/github-governance-authority.js +4 -4
- package/packages/core/kfd-adopter-manifest.js +46 -47
- package/packages/core/next-development-projection.js +2 -2
- package/packages/core/next-development-transition.js +5 -6
- package/packages/core/oci-compose-qualification.js +140 -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/publication-sealed-bundle.js +78 -13
- 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 +5 -4
- package/packages/core/release-tail-product-capabilities.js +38 -0
- package/packages/core/release-tail-provider-plane.js +68 -1048
- package/packages/core/v4-canonical-contracts.js +15 -75
- package/packages/core/v4-domain-wasm-artifact.js +7 -0
- package/packages/core/v4-domain-wasm.js +216 -0
- package/packages/core/v4-floating-consumer-evidence.js +1 -1
- package/packages/core/v4-floating-consumer-policy.js +1 -1
- package/packages/core/v4-partial-mutation-recovery-qualification.js +9 -386
- package/packages/core/v4-product-publication.js +59 -0
- package/packages/core/v4-protected-publication-source.js +19 -21
- package/packages/core/v4-provider-operation-journal.js +18 -487
- package/packages/core/v4-provider-readback-idempotency.js +12 -97
- package/packages/core/v4-release-activation-shadow.js +13 -500
- package/packages/core/v4-release-invocation.js +28 -389
- package/packages/core/v4-stable-publication-fence.js +13 -342
- package/packages/core/v4-universal-workflow-bootstrap.js +586 -0
- package/scripts/binary-publication-evidence.mjs +135 -0
- package/scripts/build-contract-core.mjs +1 -14
- package/scripts/build-v4-domain-wasm.mjs +189 -0
- package/scripts/check-action-bundles.mjs +12 -2
- package/scripts/check-ci-lane-change-budget.mjs +4 -1
- package/scripts/check-core-mechanism-inventory.mjs +4 -3
- package/scripts/check-inventory.mjs +35 -44
- package/scripts/check-maintainability.mjs +16 -113
- package/scripts/check-v4-floating-consumer-policy-contract.mjs +2 -2
- package/scripts/check-v4-public-dogfood-contract.mjs +22 -9
- package/scripts/check-v4-release-topology.mjs +236 -50
- package/scripts/check-v4-runtime-semantic-closure.mjs +4 -1
- package/scripts/check-v4-universal-workflow-bootstrap.mjs +266 -0
- package/scripts/check-workflow-taxonomy.mjs +6 -0
- package/scripts/copy-v4-domain-wasm.mjs +14 -0
- 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 +14 -9
- package/scripts/dev-delivery-warrant-store.mjs +73 -7
- package/scripts/dev-delivery-warrant-transition.mjs +109 -0
- package/scripts/dev-delivery-warrant.mjs +76 -99
- package/scripts/dev-pr-auto-merge.mjs +15 -15
- package/scripts/generate-channel-build-workflow.mjs +7 -2
- package/scripts/generate-channel-promotion-workflow.mjs +10 -25
- package/scripts/generate-site-bundle.mjs +11 -11
- package/scripts/generate-v4-universal-workflow-facades.mjs +497 -0
- package/scripts/generate-workflow-taxonomy.mjs +25 -0
- package/scripts/github-output.mjs +31 -0
- package/scripts/maintainability-metrics.mjs +16 -5
- package/scripts/maintainability-public-surface.mjs +115 -0
- package/scripts/next-development-review.mjs +307 -0
- package/scripts/oci-compose-preview.mjs +250 -0
- package/scripts/paper-work-fleet-cli.mjs +2 -0
- package/scripts/publication-candidate-kind.mjs +93 -0
- package/scripts/publication-candidate-sealer.mjs +16 -1
- package/scripts/release-asset-client.mjs +91 -0
- package/scripts/release-candidate-resolver.mjs +23 -35
- package/scripts/resume-from-candidate-run.mjs +11 -18
- package/scripts/site-capability-metadata.mjs +1 -0
- package/scripts/source-verification-evidence.mjs +344 -0
- package/scripts/stable-candidate-qualification.mjs +1 -1
- package/scripts/universal-facade-maintainability.mjs +91 -0
- package/scripts/v4-product-publication-intent.mjs +129 -0
- package/scripts/v4-publication-settlement.mjs +211 -0
- package/scripts/v4-universal-workflow-backflow.mjs +212 -0
- package/scripts/v4-universal-workflow-engine.mjs +620 -0
- package/scripts/v4-universal-workflow-self-dogfood.mjs +205 -0
- package/scripts/verify-version-state-delta.mjs +173 -0
- 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
|
@@ -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-v4-contracts` 编译出的同一份 WebAssembly artifact 执行。Node
|
|
23
|
+
仍是 GitHub Action 和 npm 包的宿主,但只负责 provider SDK、文件系统、凭据、环境变量及
|
|
24
|
+
workflow 输入输出等副作用边界。权威契约见
|
|
25
|
+
`architecture/v4-rust-wasm-production-authority.json`。
|
|
26
|
+
|
|
27
|
+
## 分发与调用
|
|
28
|
+
|
|
29
|
+
`packages/core/buildchain-v4-domain.wasm` 与 JavaScript 一起提交和发布。三个生产 Action
|
|
30
|
+
在构建时把完全相同的字节复制到各自 `dist/`;运行时不进入调用方仓库寻找 Rust
|
|
31
|
+
源码,也不要求安装 Rust。`packages/core/v4-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:v4-wasm` 使用锁定的 Rust 工具链和 `wasm32-unknown-unknown` target 生成
|
|
42
|
+
artifact 与绑定元数据,并把 Cargo 依赖源目录映射到稳定的虚拟路径,禁止主机 Cargo
|
|
43
|
+
registry 路径进入 artifact。`pnpm run check:v4-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
|
@@ -136,8 +136,8 @@ shadow-only: it does not skip a v3 production stage or move v3 authority.
|
|
|
136
136
|
`architecture/v4-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
|
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:
|
|
@@ -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.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kungfu-tech/buildchain",
|
|
3
|
-
"version": "4.0.2-alpha.
|
|
3
|
+
"version": "4.0.2-alpha.50",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Buildchain Release Passport, release governance, CLI toolkit, and site facts.",
|
|
6
6
|
"repository": "https://github.com/kungfu-systems/buildchain",
|
|
@@ -123,7 +123,8 @@
|
|
|
123
123
|
"./site/product-mechanism.json": "./dist/site/product-mechanism.json",
|
|
124
124
|
"./site/release-provenance.json": "./dist/site/release-provenance.json",
|
|
125
125
|
"./site/agent-index.json": "./dist/site/agent-index.json",
|
|
126
|
-
"./package.json": "./package.json"
|
|
126
|
+
"./package.json": "./package.json",
|
|
127
|
+
"./oci-publication": "./packages/core/oci-publication-bundle.js"
|
|
127
128
|
},
|
|
128
129
|
"files": [
|
|
129
130
|
"AGENTS.md",
|
|
@@ -156,16 +157,18 @@
|
|
|
156
157
|
"scripts": {
|
|
157
158
|
"precheck:static": "prettier --check architecture/decisions/0003-two-phase-delivery-warrant.md architecture/v4-delivery-authority-parity.json contracts/dev-delivery-authority-v2.schema.json dist/site/schemas/dev-delivery-authority-v2.schema.json docs/dev-delivery-qualification-landing-adr.md packages/core/dev-delivery-authority-candidate.js packages/core/dev-delivery-authority-evidence.js packages/core/dev-delivery-authority-landing.js packages/core/dev-delivery-authority-observation.js packages/core/dev-delivery-authority-qualification.js packages/core/dev-delivery-authority-settlement.js packages/core/dev-delivery-authority-state.js packages/core/dev-delivery-execution-failure.js packages/core/dev-delivery-execution-transfer.js packages/core/dev-delivery-landing-readback.js packages/core/dev-delivery-landing-terminal-evidence.js packages/core/dev-delivery-landing-testing-port.js packages/core/dev-delivery-native-execution.js packages/core/dev-delivery-native-proof.js packages/core/dev-delivery-process-boundary.js packages/core/dev-delivery-warrant-qualification.js packages/core/dev-delivery-warrant-state.js scripts/dev-delivery-authority-command-adapters.mjs scripts/dev-delivery-authority-provider.mjs scripts/dev-delivery-authority.mjs scripts/dev-delivery-native-run.mjs scripts/dev-delivery-process-boundary.mjs scripts/dev-delivery-two-phase-resume.mjs scripts/dev-delivery-two-phase.mjs scripts/dev-delivery-warrant-options.mjs scripts/dev-delivery-warrant-store.mjs templates/native-dev-delivery.yml",
|
|
158
159
|
"operator:windows-jit": "bash scripts/aws-windows-jit-operator.sh",
|
|
159
|
-
"check": "pnpm run check:static && node scripts/check-ci-lane-change-budget.mjs && node scripts/check-v4-public-dogfood-contract.mjs && node scripts/check-v4-floating-consumer-policy-contract.mjs && node scripts/check-v4-release-topology.mjs && pnpm run check:v4-bridge && pnpm run check:v4-contracts && node scripts/check-maintainability.mjs && node scripts/check-internal-architecture.mjs && node scripts/generate-agent-change-map.mjs && node scripts/check-inventory.mjs && node scripts/check-core-mechanism-inventory.mjs && node scripts/check-v4-runtime-semantic-closure.mjs && node scripts/check-v3-v4-capability-inventory.mjs && node scripts/check-release-tail-contract.mjs && node scripts/v4-publication-rehearsal-fixture.mjs --check && node scripts/v4-architecture.mjs validate && node scripts/v4-warrant-shadow-plan.mjs validate && pnpm run check:site && pnpm run check:workflows && pnpm run test:unit && pnpm run check:golden-path && node scripts/check-action-bundles.mjs",
|
|
160
|
+
"check": "pnpm run check:static && node scripts/check-ci-lane-change-budget.mjs && node scripts/check-v4-public-dogfood-contract.mjs && node scripts/check-v4-floating-consumer-policy-contract.mjs && node scripts/check-v4-release-topology.mjs && node scripts/check-v4-universal-workflow-bootstrap.mjs && pnpm run check:v4-bridge && pnpm run check:v4-contracts:rust && pnpm run check:v4-wasm && node scripts/check-maintainability.mjs && node scripts/check-internal-architecture.mjs && node scripts/generate-agent-change-map.mjs && node scripts/check-inventory.mjs && node scripts/check-core-mechanism-inventory.mjs && node scripts/check-v4-runtime-semantic-closure.mjs && node scripts/check-v3-v4-capability-inventory.mjs && node scripts/check-release-tail-contract.mjs && node scripts/v4-publication-rehearsal-fixture.mjs --check && node scripts/v4-architecture.mjs validate && node scripts/v4-warrant-shadow-plan.mjs validate && pnpm run check:site && pnpm run check:workflows && pnpm run test:unit && pnpm run check:golden-path && node scripts/check-action-bundles.mjs",
|
|
160
161
|
"check:static": "node scripts/check-javascript-syntax.mjs && prettier --check architecture/*.json contracts/release-tail-provider-bindings-v1.schema.json contracts/v4-canonical-contracts-v1.schema.json contracts/v4-compatibility-facts-v1.schema.json contracts/v4-delivery-warrant-semantic-diff-report-v1.schema.json contracts/v4-delivery-warrant-trace-v1.schema.json contracts/v4-floating-consumer-policy-receipt-v1.schema.json contracts/v4-runtime-ref-resume-authority-v1.schema.json contracts/v4-tail-reseal-v1.schema.json contracts/v4-host-contract-v1.schema.json contracts/v4-provider-operation-journal-v1.schema.json contracts/v4-release-activation-shadow-v1.schema.json contracts/v4-stable-publication-fence-v1.schema.json contracts/v4-partial-mutation-recovery-v1.schema.json contracts/v4-stage-capsule-v1.schema.json contracts/v4-stage-capsule-store-v1.schema.json contracts/v4-stage-capsule-resume-v1.schema.json contracts/release-tail-capabilities-v1.schema.json contracts/fixtures/release-tail-capabilities-v1/*.json contracts/fixtures/v4-delivery-warrant-trace-v1/*.json contracts/fixtures/v4-floating-consumer-policy-v1/*.json contracts/fixtures/v4-runtime-ref-resume-authority-v1/*.json contracts/fixtures/v4-tail-reseal-v1/*.json contracts/fixtures/v4-compatibility-facts-v1/*.json contracts/fixtures/v4-provider-operation-journal-v1/*.json contracts/fixtures/v4-provider-readback-idempotency-v1/*.json contracts/fixtures/v4-release-activation-shadow-v1/*.json contracts/fixtures/v4-stable-publication-fence-v1/*.json contracts/fixtures/v4-partial-mutation-recovery-v1/*.json contracts/fixtures/v4-stage-capsule-v1/*.json contracts/fixtures/v4-stage-capsule-store-v1/*.json contracts/fixtures/v4-stage-capsule-resume-v1/*.json bin/internal/command-registry.mjs bin/internal/compatibility-facts-cli.mjs packages/core/v4-canonical-contracts.js packages/core/kungfu-temporal-fact.js packages/core/buildchain-compatibility-fact.js packages/core/buildchain-compatibility-authority.js packages/core/buildchain-compatibility-proof.js packages/core/v4-floating-consumer-evidence.js packages/core/v4-floating-consumer-policy.js packages/core/v4-floating-consumer-release-passport.js packages/core/v4-runtime-ref-resume-authority.js packages/core/v4-tail-reseal-contract.js packages/core/v4-tail-reseal-github.js packages/core/v4-tail-reseal-receipt.js packages/core/v4-tail-reseal.js packages/core/v4-runtime-selector-persistence.js packages/core/v4-provider-operation-journal.js packages/core/v4-provider-readback-idempotency.js packages/core/v4-release-activation-shadow.js packages/core/v4-stable-publication-fence.js packages/core/v4-partial-mutation-recovery-qualification.js packages/core/v4-stage-capsule.js packages/core/v4-stage-capsule-store.js packages/core/v4-stage-capsule-local-store.js packages/core/v4-platform-stage-checkpoints.js packages/core/v4-stage-capsule-resume-planner.js packages/core/v4-stage-capsule-qualification.js packages/core/v4-stage-capsule-qualification-campaign.js packages/core/v4-delivery-warrant-fixture-runner.js packages/core/v4-delivery-warrant-read-candidate.js packages/core/v4-delivery-warrant-semantic-diff-gate.js packages/core/v4-delivery-warrant-shadow-adapter.js scripts/authorize-promotion-runtime-override.cjs scripts/check-core-mechanism-inventory.mjs scripts/check-v4-runtime-semantic-closure.mjs scripts/check-release-tail-contract.mjs scripts/check-javascript-syntax.mjs scripts/check-maintainability.mjs scripts/dev-pr-prequeue-guard.mjs scripts/check-v4-public-dogfood-contract.mjs scripts/maintainability-metrics.mjs scripts/maintainability-domain-metrics.mjs scripts/maintainability-governance.mjs scripts/generate-agent-change-map.mjs scripts/public-reference.mjs scripts/site-reference-registry.mjs scripts/generate-public-reference.mjs scripts/v4-architecture.mjs scripts/v4-bridge-bootstrap.mjs scripts/v4-bridge-evidence.mjs scripts/v4-consumer-policy.mjs scripts/v4-host-adapter.mjs scripts/v4-platform-stage-checkpoint-rehearsal.mjs scripts/v4-stage-capsule-resume-rehearsal.mjs scripts/v4-stage-capsule-qualification.mjs scripts/v4-tail-reseal-macos-rehearsal.mjs scripts/v4-tail-reseal.mjs scripts/v4-warrant-shadow-plan.mjs scripts/verify-golden-path.mjs tests/authorize-promotion-runtime-override.test.mjs tests/command-registry.test.mjs tests/core-mechanism-inventory.test.mjs tests/release-tail-contract.test.mjs tests/maintainability.test.mjs tests/maintainability-governance.test.mjs tests/promotion-responsibilities.test.mjs tests/public-reference.test.mjs tests/v4-architecture.test.mjs tests/v4-bridge.test.mjs tests/v4-canonical-contracts.test.mjs tests/v4-delivery-warrant-fixture-runner.test.mjs tests/v4-delivery-warrant-read-candidate.test.mjs tests/v4-floating-consumer-policy.test.mjs tests/v4-runtime-ref-resume-authority.test.mjs tests/v4-runtime-semantic-closure.test.mjs tests/v4-tail-reseal.test.mjs tests/v4-tail-reseal-parity.test.mjs tests/v4-compatibility-facts.test.mjs tests/v4-platform-stage-checkpoints.test.mjs tests/v4-provider-operation-journal.test.mjs tests/v4-provider-readback-idempotency.test.mjs tests/v4-public-dogfood-contract.test.mjs tests/v4-release-activation-shadow.test.mjs tests/v4-stable-publication-fence.test.mjs tests/v4-partial-mutation-recovery-qualification.test.mjs tests/v4-stage-capsule.test.mjs tests/v4-stage-capsule-store.test.mjs tests/v4-stage-capsule-resume-planner.test.mjs tests/v4-stage-capsule-qualification.test.mjs tests/v4-warrant-shadow-plan.test.mjs",
|
|
161
162
|
"check:v4-bridge": "cargo fmt --manifest-path crates/buildchain-v4-bridge/Cargo.toml -- --check && cargo clippy --locked --manifest-path crates/buildchain-v4-bridge/Cargo.toml -- -D warnings && cargo test --locked --manifest-path crates/buildchain-v4-bridge/Cargo.toml",
|
|
162
|
-
"check:v4-contracts": "
|
|
163
|
-
"
|
|
163
|
+
"check:v4-contracts": "pnpm run check:v4-contracts:rust && node --test tests/v4-canonical-contracts.test.mjs tests/v4-delivery-warrant-fixture-runner.test.mjs tests/v4-delivery-warrant-read-candidate.test.mjs tests/v4-domain-wasm.test.mjs tests/v4-floating-consumer-policy-contract.test.mjs tests/v4-floating-consumer-policy.test.mjs tests/v4-runtime-ref-resume-authority.test.mjs tests/v4-tail-reseal.test.mjs tests/v4-tail-reseal-parity.test.mjs tests/v4-compatibility-facts.test.mjs tests/v4-publication-rehearsal.test.mjs tests/v4-platform-stage-checkpoints.test.mjs tests/v4-provider-operation-journal.test.mjs tests/v4-provider-readback-idempotency.test.mjs tests/v4-public-dogfood-contract.test.mjs tests/v4-release-activation-shadow.test.mjs tests/v4-stable-publication-fence.test.mjs tests/v4-partial-mutation-recovery-qualification.test.mjs tests/v4-stage-capsule.test.mjs tests/v4-stage-capsule-store.test.mjs tests/v4-stage-capsule-resume-planner.test.mjs tests/v4-stage-capsule-qualification.test.mjs",
|
|
164
|
+
"build:v4-wasm": "node scripts/build-v4-domain-wasm.mjs",
|
|
165
|
+
"check:v4-wasm": "prettier --check packages/core/v4-domain-wasm.js packages/core/v4-domain-wasm-artifact.js scripts/build-v4-domain-wasm.mjs scripts/copy-v4-domain-wasm.mjs tests/v4-domain-wasm.test.mjs && node scripts/build-v4-domain-wasm.mjs --check",
|
|
166
|
+
"check:workflows": "node scripts/check-workflow-taxonomy.mjs && bash scripts/check-workflows.sh",
|
|
164
167
|
"generate:reference": "node scripts/generate-public-reference.mjs",
|
|
165
168
|
"check:reference": "node scripts/generate-public-reference.mjs --check",
|
|
166
169
|
"generate:next-development": "node scripts/generate-next-development-guidance.mjs",
|
|
167
170
|
"check:next-development": "node scripts/generate-next-development-guidance.mjs --check",
|
|
168
|
-
"generate:site": "pnpm run generate:next-development && pnpm run generate:reference && node scripts/generate-site-bundle.mjs",
|
|
171
|
+
"generate:site": "pnpm run generate:workflows && pnpm run generate:next-development && pnpm run generate:reference && node scripts/generate-site-bundle.mjs",
|
|
169
172
|
"check:site": "pnpm run check:next-development && pnpm run check:reference && node scripts/generate-site-bundle.mjs --check",
|
|
170
173
|
"check:golden-path": "node scripts/verify-golden-path.mjs",
|
|
171
174
|
"test:unit": "node --test tests/*.test.mjs",
|
|
@@ -175,7 +178,9 @@
|
|
|
175
178
|
"pack:check": "npm pack --dry-run --json --registry=https://registry.npmjs.org/",
|
|
176
179
|
"bridge:v4:build": "node scripts/v4-bridge-bootstrap.mjs build",
|
|
177
180
|
"bridge:v4:run": "node scripts/v4-bridge-bootstrap.mjs run",
|
|
178
|
-
"bridge:v4:evidence": "node scripts/v4-bridge-evidence.mjs"
|
|
181
|
+
"bridge:v4:evidence": "node scripts/v4-bridge-evidence.mjs",
|
|
182
|
+
"check:v4-contracts:rust": "cargo fmt --manifest-path crates/buildchain-v4-contracts/Cargo.toml -- --check && cargo clippy --locked --manifest-path crates/buildchain-v4-contracts/Cargo.toml -- -D warnings && cargo test --locked --manifest-path crates/buildchain-v4-contracts/Cargo.toml",
|
|
183
|
+
"generate:workflows": "node scripts/generate-workflow-taxonomy.mjs"
|
|
179
184
|
},
|
|
180
185
|
"devDependencies": {
|
|
181
186
|
"ajv": "8.17.1",
|
|
@@ -417,7 +417,7 @@ function kfdBindingBody({ manifest, manifestGate, legacyProjection, paths }) {
|
|
|
417
417
|
gatePath: paths.gate,
|
|
418
418
|
gateRoot: manifestGate.gateRoot,
|
|
419
419
|
},
|
|
420
|
-
source: jsonClone(manifestGate.source),
|
|
420
|
+
adopter: jsonClone(manifestGate.adopter), source: jsonClone(manifestGate.source),
|
|
421
421
|
standardPackage: jsonClone(manifestGate.standardPackage),
|
|
422
422
|
witness: {
|
|
423
423
|
decisionRoot: manifestGate.decisionWitness.root,
|
|
@@ -445,10 +445,10 @@ export function createKfdAdopterReleaseBinding({
|
|
|
445
445
|
manifestPath = "kfd-adopter-manifest.json",
|
|
446
446
|
gatePath = "kfd-adopter-manifest-gate.json",
|
|
447
447
|
legacyProjectionPath = "kfd-support.json",
|
|
448
|
-
expectedSourceSha = "",
|
|
448
|
+
expectedAdopterId = "kungfu-systems/buildchain", expectedSourceRepository = "", expectedSourceSha = "",
|
|
449
449
|
} = {}) {
|
|
450
450
|
const gate = validateKfdAdopterManifestGate(manifestGate, {
|
|
451
|
-
expectedSourceSha,
|
|
451
|
+
expectedAdopterId, expectedSourceRepository, expectedSourceSha,
|
|
452
452
|
checkedAt: manifestGate?.checkedAt,
|
|
453
453
|
});
|
|
454
454
|
const legacy = validateKfdLegacySupportMatrixProjection(legacyProjection, { manifest, manifestGate });
|
|
@@ -468,7 +468,7 @@ export function validateKfdAdopterReleaseBinding(binding, {
|
|
|
468
468
|
manifest,
|
|
469
469
|
manifestGate,
|
|
470
470
|
legacyProjection,
|
|
471
|
-
expectedSourceSha = "",
|
|
471
|
+
expectedAdopterId = "kungfu-systems/buildchain", expectedSourceRepository = "", expectedSourceSha = "",
|
|
472
472
|
} = {}) {
|
|
473
473
|
const issues = [];
|
|
474
474
|
if (!binding || binding.schemaVersion !== 1 || binding.contract !== KFD_ADOPTER_RELEASE_BINDING_CONTRACT) {
|
|
@@ -488,7 +488,7 @@ export function validateKfdAdopterReleaseBinding(binding, {
|
|
|
488
488
|
manifestPath: binding.authority?.manifestPath,
|
|
489
489
|
gatePath: binding.authority?.gatePath,
|
|
490
490
|
legacyProjectionPath: binding.legacyProjection?.path,
|
|
491
|
-
expectedSourceSha,
|
|
491
|
+
expectedAdopterId, expectedSourceRepository, expectedSourceSha,
|
|
492
492
|
});
|
|
493
493
|
if (stableJson(binding) !== stableJson(expected)) {
|
|
494
494
|
issues.push({ code: "adopter-release-binding-drift", path: "", message: "release binding differs from the exact manifest, gate, or legacy projection closure" });
|
|
@@ -833,7 +833,7 @@ export function createBuildchainContractWorld({
|
|
|
833
833
|
breakingDefaults: {
|
|
834
834
|
evidenceContract: "buildchain.controller-evidence/v1",
|
|
835
835
|
descriptorVersion: descriptor.version,
|
|
836
|
-
workflowPath: descriptor.workflow.path,
|
|
836
|
+
workflowPath: descriptor.workflow.contractPath || descriptor.workflow.path,
|
|
837
837
|
requiredStages: descriptor.expected.stages.filter((stage) => stage.required).map((stage) => stage.id),
|
|
838
838
|
capabilities: descriptor.expected.capabilities,
|
|
839
839
|
evidenceRequirements: descriptor.expected.evidence,
|
|
@@ -58,7 +58,7 @@ const WORKFLOW_AND_ACTION_FILES = Object.freeze([
|
|
|
58
58
|
".github/workflows/.build.yml",
|
|
59
59
|
".github/workflows/.release-candidate-promote.yml",
|
|
60
60
|
".github/workflows/release-candidate-promote.yml",
|
|
61
|
-
".github/workflows/
|
|
61
|
+
".github/workflows/self-release-promote.yml",
|
|
62
62
|
".github/workflows/github-artifact-attestation.yml",
|
|
63
63
|
"actions/github-artifact-attestation/action.yml",
|
|
64
64
|
"actions/github-artifact-attestation/index.js",
|
|
@@ -446,7 +446,7 @@ export function createBuildchainKfdSurfaceRegistry({ root = process.cwd() } = {}
|
|
|
446
446
|
{
|
|
447
447
|
name: "Buildchain standalone binary distribution",
|
|
448
448
|
artifactPath: "dist/binary",
|
|
449
|
-
evidencePath: ".github/workflows/binary-distribution.yml",
|
|
449
|
+
evidencePath: ".github/workflows/self-build-binary-distribution.yml",
|
|
450
450
|
distribution: normalizeKfd3DistributionDeclaration({
|
|
451
451
|
registrar: "shifu",
|
|
452
452
|
tasks: ["binary:build"],
|