@kungfu-tech/buildchain 4.0.1-alpha.4 → 4.0.1-alpha.41
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/actions/release-tail/README.md +8 -0
- package/architecture/ci-lane-change-budget.json +187 -0
- package/architecture/decisions/0002-next-development-transition.md +101 -0
- package/architecture/internal-capabilities.json +117 -8
- package/architecture/maintainability-policy.json +43 -25
- package/architecture/release-tail-contract-inventory.json +5 -2
- package/architecture/v3-core-mechanism-inventory.json +89 -0
- package/architecture/v4-adopter-delivery-parity.json +32 -5
- package/architecture/v4-capability-state-machine-manifest.json +73 -0
- package/architecture/v4-compatibility-facts-parity.json +77 -0
- package/architecture/v4-floating-consumer-policy.json +6 -0
- package/architecture/v4-next-development-parity.json +192 -0
- package/architecture/v4-publication-rehearsal-parity.json +84 -0
- package/architecture/v4-release-train-parity.json +1 -0
- package/architecture/v4-tail-reseal-parity.json +150 -0
- package/bin/buildchain.mjs +23 -2
- package/bin/internal/adopter-delivery-cli.mjs +70 -0
- package/bin/internal/command-registry.mjs +3 -0
- package/bin/internal/compatibility-facts-cli.mjs +101 -0
- package/contracts/fixtures/next-development-transition-v1/anchored-manual-waiting.json +47 -0
- package/contracts/fixtures/next-development-transition-v1/semver-auto-planned.json +47 -0
- package/contracts/fixtures/next-development-transition-v1/version-model-cases.json +40 -0
- package/contracts/fixtures/v4-adopter-delivery-v1/archive-template.json +19 -0
- package/contracts/fixtures/v4-adopter-delivery-v1/bootstrap-positive.json +93 -0
- package/contracts/fixtures/v4-adopter-delivery-v1/gate-positive.json +29 -0
- package/contracts/fixtures/v4-adopter-delivery-v1/gate-unknown-selector.json +26 -0
- package/contracts/fixtures/v4-adopter-delivery-v1/offline-vectors.json +50 -0
- package/contracts/fixtures/v4-compatibility-facts-v1/shared.json +1129 -0
- package/contracts/fixtures/v4-floating-consumer-policy-v1/cases.json +7 -1
- package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/artifacts/product.bin +1 -0
- package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/config/buildchain.toml +5 -0
- package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/documents/release-activation.json +1 -0
- package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/documents/signed-channel.json +1 -0
- package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/evidence/qualification.json +1 -0
- package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/manifests/candidate.json +5 -0
- package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/manifests/release-passport.json +1 -0
- package/contracts/fixtures/v4-publication-rehearsal-v1/capsule.json +707 -0
- package/contracts/fixtures/v4-publication-rehearsal-v1/offline-vectors.json +27 -0
- package/contracts/fixtures/v4-tail-reseal-v1/valid.json +229 -0
- package/contracts/next-development-request-v1.schema.json +66 -0
- package/contracts/next-development-transition-v1.schema.json +292 -0
- package/contracts/v4-adopter-delivery-v1.schema.json +81 -0
- package/contracts/v4-compatibility-facts-v1.schema.json +230 -0
- package/contracts/v4-floating-consumer-policy-receipt-v1.schema.json +4 -2
- package/contracts/v4-publication-rehearsal-capsule-v1.schema.json +233 -0
- package/contracts/v4-tail-reseal-v1.schema.json +276 -0
- package/dist/site/agent-index.json +4 -0
- package/dist/site/artifact-schemas.json +8 -0
- package/dist/site/buildchain-contract.json +1393 -28
- package/dist/site/buildchain-site.json +477 -32
- package/dist/site/capability-registry.json +17 -14
- package/dist/site/cli-registry.json +159 -1
- package/dist/site/kfd-claims.json +455 -15
- package/dist/site/kfd-upstream-aggregate.json +1 -1
- package/dist/site/manual-registry.json +53 -7
- package/dist/site/node-api-registry.json +14008 -9602
- package/dist/site/page-registry.json +442 -21
- package/dist/site/public-surface-audit.json +440 -11
- package/dist/site/publication-authority-registry.json +44 -8
- package/dist/site/publication-registry.json +4 -4
- package/dist/site/release-provenance.json +22 -0
- package/dist/site/schemas/release-tail-capabilities-v1.schema.json +199 -0
- package/dist/site/schemas/v4-adopter-delivery-v1.schema.json +81 -0
- package/dist/site/schemas/v4-compatibility-facts-v1.schema.json +230 -0
- package/dist/site/schemas/v4-publication-rehearsal-capsule-v1.schema.json +233 -0
- package/dist/site/site-manifest.json +35 -11
- package/dist/site/workflow-registry.json +142 -8
- package/docs/MAP.md +7 -2
- package/docs/cli-reference.md +193 -0
- package/docs/cli.md +8 -0
- package/docs/dev-alpha-candidate-patrol.md +8 -0
- package/docs/dev-delivery-warrant.md +22 -1
- package/docs/next-development-transition.md +118 -0
- package/docs/node-api-reference.md +583 -288
- package/docs/release-candidate.md +7 -0
- package/docs/release-tail-provider-plane.md +30 -0
- package/docs/v4-adopter-delivery.md +133 -0
- package/docs/v4-compatibility-facts.md +91 -0
- package/docs/v4-publication-rehearsal.md +130 -0
- package/docs/v4-tail-reseal.md +73 -0
- package/docs/versioning.md +4 -3
- package/package.json +30 -6
- package/packages/core/adopter-delivery-passport.js +259 -0
- package/packages/core/adopter-delivery-vectors.js +158 -0
- package/packages/core/adopter-delivery-vectors.json +77 -0
- package/packages/core/buildchain-agent-manuals.js +3 -0
- package/packages/core/buildchain-compatibility-authority.js +336 -0
- package/packages/core/buildchain-compatibility-fact.js +394 -0
- package/packages/core/buildchain-compatibility-facts.json +217 -0
- package/packages/core/buildchain-compatibility-proof.js +566 -0
- package/packages/core/buildchain-config.js +84 -0
- package/packages/core/buildchain-contract.js +93 -141
- package/packages/core/buildchain-delivery-bootstrap.js +240 -0
- package/packages/core/buildchain-delivery-infrastructure.js +164 -0
- package/packages/core/buildchain-delivery-self-dogfood.js +395 -0
- package/packages/core/buildchain-publication-authority.js +1 -0
- package/packages/core/channel-candidate.js +8 -0
- package/packages/core/channel-promotion-baseline.js +55 -0
- package/packages/core/ci-lane-change-budget.js +247 -0
- package/packages/core/dev-alpha-candidate-selection.js +10 -2
- package/packages/core/dev-delivery-execution-transfer.js +21 -1
- package/packages/core/dev-delivery-native-proof.js +43 -27
- package/packages/core/dev-delivery-process-boundary.js +19 -6
- package/packages/core/dev-delivery-provider-heartbeat.js +18 -6
- package/packages/core/dev-delivery-warrant-settlement.js +234 -2
- package/packages/core/dev-delivery-warrant-state.js +46 -10
- package/packages/core/dev-delivery-warrant.js +16 -3
- package/packages/core/github-governance-authority.js +1 -0
- package/packages/core/index.js +5 -0
- package/packages/core/kungfu-temporal-fact.js +557 -0
- package/packages/core/legacy-kfd-adopter-driver.js +167 -0
- package/packages/core/next-development-candidate-reservation.js +186 -0
- package/packages/core/next-development-controller.js +728 -0
- package/packages/core/next-development-projection.js +287 -0
- package/packages/core/next-development-transition.js +738 -0
- package/packages/core/paper-agent-entry.js +11 -5
- package/packages/core/paper.js +16 -5
- package/packages/core/published-delivery-authority.js +266 -0
- package/packages/core/release-candidate-recovery.js +70 -15
- package/packages/core/release-candidate.js +2 -2
- package/packages/core/release-passport.js +36 -9
- package/packages/core/v4-adopter-delivery-parity.js +3 -3
- package/packages/core/v4-adopter-delivery.js +359 -0
- package/packages/core/v4-canonical-contracts.js +5 -0
- package/packages/core/v4-delivery-warrant-read-candidate.js +10 -3
- package/packages/core/v4-floating-consumer-evidence.js +18 -4
- package/packages/core/v4-floating-consumer-policy.js +143 -20
- package/packages/core/v4-floating-consumer-release-passport.js +35 -8
- package/packages/core/v4-publication-rehearsal-capsule.js +468 -0
- package/packages/core/v4-publication-rehearsal-provider-bindings.js +212 -0
- package/packages/core/v4-publication-rehearsal.js +481 -0
- package/packages/core/v4-tail-reseal-contract.js +26 -0
- package/packages/core/v4-tail-reseal-github.js +178 -0
- package/packages/core/v4-tail-reseal-receipt.js +225 -0
- package/packages/core/v4-tail-reseal.js +594 -0
- package/packages/core/workflow-yaml-contract.js +24 -2
- package/scripts/artifact-signing-controller-core.mjs +1 -1
- package/scripts/buildchain-cli-help.mjs +30 -0
- package/scripts/check-ci-lane-change-budget.mjs +100 -0
- package/scripts/check-inventory.mjs +14 -3
- package/scripts/check-project-cut-merge-queue-admission.mjs +87 -0
- package/scripts/check-v4-floating-consumer-policy-contract.mjs +23 -4
- package/scripts/dev-alpha-candidate-patrol.mjs +22 -1
- package/scripts/dev-delivery-source-proof-replay.mjs +153 -0
- package/scripts/dev-delivery-source-proof-reuse.mjs +13 -97
- package/scripts/dev-delivery-warrant-options.mjs +27 -11
- package/scripts/dev-delivery-warrant-store.mjs +10 -6
- package/scripts/dev-delivery-warrant.mjs +50 -6
- package/scripts/dev-pr-auto-merge.mjs +25 -11
- package/scripts/dev-pr-delivery-warrant.mjs +45 -0
- package/scripts/dev-pr-prequeue-guard.mjs +0 -18
- package/scripts/dev-qualification-patrol.mjs +9 -9
- package/scripts/dispatch-artifact-signing-authority.mjs +1 -1
- package/scripts/generate-channel-promotion-workflow.mjs +2 -2
- package/scripts/generate-next-development-guidance.mjs +49 -0
- package/scripts/generate-release-candidate-passport.mjs +152 -0
- package/scripts/generate-site-bundle.mjs +46 -3
- package/scripts/init-repo.mjs +22 -4
- package/scripts/next-development-self-dogfood-harness.mjs +460 -0
- package/scripts/next-development-self-dogfood.mjs +597 -0
- package/scripts/next-development-transition.mjs +47 -0
- package/scripts/project-cut-merge-queue-admission.mjs +394 -0
- package/scripts/promotion-channel-router.mjs +4 -4
- package/scripts/release-candidate-anchor-provenance.mjs +99 -0
- package/scripts/release-tail.mjs +51 -3
- package/scripts/resume-from-candidate-run.mjs +595 -65
- package/scripts/site-capability-metadata.mjs +29 -0
- package/scripts/stable-candidate-qualification.mjs +9 -10
- package/scripts/v4-consumer-policy.mjs +5 -5
- package/scripts/v4-publication-rehearsal-fixture.mjs +144 -0
- package/scripts/v4-tail-reseal-macos-rehearsal.mjs +134 -0
- package/scripts/v4-tail-reseal.mjs +416 -0
|
@@ -4,13 +4,14 @@
|
|
|
4
4
|
"baseline": "architecture/maintainability-baseline.json",
|
|
5
5
|
"enforcementRevision": "5308189b09bcb5a1314195412f2807a40d678838",
|
|
6
6
|
"repositoryBudgets": {
|
|
7
|
-
"baselineRevision": "
|
|
8
|
-
"maxHandMaintainedSourceFiles":
|
|
9
|
-
"maxHandMaintainedSourceLines":
|
|
10
|
-
"maxWorkflowFiles":
|
|
11
|
-
"maxWorkflowLines":
|
|
12
|
-
"latestTransition": "
|
|
13
|
-
"
|
|
7
|
+
"baselineRevision": "858dbe00b6206a8f356b4a12d2659bee7a72e71b",
|
|
8
|
+
"maxHandMaintainedSourceFiles": 429,
|
|
9
|
+
"maxHandMaintainedSourceLines": 160703,
|
|
10
|
+
"maxWorkflowFiles": 76,
|
|
11
|
+
"maxWorkflowLines": 26320,
|
|
12
|
+
"latestTransition": "Terminal Warrant evidence correction retains prior settlement and verifies exact product integration proof.",
|
|
13
|
+
"latestTransitionRationale": "The bounded correction path cannot resettle or rewrite a terminal candidate: it retains the original evidence root, accepts one exact Integration Delivery Proof only when repository, protected base, candidate, source proof, fence, generation, merge-group commit and tree all match, and requires fresh expected-old compare-and-swap before persistence. Duplicate correction and settlement are exact no-ops; any prior-root, proof, identity or second-correction drift fails closed. The existing Project Cut adapter remains the only source-lineage replay surface and still grants no merge authority. These exact 429-file, 160703-source-line, 76-workflow-file and 26320-workflow-line ceilings contain no unrelated headroom.",
|
|
14
|
+
"rationale": "Bounded modules separate candidate, evidence, native proof and execution, canonical failure verification, closed-set execution transfer, process-boundary verification, Warrant state and qualification, authority state, qualification, Landing acquisition, verified-attempt admission, Landing settlement and fence validation, provider attempt and heartbeat readback, sealed terminal evidence, hosted heartbeat, resume, store, options, command-specific adapters, and CLI orchestration responsibilities. The protected delivery workflow gives candidate and seal jobs no provider write credential, recursively rejects transfer drift, scopes every transfer artifact to the exact provider run attempt, chains every durable heartbeat state and receipt root on a distinct hosted runner domain, and permits qualification or exact failure settlement only after the finalizer verifies live jobs and the latest durable authority state. Public Landing admission and heartbeat always perform non-injectable fresh exact-attempt provider readback, tolerate only a not-yet-materialized seal job while retaining exact native and duplicate-job rejection, and heartbeat-loss coordination never invokes GitHub's run-scoped cancellation API where a successor rerun could race. The hosted process boundary anchors trust in the kernel-resolved versioned Runner.Worker path while accepting an equivalent argv-zero spelling with the same basename; its public boundary marker is allowed only at the one exact non-secret value, so a forged value under the same credential-like name still fails closed. The credentialless transfer seal validates the rooted native reuse decision against the Warrant-bound source, closure, dependency, toolchain, environment and command inputs; qualifiedBase stays in the proof and decision where it is rooted and later independently rechecked, rather than being assumed on the Warrant schema. V2 mutation cannot initialize a second empty authority beside a legacy ref: migration reads and roots the canonical live v1 ref, rechecks it, applies the explicit configured v2 policy, and atomically replaces its bytes through one expected-old non-force update, so old v1 controllers fail closed while the prior commit remains immutable history. Candidate ancestry classifies the GitHub artifact runtime token as credential authority. Every Landing settlement, including an unexpired fence, requires product-owned terminal readback. Terminal cleanup reads the immutable historical attempt, derives workflow and hosted Landing job identity from live run data, reads the exact protected ref head and compares containment against that immutable SHA, and seals merged only when the admitted merge-group head is contained by that protected base; a later different-head merge settles the old attempt as dequeued. Terminal normalization preserves transfer, finalizer boundary, native and seal job, admitted provider attempt, protected-base head, containment result, and terminal readback coordinates. The public reusable workflow truthfully retains its single-flight v1 authority without advertising v2 migration, while bounded v2 remains a separate opt-in CLI, Node API, and schema contract; the tracked self-caller stays on public v4-alpha with matching stable and alpha locks, and transient train selection is dispatch-only. Next-development parity adds one versioned transition authority, one durable controller, one bounded reservation adapter, and pure public-contract recovery evidence while retaining the existing thin floating-channel callers byte-for-byte. The floating-consumer gate reuses the existing contract-world evaluator so SHA drift passes only under the selected lock's compatibility policy, breaking surface drift still fails closed, and external certification reconstructs the receipt from the observed workflow SHA rather than the lock's historical evidence SHA. Tail reseal adds no Stage Capsule effect or general rebuild authority: it verifies the exact retained four-platform bytes, admits one known macOS tail failure through live provider readback, fences signing and finalization to explicit credentials and Warrant identity, and requires standard candidate Passport plus provider and protected readback. Compatibility Facts parity isolates canonical encoding, temporal verification, lifecycle validation, fixture projection, public authority projection, and CLI adaptation into bounded modules; legacy digest and proof arrays are derived only from exact current Fact lineage. Publication Rehearsal adds no production release authority: the content-addressed capsule contract binds source, candidate, manifest, config, canonical data-only provider bindings, provider policy, observations and core version separately from filesystem, runtime and rehearsal-only provider authority; simulate, replay and explicitly authorized provider rehearsal all reuse the release-tail planner, while same-commit local dogfood resolves the new reusable contract and exact current runtime before external callers remain on floating v4-alpha. Cross-runtime candidate recovery preserves original runtime and provider roots and creates resume lineage only after exact public ref, tag, ancestry, npm version and integrity readback. Adopter Delivery restores the reviewed public v3 gate, drivers, Passport binding, N-1 bootstrap and exact archive loader through one public v4 surface while keeping provider and release authority explicit non-claims. Floating Alpha bootstrap uses only the existing exact resolver and protected Alpha private shell to move an otherwise stale floating shell, retains public v4 stable promotion, and removes itself after protected readback. CI lane change-budget enforcement adds a bounded parser, evaluator, guard, and tests without creating another merge authority."
|
|
14
15
|
},
|
|
15
16
|
"sourceBudgets": {
|
|
16
17
|
"newFileLines": 600,
|
|
@@ -19,9 +20,21 @@
|
|
|
19
20
|
"existingDebtPolicy": "no-widening"
|
|
20
21
|
},
|
|
21
22
|
"approvedNewFileTransitions": {
|
|
23
|
+
"packages/core/next-development-transition.js": {
|
|
24
|
+
"maxLines": 738,
|
|
25
|
+
"rationale": "The single versioned authority keeps completed-Alpha identity, legal successor models, role-separated adapter bounds, materialization roots, compare-and-swap transitions and deterministic replay validation together. Anchored and manual initial state persists as waiting-anchor after reviewed input and exposes rooted anchor binding plus controller materialization recording; this exact reviewed ceiling cannot grow implicitly."
|
|
26
|
+
},
|
|
27
|
+
"packages/core/next-development-controller.js": {
|
|
28
|
+
"maxLines": 728,
|
|
29
|
+
"rationale": "The durable controller keeps atomic child identity, rooted checkpoints, idempotent materialization operations, latest protected Dev revalidation, PR settlement and exact source and derived root readback in one provider-neutral authority. It exposes no Alpha publication effect and resumes only through injected atomic store and executor boundaries; this exact reviewed ceiling cannot grow implicitly."
|
|
30
|
+
},
|
|
31
|
+
"actions/promote-buildchain-ref/internal/promote-alpha-channel.js": {
|
|
32
|
+
"maxLines": 599,
|
|
33
|
+
"rationale": "The extracted Alpha promotion stage replaces the former non-fast-forward skip with the existing exact-current-Dev regeneration contract, protected PR fallback, and fail-closed workspace binding; this exact reviewed ceiling cannot grow implicitly."
|
|
34
|
+
},
|
|
22
35
|
"scripts/dev-delivery-source-proof-reuse.mjs": {
|
|
23
36
|
"maxLines": 631,
|
|
24
|
-
"rationale": "The bounded source-proof driver seals one exact PR qualification and
|
|
37
|
+
"rationale": "The bounded source-proof driver seals one exact PR qualification and delegates merge-group graph verification to the isolated exact-patch replay module. Unknown, nonlinear, extra-commit, patch-drift or base-divergent compositions still fail closed to the full lifecycle, and this exact file ceiling cannot grow implicitly."
|
|
25
38
|
},
|
|
26
39
|
"scripts/dev-pr-prequeue-guard.mjs": {
|
|
27
40
|
"maxLines": 399,
|
|
@@ -84,16 +97,20 @@
|
|
|
84
97
|
"packages/core/v4-runtime-selector-persistence.js": {
|
|
85
98
|
"maxLines": 228,
|
|
86
99
|
"rationale": "The isolated source scanner rejects persisted exact, train, authority, variable, secret, and environment selector authority while inventorying OIDC, IAM, and external authority metadata without reading credentials; this exact ceiling cannot grow implicitly."
|
|
100
|
+
},
|
|
101
|
+
"scripts/resume-from-candidate-run.mjs": {
|
|
102
|
+
"maxLines": 1125,
|
|
103
|
+
"rationale": "The candidate recovery adapter retains the existing artifact normalization and immutable recovery receipt boundary while adding fresh authorized cross-runtime Stage Capsule resume material, post-publication ref, tag, ancestry, and npm readback, and rooted Release Passport lineage. Its main orchestration remains below the default function length and complexity limits, and this exact file ceiling cannot grow implicitly."
|
|
87
104
|
}
|
|
88
105
|
},
|
|
89
106
|
"approvedExistingDebtTransitions": {
|
|
90
107
|
"packages/core/index.js": {
|
|
91
|
-
"maxLines":
|
|
92
|
-
"rationale": "The public facade
|
|
108
|
+
"maxLines": 704,
|
|
109
|
+
"rationale": "The public facade exposes the bounded CI lane change-budget contract beside the existing v4 governance APIs without adding a second implementation or merge authority; this exact post-integration ceiling cannot grow implicitly."
|
|
93
110
|
},
|
|
94
111
|
"actions/promote-buildchain-ref/index.js": {
|
|
95
|
-
"maxFunctionLines":
|
|
96
|
-
"rationale": "The existing action entrypoint forwards
|
|
112
|
+
"maxFunctionLines": 280,
|
|
113
|
+
"rationale": "The existing action entrypoint forwards the optional rooted v4 runtime-resume material and its trusted post-publication finalizer into the audited durable Passport operation. The exact readable four-line input widening cannot grow implicitly."
|
|
97
114
|
},
|
|
98
115
|
"actions/promote-buildchain-ref/lib.js": {
|
|
99
116
|
"maxLines": 6952,
|
|
@@ -104,9 +121,9 @@
|
|
|
104
121
|
"rationale": "The runtime entrypoint now binds every compatibility command and alias, including the upstream paper command, through the tested command registry; this exact post-integration wiring ceiling cannot grow implicitly."
|
|
105
122
|
},
|
|
106
123
|
"packages/core/release-passport.js": {
|
|
107
|
-
"maxLines":
|
|
124
|
+
"maxLines": 2985,
|
|
108
125
|
"maxFunctionLines": 304,
|
|
109
|
-
"rationale": "Responsibility-owned validators preserve issue ordering, byte-stable reports, upstream release evidence, consumer-policy certification, and
|
|
126
|
+
"rationale": "Responsibility-owned validators preserve issue ordering, byte-stable reports, upstream release evidence, consumer-policy certification, and rooted runtime A+B resume lineage. Tree-equivalent promotion keeps the original built source identity while the optional attachment is normalized and independently reverified before inclusion; these exact post-integration ceilings cannot grow implicitly."
|
|
110
127
|
},
|
|
111
128
|
"packages/core/buildchain-contract.js": {
|
|
112
129
|
"maxLines": 1096,
|
|
@@ -115,12 +132,12 @@
|
|
|
115
132
|
"rationale": "The existing v4 contract evaluator invokes the shared shell-runtime-lock binding before every compatibility or early-success path while preserving the prior contract-world, Release Train, and drift behavior. Its public projection now includes the bounded dev-delivery workflow surface and declares the optional expected lane inputs consumed by the unchanged evaluator. This exact public-contract wiring ceiling cannot grow implicitly."
|
|
116
133
|
},
|
|
117
134
|
"packages/core/github-governance-authority.js": {
|
|
118
|
-
"maxLines":
|
|
119
|
-
"rationale": "The publication authority
|
|
135
|
+
"maxLines": 1369,
|
|
136
|
+
"rationale": "The publication authority declares the alpha/v4/v4.0 and release/v4/v4.0 protected channels and the dispatch-only Alpha recovery workflow as protected authority. This exact reviewed ceiling cannot grow implicitly."
|
|
120
137
|
},
|
|
121
138
|
"packages/core/buildchain-config.js": {
|
|
122
|
-
"maxLines":
|
|
123
|
-
"rationale": "Artifact signing configuration admits only the Buildchain-owned JIT profile with exact safe archive-relative target paths while rejecting credentials, entitlement files, wildcard paths, incompatible artifact kinds, and incomplete declarations; this exact wiring ceiling cannot grow implicitly."
|
|
139
|
+
"maxLines": 1885,
|
|
140
|
+
"rationale": "Artifact signing configuration admits only the Buildchain-owned JIT profile with exact safe archive-relative target paths while rejecting credentials, entitlement files, wildcard paths, incompatible artifact kinds, and incomplete declarations. Publication rehearsal remains effect-disabled. Adopter delivery adds only a closed public contract, exact selectors and repository-relative input, readback, bootstrap, archive and result paths; this exact wiring ceiling cannot grow implicitly."
|
|
124
141
|
},
|
|
125
142
|
"scripts/check-internal-architecture.mjs": {
|
|
126
143
|
"maxFunctionComplexity": 37,
|
|
@@ -131,8 +148,8 @@
|
|
|
131
148
|
"rationale": "The new-file budget evaluator recognizes only explicit path-scoped transitions with exact ceilings and mandatory rationales; the default budget and every existing no-widening check remain unchanged."
|
|
132
149
|
},
|
|
133
150
|
"scripts/check-inventory.mjs": {
|
|
134
|
-
"maxLines":
|
|
135
|
-
"rationale": "Inventory retains the recovery
|
|
151
|
+
"maxLines": 1497,
|
|
152
|
+
"rationale": "Inventory retains the complete recovery and publication authority set and additionally requires both bounded next-development self-dogfood command and harness files beside the contract, controller, schemas, fixtures, adapter, generated guidance and public documentation; this exact post-integration ceiling cannot grow implicitly."
|
|
136
153
|
},
|
|
137
154
|
"scripts/generate-channel-promotion-workflow.mjs": {
|
|
138
155
|
"maxFunctionLines": 290,
|
|
@@ -149,8 +166,8 @@
|
|
|
149
166
|
"rationale": "The existing Gate validator admits an explicit bounded long-form duration class while preserving the standard 60-second default and exact capture-to-scene binding; this exact post-integration ceiling cannot grow implicitly."
|
|
150
167
|
},
|
|
151
168
|
"scripts/dev-alpha-candidate-patrol.mjs": {
|
|
152
|
-
"maxLines":
|
|
153
|
-
"rationale": "The existing single-flight exact-source Alpha controller
|
|
169
|
+
"maxLines": 1197,
|
|
170
|
+
"rationale": "The existing single-flight exact-source Alpha controller delegates next-development reservation validation to the bounded core reader, carries the rooted result into selection, and retains the no-publication boundary; this exact ceiling cannot grow implicitly."
|
|
154
171
|
},
|
|
155
172
|
"scripts/build-contract-core.mjs": {
|
|
156
173
|
"maxLines": 1229,
|
|
@@ -287,6 +304,7 @@
|
|
|
287
304
|
"release-passport-promotion-routing-json",
|
|
288
305
|
"release-passport-v4-consumer-policy-certification-json",
|
|
289
306
|
"release-passport-v4-consumer-policy-certification-root",
|
|
307
|
+
"release-passport-v4-runtime-resume-evidence-command",
|
|
290
308
|
"release-passport-v4-runtime-resume-evidence-json",
|
|
291
309
|
"release-tail-state-path",
|
|
292
310
|
"require-governance",
|
|
@@ -304,7 +322,7 @@
|
|
|
304
322
|
"secrets": [],
|
|
305
323
|
"outputs": []
|
|
306
324
|
},
|
|
307
|
-
"rationale": "The promote action preserves the independently rooted v4 consumer-policy certification and
|
|
325
|
+
"rationale": "The promote action preserves the independently rooted v4 consumer-policy certification and accepts one optional verified runtime-resume evidence document plus one trusted post-publication finalizer command. The command runs only inside the existing durable Passport finalization boundary after provider effects and public readback; v3 behavior remains unchanged."
|
|
308
326
|
},
|
|
309
327
|
"cli:architecture": {
|
|
310
328
|
"fromRevision": "5308189b09bcb5a1314195412f2807a40d678838",
|
|
@@ -1494,9 +1512,9 @@
|
|
|
1494
1512
|
"rationale": "The existing version-state commit transaction remains nested under its extracted operation factory and is independently regression-tested; this exact inherited ceiling cannot grow."
|
|
1495
1513
|
},
|
|
1496
1514
|
"actions/promote-buildchain-ref/internal/durable-transaction-operations.js#createDurableTransactionOperations": {
|
|
1497
|
-
"maxLines":
|
|
1515
|
+
"maxLines": 378,
|
|
1498
1516
|
"maxComplexity": 1,
|
|
1499
|
-
"rationale": "Transplanted legacy durable transaction and Passport operations
|
|
1517
|
+
"rationale": "Transplanted legacy durable transaction and Passport operations remain in one independently owned module. The exact two-line readable widening forwards rooted runtime-resume material and its post-publication finalizer without accepting a transient rebuilt candidate or inconsistent per-field overrides; this ceiling cannot grow implicitly."
|
|
1500
1518
|
},
|
|
1501
1519
|
"packages/core/paper-npm-bootstrap.js#executePaperNpmBootstrap": {
|
|
1502
1520
|
"maxLines": 490,
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
"release-passport-evidence-command",
|
|
42
42
|
"release-passport-invariant-passport-command",
|
|
43
43
|
"release-passport-kfd-3-artifact-verify-command",
|
|
44
|
+
"release-passport-v4-runtime-resume-evidence-command",
|
|
44
45
|
"verification-command"
|
|
45
46
|
],
|
|
46
47
|
"configAndCliAliases": [
|
|
@@ -286,7 +287,8 @@
|
|
|
286
287
|
"publicNames": [
|
|
287
288
|
"release-passport-kfd-3-artifact-verify-command",
|
|
288
289
|
"release-passport-invariant-passport-command",
|
|
289
|
-
"release-passport-attachment-command"
|
|
290
|
+
"release-passport-attachment-command",
|
|
291
|
+
"release-passport-v4-runtime-resume-evidence-command"
|
|
290
292
|
],
|
|
291
293
|
"aliases": [
|
|
292
294
|
{
|
|
@@ -306,7 +308,8 @@
|
|
|
306
308
|
"action:actions/promote-buildchain-ref/action.yml#release-passport-kfd-3-artifact-verify-command",
|
|
307
309
|
"action:actions/promote-buildchain-ref/action.yml#release-passport-invariant-passport-command",
|
|
308
310
|
"action:actions/promote-buildchain-ref/action.yml#release-passport-attachment-command",
|
|
309
|
-
"action:actions/promote-buildchain-ref/action.yml#release-passport-evidence-command"
|
|
311
|
+
"action:actions/promote-buildchain-ref/action.yml#release-passport-evidence-command",
|
|
312
|
+
"action:actions/promote-buildchain-ref/action.yml#release-passport-v4-runtime-resume-evidence-command"
|
|
310
313
|
],
|
|
311
314
|
"executionSites": [
|
|
312
315
|
{
|
|
@@ -69,6 +69,11 @@
|
|
|
69
69
|
"root": "packages/core",
|
|
70
70
|
"pattern": "^release-activation-transaction\\.js$"
|
|
71
71
|
},
|
|
72
|
+
{
|
|
73
|
+
"mechanismId": "next-development-controller",
|
|
74
|
+
"root": "packages/core",
|
|
75
|
+
"pattern": "^next-development-(?:transition|controller|candidate-reservation)\\.js$"
|
|
76
|
+
},
|
|
72
77
|
{
|
|
73
78
|
"mechanismId": "publication-authority",
|
|
74
79
|
"root": "packages/core",
|
|
@@ -130,6 +135,90 @@
|
|
|
130
135
|
"orphanPolicy": "Every state-bearing mechanism must own source, tests, public surfaces, durable-store disposition, recovery, and v4 migration disposition; missing or ambiguous ownership fails validation."
|
|
131
136
|
},
|
|
132
137
|
"mechanisms": [
|
|
138
|
+
{
|
|
139
|
+
"id": "next-development-controller",
|
|
140
|
+
"owner": "Buildchain protected development version plane",
|
|
141
|
+
"writers": [
|
|
142
|
+
"completed Alpha terminal-success schedulers",
|
|
143
|
+
"packages/core/next-development-controller.js"
|
|
144
|
+
],
|
|
145
|
+
"schemas": [
|
|
146
|
+
"kungfu-buildchain-next-development-transition/v1",
|
|
147
|
+
"kungfu-buildchain-next-development-controller/v1"
|
|
148
|
+
],
|
|
149
|
+
"stores": [
|
|
150
|
+
"atomic child store keyed by repository and completed-Alpha root",
|
|
151
|
+
"compare-and-swap rooted controller checkpoints"
|
|
152
|
+
],
|
|
153
|
+
"states": [
|
|
154
|
+
"planned",
|
|
155
|
+
"waiting-anchor",
|
|
156
|
+
"materialized",
|
|
157
|
+
"pr-pending",
|
|
158
|
+
"merged",
|
|
159
|
+
"verified"
|
|
160
|
+
],
|
|
161
|
+
"events": [
|
|
162
|
+
"schedule",
|
|
163
|
+
"bind-reviewed-anchor",
|
|
164
|
+
"materialize-current-dev",
|
|
165
|
+
"open-protected-version-pr",
|
|
166
|
+
"record-merge",
|
|
167
|
+
"verify-protected-dev-readback"
|
|
168
|
+
],
|
|
169
|
+
"transitions": [
|
|
170
|
+
"one completed Alpha creates or reuses one deterministic durable child",
|
|
171
|
+
"stale Dev material is superseded before protected delivery",
|
|
172
|
+
"merged reaches verified only after exact source and derived root readback"
|
|
173
|
+
],
|
|
174
|
+
"recovery": [
|
|
175
|
+
"fresh runners load the durable child and resume the last rooted checkpoint",
|
|
176
|
+
"idempotent materialization operation keys reuse effects after lost responses"
|
|
177
|
+
],
|
|
178
|
+
"effects": [
|
|
179
|
+
"declared source and derived version material",
|
|
180
|
+
"protected Dev version pull request"
|
|
181
|
+
],
|
|
182
|
+
"retry": [
|
|
183
|
+
"Dev movement supersedes only the stale materialization attempt",
|
|
184
|
+
"readback mismatch remains merged and retries observation without rebuilding"
|
|
185
|
+
],
|
|
186
|
+
"invalidation": [
|
|
187
|
+
"completed Alpha identity drift",
|
|
188
|
+
"undeclared changed path",
|
|
189
|
+
"durable compare-and-swap conflict",
|
|
190
|
+
"protected Dev version or root disagreement"
|
|
191
|
+
],
|
|
192
|
+
"providerReadback": [
|
|
193
|
+
"latest protected Dev SHA",
|
|
194
|
+
"protected version PR status",
|
|
195
|
+
"protected Dev ancestry, target version, source roots, and derived roots"
|
|
196
|
+
],
|
|
197
|
+
"publicSurfaces": [
|
|
198
|
+
"cli:next-development",
|
|
199
|
+
"export:./next-development-transition",
|
|
200
|
+
"export:./next-development-controller",
|
|
201
|
+
"export:./next-development-projection"
|
|
202
|
+
],
|
|
203
|
+
"compatibilityCallers": [
|
|
204
|
+
"v4 completed-Alpha schedulers through the atomic store and executor interfaces"
|
|
205
|
+
],
|
|
206
|
+
"sourcePaths": [
|
|
207
|
+
"packages/core/next-development-transition.js",
|
|
208
|
+
"packages/core/next-development-controller.js",
|
|
209
|
+
"packages/core/next-development-candidate-reservation.js"
|
|
210
|
+
],
|
|
211
|
+
"testPaths": [
|
|
212
|
+
"tests/next-development-transition.test.mjs",
|
|
213
|
+
"tests/next-development-controller.test.mjs",
|
|
214
|
+
"tests/dev-alpha-candidate-patrol.test.mjs",
|
|
215
|
+
"tests/next-development-self-dogfood.test.mjs"
|
|
216
|
+
],
|
|
217
|
+
"migrationDisposition": "v4-authoritative-with-public-consumer-lifecycle-proof",
|
|
218
|
+
"unresolved": [
|
|
219
|
+
"provider-specific durable-store retention and workflow wake policy remain caller-owned integration choices"
|
|
220
|
+
]
|
|
221
|
+
},
|
|
133
222
|
{
|
|
134
223
|
"id": "dev-delivery-warrant",
|
|
135
224
|
"owner": "Buildchain Dev delivery control plane",
|
|
@@ -3,14 +3,16 @@
|
|
|
3
3
|
"contract": "kungfu-buildchain-v4-adopter-delivery-parity-plan",
|
|
4
4
|
"sourceAuthority": {
|
|
5
5
|
"branch": "dev/v3/v3.0",
|
|
6
|
-
"commit": "
|
|
7
|
-
"vectorSuiteRoot": "sha256:
|
|
8
|
-
"kfdPackage": "@kungfu-tech/kfd@1.0.0-alpha.
|
|
6
|
+
"commit": "6b96bdad8d9f8ccf9275f27d9370a226a9c78465",
|
|
7
|
+
"vectorSuiteRoot": "sha256:c978707556406ffda4ef4192032332c01c2da1cebb6ad8c4f0edfc65d5cef0c7",
|
|
8
|
+
"kfdPackage": "@kungfu-tech/kfd@1.0.0-alpha.65"
|
|
9
9
|
},
|
|
10
10
|
"target": {
|
|
11
11
|
"branch": "dev/v4/v4.0",
|
|
12
|
-
"
|
|
12
|
+
"initialBaseline": "e5611377efc03178f8687d99968cfdfa3ce2825b",
|
|
13
|
+
"baseline": "e0342713c7447960c13bd73377282b2e93f4853d",
|
|
13
14
|
"mode": "effect-disabled",
|
|
15
|
+
"surface": "public-protocol-neutral-adopter-delivery",
|
|
14
16
|
"productionWriterAuthority": false
|
|
15
17
|
},
|
|
16
18
|
"vectors": [
|
|
@@ -37,11 +39,36 @@
|
|
|
37
39
|
{
|
|
38
40
|
"id": "fault-driver-throw",
|
|
39
41
|
"mode": "gate-core-parity"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"id": "positive-n-minus-one-bootstrap",
|
|
45
|
+
"mode": "public-bootstrap-lineage"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "positive-published-archive",
|
|
49
|
+
"mode": "public-archive-authority"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"id": "negative-archive-identity",
|
|
53
|
+
"mode": "public-archive-authority"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"id": "negative-bootstrap-lineage",
|
|
57
|
+
"mode": "public-bootstrap-lineage"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"id": "negative-protocol-version",
|
|
61
|
+
"mode": "public-driver-selection"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"id": "tamper-readback",
|
|
65
|
+
"mode": "public-exact-readback"
|
|
40
66
|
}
|
|
41
67
|
],
|
|
42
68
|
"nonClaims": [
|
|
43
69
|
"The Rust projection has no provider, credential, release, signing or production-writer authority.",
|
|
44
70
|
"KFD semantics are evaluated only by exact published KFD bytes before the effect-disabled carrier projection.",
|
|
45
|
-
"Release Passport evidence substitution remains on the protected v3 boundary and is not reimplemented as a v4 writer."
|
|
71
|
+
"Release Passport evidence substitution remains on the protected v3 boundary and is not reimplemented as a v4 writer.",
|
|
72
|
+
"The public CLI, Node API, schema, configuration and reusable workflow retain provider, signing, publication and release authority as explicit non-claims."
|
|
46
73
|
]
|
|
47
74
|
}
|
|
@@ -83,6 +83,18 @@
|
|
|
83
83
|
}
|
|
84
84
|
},
|
|
85
85
|
"capabilities": [
|
|
86
|
+
{
|
|
87
|
+
"id": "next-development-controller",
|
|
88
|
+
"owner": "Buildchain protected development version plane",
|
|
89
|
+
"sourceInventoryId": "next-development-controller",
|
|
90
|
+
"surfaces": [
|
|
91
|
+
"cli:next-development",
|
|
92
|
+
"export:./next-development-transition",
|
|
93
|
+
"export:./next-development-controller",
|
|
94
|
+
"export:./next-development-projection"
|
|
95
|
+
],
|
|
96
|
+
"migrationPhase": "legacy-retired"
|
|
97
|
+
},
|
|
86
98
|
{
|
|
87
99
|
"id": "dev-delivery-warrant",
|
|
88
100
|
"owner": "Buildchain Dev delivery control plane",
|
|
@@ -198,6 +210,67 @@
|
|
|
198
210
|
}
|
|
199
211
|
],
|
|
200
212
|
"stateMachines": [
|
|
213
|
+
{
|
|
214
|
+
"id": "next-development-controller",
|
|
215
|
+
"capabilityId": "next-development-controller",
|
|
216
|
+
"owner": "Buildchain protected development version plane",
|
|
217
|
+
"writer": {
|
|
218
|
+
"runtime": "typescript-v4",
|
|
219
|
+
"authoritative": true,
|
|
220
|
+
"secondWriterBudget": 0
|
|
221
|
+
},
|
|
222
|
+
"schemas": [
|
|
223
|
+
"kungfu-buildchain-next-development-transition/v1",
|
|
224
|
+
"kungfu-buildchain-next-development-controller/v1"
|
|
225
|
+
],
|
|
226
|
+
"store": "atomic child store with compare-and-swap rooted checkpoints",
|
|
227
|
+
"states": [
|
|
228
|
+
"planned",
|
|
229
|
+
"waiting-anchor",
|
|
230
|
+
"materialized",
|
|
231
|
+
"pr-pending",
|
|
232
|
+
"merged",
|
|
233
|
+
"verified"
|
|
234
|
+
],
|
|
235
|
+
"events": [
|
|
236
|
+
"schedule",
|
|
237
|
+
"bind-reviewed-anchor",
|
|
238
|
+
"materialize-current-dev",
|
|
239
|
+
"open-protected-version-pr",
|
|
240
|
+
"record-merge",
|
|
241
|
+
"verify-protected-dev-readback"
|
|
242
|
+
],
|
|
243
|
+
"invariants": [
|
|
244
|
+
"completed Alpha remains terminal and immutable",
|
|
245
|
+
"one deterministic child exists per completed-Alpha root",
|
|
246
|
+
"verified requires exact protected Dev version and root readback"
|
|
247
|
+
],
|
|
248
|
+
"effects": [
|
|
249
|
+
"write declared version source and derived material",
|
|
250
|
+
"request one protected Dev version pull request"
|
|
251
|
+
],
|
|
252
|
+
"adapters": [
|
|
253
|
+
"atomic durable child store",
|
|
254
|
+
"version-state materialization adapter",
|
|
255
|
+
"protected Dev pull-request and readback adapter"
|
|
256
|
+
],
|
|
257
|
+
"tests": [
|
|
258
|
+
"tests/next-development-transition.test.mjs",
|
|
259
|
+
"tests/next-development-controller.test.mjs",
|
|
260
|
+
"tests/next-development-self-dogfood.test.mjs",
|
|
261
|
+
"tests/dev-alpha-candidate-patrol.test.mjs"
|
|
262
|
+
],
|
|
263
|
+
"recovery": [
|
|
264
|
+
"fresh runners resume the last rooted checkpoint and reuse idempotent materialization operations",
|
|
265
|
+
"moved protected Dev supersedes only stale preparation and readback mismatch retries observation"
|
|
266
|
+
],
|
|
267
|
+
"migrationPhase": "legacy-retired",
|
|
268
|
+
"budgets": {
|
|
269
|
+
"undeclaredStates": 0,
|
|
270
|
+
"undeclaredEvents": 0,
|
|
271
|
+
"unboundedRetries": 0
|
|
272
|
+
}
|
|
273
|
+
},
|
|
201
274
|
{
|
|
202
275
|
"id": "dev-delivery-warrant",
|
|
203
276
|
"capabilityId": "dev-delivery-warrant",
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "buildchain.v4.compatibility-facts-parity/v1",
|
|
3
|
+
"source": {
|
|
4
|
+
"branch": "dev/v3/v3.0",
|
|
5
|
+
"commit": "6b96bdad8d9f8ccf9275f27d9370a226a9c78465",
|
|
6
|
+
"factRegistry": "packages/core/buildchain-compatibility-facts.json"
|
|
7
|
+
},
|
|
8
|
+
"target": {
|
|
9
|
+
"branch": "dev/v4/v4.0",
|
|
10
|
+
"commit": "60e61d0a17bdf41262454a3499aae430248036fc",
|
|
11
|
+
"schema": "contracts/v4-compatibility-facts-v1.schema.json"
|
|
12
|
+
},
|
|
13
|
+
"rootProtocol": "kungfu.fact-root.canonical/v2",
|
|
14
|
+
"matrixRoot": "sha256:be099fcb4ecc5ec0bf24e86853246d12210b2f6d082e928ce90a40b00345f262",
|
|
15
|
+
"matrix": [
|
|
16
|
+
{
|
|
17
|
+
"invariant": "immutable-directional-relation",
|
|
18
|
+
"v3": "source-to-target Fact",
|
|
19
|
+
"v4": "source-to-target Fact",
|
|
20
|
+
"parity": "exact"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"invariant": "operation-scope",
|
|
24
|
+
"v3": "accept-contract-lock",
|
|
25
|
+
"v4": "accept-contract-lock",
|
|
26
|
+
"parity": "exact"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"invariant": "time-awareness",
|
|
30
|
+
"v3": "validFromCutRoot plus Cut ancestry",
|
|
31
|
+
"v4": "validFromCutRoot plus Cut ancestry",
|
|
32
|
+
"parity": "exact"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"invariant": "append-only-current-truth",
|
|
36
|
+
"v3": "supersede and revoke records",
|
|
37
|
+
"v4": "supersede and revoke records",
|
|
38
|
+
"parity": "exact"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"invariant": "explicit-path",
|
|
42
|
+
"v3": "direct default and explicit bounded composition",
|
|
43
|
+
"v4": "direct default and explicit bounded composition",
|
|
44
|
+
"parity": "exact"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"invariant": "negative-receipts",
|
|
48
|
+
"v3": "rooted accepted or rejected path receipt",
|
|
49
|
+
"v4": "byte-identical Rust and TypeScript receipt",
|
|
50
|
+
"parity": "safety-equivalent"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"invariant": "legacy-digest-projection",
|
|
54
|
+
"v3": "compatibleBreakingDigests derived from proofs and Facts",
|
|
55
|
+
"v4": "exact-target current Facts derive digest arrays",
|
|
56
|
+
"parity": "safety-equivalent"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"invariant": "legacy-proof-projection",
|
|
60
|
+
"v3": "v1 proof roots retained",
|
|
61
|
+
"v4": "v1 proof roots retained as non-authoritative lineage",
|
|
62
|
+
"parity": "exact"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"invariant": "release-passport",
|
|
66
|
+
"v3": "Fact lineage available to verification receipt",
|
|
67
|
+
"v4": "Fact, Cut, proof and path roots attach as non-release-authority evidence",
|
|
68
|
+
"parity": "safety-equivalent"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"invariant": "unknown-state",
|
|
72
|
+
"v3": "fail closed",
|
|
73
|
+
"v4": "missing ambiguous expired revoked wrong-direction wrong-Cut disconnected and corrupt fail closed",
|
|
74
|
+
"parity": "exact"
|
|
75
|
+
}
|
|
76
|
+
]
|
|
77
|
+
}
|
|
@@ -36,6 +36,12 @@
|
|
|
36
36
|
},
|
|
37
37
|
"runtimeEscapeBoundary": {
|
|
38
38
|
"persistedSelectorOverride": false,
|
|
39
|
+
"protectedAlphaRecoveryBootstrap": {
|
|
40
|
+
"selector": "alpha/v4/v4.0",
|
|
41
|
+
"sourcePath": ".github/workflows/buildchain-ref-promotion-recovery.yml",
|
|
42
|
+
"workflow": ".github/workflows/.release-candidate-promote.yml",
|
|
43
|
+
"repository": "kungfu-systems/buildchain"
|
|
44
|
+
},
|
|
39
45
|
"trustedNonPersistentInput": true,
|
|
40
46
|
"requiresSeparateAuthority": true,
|
|
41
47
|
"requiresReadback": true,
|