@kungfu-tech/buildchain 2.14.2 → 2.14.3-alpha.1
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/dist/site/agent-index.json +2 -0
- package/dist/site/artifact-schemas.json +4 -0
- package/dist/site/badge-endpoint-registry.json +320 -0
- package/dist/site/badges/v1/kfd-5/aligned.json +14 -0
- package/dist/site/badges/v1/kfd-5/declared.json +14 -0
- package/dist/site/badges/v1/kfd-5/downgraded.json +14 -0
- package/dist/site/badges/v1/kfd-5/draft.json +14 -0
- package/dist/site/badges/v1/kfd-5/failed.json +14 -0
- package/dist/site/badges/v1/kfd-5/missing.json +14 -0
- package/dist/site/badges/v1/kfd-5/passed.json +14 -0
- package/dist/site/badges/v1/kfd-5/planned.json +14 -0
- package/dist/site/badges/v1/kfd-6/aligned.json +14 -0
- package/dist/site/badges/v1/kfd-6/declared.json +14 -0
- package/dist/site/badges/v1/kfd-6/downgraded.json +14 -0
- package/dist/site/badges/v1/kfd-6/draft.json +14 -0
- package/dist/site/badges/v1/kfd-6/failed.json +14 -0
- package/dist/site/badges/v1/kfd-6/missing.json +14 -0
- package/dist/site/badges/v1/kfd-6/passed.json +14 -0
- package/dist/site/badges/v1/kfd-6/planned.json +14 -0
- package/dist/site/buildchain-contract.json +149 -28
- package/dist/site/buildchain-site.json +25 -23
- package/dist/site/capability-registry.json +2 -2
- package/dist/site/controller-registry.json +61 -5
- package/dist/site/kfd-claims.json +129 -11
- package/dist/site/kfd-upstream-aggregate.json +12 -12
- package/dist/site/manual-registry.json +6 -6
- package/dist/site/node-api-registry.json +20 -7
- package/dist/site/page-registry.json +12 -12
- package/dist/site/public-surface-audit.json +134 -8
- package/dist/site/publication-authority-registry.json +26 -1
- package/dist/site/publication-registry.json +4 -4
- package/dist/site/release-model.json +3 -1
- package/dist/site/release-passport-check-manifest.json +167 -0
- package/dist/site/release-provenance.json +3 -0
- package/dist/site/schemas/release-passport-v1.schema.json +198 -0
- package/dist/site/site-manifest.json +10 -10
- package/dist/site/workflow-registry.json +128 -4
- package/docs/migration-inventory.md +8 -0
- package/docs/release-candidate.md +3 -0
- package/docs/release-governance.md +5 -4
- package/docs/release-passport.md +19 -0
- package/docs/release-propagation.md +19 -7
- package/docs/reusable-build-surface.md +26 -1
- package/package.json +5 -2
- package/packages/core/buildchain-contract.js +41 -0
- package/packages/core/buildchain-kfd-claims.js +4 -0
- package/packages/core/buildchain-publication-authority.js +1 -0
- package/packages/core/controller-evidence.js +1 -1
- package/packages/core/index.js +9 -0
- package/packages/core/package-manager.js +32 -0
- package/packages/core/release-passport-contract.js +249 -0
- package/packages/core/release-passport.js +39 -0
- package/scripts/check-inventory.mjs +37 -3
- package/scripts/generate-channel-promotion-workflow.mjs +331 -0
- package/scripts/generate-site-bundle.mjs +15 -0
- package/scripts/promotion-channel-router.mjs +132 -0
- package/scripts/validate-package-manager-contract.mjs +24 -0
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
"status": "passed",
|
|
5
5
|
"summary": {
|
|
6
6
|
"cliCommandCount": 83,
|
|
7
|
-
"workflowCount":
|
|
7
|
+
"workflowCount": 49,
|
|
8
8
|
"actionCount": 4,
|
|
9
9
|
"sitePageCount": 50,
|
|
10
|
-
"docCommandRefCount":
|
|
10
|
+
"docCommandRefCount": 258,
|
|
11
11
|
"failureCount": 0
|
|
12
12
|
},
|
|
13
13
|
"enumerated": {
|
|
@@ -674,6 +674,108 @@
|
|
|
674
674
|
],
|
|
675
675
|
"outputCount": 5
|
|
676
676
|
},
|
|
677
|
+
{
|
|
678
|
+
"id": ".release-candidate-promote",
|
|
679
|
+
"path": ".github/workflows/.release-candidate-promote.yml",
|
|
680
|
+
"reusable": true,
|
|
681
|
+
"inputs": [
|
|
682
|
+
"allow-repository",
|
|
683
|
+
"artifact-name",
|
|
684
|
+
"artifact-patterns",
|
|
685
|
+
"branch-protection-bypass-apps",
|
|
686
|
+
"branch-protection-bypass-teams",
|
|
687
|
+
"branch-protection-bypass-users",
|
|
688
|
+
"buildchain-contract-compatibility-policy",
|
|
689
|
+
"buildchain-contract-drift-issue-mode",
|
|
690
|
+
"buildchain-contract-lock-path",
|
|
691
|
+
"buildchain-ref",
|
|
692
|
+
"buildchain-repository",
|
|
693
|
+
"channel",
|
|
694
|
+
"dry-run",
|
|
695
|
+
"github-release",
|
|
696
|
+
"github-release-notes",
|
|
697
|
+
"github-release-title",
|
|
698
|
+
"package-manager",
|
|
699
|
+
"promotion-contract-lock-digest",
|
|
700
|
+
"promotion-contract-lock-path",
|
|
701
|
+
"promotion-override-used",
|
|
702
|
+
"promotion-publication-channel",
|
|
703
|
+
"promotion-router-ref",
|
|
704
|
+
"promotion-router-sha",
|
|
705
|
+
"promotion-runtime-ref",
|
|
706
|
+
"promotion-runtime-sha",
|
|
707
|
+
"promotion-shell-ref",
|
|
708
|
+
"promotion-shell-sha",
|
|
709
|
+
"promotion-target-ref",
|
|
710
|
+
"publication-admission-json",
|
|
711
|
+
"publication-auto-admission",
|
|
712
|
+
"publication-auto-no-gate",
|
|
713
|
+
"publication-consumer-predicate-id",
|
|
714
|
+
"publication-consumer-qualification-command",
|
|
715
|
+
"publication-control-plane-audit-json",
|
|
716
|
+
"publication-expected-json",
|
|
717
|
+
"publication-gate-aggregate-json",
|
|
718
|
+
"publication-package-name",
|
|
719
|
+
"publication-product",
|
|
720
|
+
"publication-publisher-workflow-path",
|
|
721
|
+
"publication-runner-provenance-json",
|
|
722
|
+
"publication-target",
|
|
723
|
+
"publication-used-nonces-json",
|
|
724
|
+
"publication-used-qualification-nonces-json",
|
|
725
|
+
"publish-artifact-kind",
|
|
726
|
+
"publish-command",
|
|
727
|
+
"publish-dist-tag",
|
|
728
|
+
"publish-mode",
|
|
729
|
+
"publish-package-main",
|
|
730
|
+
"publish-package-set-order",
|
|
731
|
+
"publish-required-artifacts-json",
|
|
732
|
+
"publish-target",
|
|
733
|
+
"release-candidate-workflow-file",
|
|
734
|
+
"release-candidate-workflow-name",
|
|
735
|
+
"release-passport",
|
|
736
|
+
"release-passport-buildchain-self-kfd",
|
|
737
|
+
"release-passport-impact-json",
|
|
738
|
+
"release-passport-kfd-1-witness-jsons",
|
|
739
|
+
"release-passport-kfd-2-claim-jsons",
|
|
740
|
+
"release-passport-kfd-3-artifact-verify-command",
|
|
741
|
+
"release-passport-kfd-3-artifact-witness-jsons",
|
|
742
|
+
"release-passport-kfd-3-prebuild-witness-jsons",
|
|
743
|
+
"release-passport-output-dir",
|
|
744
|
+
"release-passport-platform-manifest-paths",
|
|
745
|
+
"release-passport-product-name",
|
|
746
|
+
"required-artifact-count",
|
|
747
|
+
"required-status-check",
|
|
748
|
+
"runner-preset",
|
|
749
|
+
"target-ref",
|
|
750
|
+
"target-sha",
|
|
751
|
+
"trusted-publishing"
|
|
752
|
+
],
|
|
753
|
+
"inputCount": 70,
|
|
754
|
+
"secrets": [
|
|
755
|
+
"BUILDCHAIN_ISSUE_APP_ID",
|
|
756
|
+
"BUILDCHAIN_ISSUE_APP_PRIVATE_KEY",
|
|
757
|
+
"BUILDCHAIN_ISSUE_TOKEN",
|
|
758
|
+
"BUILDCHAIN_PROMOTION_TOKEN",
|
|
759
|
+
"buildchain-issue-app-id",
|
|
760
|
+
"buildchain-issue-app-private-key",
|
|
761
|
+
"buildchain-issue-token"
|
|
762
|
+
],
|
|
763
|
+
"secretCount": 7,
|
|
764
|
+
"outputs": [
|
|
765
|
+
"built-source-sha",
|
|
766
|
+
"controller-plan-artifact",
|
|
767
|
+
"controller-plan-digest",
|
|
768
|
+
"controller-plan-json",
|
|
769
|
+
"controller-receipt-artifact",
|
|
770
|
+
"controller-receipt-digest",
|
|
771
|
+
"controller-receipt-json",
|
|
772
|
+
"controller-receipt-status",
|
|
773
|
+
"promoted-sha",
|
|
774
|
+
"publication-capability-digest",
|
|
775
|
+
"release-candidate-artifact"
|
|
776
|
+
],
|
|
777
|
+
"outputCount": 11
|
|
778
|
+
},
|
|
677
779
|
{
|
|
678
780
|
"id": ".release-docker",
|
|
679
781
|
"path": ".github/workflows/.release-docker.yml",
|
|
@@ -1633,11 +1735,14 @@
|
|
|
1633
1735
|
"branch-protection-bypass-apps",
|
|
1634
1736
|
"branch-protection-bypass-teams",
|
|
1635
1737
|
"branch-protection-bypass-users",
|
|
1738
|
+
"buildchain-alpha-contract-lock-path",
|
|
1739
|
+
"buildchain-channel",
|
|
1636
1740
|
"buildchain-contract-compatibility-policy",
|
|
1637
1741
|
"buildchain-contract-drift-issue-mode",
|
|
1638
1742
|
"buildchain-contract-lock-path",
|
|
1639
1743
|
"buildchain-ref",
|
|
1640
1744
|
"buildchain-repository",
|
|
1745
|
+
"buildchain-stable-contract-lock-path",
|
|
1641
1746
|
"channel",
|
|
1642
1747
|
"dry-run",
|
|
1643
1748
|
"github-release",
|
|
@@ -1687,7 +1792,7 @@
|
|
|
1687
1792
|
"target-sha",
|
|
1688
1793
|
"trusted-publishing"
|
|
1689
1794
|
],
|
|
1690
|
-
"inputCount":
|
|
1795
|
+
"inputCount": 62,
|
|
1691
1796
|
"secrets": [
|
|
1692
1797
|
"BUILDCHAIN_ISSUE_APP_ID",
|
|
1693
1798
|
"BUILDCHAIN_ISSUE_APP_PRIVATE_KEY",
|
|
@@ -1699,6 +1804,7 @@
|
|
|
1699
1804
|
],
|
|
1700
1805
|
"secretCount": 7,
|
|
1701
1806
|
"outputs": [
|
|
1807
|
+
"buildchain-channel",
|
|
1702
1808
|
"built-source-sha",
|
|
1703
1809
|
"controller-plan-artifact",
|
|
1704
1810
|
"controller-plan-digest",
|
|
@@ -1708,10 +1814,21 @@
|
|
|
1708
1814
|
"controller-receipt-json",
|
|
1709
1815
|
"controller-receipt-status",
|
|
1710
1816
|
"promoted-sha",
|
|
1817
|
+
"promotion-contract-lock-digest",
|
|
1818
|
+
"promotion-contract-lock-path",
|
|
1819
|
+
"promotion-override-used",
|
|
1820
|
+
"promotion-publication-channel",
|
|
1821
|
+
"promotion-router-ref",
|
|
1822
|
+
"promotion-router-sha",
|
|
1823
|
+
"promotion-runtime-ref",
|
|
1824
|
+
"promotion-runtime-sha",
|
|
1825
|
+
"promotion-shell-ref",
|
|
1826
|
+
"promotion-shell-sha",
|
|
1827
|
+
"promotion-target-ref",
|
|
1711
1828
|
"publication-capability-digest",
|
|
1712
1829
|
"release-candidate-artifact"
|
|
1713
1830
|
],
|
|
1714
|
-
"outputCount":
|
|
1831
|
+
"outputCount": 23
|
|
1715
1832
|
},
|
|
1716
1833
|
{
|
|
1717
1834
|
"id": "release-line-bootstrap",
|
|
@@ -1744,17 +1861,20 @@
|
|
|
1744
1861
|
"buildchain-repository",
|
|
1745
1862
|
"downstream-base-ref",
|
|
1746
1863
|
"downstream-branch",
|
|
1864
|
+
"downstream-prepare-command",
|
|
1747
1865
|
"downstream-repository",
|
|
1748
1866
|
"downstream-target",
|
|
1867
|
+
"downstream-verify-command",
|
|
1749
1868
|
"dry-run",
|
|
1750
1869
|
"graph-json",
|
|
1751
1870
|
"lock-path",
|
|
1752
1871
|
"pr-body",
|
|
1753
1872
|
"pr-title",
|
|
1873
|
+
"refresh-managed-readme-badges",
|
|
1754
1874
|
"source-node",
|
|
1755
1875
|
"upstream-release-json"
|
|
1756
1876
|
],
|
|
1757
|
-
"inputCount":
|
|
1877
|
+
"inputCount": 16,
|
|
1758
1878
|
"secrets": [
|
|
1759
1879
|
"propagation-token"
|
|
1760
1880
|
],
|
|
@@ -1905,6 +2025,7 @@
|
|
|
1905
2025
|
"release-passport-output-dir",
|
|
1906
2026
|
"release-passport-platform-manifest-paths",
|
|
1907
2027
|
"release-passport-product-name",
|
|
2028
|
+
"release-passport-promotion-routing-json",
|
|
1908
2029
|
"require-governance",
|
|
1909
2030
|
"require-publication-qualification",
|
|
1910
2031
|
"require-publish-source-lock",
|
|
@@ -1917,7 +2038,7 @@
|
|
|
1917
2038
|
"transaction-state-path",
|
|
1918
2039
|
"verification-command"
|
|
1919
2040
|
],
|
|
1920
|
-
"inputCount":
|
|
2041
|
+
"inputCount": 60
|
|
1921
2042
|
},
|
|
1922
2043
|
{
|
|
1923
2044
|
"id": "report-buildchain-issue",
|
|
@@ -3476,6 +3597,11 @@
|
|
|
3476
3597
|
"path": "docs/release-passport.md",
|
|
3477
3598
|
"command": "buildchain verify release-passport"
|
|
3478
3599
|
},
|
|
3600
|
+
{
|
|
3601
|
+
"id": "verify-release-passport",
|
|
3602
|
+
"path": "docs/release-passport.md",
|
|
3603
|
+
"command": "buildchain verify release-passport"
|
|
3604
|
+
},
|
|
3479
3605
|
{
|
|
3480
3606
|
"id": "verify-release-passport",
|
|
3481
3607
|
"path": "README.md",
|
|
@@ -3503,8 +3629,8 @@
|
|
|
3503
3629
|
"workflowRegistryPath": "dist/site/workflow-registry.json",
|
|
3504
3630
|
"pageRegistryPath": "dist/site/page-registry.json",
|
|
3505
3631
|
"cliRegistryDigest": "b469949f77ed7777f23fe68c54daf6d2c20d3afc97f3bbd5a178a91202a068d0",
|
|
3506
|
-
"workflowRegistryDigest": "
|
|
3507
|
-
"pageRegistryDigest": "
|
|
3632
|
+
"workflowRegistryDigest": "4812aea118585c3f527834090569f02cf66c142d2f9a0f8b3d3882e9a614a361",
|
|
3633
|
+
"pageRegistryDigest": "e68b12261716c3ef857d14a327dce77de8ea9f5a7052406c55b86db60e84301c"
|
|
3508
3634
|
},
|
|
3509
3635
|
"comparison": {
|
|
3510
3636
|
"missingCliRegistry": [],
|
|
@@ -44,6 +44,23 @@
|
|
|
44
44
|
"runnerPolicy": "unqualified",
|
|
45
45
|
"notes": ""
|
|
46
46
|
},
|
|
47
|
+
{
|
|
48
|
+
"workflowPath": ".github/workflows/.release-candidate-promote.yml",
|
|
49
|
+
"authorityClass": "product-publication",
|
|
50
|
+
"publicationCapable": true,
|
|
51
|
+
"capabilityIds": [
|
|
52
|
+
"channel-ref",
|
|
53
|
+
"github-release",
|
|
54
|
+
"npm-publish"
|
|
55
|
+
],
|
|
56
|
+
"credentialMode": "trusted-publishing",
|
|
57
|
+
"publisherWorkflowMode": "caller-bound",
|
|
58
|
+
"publisherWorkflowPath": ".github/workflows/.release-candidate-promote.yml",
|
|
59
|
+
"environment": "none",
|
|
60
|
+
"environmentMode": "fixed",
|
|
61
|
+
"runnerPolicy": "qualified-measured",
|
|
62
|
+
"notes": ""
|
|
63
|
+
},
|
|
47
64
|
{
|
|
48
65
|
"workflowPath": ".github/workflows/.release-verify.yml",
|
|
49
66
|
"authorityClass": "governance-write",
|
|
@@ -507,6 +524,14 @@
|
|
|
507
524
|
"signals": [],
|
|
508
525
|
"classified": true
|
|
509
526
|
},
|
|
527
|
+
{
|
|
528
|
+
"path": ".github/workflows/.release-candidate-promote.yml",
|
|
529
|
+
"signals": [
|
|
530
|
+
"write-permission",
|
|
531
|
+
"oidc"
|
|
532
|
+
],
|
|
533
|
+
"classified": true
|
|
534
|
+
},
|
|
510
535
|
{
|
|
511
536
|
"path": ".github/workflows/.release-docker.yml",
|
|
512
537
|
"signals": [],
|
|
@@ -792,5 +817,5 @@
|
|
|
792
817
|
"classified": false
|
|
793
818
|
}
|
|
794
819
|
],
|
|
795
|
-
"registryDigest": "
|
|
820
|
+
"registryDigest": "ac085131119085cfc02e37913ec5eabc9f38b04100c58d797ede3b8e2b7e3046"
|
|
796
821
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"contract": "kungfu-buildchain-publication-release-registry",
|
|
4
|
-
"generatedAt": "2026-07-
|
|
5
|
-
"publishedAt": "2026-07-
|
|
4
|
+
"generatedAt": "2026-07-19T00:00:09.045Z",
|
|
5
|
+
"publishedAt": "2026-07-19T00:00:09.045Z",
|
|
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": "cb4ea966786d561d5f6e9c53d55bba5e951bdb24",
|
|
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": "2.14.
|
|
35
|
+
"version": "2.14.3-alpha.1",
|
|
36
36
|
"versionSource": "package.json#version"
|
|
37
37
|
},
|
|
38
38
|
"sourceKind": "package-site-bundle",
|
|
@@ -15,7 +15,9 @@
|
|
|
15
15
|
"releasePassport": {
|
|
16
16
|
"entrypoint": "buildchain.release.json",
|
|
17
17
|
"bundle": "buildchain-release-bundle.tar.gz",
|
|
18
|
-
"contract": "kungfu-buildchain-release-passport"
|
|
18
|
+
"contract": "kungfu-buildchain-release-passport",
|
|
19
|
+
"schema": "schemas/release-passport-v1.schema.json",
|
|
20
|
+
"checkManifest": "release-passport-check-manifest.json"
|
|
19
21
|
},
|
|
20
22
|
"releasePropagation": {
|
|
21
23
|
"graphContract": "kungfu-buildchain-release-propagation-graph",
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"contract": "kungfu-buildchain-release-passport-check-manifest",
|
|
4
|
+
"passport": {
|
|
5
|
+
"contract": "kungfu-buildchain-release-passport",
|
|
6
|
+
"schemaVersion": 1,
|
|
7
|
+
"schema": {
|
|
8
|
+
"id": "https://buildchain.libkungfu.dev/schemas/release-passport-v1.schema.json",
|
|
9
|
+
"path": "schemas/release-passport-v1.schema.json",
|
|
10
|
+
"npmExport": "@kungfu-tech/buildchain/site/schemas/release-passport-v1.schema.json"
|
|
11
|
+
},
|
|
12
|
+
"checker": {
|
|
13
|
+
"contract": "kungfu-buildchain-release-check-report",
|
|
14
|
+
"command": "buildchain verify release-passport <buildchain.release.json>",
|
|
15
|
+
"nodeApi": "@kungfu-tech/buildchain/release-passport#verifyReleasePassport",
|
|
16
|
+
"result": "check-report.json"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"ownership": {
|
|
20
|
+
"envelopeOwner": "Buildchain",
|
|
21
|
+
"aggregationFields": [
|
|
22
|
+
"product",
|
|
23
|
+
"release",
|
|
24
|
+
"workflow",
|
|
25
|
+
"runnerPolicy",
|
|
26
|
+
"versionImpact",
|
|
27
|
+
"surfaceImpacts",
|
|
28
|
+
"packageSet",
|
|
29
|
+
"anchorManifest",
|
|
30
|
+
"trustedPublishing",
|
|
31
|
+
"transaction",
|
|
32
|
+
"surfaceTimestampPolicy",
|
|
33
|
+
"buildFacts",
|
|
34
|
+
"buildSummary",
|
|
35
|
+
"platformArtifactManifests",
|
|
36
|
+
"distTagPromotion",
|
|
37
|
+
"controllerReceipts",
|
|
38
|
+
"artifacts",
|
|
39
|
+
"evidence",
|
|
40
|
+
"recovery"
|
|
41
|
+
],
|
|
42
|
+
"kfdSections": [
|
|
43
|
+
{
|
|
44
|
+
"section": "kfd-1",
|
|
45
|
+
"owner": "KFD",
|
|
46
|
+
"package": "@kungfu-tech/kfd",
|
|
47
|
+
"metadataSchema": {
|
|
48
|
+
"id": "https://kfd.libkungfu.dev/schemas/kfd-standards.schema.json",
|
|
49
|
+
"path": "schemas/kfd-standards.schema.json",
|
|
50
|
+
"version": "2"
|
|
51
|
+
},
|
|
52
|
+
"schemaIds": {
|
|
53
|
+
"metadata": "https://kfd.libkungfu.dev/schemas/kfd-standards.schema.json",
|
|
54
|
+
"contractWorld": "https://kfd.libkungfu.dev/schemas/kfd-1/contract-world.schema.json",
|
|
55
|
+
"witness": "https://kfd.libkungfu.dev/schemas/kfd-1/witness.schema.json",
|
|
56
|
+
"publicationUrlSemantics": "https://kfd.libkungfu.dev/schemas/kfd-1/publication-url-semantics.schema.json",
|
|
57
|
+
"candidateRegistry": "https://kfd.libkungfu.dev/schemas/kfd-candidate-registry.schema.json",
|
|
58
|
+
"verificationBundle": "https://kfd.libkungfu.dev/schemas/kfd-verification-bundle.schema.json",
|
|
59
|
+
"verificationReport": "https://kfd.libkungfu.dev/schemas/kfd-verification-report.schema.json"
|
|
60
|
+
},
|
|
61
|
+
"schemaPaths": {
|
|
62
|
+
"metadata": "schemas/kfd-standards.schema.json",
|
|
63
|
+
"contractWorld": "schemas/kfd-1/contract-world.schema.json",
|
|
64
|
+
"witness": "schemas/kfd-1/witness.schema.json",
|
|
65
|
+
"publicationUrlSemantics": "schemas/kfd-1/publication-url-semantics.schema.json",
|
|
66
|
+
"candidateRegistry": "schemas/kfd-candidate-registry.schema.json",
|
|
67
|
+
"verificationBundle": "schemas/kfd-verification-bundle.schema.json",
|
|
68
|
+
"verificationReport": "schemas/kfd-verification-report.schema.json"
|
|
69
|
+
},
|
|
70
|
+
"compatibility": {
|
|
71
|
+
"packageLine": "v1.0",
|
|
72
|
+
"registrySchemaVersion": 1,
|
|
73
|
+
"metadataSchemaVersion": "2",
|
|
74
|
+
"rule": "Before the first stable release, fully evidenced Foundation Revision may correct the latest numbered structure while preserving published coordinates and lineage; Foundation Freeze then requires later substantive change to mint a new KFD."
|
|
75
|
+
},
|
|
76
|
+
"rule": "Buildchain aggregates and checks kfd-1 evidence but does not redefine its schema semantics."
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"section": "kfd-2",
|
|
80
|
+
"owner": "KFD",
|
|
81
|
+
"package": "@kungfu-tech/kfd",
|
|
82
|
+
"metadataSchema": {
|
|
83
|
+
"id": "https://kfd.libkungfu.dev/schemas/kfd-standards.schema.json",
|
|
84
|
+
"path": "schemas/kfd-standards.schema.json",
|
|
85
|
+
"version": "2"
|
|
86
|
+
},
|
|
87
|
+
"schemaIds": {
|
|
88
|
+
"metadata": "https://kfd.libkungfu.dev/schemas/kfd-standards.schema.json",
|
|
89
|
+
"trustTaxonomy": "https://kfd.libkungfu.dev/schemas/kfd-2/trust-taxonomy.schema.json",
|
|
90
|
+
"releaseClaims": "https://kfd.libkungfu.dev/schemas/kfd-2/release-claims.schema.json",
|
|
91
|
+
"releaseTrustPassport": "https://kfd.libkungfu.dev/schemas/kfd-2/release-trust-passport.schema.json",
|
|
92
|
+
"trustClaims": "https://kfd.libkungfu.dev/schemas/kfd-2/trust-claims.schema.json",
|
|
93
|
+
"trustAssessment": "https://kfd.libkungfu.dev/schemas/kfd-2/trust-assessment.schema.json"
|
|
94
|
+
},
|
|
95
|
+
"schemaPaths": {
|
|
96
|
+
"metadata": "schemas/kfd-standards.schema.json",
|
|
97
|
+
"trustTaxonomy": "schemas/kfd-2/trust-taxonomy.schema.json",
|
|
98
|
+
"releaseClaims": "schemas/kfd-2/release-claims.schema.json",
|
|
99
|
+
"releaseTrustPassport": "schemas/kfd-2/release-trust-passport.schema.json",
|
|
100
|
+
"trustClaims": "schemas/kfd-2/trust-claims.schema.json",
|
|
101
|
+
"trustAssessment": "schemas/kfd-2/trust-assessment.schema.json"
|
|
102
|
+
},
|
|
103
|
+
"compatibility": {
|
|
104
|
+
"packageLine": "v1.0",
|
|
105
|
+
"registrySchemaVersion": 1,
|
|
106
|
+
"metadataSchemaVersion": "2",
|
|
107
|
+
"rule": "Before the first stable release, maintainer-authorized semantic refinement must declare breaking decision-surface impact; after stable, substantive change mints a new KFD."
|
|
108
|
+
},
|
|
109
|
+
"rule": "Buildchain aggregates and checks kfd-2 evidence but does not redefine its schema semantics."
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"section": "kfd-3",
|
|
113
|
+
"owner": "KFD",
|
|
114
|
+
"package": "@kungfu-tech/kfd",
|
|
115
|
+
"metadataSchema": {
|
|
116
|
+
"id": "https://kfd.libkungfu.dev/schemas/kfd-standards.schema.json",
|
|
117
|
+
"path": "schemas/kfd-standards.schema.json",
|
|
118
|
+
"version": "2"
|
|
119
|
+
},
|
|
120
|
+
"schemaIds": {
|
|
121
|
+
"metadata": "https://kfd.libkungfu.dev/schemas/kfd-standards.schema.json",
|
|
122
|
+
"collaborationInterface": "https://kfd.libkungfu.dev/schemas/kfd-3/collaboration-interface.schema.json",
|
|
123
|
+
"witness": "https://kfd.libkungfu.dev/schemas/kfd-3/witness.schema.json"
|
|
124
|
+
},
|
|
125
|
+
"schemaPaths": {
|
|
126
|
+
"metadata": "schemas/kfd-standards.schema.json",
|
|
127
|
+
"collaborationInterface": "schemas/kfd-3/collaboration-interface.schema.json",
|
|
128
|
+
"witness": "schemas/kfd-3/witness.schema.json"
|
|
129
|
+
},
|
|
130
|
+
"compatibility": {
|
|
131
|
+
"packageLine": "v1.0",
|
|
132
|
+
"registrySchemaVersion": 1,
|
|
133
|
+
"metadataSchemaVersion": "2",
|
|
134
|
+
"rule": "Before the first stable release, maintainer-authorized semantic refinement must declare breaking decision-surface impact; after stable, substantive change mints a new KFD."
|
|
135
|
+
},
|
|
136
|
+
"rule": "Buildchain aggregates and checks kfd-3 evidence but does not redefine its schema semantics."
|
|
137
|
+
}
|
|
138
|
+
]
|
|
139
|
+
},
|
|
140
|
+
"localClosure": {
|
|
141
|
+
"entrypoint": "buildchain.release.json",
|
|
142
|
+
"resolutionBase": "directory containing the passport",
|
|
143
|
+
"requiredSiblings": [
|
|
144
|
+
"product.mechanism",
|
|
145
|
+
"evidence.artifactEvidence",
|
|
146
|
+
"evidence.impact",
|
|
147
|
+
"evidence.agentIndex"
|
|
148
|
+
],
|
|
149
|
+
"conditionalSiblings": [
|
|
150
|
+
{
|
|
151
|
+
"when": "evidence.publishEvidence is present or packageSet is present",
|
|
152
|
+
"pointer": "evidence.publishEvidence"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"when": "evidence.transactionState is present",
|
|
156
|
+
"pointer": "evidence.transactionState"
|
|
157
|
+
}
|
|
158
|
+
],
|
|
159
|
+
"rule": "The normative checker resolves every declared sibling relative to the passport and fails closed on missing required evidence, digest drift, or semantic mismatch."
|
|
160
|
+
},
|
|
161
|
+
"compatibility": {
|
|
162
|
+
"envelope": "Compatible optional fields may be added while schemaVersion remains 1; removing or changing required-field semantics requires a new schema id or contract version.",
|
|
163
|
+
"siblings": "New optional siblings may be added in v1; making a sibling required requires a new schema id or contract version.",
|
|
164
|
+
"kfdSections": "Each KFD subsection follows the compatibility metadata published by @kungfu-tech/kfd; Buildchain must not silently reinterpret a KFD schema version.",
|
|
165
|
+
"unknownFields": "Independent readers must preserve or ignore unknown additive fields."
|
|
166
|
+
}
|
|
167
|
+
}
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
"./release-candidate": "./packages/core/release-candidate.js",
|
|
36
36
|
"./stable-candidate-ledger": "./packages/core/stable-candidate-ledger.js",
|
|
37
37
|
"./release-passport": "./packages/core/release-passport.js",
|
|
38
|
+
"./release-passport-contract": "./packages/core/release-passport-contract.js",
|
|
38
39
|
"./release-propagation": "./packages/core/release-propagation.js",
|
|
39
40
|
"./surface-manifest": "./packages/core/surface-manifest.js",
|
|
40
41
|
"./buildchain-kfd-claims": "./packages/core/buildchain-kfd-claims.js",
|
|
@@ -54,6 +55,8 @@
|
|
|
54
55
|
"./site/kfd-upstream-aggregate.json": "./dist/site/kfd-upstream-aggregate.json",
|
|
55
56
|
"./site/release-model.json": "./dist/site/release-model.json",
|
|
56
57
|
"./site/artifact-schemas.json": "./dist/site/artifact-schemas.json",
|
|
58
|
+
"./site/release-passport-check-manifest.json": "./dist/site/release-passport-check-manifest.json",
|
|
59
|
+
"./site/schemas/release-passport-v1.schema.json": "./dist/site/schemas/release-passport-v1.schema.json",
|
|
57
60
|
"./site/buildchain-contract.json": "./dist/site/buildchain-contract.json",
|
|
58
61
|
"./site/product-mechanism.json": "./dist/site/product-mechanism.json",
|
|
59
62
|
"./site/release-provenance.json": "./dist/site/release-provenance.json",
|