@kungfu-tech/buildchain 3.0.9-alpha.8 → 4.0.0-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 +39 -0
- package/README.md +17 -13
- package/actions/promote-buildchain-ref/README.md +0 -10
- package/actions/release-tail/README.md +6 -10
- package/architecture/internal-capabilities.json +502 -0
- package/architecture/maintainability-baseline.json +59 -0
- package/architecture/maintainability-policy.json +1384 -0
- package/architecture/release-tail-contract-inventory.json +587 -0
- package/architecture/v3-core-mechanism-inventory.json +1043 -0
- package/architecture/v3-core-mechanism-inventory.md +67 -0
- package/architecture/v4-adopter-delivery-parity.json +47 -0
- package/architecture/v4-architecture-constitution.md +210 -0
- package/architecture/v4-bootstrap-authority.json +56 -0
- package/architecture/v4-canonical-contract-fixtures.json +105 -0
- package/architecture/v4-capability-state-machine-manifest.json +480 -0
- package/architecture/v4-capability-state-machine-manifest.schema.json +202 -0
- package/architecture/v4-delivery-warrant-shadow-bootstrap-plan.json +830 -0
- package/architecture/v4-delivery-warrant-shadow-bootstrap-plan.md +223 -0
- package/architecture/v4-delivery-warrant-shadow-bootstrap-plan.schema.json +318 -0
- package/architecture/v4-delivery-warrant-shadow-fixtures.json +227 -0
- package/architecture/v4-delivery-warrant-shadow-fixtures.schema.json +67 -0
- package/architecture/v4-exception-ledger.json +5 -0
- package/architecture/v4-exception-ledger.schema.json +56 -0
- package/architecture/v4-partial-mutation-recovery-qualification.json +65 -0
- package/architecture/v4-platform-stage-checkpoints.json +97 -0
- package/architecture/v4-provider-operation-journal-contract.json +113 -0
- package/architecture/v4-release-activation-shadow-domain.json +61 -0
- package/architecture/v4-release-train-parity.json +68 -0
- package/architecture/v4-rust-libnode-bridge-evaluation.json +107 -0
- package/architecture/v4-rust-libnode-bridge-spike.md +85 -0
- package/architecture/v4-stable-publication-fence.json +66 -0
- package/architecture/v4-stage-capsule-contract.json +90 -0
- package/architecture/v4-stage-capsule-qualification.json +99 -0
- package/architecture/v4-stage-capsule-resume-planner.json +52 -0
- package/architecture/v4-stage-capsule-store-contract.json +72 -0
- package/bin/buildchain.mjs +15 -6
- package/contracts/auditable-demo-scenario-v1.schema.json +1 -1
- package/contracts/buildchain-v2-residuals-v1.json +2 -2
- package/contracts/fixtures/v4-delivery-warrant-trace-v1/golden.json +158 -0
- package/contracts/fixtures/v4-delivery-warrant-trace-v1/property.json +380 -0
- package/contracts/fixtures/v4-delivery-warrant-trace-v1/replay.json +163 -0
- package/contracts/fixtures/v4-partial-mutation-recovery-v1/shared.json +155 -0
- package/contracts/fixtures/v4-provider-operation-journal-v1/shared.json +457 -0
- package/contracts/fixtures/v4-provider-readback-idempotency-v1/shared.json +682 -0
- package/contracts/fixtures/v4-release-activation-shadow-v1/shared.json +53 -0
- package/contracts/fixtures/v4-stable-publication-fence-v1/shared.json +56 -0
- package/contracts/fixtures/v4-stage-capsule-resume-v1/late-platform-failure.json +176 -0
- package/contracts/fixtures/v4-stage-capsule-store-v1/shared.json +132 -0
- package/contracts/fixtures/v4-stage-capsule-v1/shared.json +111 -0
- package/contracts/v4-canonical-contracts-v1.schema.json +182 -0
- package/contracts/v4-delivery-warrant-semantic-diff-report-v1.schema.json +284 -0
- package/contracts/v4-delivery-warrant-trace-v1.schema.json +215 -0
- package/contracts/v4-host-contract-v1.schema.json +135 -0
- package/contracts/v4-partial-mutation-recovery-v1.schema.json +168 -0
- package/contracts/v4-provider-operation-journal-v1.schema.json +381 -0
- package/contracts/v4-release-activation-shadow-v1.schema.json +186 -0
- package/contracts/v4-stable-publication-fence-v1.schema.json +125 -0
- package/contracts/v4-stage-capsule-resume-v1.schema.json +225 -0
- package/contracts/v4-stage-capsule-store-v1.schema.json +154 -0
- package/contracts/v4-stage-capsule-v1.schema.json +178 -0
- package/crates/buildchain-v4-bridge/Cargo.lock +213 -0
- package/crates/buildchain-v4-bridge/Cargo.toml +12 -0
- package/crates/buildchain-v4-bridge/src/main.rs +495 -0
- package/dist/site/agent-index.json +0 -3
- package/dist/site/artifact-schemas.json +0 -6
- package/dist/site/buildchain-contract.json +103 -397
- package/dist/site/buildchain-site.json +302 -270
- package/dist/site/capability-registry.json +9 -11
- package/dist/site/cli-registry.json +8 -30
- package/dist/site/controller-registry.json +48 -8
- package/dist/site/kfd-claims.json +129 -142
- package/dist/site/kfd-upstream-aggregate.json +9 -9
- package/dist/site/manual-registry.json +18 -49
- package/dist/site/node-api-registry.json +1882 -4118
- package/dist/site/page-registry.json +278 -230
- package/dist/site/public-surface-audit.json +87 -185
- package/dist/site/publication-authority-registry.json +11 -1
- package/dist/site/publication-registry.json +4 -4
- package/dist/site/release-provenance.json +3 -7
- package/dist/site/schemas/kfd-support-projection-v1.schema.json +106 -0
- package/dist/site/site-manifest.json +22 -38
- package/dist/site/workflow-registry.json +80 -35
- package/docs/MAP.md +8 -4
- package/docs/auditable-demo.md +2 -2
- package/docs/aws-us-elastic-runner-burst-plane.md +7 -59
- package/docs/cli-reference.md +15 -92
- package/docs/cli.md +14 -14
- package/docs/dev-alpha-candidate-patrol.md +3 -11
- package/docs/dev-delivery-warrant.md +28 -100
- package/docs/engineering-housekeeper.md +12 -4
- package/docs/getting-started.md +1 -1
- package/docs/install.md +5 -5
- package/docs/kfd-support.md +2 -7
- package/docs/lifecycle-protocol.md +2 -4
- package/docs/node-api-reference.md +414 -523
- package/docs/release-flow.md +31 -31
- package/docs/release-governance.md +16 -28
- package/docs/release-passport.md +2 -15
- package/docs/release-tail-contract.md +13 -6
- package/docs/release-tail-provider-plane.md +13 -19
- package/docs/release-train.md +4 -4
- package/docs/reusable-build-surface.md +14 -27
- package/docs/site-bundle-contract.md +1 -5
- package/docs/stable-candidate-patrol.md +7 -7
- package/docs/v4-canonical-contracts.md +92 -0
- package/docs/v4-delivery-warrant-read-candidate.md +73 -0
- package/docs/v4-delivery-warrant-semantic-diff.md +75 -0
- package/docs/v4-production-release.md +63 -0
- package/docs/v4-stage-capsule.md +193 -0
- package/docs/versioning.md +3 -3
- package/package.json +19 -17
- package/packages/core/adopter-delivery-gate.js +576 -0
- package/packages/core/adopter-delivery-json.js +66 -0
- package/packages/core/artifact-signing.js +0 -61
- package/packages/core/artifact-verification-envelope.js +5 -5
- package/packages/core/build-facts.js +12 -4
- package/packages/core/buildchain-agent-manuals.js +0 -2
- package/packages/core/buildchain-config.js +4 -69
- package/packages/core/buildchain-contract.js +232 -46
- package/packages/core/buildchain-kfd-claims.js +1 -1
- package/packages/core/channel-candidate.js +0 -8
- package/packages/core/channel-promotion-baseline.js +0 -52
- package/packages/core/controller-evidence.js +3 -4
- package/packages/core/dev-alpha-candidate-selection.js +2 -10
- package/packages/core/dev-delivery-warrant-cancellation.js +0 -1
- package/packages/core/dev-delivery-warrant-settlement.js +1 -5
- package/packages/core/dev-delivery-warrant.js +12 -52
- package/packages/core/diagnostics.js +3 -8
- package/packages/core/github-governance-authority.js +3 -1
- package/packages/core/kfd-adopter-category-driver.js +167 -0
- package/packages/core/kfd-adopter-manifest.js +47 -46
- package/packages/core/kfd-gate.js +15 -45
- package/packages/core/paper-agent-entry.js +7 -16
- package/packages/core/paper-fleet.js +2 -2
- package/packages/core/paper-repository.js +2 -3
- package/packages/core/paper-scaffold-content.js +2 -23
- package/packages/core/paper.js +11 -43
- package/packages/core/publication-reproducibility.js +4 -4
- package/packages/core/release-line-bootstrap.js +21 -8
- package/packages/core/release-passport-contract.js +5 -5
- package/packages/core/release-passport.js +20 -131
- package/packages/core/self-dogfood-version.js +48 -35
- package/packages/core/spawn-command.js +232 -8
- package/packages/core/v4-adopter-delivery-parity.js +219 -0
- package/packages/core/v4-canonical-contracts.js +284 -0
- package/packages/core/v4-delivery-warrant-fixture-runner.js +371 -0
- package/packages/core/v4-delivery-warrant-read-candidate.js +279 -0
- package/packages/core/v4-delivery-warrant-semantic-diff-gate.js +352 -0
- package/packages/core/v4-delivery-warrant-shadow-adapter.js +447 -0
- package/packages/core/v4-partial-mutation-recovery-qualification.js +395 -0
- package/packages/core/v4-platform-stage-checkpoints.js +471 -0
- package/packages/core/v4-provider-operation-journal.js +531 -0
- package/packages/core/v4-provider-readback-idempotency.js +394 -0
- package/packages/core/v4-release-activation-shadow.js +519 -0
- package/packages/core/v4-stable-publication-fence.js +357 -0
- package/packages/core/v4-stage-capsule-local-store.js +426 -0
- package/packages/core/v4-stage-capsule-qualification-campaign.js +512 -0
- package/packages/core/v4-stage-capsule-qualification.js +456 -0
- package/packages/core/v4-stage-capsule-resume-planner.js +397 -0
- package/packages/core/v4-stage-capsule-store.js +401 -0
- package/packages/core/v4-stage-capsule.js +319 -0
- package/scripts/assemble-self-publication-admission.mjs +1 -1
- package/scripts/audit-publication-control-plane.mjs +5 -5
- package/scripts/auditable-demo-bundle-verification.mjs +3 -2
- package/scripts/auditable-demo-platform.mjs +2 -2
- package/scripts/auditable-demo-renditions.mjs +1 -1
- package/scripts/auditable-demo.mjs +2 -2
- package/scripts/aws-macos-jit-controller-core.mjs +13 -346
- package/scripts/aws-macos-jit-controller-runtime.mjs +2 -210
- package/scripts/aws-macos-jit-controller.mjs +37 -275
- package/scripts/aws-macos-jit-core.mjs +3 -41
- package/scripts/aws-macos-jit.mjs +0 -12
- package/scripts/aws-windows-jit-campaign.mjs +2 -2
- package/scripts/aws-windows-jit-controller-core.mjs +1 -1
- package/scripts/aws-windows-jit-controller.mjs +3 -3
- package/scripts/build-contract-core.mjs +3 -8
- package/scripts/build-standalone-binary.mjs +3 -14
- package/scripts/buildchain-channel-router.mjs +4 -0
- package/scripts/buildchain-cli-help.mjs +7 -13
- package/scripts/buildchain-contract-lock.mjs +0 -6
- package/scripts/check-action-bundles.mjs +3 -4
- package/scripts/check-internal-architecture.mjs +7 -6
- package/scripts/check-inventory.mjs +30 -25
- package/scripts/check-v4-public-dogfood-contract.mjs +270 -0
- package/scripts/create-release-bundle.mjs +8 -4
- package/scripts/dev-alpha-candidate-patrol.mjs +1 -22
- package/scripts/dev-delivery-proof.mjs +2 -54
- package/scripts/dev-delivery-warrant.mjs +59 -77
- package/scripts/dev-pr-auto-merge.mjs +4 -30
- package/scripts/dev-pr-delivery-warrant.mjs +0 -55
- package/scripts/dispatch-artifact-signing-authority.mjs +7 -4
- package/scripts/generate-buildchain-kfd-witnesses.mjs +94 -88
- package/scripts/generate-channel-build-workflow.mjs +54 -24
- package/scripts/generate-channel-promotion-workflow.mjs +15 -6
- package/scripts/generate-site-bundle.mjs +5 -21
- package/scripts/git-fetch-process-tree.mjs +34 -1
- package/scripts/init-repo.mjs +64 -159
- package/scripts/inspect-artifact-signing-requests.mjs +0 -6
- package/scripts/locked-source-checkout.mjs +3 -4
- package/scripts/maintainability-metrics.mjs +8 -2
- package/scripts/npm-publish-dry-run.mjs +2 -2
- package/scripts/npm-publish-transaction.mjs +2 -2
- package/scripts/publication-commit-evidence.mjs +23 -69
- package/scripts/release-candidate-resolver.mjs +11 -17
- package/scripts/release-tail.mjs +3 -49
- package/scripts/resume-from-candidate-run.mjs +9 -123
- package/scripts/run-lifecycle-core.mjs +12 -13
- package/scripts/seal-artifact-signing-requests.mjs +17 -21
- package/scripts/site-capability-metadata.mjs +2 -7
- package/scripts/stable-candidate-qualification.mjs +10 -10
- package/scripts/v4-architecture.mjs +12 -2
- package/scripts/v4-bridge-bootstrap.mjs +141 -0
- package/scripts/v4-bridge-evidence.mjs +141 -0
- package/scripts/v4-host-adapter.mjs +182 -0
- package/scripts/v4-platform-stage-checkpoint-rehearsal.mjs +207 -0
- package/scripts/v4-stage-capsule-qualification.mjs +528 -0
- package/scripts/v4-stage-capsule-resume-rehearsal.mjs +57 -0
- package/scripts/v4-warrant-shadow-plan.mjs +601 -0
- package/scripts/verify-golden-path.mjs +5 -5
- package/scripts/web-surface-cloudfront-rewrite.mjs +15 -15
- package/scripts/web-surface-core.mjs +2 -8
- package/scripts/workflow-call-contract.mjs +5 -184
- package/contracts/fixtures/kfd-adopter-release-v1/kfd-4-perspective.json +0 -16
- package/contracts/fixtures/kfd-adopter-release-v1/kfd-4-replay.json +0 -57
- package/contracts/fixtures/next-development-transition-v1/anchored-manual-waiting.json +0 -47
- package/contracts/fixtures/next-development-transition-v1/semver-auto-planned.json +0 -47
- package/contracts/fixtures/next-development-transition-v1/version-model-cases.json +0 -40
- package/contracts/next-development-request-v1.schema.json +0 -66
- package/contracts/next-development-transition-v1.schema.json +0 -292
- package/contracts/publication-rehearsal-capsule-v1.schema.json +0 -173
- package/dist/site/schemas/publication-rehearsal-capsule-v1.schema.json +0 -269
- package/dist/site/schemas/release-tail-capabilities-v1.schema.json +0 -353
- package/dist/site/schemas/release-tail-provider-bindings-v1.schema.json +0 -94
- package/docs/next-development-transition.md +0 -119
- package/docs/publication-rehearsal.md +0 -94
- package/packages/core/buildchain-compatibility-proof.js +0 -631
- package/packages/core/dev-delivery-native-proof.js +0 -333
- package/packages/core/dev-delivery-warrant-shadow.js +0 -502
- package/packages/core/next-development-candidate-reservation.js +0 -186
- package/packages/core/next-development-controller.js +0 -726
- package/packages/core/next-development-projection.js +0 -288
- package/packages/core/next-development-transition.js +0 -738
- package/packages/core/publication-rehearsal-projection.js +0 -173
- package/packages/core/publication-rehearsal-runtime.js +0 -921
- package/scripts/aws-macos-jit-instance-rehydrate.mjs +0 -260
- package/scripts/aws-macos-jit-source-rebind.mjs +0 -724
- package/scripts/dev-delivery-native-run.mjs +0 -187
- package/scripts/dev-delivery-two-phase.mjs +0 -598
- package/scripts/generate-next-development-guidance.mjs +0 -49
- package/scripts/materialize-self-release-candidate-version.mjs +0 -137
- package/scripts/next-development-self-dogfood-harness.mjs +0 -409
- package/scripts/next-development-self-dogfood.mjs +0 -532
- package/scripts/next-development-transition.mjs +0 -47
- package/scripts/release-candidate-tail-reseal.mjs +0 -426
- package/templates/native-dev-delivery.yml +0 -82
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
status: preview
|
|
3
|
-
period: ongoing
|
|
4
|
-
theme: next-development-transition
|
|
5
|
-
doc_type: generated-contract-guidance
|
|
6
|
-
source_level: generated-from-node-contract
|
|
7
|
-
confidence: high
|
|
8
|
-
sensitivity: public
|
|
9
|
-
evidence_grade: A
|
|
10
|
-
review_state: self-reviewed
|
|
11
|
-
last_reviewed: 2026-08-11
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
# Next-development Transition
|
|
15
|
-
|
|
16
|
-
This document is generated from
|
|
17
|
-
`packages/core/next-development-transition.js` and
|
|
18
|
-
`packages/core/next-development-controller.js` and
|
|
19
|
-
`packages/core/next-development-projection.js`. Edit those sources and run
|
|
20
|
-
`node scripts/generate-next-development-guidance.mjs`; direct edits fail the
|
|
21
|
-
projection drift check.
|
|
22
|
-
|
|
23
|
-
## Contract
|
|
24
|
-
|
|
25
|
-
- Contract: `kungfu-buildchain-next-development-transition/v1`
|
|
26
|
-
- Durable controller: `kungfu-buildchain-next-development-controller/v1`
|
|
27
|
-
- ADR: [ADR 0002](../architecture/decisions/0002-next-development-transition.md)
|
|
28
|
-
- States: `planned`, `waiting-anchor`, `materialized`, `pr-pending`, `merged`, `verified`
|
|
29
|
-
- Legal version models: `semver/auto` and `anchored/manual`
|
|
30
|
-
- Invariant: A completed Alpha remains successful and its refs remain immutable while the next-development transition is incomplete.
|
|
31
|
-
|
|
32
|
-
An Alpha publication is terminal success independently of this transition.
|
|
33
|
-
The idempotency key is a deterministic hash of the completed-Alpha root,
|
|
34
|
-
repository, legal model, and sorted declared paths. Incomplete Dev preparation
|
|
35
|
-
therefore cannot relabel Alpha N as failed, and replay cannot select a different
|
|
36
|
-
Alpha or path set.
|
|
37
|
-
|
|
38
|
-
## Durable controller
|
|
39
|
-
|
|
40
|
-
`scheduleNextDevelopmentController` atomically creates one child for the
|
|
41
|
-
repository and completed-Alpha root. Identical wakes reuse it. The store
|
|
42
|
-
boundary requires read, create-if-absent, and compare-and-swap operations; the
|
|
43
|
-
controller root fences every checkpoint. Materialization uses an operation key
|
|
44
|
-
derived from the child, exact current protected Dev SHA, and reviewed target,
|
|
45
|
-
so a fresh runner can recover an already-created commit instead of rebuilding
|
|
46
|
-
the Alpha candidate or depending on the original runner workspace.
|
|
47
|
-
|
|
48
|
-
Before opening the protected version PR, the controller reads Dev again. A
|
|
49
|
-
moved head makes the prepared attempt `superseded`; the following wake
|
|
50
|
-
regenerates only declared version material from that latest SHA. After merge,
|
|
51
|
-
`verified` remains unreachable until protected Dev readback contains the
|
|
52
|
-
prepared commit and its target version, source roots, and derived roots exactly
|
|
53
|
-
match the checkpoint. The executor surface contains no Alpha publication, tag,
|
|
54
|
-
release, or package operation.
|
|
55
|
-
|
|
56
|
-
Alpha finalization no longer treats a non-fast-forward Dev update as successful
|
|
57
|
-
bookkeeping. It requires an exact checkout of the current Dev head, regenerates
|
|
58
|
-
the declared version lifecycle there, and uses a non-force merge or reusable
|
|
59
|
-
protected version PR. Candidate Patrol ignores both the generated preparation
|
|
60
|
-
commit and its two-parent integration commit. Before a later product candidate
|
|
61
|
-
can settle, Patrol reads every prepared version path at the candidate SHA and
|
|
62
|
-
requires the exact reserved blob identities; missing or stale state blocks
|
|
63
|
-
before a Release Cut or heavy candidate build.
|
|
64
|
-
|
|
65
|
-
## Version models
|
|
66
|
-
|
|
67
|
-
`semver/auto` increments the Alpha sequence on the same semantic patch. For
|
|
68
|
-
example, completed `1.4.2-alpha.7` plans `1.4.2-alpha.8`. It must not accept an anchor or an
|
|
69
|
-
operator-selected target.
|
|
70
|
-
|
|
71
|
-
`anchored/manual` enters `waiting-anchor` until the caller provides both a
|
|
72
|
-
semantic target and the exact digest of the configured anchor manifest. The
|
|
73
|
-
adapter verifies the manifest already present in the checkout; it never invents
|
|
74
|
-
or edits upstream anchor facts. `semver/manual` and `anchored/auto` are
|
|
75
|
-
invalid.
|
|
76
|
-
|
|
77
|
-
## Hosted self-dogfood and adoption
|
|
78
|
-
|
|
79
|
-
`.github/workflows/buildchain-alpha-self-dogfood.yml` calls the same public
|
|
80
|
-
`build.yml@v3-alpha` router as a consumer. After the hosted build succeeds, one
|
|
81
|
-
runner uses the real version-state adapter and checkpoints an injected transient
|
|
82
|
-
durable-state write failure. A separate runner restores the adapter operation
|
|
83
|
-
without rebuilding Alpha, supersedes it when protected Dev moves, and preserves
|
|
84
|
-
`pr-pending` while the protected PR is delayed. The final artifact roots the
|
|
85
|
-
exact runtime SHA, controller transaction, both legal version-model outcomes,
|
|
86
|
-
and an exact hosted protected Dev readback. Stable qualification recomputes and
|
|
87
|
-
rejects evidence that omits or drifts any of those bindings.
|
|
88
|
-
|
|
89
|
-
Production consumers, including Kungfu, adopt the proved contract through
|
|
90
|
-
`kungfu-systems/buildchain/.github/workflows/build.yml@v3`. The evidence retains
|
|
91
|
-
the exact resolved SHA for audit, but the committed production coordinate is the
|
|
92
|
-
floating major contract rather than an exact-SHA pin.
|
|
93
|
-
|
|
94
|
-
## Local adapter
|
|
95
|
-
|
|
96
|
-
From a normal Buildchain checkout:
|
|
97
|
-
|
|
98
|
-
```sh
|
|
99
|
-
node scripts/next-development-transition.mjs materialize --cwd . --input <request.json>
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
The command prints a rooted plan and performs no write by default. `--write`
|
|
103
|
-
may change only regular, non-symlink source files listed by `version.files`
|
|
104
|
-
in the loaded Buildchain config. The rooted adapter contract separately names
|
|
105
|
-
`version.derived_files` as allowed changes, `version.manifest` as read-only,
|
|
106
|
-
`BUILDCHAIN_VERSION` as the target input, `lifecycle.version-state` as the
|
|
107
|
-
derived-material stage, and `lifecycle.verify` as the truth gate. The
|
|
108
|
-
reference writer fails closed when derived files exist because transaction
|
|
109
|
-
execution is outside this contract slice. It performs no Git operation, ref
|
|
110
|
-
update, network request, provider call, lifecycle command, or anchor edit.
|
|
111
|
-
|
|
112
|
-
Preparing development state creates no tag, Release, public package, or
|
|
113
|
-
candidate. Those public effects remain outside the local adapter contract.
|
|
114
|
-
|
|
115
|
-
The request schema is
|
|
116
|
-
`contracts/next-development-request-v1.schema.json`; the durable record schema
|
|
117
|
-
is `contracts/next-development-transition-v1.schema.json`. Positive and
|
|
118
|
-
negative examples live under
|
|
119
|
-
`contracts/fixtures/next-development-transition-v1/`.
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
status: preview
|
|
3
|
-
period: 2026-08-08
|
|
4
|
-
theme: buildchain-publication-rehearsal
|
|
5
|
-
doc_type: product-manual
|
|
6
|
-
source_level: local-files
|
|
7
|
-
confidence: high
|
|
8
|
-
sensitivity: public
|
|
9
|
-
evidence_grade: A
|
|
10
|
-
review_state: self-reviewed
|
|
11
|
-
last_reviewed: 2026-08-08
|
|
12
|
-
ai_provenance:
|
|
13
|
-
model_family: GPT-5
|
|
14
|
-
product: Codex
|
|
15
|
-
generated_at: 2026-08-08
|
|
16
|
-
visible_context: Public rehearsal capsule runtime, release-tail provider plane, CLI, Action, workflow, and generated consumer surfaces.
|
|
17
|
-
invisible_context_boundary: No credentials, private provider state, signed URLs, or external publication receipts were read.
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
# Publication rehearsal
|
|
21
|
-
|
|
22
|
-
Buildchain publication rehearsal runs the deterministic release tail locally
|
|
23
|
-
from one `kungfu.buildchain.publication-rehearsal-capsule/v1` document. The
|
|
24
|
-
normative rule is [ADR 0001](../architecture/decisions/0001-release-local-constructibility.md):
|
|
25
|
-
every non-external release behavior must be locally constructible, and no
|
|
26
|
-
semantic path may depend on GitHub runner state.
|
|
27
|
-
|
|
28
|
-
The machine-readable shape is
|
|
29
|
-
[`publication-rehearsal-capsule-v1.schema.json`](../contracts/publication-rehearsal-capsule-v1.schema.json).
|
|
30
|
-
|
|
31
|
-
## Exact local command
|
|
32
|
-
|
|
33
|
-
Run from the repository root after restoring the content-addressed candidate:
|
|
34
|
-
|
|
35
|
-
```sh
|
|
36
|
-
buildchain release-tail rehearse \
|
|
37
|
-
--capsule "$PWD/.buildchain/publication/rehearsal-capsule.json" \
|
|
38
|
-
--capsule-root "$PWD/.buildchain/publication/candidate" \
|
|
39
|
-
--mode simulate \
|
|
40
|
-
--state "$PWD/.buildchain/publication/rehearsal-state.json" \
|
|
41
|
-
--evidence "$PWD/.buildchain/publication/rehearsal-evidence.json"
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
Use `--mode replay` only when the capsule contains a complete recorded
|
|
45
|
-
provider-response sequence. Both modes produce rooted evidence with
|
|
46
|
-
`externalPublicationClaimed: false`.
|
|
47
|
-
|
|
48
|
-
## Daily fixture and sealed-candidate modes
|
|
49
|
-
|
|
50
|
-
For daily development, build a synthetic capsule with
|
|
51
|
-
`createPublicationRehearsalCapsule`, use synthetic files and provider
|
|
52
|
-
observations, and run `--mode simulate` or `--mode replay`. This fixture mode is
|
|
53
|
-
for deterministic regression evidence only.
|
|
54
|
-
|
|
55
|
-
Before publication qualification, restore the exact sealed candidate bytes,
|
|
56
|
-
Passport, policy roots, initial transaction and recorded observations named by
|
|
57
|
-
the retained capsule, then run the exact command above. Preserve the resulting
|
|
58
|
-
binding root, transaction root, state root, receipt roots and evidence root.
|
|
59
|
-
These roots qualify deterministic construction only; external publication and
|
|
60
|
-
public readback still require their own authorities.
|
|
61
|
-
|
|
62
|
-
## Capsule contents
|
|
63
|
-
|
|
64
|
-
The capsule root commits to the release-tail declaration, ordered policy roots,
|
|
65
|
-
Passport path/root, initial durable transaction, complete file inventory,
|
|
66
|
-
data-only provider bindings, recorded observations, portable platform policy,
|
|
67
|
-
declared environment keys, and the exact list of external effects. Every input
|
|
68
|
-
file is a regular non-symlink file under the explicit absolute capsule root and
|
|
69
|
-
must match its size and SHA-256 root.
|
|
70
|
-
|
|
71
|
-
The CLI never reads `GITHUB_*`, infers a runner workspace, selects behavior from
|
|
72
|
-
`process.platform`, or accepts executable hooks. An explicit environment JSON
|
|
73
|
-
object must match the capsule declaration exactly.
|
|
74
|
-
|
|
75
|
-
## Hosted parity
|
|
76
|
-
|
|
77
|
-
The reusable `release-tail.yml` workflow passes the explicit capsule to the
|
|
78
|
-
`actions/release-tail` wrapper. The wrapper supplies only GitHub/HTTP transport
|
|
79
|
-
and declared secret inputs, then invokes the same
|
|
80
|
-
`executePublicationRehearsal` public core used locally. Provider requests,
|
|
81
|
-
responses, failures, transaction roots, receipt roots, and the final evidence
|
|
82
|
-
root are retained together.
|
|
83
|
-
|
|
84
|
-
Simulation or replay is development evidence. Provider mode can record real
|
|
85
|
-
external observations, but it still does not replace Release Passport,
|
|
86
|
-
attestation, registry, activation, public-readback, or protected-delivery
|
|
87
|
-
authority.
|
|
88
|
-
|
|
89
|
-
## Failure handling
|
|
90
|
-
|
|
91
|
-
Diagnostics use
|
|
92
|
-
`kungfu.buildchain.publication-rehearsal-diagnostic/v1`. Preserve the capsule,
|
|
93
|
-
diagnostic root, binding root, and exact failed files. Repair the shared core or
|
|
94
|
-
capsule locally and rerun before spending another hosted runner attempt.
|