@kungfu-tech/buildchain 3.0.6-alpha.6 → 3.0.6
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/promote-buildchain-ref/README.md +5 -1
- package/contracts/release-candidate-recovery-v1.schema.json +1 -0
- package/dist/site/buildchain-contract.json +23 -18
- package/dist/site/buildchain-site.json +15 -15
- package/dist/site/controller-registry.json +6 -2
- package/dist/site/kfd-claims.json +10 -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 +77 -13
- package/dist/site/page-registry.json +8 -8
- package/dist/site/public-surface-audit.json +10 -5
- package/dist/site/publication-registry.json +4 -4
- package/dist/site/site-manifest.json +7 -7
- package/dist/site/workflow-registry.json +8 -3
- package/docs/node-api-reference.md +22 -20
- package/docs/release-candidate.md +26 -1
- package/docs/release-governance.md +6 -0
- package/package.json +1 -1
- package/packages/core/publication-sealed-bundle.js +10 -1
- package/packages/core/release-candidate-recovery.js +89 -1
- package/scripts/audit-publication-control-plane.mjs +12 -4
- package/scripts/check-inventory.mjs +10 -1
- package/scripts/generate-channel-promotion-workflow.mjs +30 -14
- package/scripts/release-candidate-resolver.mjs +32 -6
- package/scripts/resume-from-candidate-run.mjs +127 -56
|
@@ -1899,6 +1899,10 @@
|
|
|
1899
1899
|
"classification": "digest-only",
|
|
1900
1900
|
"source": "workflow-call-input"
|
|
1901
1901
|
},
|
|
1902
|
+
"publication-gate-controller-sha": {
|
|
1903
|
+
"classification": "included",
|
|
1904
|
+
"source": "workflow-call-input"
|
|
1905
|
+
},
|
|
1902
1906
|
"publication-package-name": {
|
|
1903
1907
|
"classification": "included",
|
|
1904
1908
|
"source": "workflow-call-input"
|
|
@@ -2189,7 +2193,7 @@
|
|
|
2189
2193
|
"controller-receipt"
|
|
2190
2194
|
]
|
|
2191
2195
|
},
|
|
2192
|
-
"digest": "sha256:
|
|
2196
|
+
"digest": "sha256:bb49305be1f2176c47920532d414954e1d058156abf3411ae66cc97ba526d186"
|
|
2193
2197
|
},
|
|
2194
2198
|
{
|
|
2195
2199
|
"schemaVersion": 1,
|
|
@@ -2382,5 +2386,5 @@
|
|
|
2382
2386
|
"digest": "sha256:b6f53563c0adc859bc586c05fce560a5094d7d9666438d63c5fd3e1fc4774555"
|
|
2383
2387
|
}
|
|
2384
2388
|
],
|
|
2385
|
-
"digest": "sha256:
|
|
2389
|
+
"digest": "sha256:6c9eab44f162f2c142827c63bcd7c14cb92ba92e6021ffdc0bdf7baee7ffad8c"
|
|
2386
2390
|
}
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"contract": "kungfu-buildchain-public-surface-reverse-audit",
|
|
22
22
|
"path": "dist/site/public-surface-audit.json",
|
|
23
23
|
"status": "passed",
|
|
24
|
-
"sha256": "
|
|
24
|
+
"sha256": "e37f94305762bde4ecad076297dedd212f015f12ffc5c0a524f1350969ad00d1",
|
|
25
25
|
"summary": {
|
|
26
26
|
"cliCommandCount": 112,
|
|
27
27
|
"workflowCount": 64,
|
|
@@ -246,7 +246,7 @@
|
|
|
246
246
|
"contract": "kungfu-buildchain-public-surface-reverse-audit",
|
|
247
247
|
"path": "dist/site/public-surface-audit.json",
|
|
248
248
|
"status": "passed",
|
|
249
|
-
"sha256": "
|
|
249
|
+
"sha256": "e37f94305762bde4ecad076297dedd212f015f12ffc5c0a524f1350969ad00d1",
|
|
250
250
|
"summary": {
|
|
251
251
|
"cliCommandCount": 112,
|
|
252
252
|
"workflowCount": 64,
|
|
@@ -3545,7 +3545,7 @@
|
|
|
3545
3545
|
"visibility": "public",
|
|
3546
3546
|
"participantFacing": true,
|
|
3547
3547
|
"public": true,
|
|
3548
|
-
"inputCount":
|
|
3548
|
+
"inputCount": 37,
|
|
3549
3549
|
"inputs": [
|
|
3550
3550
|
"admission-json",
|
|
3551
3551
|
"authority-workflow-path",
|
|
@@ -3555,6 +3555,9 @@
|
|
|
3555
3555
|
"buildchain-ref",
|
|
3556
3556
|
"buildchain-repository",
|
|
3557
3557
|
"consumer-gate-command",
|
|
3558
|
+
"consumer-gate-controller-sha",
|
|
3559
|
+
"consumer-gate-evidence-source-sha",
|
|
3560
|
+
"consumer-gate-evidence-source-tree",
|
|
3558
3561
|
"consumer-predicate-digest",
|
|
3559
3562
|
"consumer-predicate-id",
|
|
3560
3563
|
"consumer-qualification-required",
|
|
@@ -3594,7 +3597,7 @@
|
|
|
3594
3597
|
"visibility": "public",
|
|
3595
3598
|
"participantFacing": true,
|
|
3596
3599
|
"public": true,
|
|
3597
|
-
"inputCount":
|
|
3600
|
+
"inputCount": 107,
|
|
3598
3601
|
"inputs": [
|
|
3599
3602
|
"allow-repository",
|
|
3600
3603
|
"artifact-name",
|
|
@@ -3640,6 +3643,7 @@
|
|
|
3640
3643
|
"publication-expected-json",
|
|
3641
3644
|
"publication-gate-aggregate-json",
|
|
3642
3645
|
"publication-gate-command",
|
|
3646
|
+
"publication-gate-controller-sha",
|
|
3643
3647
|
"publication-package-name",
|
|
3644
3648
|
"publication-product",
|
|
3645
3649
|
"publication-publisher-workflow-path",
|
|
@@ -4857,7 +4861,7 @@
|
|
|
4857
4861
|
"visibility": "public",
|
|
4858
4862
|
"participantFacing": true,
|
|
4859
4863
|
"public": true,
|
|
4860
|
-
"inputCount":
|
|
4864
|
+
"inputCount": 99,
|
|
4861
4865
|
"inputs": [
|
|
4862
4866
|
"allow-repository",
|
|
4863
4867
|
"artifact-name",
|
|
@@ -4895,6 +4899,7 @@
|
|
|
4895
4899
|
"publication-expected-json",
|
|
4896
4900
|
"publication-gate-aggregate-json",
|
|
4897
4901
|
"publication-gate-command",
|
|
4902
|
+
"publication-gate-controller-sha",
|
|
4898
4903
|
"publication-package-name",
|
|
4899
4904
|
"publication-product",
|
|
4900
4905
|
"publication-publisher-workflow-path",
|
|
@@ -136,7 +136,7 @@
|
|
|
136
136
|
"title": "Release Candidate Passport",
|
|
137
137
|
"path": "docs/release-candidate.md",
|
|
138
138
|
"plane": "verify",
|
|
139
|
-
"digest": "sha256:
|
|
139
|
+
"digest": "sha256:d76bbd75aab3c4dd94756c1c64562a125e74369c7c8b97342dbcacc5d7561602",
|
|
140
140
|
"capabilityGroup": "reusable-build",
|
|
141
141
|
"audience": [
|
|
142
142
|
"release-operator",
|
|
@@ -332,7 +332,7 @@
|
|
|
332
332
|
"title": "Generated Node API reference",
|
|
333
333
|
"path": "docs/node-api-reference.md",
|
|
334
334
|
"plane": "use",
|
|
335
|
-
"digest": "sha256:
|
|
335
|
+
"digest": "sha256:f5592359584e98ab4283d56b0262fdcf9c5da61f48033cecad1b0404aa95bd2e",
|
|
336
336
|
"capabilityGroup": "api-cli-reference",
|
|
337
337
|
"audience": [
|
|
338
338
|
"agent",
|
|
@@ -430,7 +430,7 @@
|
|
|
430
430
|
"title": "Release governance",
|
|
431
431
|
"path": "docs/release-governance.md",
|
|
432
432
|
"plane": "why",
|
|
433
|
-
"digest": "sha256:
|
|
433
|
+
"digest": "sha256:34fb81d1dd9f913cbed6ee76ac9f0bdb095669e55c1bee67389601fd494470cf",
|
|
434
434
|
"capabilityGroup": "governance-versioning",
|
|
435
435
|
"audience": [
|
|
436
436
|
"maintainer",
|
|
@@ -13650,7 +13650,7 @@
|
|
|
13650
13650
|
],
|
|
13651
13651
|
"source": {
|
|
13652
13652
|
"path": "packages/core/publication-sealed-bundle.js",
|
|
13653
|
-
"line":
|
|
13653
|
+
"line": 84
|
|
13654
13654
|
},
|
|
13655
13655
|
"example": "import { createPublicationSealedBundle } from \"@kungfu-tech/buildchain\";",
|
|
13656
13656
|
"maturity": "stable",
|
|
@@ -13703,7 +13703,7 @@
|
|
|
13703
13703
|
],
|
|
13704
13704
|
"source": {
|
|
13705
13705
|
"path": "packages/core/publication-sealed-bundle.js",
|
|
13706
|
-
"line":
|
|
13706
|
+
"line": 133
|
|
13707
13707
|
},
|
|
13708
13708
|
"example": "import { verifyPublicationSealedBundle } from \"@kungfu-tech/buildchain\";",
|
|
13709
13709
|
"maturity": "stable",
|
|
@@ -14780,6 +14780,39 @@
|
|
|
14780
14780
|
"agent"
|
|
14781
14781
|
]
|
|
14782
14782
|
},
|
|
14783
|
+
{
|
|
14784
|
+
"id": "packages/core/release-candidate-recovery.js#rebindPublicationGateAggregateForEquivalentTree",
|
|
14785
|
+
"name": "rebindPublicationGateAggregateForEquivalentTree",
|
|
14786
|
+
"kind": "function",
|
|
14787
|
+
"signature": "function rebindPublicationGateAggregateForEquivalentTree(gateAggregate, { evidenceSourceSha = \"\", targetSourceSha = \"\", targetSourceTreeSha = \"\", expectedSourceTreeSha = \"\" } = {})",
|
|
14788
|
+
"parameters": [
|
|
14789
|
+
{
|
|
14790
|
+
"name": "gateAggregate",
|
|
14791
|
+
"signature": "gateAggregate"
|
|
14792
|
+
},
|
|
14793
|
+
{
|
|
14794
|
+
"name": "parameter2",
|
|
14795
|
+
"signature": "{ evidenceSourceSha = \"\", targetSourceSha = \"\", targetSourceTreeSha = \"\", expectedSourceTreeSha = \"\" } = {}"
|
|
14796
|
+
}
|
|
14797
|
+
],
|
|
14798
|
+
"returns": "unknown",
|
|
14799
|
+
"errors": [
|
|
14800
|
+
"May throw an Error on rejected input or failed operations; follow the linked source contract."
|
|
14801
|
+
],
|
|
14802
|
+
"sideEffects": [
|
|
14803
|
+
"none-detected-by-static-source-scan"
|
|
14804
|
+
],
|
|
14805
|
+
"source": {
|
|
14806
|
+
"path": "packages/core/release-candidate-recovery.js",
|
|
14807
|
+
"line": 18
|
|
14808
|
+
},
|
|
14809
|
+
"example": "import { rebindPublicationGateAggregateForEquivalentTree } from \"@kungfu-tech/buildchain/release-candidate-recovery\";",
|
|
14810
|
+
"maturity": "stable",
|
|
14811
|
+
"audience": [
|
|
14812
|
+
"developer",
|
|
14813
|
+
"agent"
|
|
14814
|
+
]
|
|
14815
|
+
},
|
|
14783
14816
|
{
|
|
14784
14817
|
"id": "packages/core/release-candidate-recovery.js#recoveryFailure",
|
|
14785
14818
|
"name": "recoveryFailure",
|
|
@@ -14800,7 +14833,7 @@
|
|
|
14800
14833
|
],
|
|
14801
14834
|
"source": {
|
|
14802
14835
|
"path": "packages/core/release-candidate-recovery.js",
|
|
14803
|
-
"line":
|
|
14836
|
+
"line": 529
|
|
14804
14837
|
},
|
|
14805
14838
|
"example": "import { recoveryFailure } from \"@kungfu-tech/buildchain\";",
|
|
14806
14839
|
"maturity": "stable",
|
|
@@ -14824,7 +14857,7 @@
|
|
|
14824
14857
|
],
|
|
14825
14858
|
"source": {
|
|
14826
14859
|
"path": "packages/core/release-candidate-recovery.js",
|
|
14827
|
-
"line":
|
|
14860
|
+
"line": 15
|
|
14828
14861
|
},
|
|
14829
14862
|
"example": "import { RELEASE_CANDIDATE_RECOVERY_CONTRACT } from \"@kungfu-tech/buildchain\";",
|
|
14830
14863
|
"maturity": "stable",
|
|
@@ -14848,7 +14881,7 @@
|
|
|
14848
14881
|
],
|
|
14849
14882
|
"source": {
|
|
14850
14883
|
"path": "packages/core/release-candidate-recovery.js",
|
|
14851
|
-
"line":
|
|
14884
|
+
"line": 56
|
|
14852
14885
|
},
|
|
14853
14886
|
"example": "import { ReleaseCandidateRecoveryError } from \"@kungfu-tech/buildchain\";",
|
|
14854
14887
|
"maturity": "stable",
|
|
@@ -14857,6 +14890,35 @@
|
|
|
14857
14890
|
"agent"
|
|
14858
14891
|
]
|
|
14859
14892
|
},
|
|
14893
|
+
{
|
|
14894
|
+
"id": "packages/core/release-candidate-recovery.js#validateRecoveryTargetRef",
|
|
14895
|
+
"name": "validateRecoveryTargetRef",
|
|
14896
|
+
"kind": "function",
|
|
14897
|
+
"signature": "function validateRecoveryTargetRef({ targetSha, observedTargetSha, expectedTransactionId = \"\", existingTransaction = undefined, ancestry = undefined, } = {})",
|
|
14898
|
+
"parameters": [
|
|
14899
|
+
{
|
|
14900
|
+
"name": "parameter1",
|
|
14901
|
+
"signature": "{ targetSha, observedTargetSha, expectedTransactionId = \"\", existingTransaction = undefined, ancestry = undefined, } = {}"
|
|
14902
|
+
}
|
|
14903
|
+
],
|
|
14904
|
+
"returns": "unknown",
|
|
14905
|
+
"errors": [
|
|
14906
|
+
"Errors from called operations may propagate; no narrower throw contract is declared in source."
|
|
14907
|
+
],
|
|
14908
|
+
"sideEffects": [
|
|
14909
|
+
"none-detected-by-static-source-scan"
|
|
14910
|
+
],
|
|
14911
|
+
"source": {
|
|
14912
|
+
"path": "packages/core/release-candidate-recovery.js",
|
|
14913
|
+
"line": 134
|
|
14914
|
+
},
|
|
14915
|
+
"example": "import { validateRecoveryTargetRef } from \"@kungfu-tech/buildchain/release-candidate-recovery\";",
|
|
14916
|
+
"maturity": "stable",
|
|
14917
|
+
"audience": [
|
|
14918
|
+
"developer",
|
|
14919
|
+
"agent"
|
|
14920
|
+
]
|
|
14921
|
+
},
|
|
14860
14922
|
{
|
|
14861
14923
|
"id": "packages/core/release-candidate-recovery.js#validateReleaseCandidateRecoveryReceipt",
|
|
14862
14924
|
"name": "validateReleaseCandidateRecoveryReceipt",
|
|
@@ -14877,7 +14939,7 @@
|
|
|
14877
14939
|
],
|
|
14878
14940
|
"source": {
|
|
14879
14941
|
"path": "packages/core/release-candidate-recovery.js",
|
|
14880
|
-
"line":
|
|
14942
|
+
"line": 176
|
|
14881
14943
|
},
|
|
14882
14944
|
"example": "import { validateReleaseCandidateRecoveryReceipt } from \"@kungfu-tech/buildchain/release-candidate-recovery\";",
|
|
14883
14945
|
"maturity": "stable",
|
|
@@ -14890,11 +14952,11 @@
|
|
|
14890
14952
|
"id": "packages/core/release-candidate-recovery.js#verifyReleaseCandidateRecovery",
|
|
14891
14953
|
"name": "verifyReleaseCandidateRecovery",
|
|
14892
14954
|
"kind": "function",
|
|
14893
|
-
"signature": "function verifyReleaseCandidateRecovery({ candidateRepository, targetRepository, expectedRunId, expectedWorkflowFile, expectedWorkflowName, channel, targetRef, targetSha, targetTree, expectedSourceTree = \"\", expectedCandidateRoot = \"\", expectedRuntimeSha, expectedTransactionId = \"\", existingTransaction = undefined, run, workflow, pullRequest, ancestry, passport, buildSummary, controllerReceipts = [], platformManifests = [], platformManifestEvidence = [], productPayloadManifests = [], artifacts = [], publicationVersion = \"\", currentToolingSha, recoveryRunId = \"\", createdAt = new Date().toISOString(), } = {})",
|
|
14955
|
+
"signature": "function verifyReleaseCandidateRecovery({ candidateRepository, targetRepository, expectedRunId, expectedWorkflowFile, expectedWorkflowName, channel, targetRef, targetSha, targetRefSha = targetSha, targetTree, expectedSourceTree = \"\", expectedCandidateRoot = \"\", expectedRuntimeSha, expectedTransactionId = \"\", existingTransaction = undefined, run, workflow, pullRequest, ancestry, passport, buildSummary, controllerReceipts = [], platformManifests = [], platformManifestEvidence = [], productPayloadManifests = [], artifacts = [], publicationVersion = \"\", currentToolingSha, recoveryRunId = \"\", createdAt = new Date().toISOString(), } = {})",
|
|
14894
14956
|
"parameters": [
|
|
14895
14957
|
{
|
|
14896
14958
|
"name": "parameter1",
|
|
14897
|
-
"signature": "{ candidateRepository, targetRepository, expectedRunId, expectedWorkflowFile, expectedWorkflowName, channel, targetRef, targetSha, targetTree, expectedSourceTree = \"\", expectedCandidateRoot = \"\", expectedRuntimeSha, expectedTransactionId = \"\", existingTransaction = undefined, run, workflow, pullRequest, ancestry, passport, buildSummary, controllerReceipts = [], platformManifests = [], platformManifestEvidence = [], productPayloadManifests = [], artifacts = [], publicationVersion = \"\", currentToolingSha, recoveryRunId = \"\", createdAt = new Date().toISOString(), } = {}"
|
|
14959
|
+
"signature": "{ candidateRepository, targetRepository, expectedRunId, expectedWorkflowFile, expectedWorkflowName, channel, targetRef, targetSha, targetRefSha = targetSha, targetTree, expectedSourceTree = \"\", expectedCandidateRoot = \"\", expectedRuntimeSha, expectedTransactionId = \"\", existingTransaction = undefined, run, workflow, pullRequest, ancestry, passport, buildSummary, controllerReceipts = [], platformManifests = [], platformManifestEvidence = [], productPayloadManifests = [], artifacts = [], publicationVersion = \"\", currentToolingSha, recoveryRunId = \"\", createdAt = new Date().toISOString(), } = {}"
|
|
14898
14960
|
}
|
|
14899
14961
|
],
|
|
14900
14962
|
"returns": "unknown",
|
|
@@ -14906,7 +14968,7 @@
|
|
|
14906
14968
|
],
|
|
14907
14969
|
"source": {
|
|
14908
14970
|
"path": "packages/core/release-candidate-recovery.js",
|
|
14909
|
-
"line":
|
|
14971
|
+
"line": 398
|
|
14910
14972
|
},
|
|
14911
14973
|
"example": "import { verifyReleaseCandidateRecovery } from \"@kungfu-tech/buildchain\";",
|
|
14912
14974
|
"maturity": "stable",
|
|
@@ -19830,7 +19892,7 @@
|
|
|
19830
19892
|
"specifier": "@kungfu-tech/buildchain/publication-sealed-bundle",
|
|
19831
19893
|
"export": "./publication-sealed-bundle",
|
|
19832
19894
|
"target": "./packages/core/publication-sealed-bundle.js",
|
|
19833
|
-
"digest": "sha256:
|
|
19895
|
+
"digest": "sha256:0b912deace895b3f99e7a77b77678d35a7c22a68b3d18eb31aff2995fb66a51e",
|
|
19834
19896
|
"summary": "Build-once publication bundle manifests and exact-byte resume verification APIs.",
|
|
19835
19897
|
"capabilityGroup": "reusable-build",
|
|
19836
19898
|
"audience": [
|
|
@@ -20133,18 +20195,20 @@
|
|
|
20133
20195
|
"specifier": "@kungfu-tech/buildchain/release-candidate-recovery",
|
|
20134
20196
|
"export": "./release-candidate-recovery",
|
|
20135
20197
|
"target": "./packages/core/release-candidate-recovery.js",
|
|
20136
|
-
"digest": "sha256:
|
|
20198
|
+
"digest": "sha256:d863601bcd5be9cfbf4455961d1183486e6d191ce34dc7c6a14f2ad71146b175",
|
|
20137
20199
|
"summary": "Fail-closed verification and immutable receipts for reusing a successful sealed candidate run without rebuilding product payloads.",
|
|
20138
20200
|
"capabilityGroup": "release-passport-trust",
|
|
20139
20201
|
"audience": [
|
|
20140
20202
|
"developer",
|
|
20141
20203
|
"agent"
|
|
20142
20204
|
],
|
|
20143
|
-
"symbolCount":
|
|
20205
|
+
"symbolCount": 7,
|
|
20144
20206
|
"symbolIds": [
|
|
20207
|
+
"packages/core/release-candidate-recovery.js#rebindPublicationGateAggregateForEquivalentTree",
|
|
20145
20208
|
"packages/core/release-candidate-recovery.js#recoveryFailure",
|
|
20146
20209
|
"packages/core/release-candidate-recovery.js#RELEASE_CANDIDATE_RECOVERY_CONTRACT",
|
|
20147
20210
|
"packages/core/release-candidate-recovery.js#ReleaseCandidateRecoveryError",
|
|
20211
|
+
"packages/core/release-candidate-recovery.js#validateRecoveryTargetRef",
|
|
20148
20212
|
"packages/core/release-candidate-recovery.js#validateReleaseCandidateRecoveryReceipt",
|
|
20149
20213
|
"packages/core/release-candidate-recovery.js#verifyReleaseCandidateRecovery"
|
|
20150
20214
|
],
|
|
@@ -20425,7 +20489,7 @@
|
|
|
20425
20489
|
{
|
|
20426
20490
|
"id": "node-api-reference",
|
|
20427
20491
|
"path": "docs/node-api-reference.md",
|
|
20428
|
-
"digest": "sha256:
|
|
20492
|
+
"digest": "sha256:f5592359584e98ab4283d56b0262fdcf9c5da61f48033cecad1b0404aa95bd2e"
|
|
20429
20493
|
},
|
|
20430
20494
|
{
|
|
20431
20495
|
"id": "build-facts",
|