@kungfu-tech/buildchain 3.0.5-alpha.8 → 3.0.6-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/contracts/auditable-demo-scenario-v1.schema.json +11 -0
- package/dist/site/buildchain-contract.json +42 -22
- package/dist/site/buildchain-site.json +73 -27
- package/dist/site/capability-registry.json +2 -2
- package/dist/site/cli-registry.json +5 -3
- package/dist/site/controller-registry.json +19 -3
- package/dist/site/kfd-claims.json +58 -14
- package/dist/site/kfd-upstream-aggregate.json +1 -1
- package/dist/site/manual-registry.json +7 -6
- package/dist/site/node-api-registry.json +335 -8
- package/dist/site/page-registry.json +63 -17
- package/dist/site/public-surface-audit.json +94 -11
- package/dist/site/publication-authority-registry.json +21 -1
- package/dist/site/publication-registry.json +4 -4
- package/dist/site/site-manifest.json +10 -10
- package/dist/site/workflow-registry.json +53 -4
- package/docs/MAP.md +4 -1
- package/docs/auditable-demo.md +19 -3
- package/docs/cli-reference.md +15 -4
- package/docs/dev-alpha-candidate-patrol.md +14 -5
- package/docs/dev-qualification-patrol.md +108 -0
- package/docs/node-api-reference.md +42 -9
- package/docs/release-propagation.md +93 -0
- package/docs/reusable-build-surface.md +44 -12
- package/docs/stable-candidate-patrol.md +5 -2
- package/package.json +1 -1
- package/packages/core/buildchain-publication-authority.js +1 -0
- package/packages/core/release-propagation-agent-entry.js +185 -0
- package/packages/core/release-propagation-push.js +293 -0
- package/packages/core/release-propagation-stage-evidence.js +36 -0
- package/packages/core/release-propagation-work.js +1 -1
- package/packages/core/release-propagation.js +15 -0
- package/scripts/artifact-signing-controller-core.mjs +525 -0
- package/scripts/artifact-signing-controller.mjs +302 -0
- package/scripts/artifact-signing-delegation.mjs +51 -3
- package/scripts/auditable-demo-platform.mjs +59 -1
- package/scripts/auditable-demo-transport-smoke.mjs +176 -0
- package/scripts/build-standalone-binary.mjs +3 -1
- package/scripts/buildchain-cli-help.mjs +1 -1
- package/scripts/check-inventory.mjs +1 -0
- package/scripts/compiler-cache-evidence.mjs +90 -7
- package/scripts/dev-alpha-candidate-patrol.mjs +80 -5
- package/scripts/dev-pr-auto-merge.mjs +4 -4
- package/scripts/dev-qualification-patrol.mjs +594 -0
- package/scripts/dispatch-artifact-signing-authority.mjs +312 -61
- package/scripts/generate-site-bundle.mjs +3 -0
- package/scripts/inspect-artifact-signing-requests.mjs +12 -0
- package/scripts/release-propagation.mjs +73 -0
- package/scripts/run-lifecycle-core.mjs +25 -0
- package/scripts/site-capability-metadata.mjs +1 -1
- package/scripts/stable-candidate-patrol.mjs +30 -4
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
"status": "passed",
|
|
5
5
|
"summary": {
|
|
6
6
|
"cliCommandCount": 112,
|
|
7
|
-
"workflowCount":
|
|
7
|
+
"workflowCount": 60,
|
|
8
8
|
"actionCount": 6,
|
|
9
|
-
"sitePageCount":
|
|
10
|
-
"docCommandRefCount":
|
|
9
|
+
"sitePageCount": 64,
|
|
10
|
+
"docCommandRefCount": 830,
|
|
11
11
|
"failureCount": 0
|
|
12
12
|
},
|
|
13
13
|
"enumerated": {
|
|
@@ -490,7 +490,7 @@
|
|
|
490
490
|
{
|
|
491
491
|
"id": "release-propagation",
|
|
492
492
|
"source": "bin/buildchain.mjs",
|
|
493
|
-
"usage": "buildchain release-propagation <plan|write-lock|work|pickup> ..."
|
|
493
|
+
"usage": "buildchain release-propagation <plan|write-lock|work|entry|pickup> ..."
|
|
494
494
|
},
|
|
495
495
|
{
|
|
496
496
|
"id": "release-transaction",
|
|
@@ -699,6 +699,8 @@
|
|
|
699
699
|
"linux-container-preset",
|
|
700
700
|
"node-version",
|
|
701
701
|
"platforms-json",
|
|
702
|
+
"pre-upload-transport-smoke-artifact-root",
|
|
703
|
+
"pre-upload-transport-smoke-scenario-path",
|
|
702
704
|
"process-sample-interval-ms",
|
|
703
705
|
"process-summary-path",
|
|
704
706
|
"publish-anchor-request-json",
|
|
@@ -727,7 +729,7 @@
|
|
|
727
729
|
"verify-command",
|
|
728
730
|
"working-directory"
|
|
729
731
|
],
|
|
730
|
-
"inputCount":
|
|
732
|
+
"inputCount": 85,
|
|
731
733
|
"secrets": [
|
|
732
734
|
"BUILDCHAIN_ARTIFACT_RELAY_S3_DOWNLOAD_ROLE_ARN",
|
|
733
735
|
"BUILDCHAIN_ARTIFACT_RELAY_S3_ROLE_ARN",
|
|
@@ -1562,6 +1564,8 @@
|
|
|
1562
1564
|
"linux-container-preset",
|
|
1563
1565
|
"node-version",
|
|
1564
1566
|
"platforms-json",
|
|
1567
|
+
"pre-upload-transport-smoke-artifact-root",
|
|
1568
|
+
"pre-upload-transport-smoke-scenario-path",
|
|
1565
1569
|
"process-sample-interval-ms",
|
|
1566
1570
|
"process-summary-path",
|
|
1567
1571
|
"publish-anchor-request-json",
|
|
@@ -1590,7 +1594,7 @@
|
|
|
1590
1594
|
"verify-command",
|
|
1591
1595
|
"working-directory"
|
|
1592
1596
|
],
|
|
1593
|
-
"inputCount":
|
|
1597
|
+
"inputCount": 88,
|
|
1594
1598
|
"secrets": [
|
|
1595
1599
|
"BUILDCHAIN_ARTIFACT_RELAY_S3_DOWNLOAD_ROLE_ARN",
|
|
1596
1600
|
"BUILDCHAIN_ARTIFACT_RELAY_S3_ROLE_ARN",
|
|
@@ -1810,12 +1814,14 @@
|
|
|
1810
1814
|
"reusable": true,
|
|
1811
1815
|
"inputs": [
|
|
1812
1816
|
"alpha-workflow-path",
|
|
1817
|
+
"auto-merge",
|
|
1813
1818
|
"buildchain-ref",
|
|
1814
1819
|
"buildchain-repository",
|
|
1815
1820
|
"create-pull-request",
|
|
1816
1821
|
"dev-workflow-path",
|
|
1817
1822
|
"dry-run",
|
|
1818
1823
|
"max-age-seconds",
|
|
1824
|
+
"merge-method",
|
|
1819
1825
|
"pull-request-body-prefix",
|
|
1820
1826
|
"pull-request-body-prefix-renderer",
|
|
1821
1827
|
"reactivation-authorized",
|
|
@@ -1823,7 +1829,7 @@
|
|
|
1823
1829
|
"source-branch",
|
|
1824
1830
|
"target-branch"
|
|
1825
1831
|
],
|
|
1826
|
-
"inputCount":
|
|
1832
|
+
"inputCount": 15,
|
|
1827
1833
|
"secrets": [
|
|
1828
1834
|
"promotion-token"
|
|
1829
1835
|
],
|
|
@@ -1887,6 +1893,38 @@
|
|
|
1887
1893
|
],
|
|
1888
1894
|
"outputCount": 6
|
|
1889
1895
|
},
|
|
1896
|
+
{
|
|
1897
|
+
"id": "dev-qualification-patrol",
|
|
1898
|
+
"path": ".github/workflows/dev-qualification-patrol.yml",
|
|
1899
|
+
"reusable": true,
|
|
1900
|
+
"inputs": [
|
|
1901
|
+
"buildchain-ref",
|
|
1902
|
+
"buildchain-repository",
|
|
1903
|
+
"dev-workflow-path",
|
|
1904
|
+
"dispatch-inputs-json",
|
|
1905
|
+
"dry-run",
|
|
1906
|
+
"max-attempts",
|
|
1907
|
+
"mutation-authorized",
|
|
1908
|
+
"preflight-workflow-path",
|
|
1909
|
+
"priority-workflows-json",
|
|
1910
|
+
"source-branch"
|
|
1911
|
+
],
|
|
1912
|
+
"inputCount": 10,
|
|
1913
|
+
"secrets": [
|
|
1914
|
+
"qualification-token"
|
|
1915
|
+
],
|
|
1916
|
+
"secretCount": 1,
|
|
1917
|
+
"outputs": [
|
|
1918
|
+
"action",
|
|
1919
|
+
"active-run-id",
|
|
1920
|
+
"decision-root",
|
|
1921
|
+
"pending-sha",
|
|
1922
|
+
"reason",
|
|
1923
|
+
"source-sha",
|
|
1924
|
+
"state"
|
|
1925
|
+
],
|
|
1926
|
+
"outputCount": 7
|
|
1927
|
+
},
|
|
1890
1928
|
{
|
|
1891
1929
|
"id": "github-artifact-attestation",
|
|
1892
1930
|
"path": ".github/workflows/github-artifact-attestation.yml",
|
|
@@ -2490,6 +2528,7 @@
|
|
|
2490
2528
|
"hold",
|
|
2491
2529
|
"hold-reason",
|
|
2492
2530
|
"ledger-ref",
|
|
2531
|
+
"merge-method",
|
|
2493
2532
|
"minimum-soak-seconds",
|
|
2494
2533
|
"release-now",
|
|
2495
2534
|
"required-checks",
|
|
@@ -2497,7 +2536,7 @@
|
|
|
2497
2536
|
"revoked-versions",
|
|
2498
2537
|
"target-branch"
|
|
2499
2538
|
],
|
|
2500
|
-
"inputCount":
|
|
2539
|
+
"inputCount": 16,
|
|
2501
2540
|
"secrets": [
|
|
2502
2541
|
"approval-token",
|
|
2503
2542
|
"promotion-token"
|
|
@@ -2863,6 +2902,10 @@
|
|
|
2863
2902
|
"id": "manual:dev-alpha-candidate-patrol",
|
|
2864
2903
|
"category": "manual"
|
|
2865
2904
|
},
|
|
2905
|
+
{
|
|
2906
|
+
"id": "manual:dev-qualification-patrol",
|
|
2907
|
+
"category": "manual"
|
|
2908
|
+
},
|
|
2866
2909
|
{
|
|
2867
2910
|
"id": "manual:getting-started",
|
|
2868
2911
|
"category": "manual"
|
|
@@ -6376,11 +6419,26 @@
|
|
|
6376
6419
|
"path": "docs/cli-reference.md",
|
|
6377
6420
|
"command": "buildchain release-propagation"
|
|
6378
6421
|
},
|
|
6422
|
+
{
|
|
6423
|
+
"id": "release-propagation",
|
|
6424
|
+
"path": "docs/cli-reference.md",
|
|
6425
|
+
"command": "buildchain release-propagation"
|
|
6426
|
+
},
|
|
6379
6427
|
{
|
|
6380
6428
|
"id": "release-propagation",
|
|
6381
6429
|
"path": "docs/cli-reference.md",
|
|
6382
6430
|
"command": "buildchain release-propagation --help"
|
|
6383
6431
|
},
|
|
6432
|
+
{
|
|
6433
|
+
"id": "release-propagation",
|
|
6434
|
+
"path": "docs/cli-reference.md",
|
|
6435
|
+
"command": "buildchain release-propagation entry"
|
|
6436
|
+
},
|
|
6437
|
+
{
|
|
6438
|
+
"id": "release-propagation",
|
|
6439
|
+
"path": "docs/cli-reference.md",
|
|
6440
|
+
"command": "buildchain release-propagation entry --help"
|
|
6441
|
+
},
|
|
6384
6442
|
{
|
|
6385
6443
|
"id": "release-propagation",
|
|
6386
6444
|
"path": "docs/cli-reference.md",
|
|
@@ -6436,6 +6494,21 @@
|
|
|
6436
6494
|
"path": "docs/release-propagation.md",
|
|
6437
6495
|
"command": "buildchain release-propagation receipt"
|
|
6438
6496
|
},
|
|
6497
|
+
{
|
|
6498
|
+
"id": "release-propagation",
|
|
6499
|
+
"path": "docs/release-propagation.md",
|
|
6500
|
+
"command": "buildchain release-propagation entry plan"
|
|
6501
|
+
},
|
|
6502
|
+
{
|
|
6503
|
+
"id": "release-propagation",
|
|
6504
|
+
"path": "docs/release-propagation.md",
|
|
6505
|
+
"command": "buildchain release-propagation entry plan"
|
|
6506
|
+
},
|
|
6507
|
+
{
|
|
6508
|
+
"id": "release-propagation",
|
|
6509
|
+
"path": "docs/release-propagation.md",
|
|
6510
|
+
"command": "buildchain release-propagation entry fault-matrix"
|
|
6511
|
+
},
|
|
6439
6512
|
{
|
|
6440
6513
|
"id": "release-propagation",
|
|
6441
6514
|
"path": "docs/release-propagation.md",
|
|
@@ -6476,6 +6549,16 @@
|
|
|
6476
6549
|
"path": "docs/release-propagation.md",
|
|
6477
6550
|
"command": "buildchain release-propagation work complete"
|
|
6478
6551
|
},
|
|
6552
|
+
{
|
|
6553
|
+
"id": "release-propagation",
|
|
6554
|
+
"path": "docs/release-propagation.md",
|
|
6555
|
+
"command": "buildchain release-propagation work push-plan"
|
|
6556
|
+
},
|
|
6557
|
+
{
|
|
6558
|
+
"id": "release-propagation",
|
|
6559
|
+
"path": "docs/release-propagation.md",
|
|
6560
|
+
"command": "buildchain release-propagation work push-branch"
|
|
6561
|
+
},
|
|
6479
6562
|
{
|
|
6480
6563
|
"id": "release-transaction",
|
|
6481
6564
|
"path": "docs/cli-reference.md",
|
|
@@ -7117,9 +7200,9 @@
|
|
|
7117
7200
|
"cliRegistryPath": "dist/site/cli-registry.json",
|
|
7118
7201
|
"workflowRegistryPath": "dist/site/workflow-registry.json",
|
|
7119
7202
|
"pageRegistryPath": "dist/site/page-registry.json",
|
|
7120
|
-
"cliRegistryDigest": "
|
|
7121
|
-
"workflowRegistryDigest": "
|
|
7122
|
-
"pageRegistryDigest": "
|
|
7203
|
+
"cliRegistryDigest": "2012c52df8cd1c32f5cf2afbee6fa77e69818616d41ff984dad394af0523f266",
|
|
7204
|
+
"workflowRegistryDigest": "e96718b6503e5628a0f0535e4a705d2819a7ee5512b55e35373f10c750b5facf",
|
|
7205
|
+
"pageRegistryDigest": "ad80961597b664645998d29c38d11debbc168447c69cad3749e9468550f5b695"
|
|
7123
7206
|
},
|
|
7124
7207
|
"comparison": {
|
|
7125
7208
|
"missingCliRegistry": [],
|
|
@@ -388,6 +388,19 @@
|
|
|
388
388
|
"runnerPolicy": "unqualified",
|
|
389
389
|
"notes": ""
|
|
390
390
|
},
|
|
391
|
+
{
|
|
392
|
+
"workflowPath": ".github/workflows/dev-qualification-patrol.yml",
|
|
393
|
+
"authorityClass": "governance-write",
|
|
394
|
+
"publicationCapable": false,
|
|
395
|
+
"capabilityIds": [],
|
|
396
|
+
"credentialMode": "none",
|
|
397
|
+
"publisherWorkflowMode": "fixed",
|
|
398
|
+
"publisherWorkflowPath": ".github/workflows/dev-qualification-patrol.yml",
|
|
399
|
+
"environment": "",
|
|
400
|
+
"environmentMode": "fixed",
|
|
401
|
+
"runnerPolicy": "unqualified",
|
|
402
|
+
"notes": ""
|
|
403
|
+
},
|
|
391
404
|
{
|
|
392
405
|
"workflowPath": ".github/workflows/github-artifact-attestation.yml",
|
|
393
406
|
"authorityClass": "evidence-publication",
|
|
@@ -859,6 +872,13 @@
|
|
|
859
872
|
],
|
|
860
873
|
"classified": true
|
|
861
874
|
},
|
|
875
|
+
{
|
|
876
|
+
"path": ".github/workflows/dev-qualification-patrol.yml",
|
|
877
|
+
"signals": [
|
|
878
|
+
"write-permission"
|
|
879
|
+
],
|
|
880
|
+
"classified": true
|
|
881
|
+
},
|
|
862
882
|
{
|
|
863
883
|
"path": ".github/workflows/github-artifact-attestation.yml",
|
|
864
884
|
"signals": [
|
|
@@ -999,5 +1019,5 @@
|
|
|
999
1019
|
"classified": false
|
|
1000
1020
|
}
|
|
1001
1021
|
],
|
|
1002
|
-
"registryDigest": "
|
|
1022
|
+
"registryDigest": "bb343f7253b9497e1c9aee3cea170dd5f33fd5e807ea1de805a0fdda5a904bcc"
|
|
1003
1023
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"contract": "kungfu-buildchain-publication-release-registry",
|
|
4
|
-
"generatedAt": "2026-08-
|
|
5
|
-
"publishedAt": "2026-08-
|
|
4
|
+
"generatedAt": "2026-08-03T02:31:12.352Z",
|
|
5
|
+
"publishedAt": "2026-08-03T02:31:12.352Z",
|
|
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": "83280a3d21c4c75774be91ee802286b48c17fc54",
|
|
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": "3.0.
|
|
35
|
+
"version": "3.0.6-alpha.0",
|
|
36
36
|
"versionSource": "package.json#version"
|
|
37
37
|
},
|
|
38
38
|
"sourceKind": "package-site-bundle",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"contract": "kungfu-buildchain-site-manifest",
|
|
4
|
-
"generatedAt": "2026-08-
|
|
5
|
-
"publishedAt": "2026-08-
|
|
4
|
+
"generatedAt": "2026-08-03T02:31:12.352Z",
|
|
5
|
+
"publishedAt": "2026-08-03T02:31:12.352Z",
|
|
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": "83280a3d21c4c75774be91ee802286b48c17fc54",
|
|
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": "3.0.
|
|
40
|
+
"version": "3.0.6-alpha.0",
|
|
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:216e69758e78866e5a22fae1c4d017aaccf1b759937fcd953934407263344c03"
|
|
57
57
|
},
|
|
58
58
|
{
|
|
59
59
|
"id": "getting-started",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"path": "docs/auditable-demo.md",
|
|
70
70
|
"plane": "verify",
|
|
71
71
|
"exists": true,
|
|
72
|
-
"digest": "sha256:
|
|
72
|
+
"digest": "sha256:7e1426d8200bd4e7a7e6684c872f47075cd37d0bddbb262ea3263eaad846b540"
|
|
73
73
|
},
|
|
74
74
|
{
|
|
75
75
|
"id": "install",
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
"path": "docs/release-propagation.md",
|
|
134
134
|
"plane": "use",
|
|
135
135
|
"exists": true,
|
|
136
|
-
"digest": "sha256:
|
|
136
|
+
"digest": "sha256:6e8417ff70db290ee6197f064ed9b7a7da3770738509fac06161dad05b3fca7f"
|
|
137
137
|
},
|
|
138
138
|
{
|
|
139
139
|
"id": "readme-badges",
|
|
@@ -229,7 +229,7 @@
|
|
|
229
229
|
"path": "docs/cli-reference.md",
|
|
230
230
|
"plane": "use",
|
|
231
231
|
"exists": true,
|
|
232
|
-
"digest": "sha256:
|
|
232
|
+
"digest": "sha256:73d34a3b46ecfb772b806f0d79754772446fcc13d7f349b508a0c0212e97fcec"
|
|
233
233
|
},
|
|
234
234
|
{
|
|
235
235
|
"id": "node-api-reference",
|
|
@@ -237,7 +237,7 @@
|
|
|
237
237
|
"path": "docs/node-api-reference.md",
|
|
238
238
|
"plane": "use",
|
|
239
239
|
"exists": true,
|
|
240
|
-
"digest": "sha256:
|
|
240
|
+
"digest": "sha256:ae49a589091d1ab91d29f2d6ac52cf2551a9d0b1f78350965b408f40fd219e29"
|
|
241
241
|
},
|
|
242
242
|
{
|
|
243
243
|
"id": "build-facts",
|
|
@@ -277,7 +277,7 @@
|
|
|
277
277
|
"path": "docs/reusable-build-surface.md",
|
|
278
278
|
"plane": "use",
|
|
279
279
|
"exists": true,
|
|
280
|
-
"digest": "sha256:
|
|
280
|
+
"digest": "sha256:fe06637d604101269b013163be558c1ecc842276e27f2b5abfb6eea39e98feb0"
|
|
281
281
|
},
|
|
282
282
|
{
|
|
283
283
|
"id": "publish-transaction",
|
|
@@ -148,6 +148,8 @@
|
|
|
148
148
|
"linux-container-preset",
|
|
149
149
|
"node-version",
|
|
150
150
|
"platforms-json",
|
|
151
|
+
"pre-upload-transport-smoke-artifact-root",
|
|
152
|
+
"pre-upload-transport-smoke-scenario-path",
|
|
151
153
|
"process-sample-interval-ms",
|
|
152
154
|
"process-summary-path",
|
|
153
155
|
"publish-anchor-request-json",
|
|
@@ -176,7 +178,7 @@
|
|
|
176
178
|
"verify-command",
|
|
177
179
|
"working-directory"
|
|
178
180
|
],
|
|
179
|
-
"inputCount":
|
|
181
|
+
"inputCount": 85,
|
|
180
182
|
"secrets": [
|
|
181
183
|
"BUILDCHAIN_ARTIFACT_RELAY_S3_DOWNLOAD_ROLE_ARN",
|
|
182
184
|
"BUILDCHAIN_ARTIFACT_RELAY_S3_ROLE_ARN",
|
|
@@ -1241,6 +1243,8 @@
|
|
|
1241
1243
|
"linux-container-preset",
|
|
1242
1244
|
"node-version",
|
|
1243
1245
|
"platforms-json",
|
|
1246
|
+
"pre-upload-transport-smoke-artifact-root",
|
|
1247
|
+
"pre-upload-transport-smoke-scenario-path",
|
|
1244
1248
|
"process-sample-interval-ms",
|
|
1245
1249
|
"process-summary-path",
|
|
1246
1250
|
"publish-anchor-request-json",
|
|
@@ -1269,7 +1273,7 @@
|
|
|
1269
1273
|
"verify-command",
|
|
1270
1274
|
"working-directory"
|
|
1271
1275
|
],
|
|
1272
|
-
"inputCount":
|
|
1276
|
+
"inputCount": 88,
|
|
1273
1277
|
"secrets": [
|
|
1274
1278
|
"BUILDCHAIN_ARTIFACT_RELAY_S3_DOWNLOAD_ROLE_ARN",
|
|
1275
1279
|
"BUILDCHAIN_ARTIFACT_RELAY_S3_ROLE_ARN",
|
|
@@ -1599,12 +1603,14 @@
|
|
|
1599
1603
|
"reusable": true,
|
|
1600
1604
|
"inputs": [
|
|
1601
1605
|
"alpha-workflow-path",
|
|
1606
|
+
"auto-merge",
|
|
1602
1607
|
"buildchain-ref",
|
|
1603
1608
|
"buildchain-repository",
|
|
1604
1609
|
"create-pull-request",
|
|
1605
1610
|
"dev-workflow-path",
|
|
1606
1611
|
"dry-run",
|
|
1607
1612
|
"max-age-seconds",
|
|
1613
|
+
"merge-method",
|
|
1608
1614
|
"pull-request-body-prefix",
|
|
1609
1615
|
"pull-request-body-prefix-renderer",
|
|
1610
1616
|
"reactivation-authorized",
|
|
@@ -1612,7 +1618,7 @@
|
|
|
1612
1618
|
"source-branch",
|
|
1613
1619
|
"target-branch"
|
|
1614
1620
|
],
|
|
1615
|
-
"inputCount":
|
|
1621
|
+
"inputCount": 15,
|
|
1616
1622
|
"secrets": [
|
|
1617
1623
|
"promotion-token"
|
|
1618
1624
|
],
|
|
@@ -1706,6 +1712,48 @@
|
|
|
1706
1712
|
"sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
|
|
1707
1713
|
"nonDuplicationRationale": "Existing workflow identity retained for caller compatibility and repository orchestration."
|
|
1708
1714
|
},
|
|
1715
|
+
{
|
|
1716
|
+
"id": "dev-qualification-patrol",
|
|
1717
|
+
"path": ".github/workflows/dev-qualification-patrol.yml",
|
|
1718
|
+
"reusable": true,
|
|
1719
|
+
"inputs": [
|
|
1720
|
+
"buildchain-ref",
|
|
1721
|
+
"buildchain-repository",
|
|
1722
|
+
"dev-workflow-path",
|
|
1723
|
+
"dispatch-inputs-json",
|
|
1724
|
+
"dry-run",
|
|
1725
|
+
"max-attempts",
|
|
1726
|
+
"mutation-authorized",
|
|
1727
|
+
"preflight-workflow-path",
|
|
1728
|
+
"priority-workflows-json",
|
|
1729
|
+
"source-branch"
|
|
1730
|
+
],
|
|
1731
|
+
"inputCount": 10,
|
|
1732
|
+
"secrets": [
|
|
1733
|
+
"qualification-token"
|
|
1734
|
+
],
|
|
1735
|
+
"secretCount": 1,
|
|
1736
|
+
"outputs": [
|
|
1737
|
+
"action",
|
|
1738
|
+
"active-run-id",
|
|
1739
|
+
"decision-root",
|
|
1740
|
+
"pending-sha",
|
|
1741
|
+
"reason",
|
|
1742
|
+
"source-sha",
|
|
1743
|
+
"state"
|
|
1744
|
+
],
|
|
1745
|
+
"outputCount": 7,
|
|
1746
|
+
"surface": "repository-patrol",
|
|
1747
|
+
"capabilityGroup": "governance-versioning",
|
|
1748
|
+
"status": "active",
|
|
1749
|
+
"owner": "buildchain-workflows",
|
|
1750
|
+
"maturity": "active",
|
|
1751
|
+
"introducedVersion": "pre-3.0.2-alpha.4",
|
|
1752
|
+
"compatibilityPromise": "preserved-through-the-v3-major-line",
|
|
1753
|
+
"deprecationReplacement": "",
|
|
1754
|
+
"sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
|
|
1755
|
+
"nonDuplicationRationale": "Existing workflow identity retained for caller compatibility and repository orchestration."
|
|
1756
|
+
},
|
|
1709
1757
|
{
|
|
1710
1758
|
"id": "github-artifact-attestation",
|
|
1711
1759
|
"path": ".github/workflows/github-artifact-attestation.yml",
|
|
@@ -2489,6 +2537,7 @@
|
|
|
2489
2537
|
"hold",
|
|
2490
2538
|
"hold-reason",
|
|
2491
2539
|
"ledger-ref",
|
|
2540
|
+
"merge-method",
|
|
2492
2541
|
"minimum-soak-seconds",
|
|
2493
2542
|
"release-now",
|
|
2494
2543
|
"required-checks",
|
|
@@ -2496,7 +2545,7 @@
|
|
|
2496
2545
|
"revoked-versions",
|
|
2497
2546
|
"target-branch"
|
|
2498
2547
|
],
|
|
2499
|
-
"inputCount":
|
|
2548
|
+
"inputCount": 16,
|
|
2500
2549
|
"secrets": [
|
|
2501
2550
|
"approval-token",
|
|
2502
2551
|
"promotion-token"
|
package/docs/MAP.md
CHANGED
|
@@ -84,7 +84,7 @@ workflow, action, and Node API export also carries a `capabilityGroup`,
|
|
|
84
84
|
| Git/source/version/module/product build facts | `dist/site/node-api-registry.json`, `dist/site/cli-registry.json`, `kungfu-buildchain-module-build-facts`, `kungfu-buildchain-product-build-facts` | [`build-facts.md`](build-facts.md) |
|
|
85
85
|
| GitHub Release passport/evidence publication | `dist/site/release-model.json`, `dist/site/artifact-schemas.json` | [`release-governance.md`](release-governance.md), [`release-candidate.md`](release-candidate.md) |
|
|
86
86
|
| GitHub ownership, effective protection, plan capability, and managed-zone governance receipts | `dist/site/node-api-registry.json`, `dist/site/cli-registry.json`, `kungfu-buildchain-github-governance-receipt` | [`github-governance-authority.md`](github-governance-authority.md) |
|
|
87
|
-
| release propagation
|
|
87
|
+
| release propagation and the unified Paper/KFD/Buildchain/Core Site agent entry | `dist/site/release-model.json`, `dist/site/cli-registry.json`, `dist/site/node-api-registry.json` | [`release-propagation.md`](release-propagation.md) |
|
|
88
88
|
| publication artifact manifests, immutable archive registries, source bundles, and paper repository workflows | `dist/site/publication-registry.json`, `dist/site/workflow-registry.json`, `dist/site/node-api-registry.json`, `kungfu-buildchain-publication-artifact-manifest`, `kungfu-buildchain-publication-artifact-registry` | [`publication-artifacts.md`](publication-artifacts.md) |
|
|
89
89
|
| Generated badge bundles, README badge blocks, and badge facts | `dist/site/node-api-registry.json`, `dist/site/manual-registry.json`, `kungfu-buildchain-badge-bundle-facts`, `kungfu-buildchain-readme-badge-facts` | [`readme-badges.md`](readme-badges.md) |
|
|
90
90
|
| Homebrew tap distribution indexes | `dist/site/node-api-registry.json`, `dist/site/buildchain-contract.json` | [`homebrew.md`](homebrew.md) |
|
|
@@ -111,6 +111,7 @@ replace them.
|
|
|
111
111
|
| Why does Buildchain use branch-driven release governance? | [`release-governance.md`](release-governance.md) | why | stable |
|
|
112
112
|
| How do protected dev branches and scheduled ready-PR merging work? | [`release-governance.md`](release-governance.md#protected-dev-branches) | use | stable |
|
|
113
113
|
| How do slow required checks land reliably on a busy dev channel? | [`release-governance.md`](release-governance.md#protected-dev-branches) + [`cli.md`](cli.md#commands) | use | preview |
|
|
114
|
+
| How do I coalesce rapid Dev changes, preserve release runner priority, and retry only transient failed jobs? | [`dev-qualification-patrol.md`](dev-qualification-patrol.md) | use/verify | preview |
|
|
114
115
|
| How do I run daily, weekly, or monthly repository patrols? | [`release-governance.md`](release-governance.md#buildchain-patrol) | use | stable |
|
|
115
116
|
| How does Buildchain decide patch, minor, and major release lines? | [`versioning.md`](versioning.md) | why | stable |
|
|
116
117
|
| What exact branch/tag state machine runs on alpha, release, and major gate? | [`release-flow.md`](release-flow.md) | verify | stable |
|
|
@@ -176,6 +177,8 @@ replace them.
|
|
|
176
177
|
- **protected dev branches / scheduled ready-PR merge / daily-weekly-monthly patrol** ->
|
|
177
178
|
[`release-governance.md`](release-governance.md#protected-dev-branches) and
|
|
178
179
|
[`release-governance.md`](release-governance.md#buildchain-patrol).
|
|
180
|
+
- **Dev qualification coalescing / release-priority runners / failed-job retry** ->
|
|
181
|
+
[`dev-qualification-patrol.md`](dev-qualification-patrol.md).
|
|
179
182
|
- **pnpm / npm / yarn / package-manager adapters** ->
|
|
180
183
|
[`lifecycle-protocol.md`](lifecycle-protocol.md).
|
|
181
184
|
- **pip / Conan / CMake / custom commands** -> [`lifecycle-protocol.md`](lifecycle-protocol.md)
|
package/docs/auditable-demo.md
CHANGED
|
@@ -52,9 +52,25 @@ the default. Both classes retain 4 MiB per step, a clean Home/XDG environment,
|
|
|
52
52
|
no inherited credentials, and a network-disabled read-only container with
|
|
53
53
|
bounded tmpfs.
|
|
54
54
|
|
|
55
|
-
The uploaded metadata must bind the executable SHA-256
|
|
56
|
-
runtime dependency set
|
|
57
|
-
|
|
55
|
+
The uploaded metadata must bind the executable SHA-256, declare an empty
|
|
56
|
+
runtime dependency set, and provide a bounded `executableFiles` array of exact
|
|
57
|
+
artifact-relative paths and SHA-256 digests. GitHub Artifact transport does not
|
|
58
|
+
retain Unix executable modes, so Buildchain restores mode `0755` only for this
|
|
59
|
+
digest-verified executable closure and verifies the same closure again inside
|
|
60
|
+
the network-disabled capture boundary. It never recursively changes artifact
|
|
61
|
+
modes. This metadata controls assembly only and grants no execution,
|
|
62
|
+
publication, or identity authority. Capture rejects an artifact name or upload
|
|
63
|
+
digest that does not resolve to exactly one live artifact from the current workflow run.
|
|
64
|
+
|
|
65
|
+
Consumers may also declare one bounded, non-interactive `transportSmoke` argv
|
|
66
|
+
in the same scenario and opt the reusable build into
|
|
67
|
+
`pre-upload-transport-smoke-scenario-path`. Before any GitHub Artifact or S3
|
|
68
|
+
relay upload, Buildchain copies the exact distribution directory, removes Unix
|
|
69
|
+
execute bits to simulate transport, restores only the digest-bound executable
|
|
70
|
+
closure, and runs that real binary with a clean Home/XDG environment. A missing
|
|
71
|
+
launcher, runtime, or embedded interpreter therefore fails before the expensive
|
|
72
|
+
upload begins. This is a transport diagnostic with no authority grants; the
|
|
73
|
+
later network-disabled capture and Gate remain the qualification authority.
|
|
58
74
|
It retains ANSI terminal bytes with the real PTY read timestamps, verifies
|
|
59
75
|
declared stdout and JSON file facts, enforces the total deadline while a step is
|
|
60
76
|
running, and removes the disposable workspace before emitting evidence.
|
package/docs/cli-reference.md
CHANGED
|
@@ -1668,6 +1668,17 @@ buildchain release-governance reconcile --repository <owner/repo> --branch <dev|
|
|
|
1668
1668
|
buildchain release-propagation
|
|
1669
1669
|
```
|
|
1670
1670
|
|
|
1671
|
+
### `buildchain release-propagation entry`
|
|
1672
|
+
|
|
1673
|
+
- Help: `buildchain release-propagation entry --help`
|
|
1674
|
+
- Canonical id: `release-propagation`
|
|
1675
|
+
- Options: none declared
|
|
1676
|
+
- Syntax:
|
|
1677
|
+
|
|
1678
|
+
```text
|
|
1679
|
+
buildchain release-propagation <plan|write-lock|work|entry|pickup> ...
|
|
1680
|
+
```
|
|
1681
|
+
|
|
1671
1682
|
### `buildchain release-propagation pickup`
|
|
1672
1683
|
|
|
1673
1684
|
- Help: `buildchain release-propagation pickup --help`
|
|
@@ -1676,7 +1687,7 @@ buildchain release-propagation
|
|
|
1676
1687
|
- Syntax:
|
|
1677
1688
|
|
|
1678
1689
|
```text
|
|
1679
|
-
buildchain release-propagation <plan|write-lock|work|pickup> ...
|
|
1690
|
+
buildchain release-propagation <plan|write-lock|work|entry|pickup> ...
|
|
1680
1691
|
```
|
|
1681
1692
|
|
|
1682
1693
|
### `buildchain release-propagation plan`
|
|
@@ -1687,7 +1698,7 @@ buildchain release-propagation <plan|write-lock|work|pickup> ...
|
|
|
1687
1698
|
- Syntax:
|
|
1688
1699
|
|
|
1689
1700
|
```text
|
|
1690
|
-
buildchain release-propagation <plan|write-lock|work|pickup> ...
|
|
1701
|
+
buildchain release-propagation <plan|write-lock|work|entry|pickup> ...
|
|
1691
1702
|
```
|
|
1692
1703
|
|
|
1693
1704
|
### `buildchain release-propagation work`
|
|
@@ -1698,7 +1709,7 @@ buildchain release-propagation <plan|write-lock|work|pickup> ...
|
|
|
1698
1709
|
- Syntax:
|
|
1699
1710
|
|
|
1700
1711
|
```text
|
|
1701
|
-
buildchain release-propagation <plan|write-lock|work|pickup> ...
|
|
1712
|
+
buildchain release-propagation <plan|write-lock|work|entry|pickup> ...
|
|
1702
1713
|
```
|
|
1703
1714
|
|
|
1704
1715
|
### `buildchain release-propagation write-lock`
|
|
@@ -1709,7 +1720,7 @@ buildchain release-propagation <plan|write-lock|work|pickup> ...
|
|
|
1709
1720
|
- Syntax:
|
|
1710
1721
|
|
|
1711
1722
|
```text
|
|
1712
|
-
buildchain release-propagation <plan|write-lock|work|pickup> ...
|
|
1723
|
+
buildchain release-propagation <plan|write-lock|work|entry|pickup> ...
|
|
1713
1724
|
```
|
|
1714
1725
|
|
|
1715
1726
|
## `sample`
|
|
@@ -8,12 +8,12 @@ confidence: high
|
|
|
8
8
|
sensitivity: public
|
|
9
9
|
evidence_grade: A
|
|
10
10
|
review_state: self-reviewed
|
|
11
|
-
last_reviewed: 2026-
|
|
11
|
+
last_reviewed: 2026-08-03
|
|
12
12
|
ai_provenance:
|
|
13
13
|
model_family: GPT-5
|
|
14
14
|
product: Codex
|
|
15
15
|
generated_at: 2026-07-29
|
|
16
|
-
visible_context: Existing Buildchain source locks, Kungfu exact-source Alpha preflight, Dev Patrol, repository release governance, and the consumer-owned settlement renderer threat model.
|
|
16
|
+
visible_context: Existing Buildchain source locks, Kungfu exact-source Alpha preflight, Dev Patrol, protected auto-merge policy, repository release governance, and the consumer-owned settlement renderer threat model.
|
|
17
17
|
invisible_context_boundary: No credentials, private logs, or private configuration were used.
|
|
18
18
|
---
|
|
19
19
|
|
|
@@ -114,12 +114,21 @@ service. Once the active PR settles or is abandoned, the next execution
|
|
|
114
114
|
recomputes current exact-SHA qualification and creates only the newest still
|
|
115
115
|
fresh candidate. It never trusts a `workflow_run` trigger SHA as evidence.
|
|
116
116
|
|
|
117
|
+
The caller may additionally set `auto-merge: true` and choose `merge-method`
|
|
118
|
+
from `merge`, `squash`, or `rebase`. Buildchain only arms GitHub auto-merge for
|
|
119
|
+
the single managed, open, exact-source candidate after the write-permission
|
|
120
|
+
settlement has revalidated the observation. GitHub still owns every required
|
|
121
|
+
review, required check, branch-protection, and merge-queue gate; Buildchain does
|
|
122
|
+
not approve or directly merge the PR. Invalid merge methods and GraphQL
|
|
123
|
+
refusals fail the patrol run.
|
|
124
|
+
|
|
117
125
|
Consumers should invoke this workflow after relevant qualification workflow
|
|
118
126
|
completion and from an offset periodic fallback. GitHub may delay scheduled
|
|
119
127
|
runs, so the event path supplies low latency while the fallback supplies
|
|
120
128
|
recovery. Workflow concurrency plus the server-side open-PR reconciliation
|
|
121
129
|
makes duplicate or delayed events idempotent.
|
|
122
130
|
|
|
123
|
-
The workflow never moves the Alpha ref directly,
|
|
124
|
-
request, publishes npm, creates a Git tag or GitHub Release, or
|
|
125
|
-
protection.
|
|
131
|
+
The workflow never moves the Alpha ref directly, directly merges the pull
|
|
132
|
+
request, approves it, publishes npm, creates a Git tag or GitHub Release, or
|
|
133
|
+
changes branch protection. Optional auto-merge only registers repository-owned
|
|
134
|
+
intent with GitHub; protected settlement remains authoritative.
|