@kungfu-tech/buildchain 4.0.2-alpha.44 → 4.0.2-alpha.46
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/architecture/agent-change-map.md +1 -1
- package/architecture/maintainability-debt.json +24 -25
- package/architecture/maintainability-policy.json +4 -4
- package/architecture/v4-release-topology.json +9 -6
- package/architecture/v4-universal-workflow-train-admission.json +1 -1
- package/dist/site/buildchain-contract.json +7 -7
- package/dist/site/buildchain-site.json +55 -14
- package/dist/site/capability-registry.json +2 -2
- package/dist/site/kfd-claims.json +29 -5
- package/dist/site/kfd-upstream-aggregate.json +1 -1
- package/dist/site/manual-registry.json +3 -3
- package/dist/site/node-api-registry.json +154 -13
- package/dist/site/page-registry.json +48 -7
- package/dist/site/public-surface-audit.json +7 -3
- package/dist/site/publication-authority-registry.json +5 -17
- package/dist/site/publication-registry.json +4 -4
- package/dist/site/release-provenance.json +2 -1
- package/dist/site/site-manifest.json +7 -7
- package/dist/site/workflow-registry.json +5 -5
- package/docs/MAP.md +1 -0
- package/docs/node-api-reference.md +26 -15
- package/docs/oci-publication.md +82 -0
- package/docs/publish-transaction.md +36 -3
- package/package.json +3 -2
- package/packages/core/buildchain-v4-domain.wasm +0 -0
- package/packages/core/next-development-transition.js +5 -6
- package/packages/core/oci-publication-bundle.js +241 -0
- package/packages/core/publication-sealed-bundle.js +77 -13
- package/packages/core/release-tail-product-capabilities.js +9 -0
- package/packages/core/v4-canonical-contracts.js +1 -0
- package/packages/core/v4-domain-wasm-artifact.js +2 -2
- package/packages/core/v4-product-publication.js +2 -0
- package/scripts/check-v4-release-topology.mjs +14 -4
- package/scripts/generate-channel-promotion-workflow.mjs +2 -19
- package/scripts/generate-v4-universal-workflow-facades.mjs +8 -2
- package/scripts/publication-candidate-kind.mjs +92 -0
- package/scripts/publication-candidate-sealer.mjs +16 -1
- package/scripts/release-candidate-resolver.mjs +6 -17
- package/scripts/resume-from-candidate-run.mjs +10 -17
- package/scripts/site-capability-metadata.mjs +1 -0
- package/scripts/v4-product-publication-intent.mjs +9 -1
- package/scripts/v4-universal-workflow-engine.mjs +2 -0
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"cliCommandCount": 117,
|
|
7
7
|
"workflowCount": 114,
|
|
8
8
|
"actionCount": 8,
|
|
9
|
-
"sitePageCount":
|
|
9
|
+
"sitePageCount": 88,
|
|
10
10
|
"docCommandRefCount": 1050,
|
|
11
11
|
"failureCount": 0
|
|
12
12
|
},
|
|
@@ -5518,6 +5518,10 @@
|
|
|
5518
5518
|
"id": "manual:observed-evidence-patrol",
|
|
5519
5519
|
"category": "manual"
|
|
5520
5520
|
},
|
|
5521
|
+
{
|
|
5522
|
+
"id": "manual:oci-publication",
|
|
5523
|
+
"category": "manual"
|
|
5524
|
+
},
|
|
5521
5525
|
{
|
|
5522
5526
|
"id": "manual:ownership",
|
|
5523
5527
|
"category": "manual"
|
|
@@ -10929,8 +10933,8 @@
|
|
|
10929
10933
|
"workflowRegistryPath": "dist/site/workflow-registry.json",
|
|
10930
10934
|
"pageRegistryPath": "dist/site/page-registry.json",
|
|
10931
10935
|
"cliRegistryDigest": "fbc23073bbae240489a2f826b2c26daadc58e704050c5f8df366509f5c5a1c3e",
|
|
10932
|
-
"workflowRegistryDigest": "
|
|
10933
|
-
"pageRegistryDigest": "
|
|
10936
|
+
"workflowRegistryDigest": "cc88d63b25d61394b3bbc28cb81b72f3c7786d85bf7c5f68ab6baa426b9a552b",
|
|
10937
|
+
"pageRegistryDigest": "6c4a4be1b2bc15c7842aa958b128f76ec405b9585f403e5cc604c16781a40afc"
|
|
10934
10938
|
},
|
|
10935
10939
|
"comparison": {
|
|
10936
10940
|
"missingCliRegistry": [],
|
|
@@ -1356,10 +1356,7 @@
|
|
|
1356
1356
|
},
|
|
1357
1357
|
{
|
|
1358
1358
|
"path": ".github/workflows/.release-candidate-promote.yml",
|
|
1359
|
-
"signals": [
|
|
1360
|
-
"write-permission",
|
|
1361
|
-
"oidc"
|
|
1362
|
-
],
|
|
1359
|
+
"signals": [],
|
|
1363
1360
|
"classified": true
|
|
1364
1361
|
},
|
|
1365
1362
|
{
|
|
@@ -1374,10 +1371,7 @@
|
|
|
1374
1371
|
},
|
|
1375
1372
|
{
|
|
1376
1373
|
"path": ".github/workflows/.release-promote.yml",
|
|
1377
|
-
"signals": [
|
|
1378
|
-
"write-permission",
|
|
1379
|
-
"oidc"
|
|
1380
|
-
],
|
|
1374
|
+
"signals": [],
|
|
1381
1375
|
"classified": true
|
|
1382
1376
|
},
|
|
1383
1377
|
{
|
|
@@ -1723,10 +1717,7 @@
|
|
|
1723
1717
|
},
|
|
1724
1718
|
{
|
|
1725
1719
|
"path": ".github/workflows/public-release-promote.yml",
|
|
1726
|
-
"signals": [
|
|
1727
|
-
"write-permission",
|
|
1728
|
-
"oidc"
|
|
1729
|
-
],
|
|
1720
|
+
"signals": [],
|
|
1730
1721
|
"classified": true
|
|
1731
1722
|
},
|
|
1732
1723
|
{
|
|
@@ -1768,10 +1759,7 @@
|
|
|
1768
1759
|
},
|
|
1769
1760
|
{
|
|
1770
1761
|
"path": ".github/workflows/release-candidate-promote.yml",
|
|
1771
|
-
"signals": [
|
|
1772
|
-
"write-permission",
|
|
1773
|
-
"oidc"
|
|
1774
|
-
],
|
|
1762
|
+
"signals": [],
|
|
1775
1763
|
"classified": true
|
|
1776
1764
|
},
|
|
1777
1765
|
{
|
|
@@ -2021,5 +2009,5 @@
|
|
|
2021
2009
|
"classified": true
|
|
2022
2010
|
}
|
|
2023
2011
|
],
|
|
2024
|
-
"registryDigest": "
|
|
2012
|
+
"registryDigest": "9c343ae9f9e778b608317d973b02cada327bd31e5149482d7f385b173c20ec14"
|
|
2025
2013
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"contract": "kungfu-buildchain-publication-release-registry",
|
|
4
|
-
"generatedAt": "2026-09-
|
|
5
|
-
"publishedAt": "2026-09-
|
|
4
|
+
"generatedAt": "2026-09-06T15:52:10.000Z",
|
|
5
|
+
"publishedAt": "2026-09-06T15:52:10.000Z",
|
|
6
6
|
"reproducible": true,
|
|
7
7
|
"timestampPolicy": "ci-injected",
|
|
8
8
|
"deterministicInputs": [
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"declared Buildchain surface manifest contract"
|
|
20
20
|
],
|
|
21
21
|
"sourceDateEpoch": "0",
|
|
22
|
-
"sourceRevision": "
|
|
22
|
+
"sourceRevision": "53db887810f830c27680040bc35969238b5d2a88",
|
|
23
23
|
"timestampPolicyDetails": {
|
|
24
24
|
"contract": "kungfu-buildchain-surface-timestamp-policy",
|
|
25
25
|
"timestampFields": [
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
},
|
|
33
33
|
"package": {
|
|
34
34
|
"name": "@kungfu-tech/buildchain",
|
|
35
|
-
"version": "4.0.2-alpha.
|
|
35
|
+
"version": "4.0.2-alpha.46",
|
|
36
36
|
"versionSource": "package.json#version"
|
|
37
37
|
},
|
|
38
38
|
"sourceKind": "package-site-bundle",
|
|
@@ -120,7 +120,8 @@
|
|
|
120
120
|
"./site/product-mechanism.json": "./dist/site/product-mechanism.json",
|
|
121
121
|
"./site/release-provenance.json": "./dist/site/release-provenance.json",
|
|
122
122
|
"./site/agent-index.json": "./dist/site/agent-index.json",
|
|
123
|
-
"./package.json": "./package.json"
|
|
123
|
+
"./package.json": "./package.json",
|
|
124
|
+
"./oci-publication": "./packages/core/oci-publication-bundle.js"
|
|
124
125
|
}
|
|
125
126
|
},
|
|
126
127
|
"repository": "https://github.com/kungfu-systems/buildchain",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"contract": "kungfu-buildchain-site-manifest",
|
|
4
|
-
"generatedAt": "2026-09-
|
|
5
|
-
"publishedAt": "2026-09-
|
|
4
|
+
"generatedAt": "2026-09-06T15:52:10.000Z",
|
|
5
|
+
"publishedAt": "2026-09-06T15:52:10.000Z",
|
|
6
6
|
"reproducible": true,
|
|
7
7
|
"timestampPolicy": "ci-injected",
|
|
8
8
|
"deterministicInputs": [
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"declared Buildchain surface manifest contract"
|
|
20
20
|
],
|
|
21
21
|
"sourceDateEpoch": "0",
|
|
22
|
-
"sourceRevision": "
|
|
22
|
+
"sourceRevision": "53db887810f830c27680040bc35969238b5d2a88",
|
|
23
23
|
"timestampPolicyDetails": {
|
|
24
24
|
"contract": "kungfu-buildchain-surface-timestamp-policy",
|
|
25
25
|
"timestampFields": [
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
},
|
|
38
38
|
"package": {
|
|
39
39
|
"name": "@kungfu-tech/buildchain",
|
|
40
|
-
"version": "4.0.2-alpha.
|
|
40
|
+
"version": "4.0.2-alpha.46",
|
|
41
41
|
"versionSource": "package.json#version"
|
|
42
42
|
},
|
|
43
43
|
"entrypoint": "buildchain-site.json",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"path": "docs/MAP.md",
|
|
54
54
|
"plane": "use",
|
|
55
55
|
"exists": true,
|
|
56
|
-
"digest": "sha256:
|
|
56
|
+
"digest": "sha256:af7bee38e21a9ada99e1731f3576733f2897f9d19bdbf39eb2781650095ae419"
|
|
57
57
|
},
|
|
58
58
|
{
|
|
59
59
|
"id": "getting-started",
|
|
@@ -253,7 +253,7 @@
|
|
|
253
253
|
"path": "docs/node-api-reference.md",
|
|
254
254
|
"plane": "use",
|
|
255
255
|
"exists": true,
|
|
256
|
-
"digest": "sha256:
|
|
256
|
+
"digest": "sha256:69f4e87e7cbf154f4b3241269e806e7998f9a517fb8ada64f120239c49abbd78"
|
|
257
257
|
},
|
|
258
258
|
{
|
|
259
259
|
"id": "build-facts",
|
|
@@ -309,7 +309,7 @@
|
|
|
309
309
|
"path": "docs/publish-transaction.md",
|
|
310
310
|
"plane": "verify",
|
|
311
311
|
"exists": true,
|
|
312
|
-
"digest": "sha256:
|
|
312
|
+
"digest": "sha256:713f4fd2b9e67cefdd394170eea49ddb92e803c2e6adac20d6f3b8b1e431b960"
|
|
313
313
|
},
|
|
314
314
|
{
|
|
315
315
|
"id": "release-tail-contract",
|
|
@@ -2746,7 +2746,7 @@
|
|
|
2746
2746
|
"status": "preview",
|
|
2747
2747
|
"owner": "buildchain-workflows",
|
|
2748
2748
|
"maturity": "preview",
|
|
2749
|
-
"introducedVersion": "4.0.2-alpha.
|
|
2749
|
+
"introducedVersion": "4.0.2-alpha.46",
|
|
2750
2750
|
"compatibilityPromise": "preserved-through-the-v3-major-line",
|
|
2751
2751
|
"deprecationReplacement": "",
|
|
2752
2752
|
"sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
|
|
@@ -3943,7 +3943,7 @@
|
|
|
3943
3943
|
"status": "preview",
|
|
3944
3944
|
"owner": "buildchain-workflows",
|
|
3945
3945
|
"maturity": "preview",
|
|
3946
|
-
"introducedVersion": "4.0.2-alpha.
|
|
3946
|
+
"introducedVersion": "4.0.2-alpha.46",
|
|
3947
3947
|
"compatibilityPromise": "preserved-through-the-v3-major-line",
|
|
3948
3948
|
"deprecationReplacement": "",
|
|
3949
3949
|
"sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
|
|
@@ -5970,7 +5970,7 @@
|
|
|
5970
5970
|
"status": "preview",
|
|
5971
5971
|
"owner": "buildchain-workflows",
|
|
5972
5972
|
"maturity": "preview",
|
|
5973
|
-
"introducedVersion": "4.0.2-alpha.
|
|
5973
|
+
"introducedVersion": "4.0.2-alpha.46",
|
|
5974
5974
|
"compatibilityPromise": "preserved-through-the-v3-major-line",
|
|
5975
5975
|
"deprecationReplacement": "",
|
|
5976
5976
|
"sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
|
|
@@ -6001,7 +6001,7 @@
|
|
|
6001
6001
|
"status": "preview",
|
|
6002
6002
|
"owner": "buildchain-workflows",
|
|
6003
6003
|
"maturity": "preview",
|
|
6004
|
-
"introducedVersion": "4.0.2-alpha.
|
|
6004
|
+
"introducedVersion": "4.0.2-alpha.46",
|
|
6005
6005
|
"compatibilityPromise": "preserved-through-the-v3-major-line",
|
|
6006
6006
|
"deprecationReplacement": "",
|
|
6007
6007
|
"sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
|
|
@@ -6032,7 +6032,7 @@
|
|
|
6032
6032
|
"status": "preview",
|
|
6033
6033
|
"owner": "buildchain-workflows",
|
|
6034
6034
|
"maturity": "preview",
|
|
6035
|
-
"introducedVersion": "4.0.2-alpha.
|
|
6035
|
+
"introducedVersion": "4.0.2-alpha.46",
|
|
6036
6036
|
"compatibilityPromise": "preserved-through-the-v3-major-line",
|
|
6037
6037
|
"deprecationReplacement": "",
|
|
6038
6038
|
"sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
|
package/docs/MAP.md
CHANGED
|
@@ -38,6 +38,7 @@ running artifact), *use* (consume / extend) - and a **status**:
|
|
|
38
38
|
| CLI operator or agent | [Generated CLI Reference](cli-reference.md) | [CLI guide](cli.md) for concepts and worked examples |
|
|
39
39
|
| Node toolkit developer | [Generated Node API Reference](node-api-reference.md) | [Core package guide](../packages/core/README.md) for recipes |
|
|
40
40
|
| Workflow contributor | [Workflow Catalog](workflow-catalog.md) | [Contribution rules](../CONTRIBUTING.md#workflow-organization) and the [exact registry](../architecture/workflow-taxonomy.json) |
|
|
41
|
+
| Container image publisher | [OCI image family publication](oci-publication.md) | [Release Flow](release-flow.md) and [Runtime Train Validation](runtime-train-validation.md) |
|
|
41
42
|
| Build/release operator | [Reusable Build Surface](reusable-build-surface.md) | [Release Flow](release-flow.md) and [Release Passport](release-passport.md) |
|
|
42
43
|
| Product/trust reviewer | [Product Mechanism](product-mechanism.md) | [Release Passport](release-passport.md) and [KFD Support](kfd-support.md) |
|
|
43
44
|
|
|
@@ -233,7 +233,7 @@ Target: `./packages/core/index.js`. Public symbols: 636.
|
|
|
233
233
|
| `createPublicationControlPlaneAudit` | function: function createPublicationControlPlaneAudit({ repository, workflowPath, publisherWorkflowPath, environment, facts = [], observedAt, expiresAt, } = {}) | { repository, workflowPath, publisherWorkflowPath, environment, facts = [], observedAt, expiresAt, } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { createPublicationControlPlaneAudit } from "@kungfu-tech/buildchain";` | `packages/core/publication-authority.js:208` |
|
|
234
234
|
| `createPublicationGateDecision` | function: function createPublicationGateDecision({ sourceSha, profile, required = false, rationale, policy = {}, } = {}) | { sourceSha, profile, required = false, rationale, policy = {}, } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { createPublicationGateDecision } from "@kungfu-tech/buildchain";` | `packages/core/publication-authority.js:280` |
|
|
235
235
|
| `createPublicationQualificationReceipt` | function: function createPublicationQualificationReceipt({ capability, gateAggregate, consumerDecision, now = new Date(), } = {}) | { capability, gateAggregate, consumerDecision, now = new Date(), } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { createPublicationQualificationReceipt } from "@kungfu-tech/buildchain";` | `packages/core/publication-authority.js:1035` |
|
|
236
|
-
| `createPublicationSealedBundle` | function: function createPublicationSealedBundle({ candidate, packageName, packageVersion, npmTarballPath, npmIntegrity, releaseAssetPaths = [], githubReleaseRequired = true, } = {}) | { candidate, packageName, packageVersion, npmTarballPath, npmIntegrity, releaseAssetPaths = [], githubReleaseRequired = true, } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. |
|
|
236
|
+
| `createPublicationSealedBundle` | function: function createPublicationSealedBundle({ candidate, packageName, packageVersion, npmTarballPath, npmIntegrity, releaseAssetPaths = [], githubReleaseRequired = true, } = {}) | { candidate, packageName, packageVersion, npmTarballPath, npmIntegrity, releaseAssetPaths = [], githubReleaseRequired = true, } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | subprocess | `import { createPublicationSealedBundle } from "@kungfu-tech/buildchain";` | `packages/core/publication-sealed-bundle.js:97` |
|
|
237
237
|
| `createPublicationSourceBundle` | function: function createPublicationSourceBundle({ cwd = process.cwd(), sourcePaths = [], output = ".buildchain/publication/source.tar.gz", } = {}) | { cwd = process.cwd(), sourcePaths = [], output = ".buildchain/publication/source.tar.gz", } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | local-filesystem-write, subprocess | `import { createPublicationSourceBundle } from "@kungfu-tech/buildchain";` | `packages/core/publication-artifact.js:249` |
|
|
238
238
|
| `createReadmeBadgeEndpointRegistry` | function: function createReadmeBadgeEndpointRegistry({ kfdSpecs = undefined, kfdStandards = undefined } = {}) | { kfdSpecs = undefined, kfdStandards = undefined } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | subprocess | `import { createReadmeBadgeEndpointRegistry } from "@kungfu-tech/buildchain";` | `packages/core/readme-badges.js:133` |
|
|
239
239
|
| `createReleaseActivationReceiptSet` | function: function createReleaseActivationReceiptSet({ transaction, receipts = [], } = {}) | { transaction, receipts = [], } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { createReleaseActivationReceiptSet } from "@kungfu-tech/buildchain";` | `packages/core/release-activation-transaction.js:311` |
|
|
@@ -456,7 +456,7 @@ Target: `./packages/core/index.js`. Public symbols: 636.
|
|
|
456
456
|
| `PUBLICATION_NPM_PACKAGE_CONTRACT` | constant: const PUBLICATION_NPM_PACKAGE_CONTRACT | none | value | Import does not declare a throw contract. | none-on-import | `import { PUBLICATION_NPM_PACKAGE_CONTRACT } from "@kungfu-tech/buildchain";` | `packages/core/publication-package.js:6` |
|
|
457
457
|
| `PUBLICATION_QUALIFICATION_RECEIPT_CONTRACT` | constant: const PUBLICATION_QUALIFICATION_RECEIPT_CONTRACT | none | value | Import does not declare a throw contract. | none-on-import | `import { PUBLICATION_QUALIFICATION_RECEIPT_CONTRACT } from "@kungfu-tech/buildchain";` | `packages/core/publication-authority.js:22` |
|
|
458
458
|
| `PUBLICATION_REPRODUCIBILITY_RECEIPT_CONTRACT` | constant: const PUBLICATION_REPRODUCIBILITY_RECEIPT_CONTRACT | none | value | Import does not declare a throw contract. | none-on-import | `import { PUBLICATION_REPRODUCIBILITY_RECEIPT_CONTRACT } from "@kungfu-tech/buildchain";` | `packages/core/publication-reproducibility.js:12` |
|
|
459
|
-
| `PUBLICATION_SEALED_BUNDLE_CONTRACT` | constant: const PUBLICATION_SEALED_BUNDLE_CONTRACT | none | value | Import does not declare a throw contract. | none-on-import | `import { PUBLICATION_SEALED_BUNDLE_CONTRACT } from "@kungfu-tech/buildchain";` | `packages/core/publication-sealed-bundle.js:
|
|
459
|
+
| `PUBLICATION_SEALED_BUNDLE_CONTRACT` | constant: const PUBLICATION_SEALED_BUNDLE_CONTRACT | none | value | Import does not declare a throw contract. | none-on-import | `import { PUBLICATION_SEALED_BUNDLE_CONTRACT } from "@kungfu-tech/buildchain";` | `packages/core/publication-sealed-bundle.js:11` |
|
|
460
460
|
| `publicationArtifactCandidateDigest` | function: function publicationArtifactCandidateDigest(value) | value | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { publicationArtifactCandidateDigest } from "@kungfu-tech/buildchain";` | `packages/core/publication-artifact-candidate.js:19` |
|
|
461
461
|
| `publicationAuthorityDigest` | function: function publicationAuthorityDigest(value) | value | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { publicationAuthorityDigest } from "@kungfu-tech/buildchain";` | `packages/core/publication-authority.js:72` |
|
|
462
462
|
| `publicationGateAggregateBindings` | function: function publicationGateAggregateBindings(gateAggregate) | gateAggregate | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { publicationGateAggregateBindings } from "@kungfu-tech/buildchain";` | `packages/core/publication-authority.js:408` |
|
|
@@ -639,7 +639,7 @@ Target: `./packages/core/index.js`. Public symbols: 636.
|
|
|
639
639
|
| `verifyPublicationAdmission` | function: function verifyPublicationAdmission({ admission, registry, runnerProvenance, controlPlaneAudit, publicationEvidence, expected = {}, usedNonces = [], now = new Date(), } = {}) | { admission, registry, runnerProvenance, controlPlaneAudit, publicationEvidence, expected = {}, usedNonces = [], now = new Date(), } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { verifyPublicationAdmission } from "@kungfu-tech/buildchain";` | `packages/core/publication-authority.js:791` |
|
|
640
640
|
| `verifyPublicationQualificationReceipt` | function: function verifyPublicationQualificationReceipt({ receipt, capability, gateAggregate, expected = {}, usedNonces = [], now = new Date(), } = {}) | { receipt, capability, gateAggregate, expected = {}, usedNonces = [], now = new Date(), } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { verifyPublicationQualificationReceipt } from "@kungfu-tech/buildchain";` | `packages/core/publication-authority.js:1096` |
|
|
641
641
|
| `verifyPublicationReproducibility` | function: function verifyPublicationReproducibility({ cwd = process.cwd(), sourceSha = "", output = DEFAULT_OUTPUT, promote = false, keepWorkspaces = false, pullToolchain = true, packageName = "", allowUnpinnedToolchain = false, overlayPaths = [DEFAULT_REGISTRY_INPUT_DIR, DEFAULT_REGISTRY_HYDRATION], } = {}) | { cwd = process.cwd(), sourceSha = "", output = DEFAULT_OUTPUT, promote = false, keepWorkspaces = false, pullToolchain = true, packageName = "", allowUnpinnedToolchain = false, overlayPaths = [DEFAULT_REGISTRY_INPUT_DIR, DEFAULT_REGISTRY_HYDRATION], } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | local-filesystem-write | `import { verifyPublicationReproducibility } from "@kungfu-tech/buildchain";` | `packages/core/publication-reproducibility.js:869` |
|
|
642
|
-
| `verifyPublicationSealedBundle` | function: function verifyPublicationSealedBundle({ bundleRoot, manifest } = {}) | { bundleRoot, manifest } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { verifyPublicationSealedBundle } from "@kungfu-tech/buildchain";` | `packages/core/publication-sealed-bundle.js:
|
|
642
|
+
| `verifyPublicationSealedBundle` | function: function verifyPublicationSealedBundle({ bundleRoot, manifest } = {}) | { bundleRoot, manifest } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { verifyPublicationSealedBundle } from "@kungfu-tech/buildchain";` | `packages/core/publication-sealed-bundle.js:189` |
|
|
643
643
|
| `verifyReleaseCandidateRecovery` | function: function verifyReleaseCandidateRecovery({ candidateRepository, targetRepository, expectedRunId, expectedWorkflowFile, expectedWorkflowName, channel, targetRef, targetSha, targetRefSha = targetSha, targetTree, expectedSourceTree = "", expectedCandidateRoot = "", expectedRuntimeSha, expectedTransactionId = "", existingTransaction = undefined, run, workflow, pullRequest, ancestry, anchorProvenance = undefined, passport, buildSummary, controllerReceipts = [], platformManifests = [], platformManifestEvidence = [], productPayloadManifests = [], artifacts = [], publicationVersion = "", currentToolingSha, recoveryRunId = "", createdAt = new Date().toISOString(), } = {}) | { candidateRepository, targetRepository, expectedRunId, expectedWorkflowFile, expectedWorkflowName, channel, targetRef, targetSha, targetRefSha = targetSha, targetTree, expectedSourceTree = "", expectedCandidateRoot = "", expectedRuntimeSha, expectedTransactionId = "", existingTransaction = undefined, run, workflow, pullRequest, ancestry, anchorProvenance = undefined, passport, buildSummary, controllerReceipts = [], platformManifests = [], platformManifestEvidence = [], productPayloadManifests = [], artifacts = [], publicationVersion = "", currentToolingSha, recoveryRunId = "", createdAt = new Date().toISOString(), } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { verifyReleaseCandidateRecovery } from "@kungfu-tech/buildchain";` | `packages/core/release-candidate-recovery.js:444` |
|
|
644
644
|
| `verifyReleasePassport` | function: async function verifyReleasePassport({ passportLocation, artifactEvidenceLocation = "", publishEvidenceLocation = "", impactLocation = "", agentIndexLocation = "", productMechanismLocation = "", kfdAgentHubEvidenceLocation = "", kfdAdopterManifestLocation = "", kfdAdopterManifestGateLocation = "", kfdSupportEvidenceLocation = "", checkedAt = nowIso(), } = {}) | { passportLocation, artifactEvidenceLocation = "", publishEvidenceLocation = "", impactLocation = "", agentIndexLocation = "", productMechanismLocation = "", kfdAgentHubEvidenceLocation = "", kfdAdopterManifestLocation = "", kfdAdopterManifestGateLocation = "", kfdSupportEvidenceLocation = "", checkedAt = nowIso(), } = {} | Promise<unknown> | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { verifyReleasePassport } from "@kungfu-tech/buildchain";` | `packages/core/release-passport.js:2729` |
|
|
645
645
|
| `verifyReleasePropagationWork` | function: function verifyReleasePropagationWork(input) | input | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { verifyReleasePropagationWork } from "@kungfu-tech/buildchain";` | `packages/core/release-propagation-work.js:486` |
|
|
@@ -922,7 +922,7 @@ Target: `./packages/core/index.js`. Public symbols: 636.
|
|
|
922
922
|
| `createPublicationControlPlaneAudit` | function: function createPublicationControlPlaneAudit({ repository, workflowPath, publisherWorkflowPath, environment, facts = [], observedAt, expiresAt, } = {}) | { repository, workflowPath, publisherWorkflowPath, environment, facts = [], observedAt, expiresAt, } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { createPublicationControlPlaneAudit } from "@kungfu-tech/buildchain/core";` | `packages/core/publication-authority.js:208` |
|
|
923
923
|
| `createPublicationGateDecision` | function: function createPublicationGateDecision({ sourceSha, profile, required = false, rationale, policy = {}, } = {}) | { sourceSha, profile, required = false, rationale, policy = {}, } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { createPublicationGateDecision } from "@kungfu-tech/buildchain/core";` | `packages/core/publication-authority.js:280` |
|
|
924
924
|
| `createPublicationQualificationReceipt` | function: function createPublicationQualificationReceipt({ capability, gateAggregate, consumerDecision, now = new Date(), } = {}) | { capability, gateAggregate, consumerDecision, now = new Date(), } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { createPublicationQualificationReceipt } from "@kungfu-tech/buildchain/core";` | `packages/core/publication-authority.js:1035` |
|
|
925
|
-
| `createPublicationSealedBundle` | function: function createPublicationSealedBundle({ candidate, packageName, packageVersion, npmTarballPath, npmIntegrity, releaseAssetPaths = [], githubReleaseRequired = true, } = {}) | { candidate, packageName, packageVersion, npmTarballPath, npmIntegrity, releaseAssetPaths = [], githubReleaseRequired = true, } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. |
|
|
925
|
+
| `createPublicationSealedBundle` | function: function createPublicationSealedBundle({ candidate, packageName, packageVersion, npmTarballPath, npmIntegrity, releaseAssetPaths = [], githubReleaseRequired = true, } = {}) | { candidate, packageName, packageVersion, npmTarballPath, npmIntegrity, releaseAssetPaths = [], githubReleaseRequired = true, } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | subprocess | `import { createPublicationSealedBundle } from "@kungfu-tech/buildchain/core";` | `packages/core/publication-sealed-bundle.js:97` |
|
|
926
926
|
| `createPublicationSourceBundle` | function: function createPublicationSourceBundle({ cwd = process.cwd(), sourcePaths = [], output = ".buildchain/publication/source.tar.gz", } = {}) | { cwd = process.cwd(), sourcePaths = [], output = ".buildchain/publication/source.tar.gz", } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | local-filesystem-write, subprocess | `import { createPublicationSourceBundle } from "@kungfu-tech/buildchain/core";` | `packages/core/publication-artifact.js:249` |
|
|
927
927
|
| `createReadmeBadgeEndpointRegistry` | function: function createReadmeBadgeEndpointRegistry({ kfdSpecs = undefined, kfdStandards = undefined } = {}) | { kfdSpecs = undefined, kfdStandards = undefined } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | subprocess | `import { createReadmeBadgeEndpointRegistry } from "@kungfu-tech/buildchain/core";` | `packages/core/readme-badges.js:133` |
|
|
928
928
|
| `createReleaseActivationReceiptSet` | function: function createReleaseActivationReceiptSet({ transaction, receipts = [], } = {}) | { transaction, receipts = [], } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { createReleaseActivationReceiptSet } from "@kungfu-tech/buildchain/core";` | `packages/core/release-activation-transaction.js:311` |
|
|
@@ -1145,7 +1145,7 @@ Target: `./packages/core/index.js`. Public symbols: 636.
|
|
|
1145
1145
|
| `PUBLICATION_NPM_PACKAGE_CONTRACT` | constant: const PUBLICATION_NPM_PACKAGE_CONTRACT | none | value | Import does not declare a throw contract. | none-on-import | `import { PUBLICATION_NPM_PACKAGE_CONTRACT } from "@kungfu-tech/buildchain/core";` | `packages/core/publication-package.js:6` |
|
|
1146
1146
|
| `PUBLICATION_QUALIFICATION_RECEIPT_CONTRACT` | constant: const PUBLICATION_QUALIFICATION_RECEIPT_CONTRACT | none | value | Import does not declare a throw contract. | none-on-import | `import { PUBLICATION_QUALIFICATION_RECEIPT_CONTRACT } from "@kungfu-tech/buildchain/core";` | `packages/core/publication-authority.js:22` |
|
|
1147
1147
|
| `PUBLICATION_REPRODUCIBILITY_RECEIPT_CONTRACT` | constant: const PUBLICATION_REPRODUCIBILITY_RECEIPT_CONTRACT | none | value | Import does not declare a throw contract. | none-on-import | `import { PUBLICATION_REPRODUCIBILITY_RECEIPT_CONTRACT } from "@kungfu-tech/buildchain/core";` | `packages/core/publication-reproducibility.js:12` |
|
|
1148
|
-
| `PUBLICATION_SEALED_BUNDLE_CONTRACT` | constant: const PUBLICATION_SEALED_BUNDLE_CONTRACT | none | value | Import does not declare a throw contract. | none-on-import | `import { PUBLICATION_SEALED_BUNDLE_CONTRACT } from "@kungfu-tech/buildchain/core";` | `packages/core/publication-sealed-bundle.js:
|
|
1148
|
+
| `PUBLICATION_SEALED_BUNDLE_CONTRACT` | constant: const PUBLICATION_SEALED_BUNDLE_CONTRACT | none | value | Import does not declare a throw contract. | none-on-import | `import { PUBLICATION_SEALED_BUNDLE_CONTRACT } from "@kungfu-tech/buildchain/core";` | `packages/core/publication-sealed-bundle.js:11` |
|
|
1149
1149
|
| `publicationArtifactCandidateDigest` | function: function publicationArtifactCandidateDigest(value) | value | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { publicationArtifactCandidateDigest } from "@kungfu-tech/buildchain/core";` | `packages/core/publication-artifact-candidate.js:19` |
|
|
1150
1150
|
| `publicationAuthorityDigest` | function: function publicationAuthorityDigest(value) | value | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { publicationAuthorityDigest } from "@kungfu-tech/buildchain/core";` | `packages/core/publication-authority.js:72` |
|
|
1151
1151
|
| `publicationGateAggregateBindings` | function: function publicationGateAggregateBindings(gateAggregate) | gateAggregate | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { publicationGateAggregateBindings } from "@kungfu-tech/buildchain/core";` | `packages/core/publication-authority.js:408` |
|
|
@@ -1328,7 +1328,7 @@ Target: `./packages/core/index.js`. Public symbols: 636.
|
|
|
1328
1328
|
| `verifyPublicationAdmission` | function: function verifyPublicationAdmission({ admission, registry, runnerProvenance, controlPlaneAudit, publicationEvidence, expected = {}, usedNonces = [], now = new Date(), } = {}) | { admission, registry, runnerProvenance, controlPlaneAudit, publicationEvidence, expected = {}, usedNonces = [], now = new Date(), } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { verifyPublicationAdmission } from "@kungfu-tech/buildchain/core";` | `packages/core/publication-authority.js:791` |
|
|
1329
1329
|
| `verifyPublicationQualificationReceipt` | function: function verifyPublicationQualificationReceipt({ receipt, capability, gateAggregate, expected = {}, usedNonces = [], now = new Date(), } = {}) | { receipt, capability, gateAggregate, expected = {}, usedNonces = [], now = new Date(), } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { verifyPublicationQualificationReceipt } from "@kungfu-tech/buildchain/core";` | `packages/core/publication-authority.js:1096` |
|
|
1330
1330
|
| `verifyPublicationReproducibility` | function: function verifyPublicationReproducibility({ cwd = process.cwd(), sourceSha = "", output = DEFAULT_OUTPUT, promote = false, keepWorkspaces = false, pullToolchain = true, packageName = "", allowUnpinnedToolchain = false, overlayPaths = [DEFAULT_REGISTRY_INPUT_DIR, DEFAULT_REGISTRY_HYDRATION], } = {}) | { cwd = process.cwd(), sourceSha = "", output = DEFAULT_OUTPUT, promote = false, keepWorkspaces = false, pullToolchain = true, packageName = "", allowUnpinnedToolchain = false, overlayPaths = [DEFAULT_REGISTRY_INPUT_DIR, DEFAULT_REGISTRY_HYDRATION], } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | local-filesystem-write | `import { verifyPublicationReproducibility } from "@kungfu-tech/buildchain/core";` | `packages/core/publication-reproducibility.js:869` |
|
|
1331
|
-
| `verifyPublicationSealedBundle` | function: function verifyPublicationSealedBundle({ bundleRoot, manifest } = {}) | { bundleRoot, manifest } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { verifyPublicationSealedBundle } from "@kungfu-tech/buildchain/core";` | `packages/core/publication-sealed-bundle.js:
|
|
1331
|
+
| `verifyPublicationSealedBundle` | function: function verifyPublicationSealedBundle({ bundleRoot, manifest } = {}) | { bundleRoot, manifest } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { verifyPublicationSealedBundle } from "@kungfu-tech/buildchain/core";` | `packages/core/publication-sealed-bundle.js:189` |
|
|
1332
1332
|
| `verifyReleaseCandidateRecovery` | function: function verifyReleaseCandidateRecovery({ candidateRepository, targetRepository, expectedRunId, expectedWorkflowFile, expectedWorkflowName, channel, targetRef, targetSha, targetRefSha = targetSha, targetTree, expectedSourceTree = "", expectedCandidateRoot = "", expectedRuntimeSha, expectedTransactionId = "", existingTransaction = undefined, run, workflow, pullRequest, ancestry, anchorProvenance = undefined, passport, buildSummary, controllerReceipts = [], platformManifests = [], platformManifestEvidence = [], productPayloadManifests = [], artifacts = [], publicationVersion = "", currentToolingSha, recoveryRunId = "", createdAt = new Date().toISOString(), } = {}) | { candidateRepository, targetRepository, expectedRunId, expectedWorkflowFile, expectedWorkflowName, channel, targetRef, targetSha, targetRefSha = targetSha, targetTree, expectedSourceTree = "", expectedCandidateRoot = "", expectedRuntimeSha, expectedTransactionId = "", existingTransaction = undefined, run, workflow, pullRequest, ancestry, anchorProvenance = undefined, passport, buildSummary, controllerReceipts = [], platformManifests = [], platformManifestEvidence = [], productPayloadManifests = [], artifacts = [], publicationVersion = "", currentToolingSha, recoveryRunId = "", createdAt = new Date().toISOString(), } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { verifyReleaseCandidateRecovery } from "@kungfu-tech/buildchain/core";` | `packages/core/release-candidate-recovery.js:444` |
|
|
1333
1333
|
| `verifyReleasePassport` | function: async function verifyReleasePassport({ passportLocation, artifactEvidenceLocation = "", publishEvidenceLocation = "", impactLocation = "", agentIndexLocation = "", productMechanismLocation = "", kfdAgentHubEvidenceLocation = "", kfdAdopterManifestLocation = "", kfdAdopterManifestGateLocation = "", kfdSupportEvidenceLocation = "", checkedAt = nowIso(), } = {}) | { passportLocation, artifactEvidenceLocation = "", publishEvidenceLocation = "", impactLocation = "", agentIndexLocation = "", productMechanismLocation = "", kfdAgentHubEvidenceLocation = "", kfdAdopterManifestLocation = "", kfdAdopterManifestGateLocation = "", kfdSupportEvidenceLocation = "", checkedAt = nowIso(), } = {} | Promise<unknown> | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { verifyReleasePassport } from "@kungfu-tech/buildchain/core";` | `packages/core/release-passport.js:2729` |
|
|
1334
1334
|
| `verifyReleasePropagationWork` | function: function verifyReleasePropagationWork(input) | input | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { verifyReleasePropagationWork } from "@kungfu-tech/buildchain/core";` | `packages/core/release-propagation-work.js:486` |
|
|
@@ -2315,9 +2315,9 @@ Target: `./packages/core/publication-sealed-bundle.js`. Public symbols: 3.
|
|
|
2315
2315
|
|
|
2316
2316
|
| Symbol | Kind and signature | Parameters | Return | Errors | Side effects | Example | Source |
|
|
2317
2317
|
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
2318
|
-
| `createPublicationSealedBundle` | function: function createPublicationSealedBundle({ candidate, packageName, packageVersion, npmTarballPath, npmIntegrity, releaseAssetPaths = [], githubReleaseRequired = true, } = {}) | { candidate, packageName, packageVersion, npmTarballPath, npmIntegrity, releaseAssetPaths = [], githubReleaseRequired = true, } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. |
|
|
2319
|
-
| `PUBLICATION_SEALED_BUNDLE_CONTRACT` | constant: const PUBLICATION_SEALED_BUNDLE_CONTRACT | none | value | Import does not declare a throw contract. | none-on-import | `import { PUBLICATION_SEALED_BUNDLE_CONTRACT } from "@kungfu-tech/buildchain/publication-sealed-bundle";` | `packages/core/publication-sealed-bundle.js:
|
|
2320
|
-
| `verifyPublicationSealedBundle` | function: function verifyPublicationSealedBundle({ bundleRoot, manifest } = {}) | { bundleRoot, manifest } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { verifyPublicationSealedBundle } from "@kungfu-tech/buildchain/publication-sealed-bundle";` | `packages/core/publication-sealed-bundle.js:
|
|
2318
|
+
| `createPublicationSealedBundle` | function: function createPublicationSealedBundle({ candidate, packageName, packageVersion, npmTarballPath, npmIntegrity, releaseAssetPaths = [], githubReleaseRequired = true, } = {}) | { candidate, packageName, packageVersion, npmTarballPath, npmIntegrity, releaseAssetPaths = [], githubReleaseRequired = true, } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | subprocess | `import { createPublicationSealedBundle } from "@kungfu-tech/buildchain/publication-sealed-bundle";` | `packages/core/publication-sealed-bundle.js:97` |
|
|
2319
|
+
| `PUBLICATION_SEALED_BUNDLE_CONTRACT` | constant: const PUBLICATION_SEALED_BUNDLE_CONTRACT | none | value | Import does not declare a throw contract. | none-on-import | `import { PUBLICATION_SEALED_BUNDLE_CONTRACT } from "@kungfu-tech/buildchain/publication-sealed-bundle";` | `packages/core/publication-sealed-bundle.js:11` |
|
|
2320
|
+
| `verifyPublicationSealedBundle` | function: function verifyPublicationSealedBundle({ bundleRoot, manifest } = {}) | { bundleRoot, manifest } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { verifyPublicationSealedBundle } from "@kungfu-tech/buildchain/publication-sealed-bundle";` | `packages/core/publication-sealed-bundle.js:189` |
|
|
2321
2321
|
|
|
2322
2322
|
## `@kungfu-tech/buildchain/paper`
|
|
2323
2323
|
|
|
@@ -2569,10 +2569,10 @@ Target: `./packages/core/next-development-transition.js`. Public symbols: 13.
|
|
|
2569
2569
|
|
|
2570
2570
|
| Symbol | Kind and signature | Parameters | Return | Errors | Side effects | Example | Source |
|
|
2571
2571
|
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
2572
|
-
| `advanceNextDevelopmentTransition` | function: function advanceNextDevelopmentTransition(record, input = {}) | record, input = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { advanceNextDevelopmentTransition } from "@kungfu-tech/buildchain/next-development-transition";` | `packages/core/next-development-transition.js:
|
|
2573
|
-
| `bindNextDevelopmentAnchor` | function: function bindNextDevelopmentAnchor(record, input = {}) | record, input = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { bindNextDevelopmentAnchor } from "@kungfu-tech/buildchain/next-development-transition";` | `packages/core/next-development-transition.js:
|
|
2574
|
-
| `createNextDevelopmentTransition` | function: function createNextDevelopmentTransition(input = {}) | input = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { createNextDevelopmentTransition } from "@kungfu-tech/buildchain/next-development-transition";` | `packages/core/next-development-transition.js:
|
|
2575
|
-
| `materializeNextDevelopmentTransition` | function: function materializeNextDevelopmentTransition({ cwd = process.cwd(), request, write = false, } = {}) | { cwd = process.cwd(), request, write = false, } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | local-filesystem-write | `import { materializeNextDevelopmentTransition } from "@kungfu-tech/buildchain/next-development-transition";` | `packages/core/next-development-transition.js:
|
|
2572
|
+
| `advanceNextDevelopmentTransition` | function: function advanceNextDevelopmentTransition(record, input = {}) | record, input = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { advanceNextDevelopmentTransition } from "@kungfu-tech/buildchain/next-development-transition";` | `packages/core/next-development-transition.js:343` |
|
|
2573
|
+
| `bindNextDevelopmentAnchor` | function: function bindNextDevelopmentAnchor(record, input = {}) | record, input = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { bindNextDevelopmentAnchor } from "@kungfu-tech/buildchain/next-development-transition";` | `packages/core/next-development-transition.js:304` |
|
|
2574
|
+
| `createNextDevelopmentTransition` | function: function createNextDevelopmentTransition(input = {}) | input = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { createNextDevelopmentTransition } from "@kungfu-tech/buildchain/next-development-transition";` | `packages/core/next-development-transition.js:252` |
|
|
2575
|
+
| `materializeNextDevelopmentTransition` | function: function materializeNextDevelopmentTransition({ cwd = process.cwd(), request, write = false, } = {}) | { cwd = process.cwd(), request, write = false, } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | local-filesystem-write | `import { materializeNextDevelopmentTransition } from "@kungfu-tech/buildchain/next-development-transition";` | `packages/core/next-development-transition.js:471` |
|
|
2576
2576
|
| `NEXT_DEVELOPMENT_ADR` | constant: const NEXT_DEVELOPMENT_ADR | none | value | Import does not declare a throw contract. | none-on-import | `import { NEXT_DEVELOPMENT_ADR } from "@kungfu-tech/buildchain/next-development-transition";` | `packages/core/next-development-transition.js:20` |
|
|
2577
2577
|
| `NEXT_DEVELOPMENT_INVARIANT` | constant: const NEXT_DEVELOPMENT_INVARIANT | none | value | Import does not declare a throw contract. | none-on-import | `import { NEXT_DEVELOPMENT_INVARIANT } from "@kungfu-tech/buildchain/next-development-transition";` | `packages/core/next-development-transition.js:22` |
|
|
2578
2578
|
| `NEXT_DEVELOPMENT_REQUEST_CONTRACT` | constant: const NEXT_DEVELOPMENT_REQUEST_CONTRACT | none | value | Import does not declare a throw contract. | none-on-import | `import { NEXT_DEVELOPMENT_REQUEST_CONTRACT } from "@kungfu-tech/buildchain/next-development-transition";` | `packages/core/next-development-transition.js:18` |
|
|
@@ -2580,8 +2580,8 @@ Target: `./packages/core/next-development-transition.js`. Public symbols: 13.
|
|
|
2580
2580
|
| `NEXT_DEVELOPMENT_TRANSITION_CONTRACT` | constant: const NEXT_DEVELOPMENT_TRANSITION_CONTRACT | none | value | Import does not declare a throw contract. | none-on-import | `import { NEXT_DEVELOPMENT_TRANSITION_CONTRACT } from "@kungfu-tech/buildchain/next-development-transition";` | `packages/core/next-development-transition.js:16` |
|
|
2581
2581
|
| `NEXT_DEVELOPMENT_VERSION_MODELS` | constant: const NEXT_DEVELOPMENT_VERSION_MODELS | none | value | Import does not declare a throw contract. | none-on-import | `import { NEXT_DEVELOPMENT_VERSION_MODELS } from "@kungfu-tech/buildchain/next-development-transition";` | `packages/core/next-development-transition.js:32` |
|
|
2582
2582
|
| `nextDevelopmentRoot` | function: function nextDevelopmentRoot(value) | value | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { nextDevelopmentRoot } from "@kungfu-tech/buildchain/next-development-transition";` | `packages/core/next-development-transition.js:63` |
|
|
2583
|
-
| `recordNextDevelopmentMaterialization` | function: function recordNextDevelopmentMaterialization(record, { materialization, evidenceRoot, recordedAt } = {}) | record, { materialization, evidenceRoot, recordedAt } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | may-write-or-invoke-external-actions | `import { recordNextDevelopmentMaterialization } from "@kungfu-tech/buildchain/next-development-transition";` | `packages/core/next-development-transition.js:
|
|
2584
|
-
| `validateNextDevelopmentTransition` | function: function validateNextDevelopmentTransition(record) | record | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { validateNextDevelopmentTransition } from "@kungfu-tech/buildchain/next-development-transition";` | `packages/core/next-development-transition.js:
|
|
2583
|
+
| `recordNextDevelopmentMaterialization` | function: function recordNextDevelopmentMaterialization(record, { materialization, evidenceRoot, recordedAt } = {}) | record, { materialization, evidenceRoot, recordedAt } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | may-write-or-invoke-external-actions | `import { recordNextDevelopmentMaterialization } from "@kungfu-tech/buildchain/next-development-transition";` | `packages/core/next-development-transition.js:415` |
|
|
2584
|
+
| `validateNextDevelopmentTransition` | function: function validateNextDevelopmentTransition(record) | record | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { validateNextDevelopmentTransition } from "@kungfu-tech/buildchain/next-development-transition";` | `packages/core/next-development-transition.js:728` |
|
|
2585
2585
|
|
|
2586
2586
|
## `@kungfu-tech/buildchain/next-development-controller`
|
|
2587
2587
|
|
|
@@ -2832,3 +2832,14 @@ Target: `./packages/core/buildchain-kfd-claims.js`. Public symbols: 10.
|
|
|
2832
2832
|
| `createBuildchainKfdClaimRegistry` | function: function createBuildchainKfdClaimRegistry({ root = process.cwd(), sourceSha = "" } = {}) | { root = process.cwd(), sourceSha = "" } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { createBuildchainKfdClaimRegistry } from "@kungfu-tech/buildchain/buildchain-kfd-claims";` | `packages/core/buildchain-kfd-claims.js:510` |
|
|
2833
2833
|
| `createBuildchainKfdSurfaceRegistry` | function: function createBuildchainKfdSurfaceRegistry({ root = process.cwd() } = {}) | { root = process.cwd() } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { createBuildchainKfdSurfaceRegistry } from "@kungfu-tech/buildchain/buildchain-kfd-claims";` | `packages/core/buildchain-kfd-claims.js:411` |
|
|
2834
2834
|
| `createBuildchainPublicClaimDefinitions` | function: function createBuildchainPublicClaimDefinitions() | none | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { createBuildchainPublicClaimDefinitions } from "@kungfu-tech/buildchain/buildchain-kfd-claims";` | `packages/core/buildchain-kfd-claims.js:226` |
|
|
2835
|
+
|
|
2836
|
+
## `@kungfu-tech/buildchain/oci-publication`
|
|
2837
|
+
|
|
2838
|
+
Target: `./packages/core/oci-publication-bundle.js`. Public symbols: 4.
|
|
2839
|
+
|
|
2840
|
+
| Symbol | Kind and signature | Parameters | Return | Errors | Side effects | Example | Source |
|
|
2841
|
+
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
2842
|
+
| `OCI_FAMILY_SCHEMA` | constant: const OCI_FAMILY_SCHEMA | none | value | Import does not declare a throw contract. | none-on-import | `import { OCI_FAMILY_SCHEMA } from "@kungfu-tech/buildchain/oci-publication";` | `packages/core/oci-publication-bundle.js:6` |
|
|
2843
|
+
| `ociBundleFile` | function: function ociBundleFile(root, relative) | root, relative | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { ociBundleFile } from "@kungfu-tech/buildchain/oci-publication";` | `packages/core/oci-publication-bundle.js:29` |
|
|
2844
|
+
| `sealOciPublicationBundle` | function: function sealOciPublicationBundle({ bundleRoot, body }) | { bundleRoot, body } | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { sealOciPublicationBundle } from "@kungfu-tech/buildchain/oci-publication";` | `packages/core/oci-publication-bundle.js:10` |
|
|
2845
|
+
| `verifyOciPublicationBundle` | function: function verifyOciPublicationBundle({ bundleRoot, manifest, repository, sourceSha, version, }) | { bundleRoot, manifest, repository, sourceSha, version, } | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { verifyOciPublicationBundle } from "@kungfu-tech/buildchain/oci-publication";` | `packages/core/oci-publication-bundle.js:114` |
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: draft
|
|
3
|
+
period: ongoing
|
|
4
|
+
theme: oci-publication
|
|
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-06
|
|
12
|
+
ai_provenance:
|
|
13
|
+
model_family: GPT-6
|
|
14
|
+
product: Codex
|
|
15
|
+
generated_at: 2026-09-06
|
|
16
|
+
invisible_context_boundary: No credentials or production registry state inspected.
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# OCI image family publication
|
|
20
|
+
|
|
21
|
+
Buildchain v4 can publish a sealed family of container images to GHCR through
|
|
22
|
+
`publish-artifact-kind: oci` on the public release candidate promotion workflow.
|
|
23
|
+
The candidate build produces the image bytes and smoke evidence. The built-in
|
|
24
|
+
provider verifies and uploads those bytes, reads back every public image digest,
|
|
25
|
+
then allows release references and GitHub Release evidence to converge.
|
|
26
|
+
|
|
27
|
+
## Candidate contract
|
|
28
|
+
|
|
29
|
+
Publish exactly one `oci-family.json` alongside OCI layouts and smoke JSON files
|
|
30
|
+
in the Build artifact. Import `sealOciPublicationBundle` from
|
|
31
|
+
`@kungfu-tech/buildchain/oci-publication` to validate and seal the family. Its
|
|
32
|
+
`body` contains:
|
|
33
|
+
|
|
34
|
+
- `schema: kungfu-buildchain-oci-family/v1`, consumer `repository`, exact Git
|
|
35
|
+
`sourceSha`, and candidate package `version`.
|
|
36
|
+
- `expectedImages`: the complete set of image names.
|
|
37
|
+
- `images`: one entry for each expected image, with `name`, `repository`,
|
|
38
|
+
`digest`, `layout`, `platform`, `action`, `content`, and `smoke`.
|
|
39
|
+
|
|
40
|
+
Destinations must be `ghcr.io/<consumer-owner>/<consumer-repo>/<image-name>`.
|
|
41
|
+
`layout` is a relative OCI layout directory. Each image is a single Linux
|
|
42
|
+
amd64 or arm64 manifest; OCI and Docker schema 2 manifests are supported.
|
|
43
|
+
Layouts may share blobs and an index; each shared index entry identifies its
|
|
44
|
+
image with the `org.opencontainers.image.ref.name` annotation.
|
|
45
|
+
|
|
46
|
+
`content` records the image's original `sourceSha` and `version`, matching its
|
|
47
|
+
OCI revision/version labels. For `action: built`, both equal the candidate.
|
|
48
|
+
For `action: reused`, they retain the original content provenance while the
|
|
49
|
+
family binds the current candidate. `smoke` records a relative `path` and SHA256
|
|
50
|
+
`sha256`; its JSON must identify the image and record `passed: true`. The
|
|
51
|
+
consumer owns the actual smoke command and must fail the build if it fails.
|
|
52
|
+
|
|
53
|
+
Sealing verifies all config/layer sizes and digests, platform and provenance
|
|
54
|
+
labels, smoke bytes, and family completeness. Absolute paths, traversal, and
|
|
55
|
+
symlinks are rejected. The resolver derives the exact required image artifacts
|
|
56
|
+
from this sealed family, including when recovering a previous candidate run.
|
|
57
|
+
|
|
58
|
+
## Authority and publication
|
|
59
|
+
|
|
60
|
+
The thin caller grants `packages: write` in addition to its existing promotion
|
|
61
|
+
permissions. Reusable promotion wrappers inherit that caller envelope; npm
|
|
62
|
+
consumers do not need to request package registry authority. The provider uses
|
|
63
|
+
the action token only for GHCR, scoped to each declared consumer image.
|
|
64
|
+
No consumer publish command is executed.
|
|
65
|
+
|
|
66
|
+
The rooted product plan declares version-state materialization, OCI family
|
|
67
|
+
publication, then release reference convergence. Each image uses the exact
|
|
68
|
+
`v<version>` tag. A different existing digest aborts publication; a matching
|
|
69
|
+
existing image is reused. After a partial failure, recovery validates the same
|
|
70
|
+
candidate bytes and publishes only missing images. GHCR does not provide tag
|
|
71
|
+
compare-and-swap: callers must serialize publishers for a version, and external
|
|
72
|
+
writers must not race the publication workflow.
|
|
73
|
+
|
|
74
|
+
Success requires anonymous readback of every declared image at its expected
|
|
75
|
+
digest. Existing GHCR packages must permit the repository token to write and
|
|
76
|
+
anonymous clients to pull. The provider does not change package visibility or
|
|
77
|
+
access policy. It attaches `oci-publication-readback.json` to the GitHub Release;
|
|
78
|
+
the caller should also include the family and smoke JSON files in
|
|
79
|
+
`github-release-payload-patterns`.
|
|
80
|
+
|
|
81
|
+
See [Runtime Train Validation](runtime-train-validation.md) for testing an
|
|
82
|
+
unreleased runtime without persisting a train or exact SHA in the workflow.
|
|
@@ -8,11 +8,11 @@ confidence: high
|
|
|
8
8
|
sensitivity: public
|
|
9
9
|
evidence_grade: A
|
|
10
10
|
review_state: unreviewed
|
|
11
|
-
last_reviewed: 2026-
|
|
11
|
+
last_reviewed: 2026-09-06
|
|
12
12
|
ai_provenance:
|
|
13
|
-
model_family: GPT-
|
|
13
|
+
model_family: GPT-6
|
|
14
14
|
product: Codex
|
|
15
|
-
generated_at: 2026-
|
|
15
|
+
generated_at: 2026-09-06
|
|
16
16
|
invisible_context: not asserted
|
|
17
17
|
---
|
|
18
18
|
|
|
@@ -113,6 +113,39 @@ a missing or different id fails before provider mutation. An absent transaction
|
|
|
113
113
|
is created only when no expected existing identity was requested. See
|
|
114
114
|
[Release Candidate: Resume from an existing candidate run](release-candidate.md#resume-from-an-existing-candidate-run).
|
|
115
115
|
|
|
116
|
+
## V4 sealed npm package sets
|
|
117
|
+
|
|
118
|
+
The v4 alpha provider accepts a sealed set of 2–64 npm tarballs with one main
|
|
119
|
+
package and same-version platform packages. The candidate resolver records each
|
|
120
|
+
package's name, version, role, relative path, size, SHA-256, and npm integrity in
|
|
121
|
+
the candidate root. QUALIFY passes the set into the Rust/WASM publication
|
|
122
|
+
planner, which binds every package to its own operation and orders platform
|
|
123
|
+
packages by name before the main package. A single package retains the existing
|
|
124
|
+
operation identity.
|
|
125
|
+
|
|
126
|
+
Use `publish-package-main` to name the main package. The optional
|
|
127
|
+
`publish-package-set-order: platforms-first-main-last` input states the same
|
|
128
|
+
ordering. Omit legacy `publish-mode` and `publish-command` inputs: the v4 provider
|
|
129
|
+
publishes the sealed tarballs through npm trusted publishing. It does not run a
|
|
130
|
+
consumer publish command.
|
|
131
|
+
|
|
132
|
+
Before any provider effect, APPLY checks the complete package inventory,
|
|
133
|
+
tarball package identities, bytes, and integrity against the rooted intent.
|
|
134
|
+
Each package receives independent registry readback and a Release Tail receipt.
|
|
135
|
+
After an interrupted attempt, existing matching versions are observed without
|
|
136
|
+
republishing; conflicting integrity stops the transaction. Release refs follow
|
|
137
|
+
only after every package is confirmed.
|
|
138
|
+
|
|
139
|
+
Anchored alpha versions such as `22.22.3-kf.5-alpha.4` remain unchanged. For
|
|
140
|
+
`anchored/manual` repositories, successful publication leaves next development
|
|
141
|
+
in `waiting-anchor`; it does not invent the next upstream anchor. Multi-package
|
|
142
|
+
stable rematerialization is not supported by this provider and fails before
|
|
143
|
+
publication. The existing singleton stable flow remains available.
|
|
144
|
+
|
|
145
|
+
The contract is exercised by `v4-product-publication-topology.test.mjs`,
|
|
146
|
+
`v4-product-provider-adapters.test.mjs`, and
|
|
147
|
+
`v4-alpha-next-development-provider.test.mjs` under `tests/`.
|
|
148
|
+
|
|
116
149
|
## Lifecycle
|
|
117
150
|
|
|
118
151
|
Repositories declare publish work in `.buildchain/buildchain.toml`:
|
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.46",
|
|
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",
|
|
Binary file
|
|
@@ -159,15 +159,14 @@ function normalizeModel(value = {}) {
|
|
|
159
159
|
return model;
|
|
160
160
|
}
|
|
161
161
|
|
|
162
|
-
function normalizeCompletedAlpha(value = {}) {
|
|
162
|
+
function normalizeCompletedAlpha(value = {}, model) {
|
|
163
163
|
const version = String(value.version || "").trim();
|
|
164
|
-
|
|
164
|
+
const expression = model?.strategy === "anchored" ? /-alpha\.(0|[1-9]\d*)$/u : ALPHA;
|
|
165
|
+
if (!SEMVER.test(version) || !expression.test(version))
|
|
165
166
|
throw new Error("completedAlpha.version must be an alpha semantic version");
|
|
166
167
|
const exactTag = String(value.exactTag || "").trim();
|
|
167
168
|
if (exactTag !== `v${version}`)
|
|
168
|
-
throw new Error(
|
|
169
|
-
"completedAlpha.exactTag must match completedAlpha.version",
|
|
170
|
-
);
|
|
169
|
+
throw new Error("completedAlpha.exactTag must match completedAlpha.version");
|
|
171
170
|
const normalized = {
|
|
172
171
|
outcome: String(value.outcome || "").trim(),
|
|
173
172
|
version,
|
|
@@ -251,8 +250,8 @@ function initialStateRoot(status, idempotencyKey) {
|
|
|
251
250
|
}
|
|
252
251
|
|
|
253
252
|
export function createNextDevelopmentTransition(input = {}) {
|
|
254
|
-
const completedAlpha = normalizeCompletedAlpha(input.completedAlpha);
|
|
255
253
|
const model = normalizeModel(input.model);
|
|
254
|
+
const completedAlpha = normalizeCompletedAlpha(input.completedAlpha, model);
|
|
256
255
|
const adapter = normalizeAdapter(input);
|
|
257
256
|
const declaredPaths = [
|
|
258
257
|
...adapter.sourcePaths,
|