@kungfu-tech/buildchain 3.0.1 → 3.0.2-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.
Files changed (64) hide show
  1. package/README.md +5 -3
  2. package/actions/promote-buildchain-ref/README.md +7 -0
  3. package/bin/buildchain.mjs +173 -513
  4. package/bin/internal/cli-options.mjs +79 -0
  5. package/bin/internal/trust-release-cli.mjs +469 -0
  6. package/dist/site/agent-index.json +2 -0
  7. package/dist/site/artifact-schemas.json +5 -0
  8. package/dist/site/badge-endpoint-registry.json +18 -18
  9. package/dist/site/badges/v1/kfd-12/aligned.json +1 -1
  10. package/dist/site/badges/v1/kfd-12/declared.json +1 -1
  11. package/dist/site/badges/v1/kfd-12/downgraded.json +1 -1
  12. package/dist/site/badges/v1/kfd-12/draft.json +1 -1
  13. package/dist/site/badges/v1/kfd-12/failed.json +1 -1
  14. package/dist/site/badges/v1/kfd-12/missing.json +1 -1
  15. package/dist/site/badges/v1/kfd-12/passed.json +1 -1
  16. package/dist/site/badges/v1/kfd-12/planned.json +1 -1
  17. package/dist/site/badges/v1/kfd-13/aligned.json +1 -1
  18. package/dist/site/badges/v1/kfd-13/declared.json +1 -1
  19. package/dist/site/badges/v1/kfd-13/downgraded.json +1 -1
  20. package/dist/site/badges/v1/kfd-13/draft.json +1 -1
  21. package/dist/site/badges/v1/kfd-13/failed.json +1 -1
  22. package/dist/site/badges/v1/kfd-13/missing.json +1 -1
  23. package/dist/site/badges/v1/kfd-13/passed.json +1 -1
  24. package/dist/site/badges/v1/kfd-13/planned.json +1 -1
  25. package/dist/site/buildchain-contract.json +68 -28
  26. package/dist/site/buildchain-site.json +28 -18
  27. package/dist/site/capability-registry.json +3 -3
  28. package/dist/site/cli-registry.json +108 -0
  29. package/dist/site/controller-registry.json +36 -4
  30. package/dist/site/kfd-claims.json +156 -12
  31. package/dist/site/kfd-upstream-aggregate.json +20 -11
  32. package/dist/site/manual-registry.json +3 -3
  33. package/dist/site/node-api-registry.json +36 -10
  34. package/dist/site/page-registry.json +20 -10
  35. package/dist/site/public-surface-audit.json +122 -10
  36. package/dist/site/publication-registry.json +4 -4
  37. package/dist/site/release-passport-check-manifest.json +11 -0
  38. package/dist/site/release-provenance.json +4 -0
  39. package/dist/site/schemas/kfd-product-gate-input-v1.schema.json +164 -0
  40. package/dist/site/schemas/kfd-support-projection-v1.schema.json +106 -0
  41. package/dist/site/schemas/release-passport-v1.schema.json +3 -0
  42. package/dist/site/site-manifest.json +7 -7
  43. package/dist/site/workflow-registry.json +17 -5
  44. package/docs/cli.md +9 -2
  45. package/docs/kfd-support.md +43 -7
  46. package/docs/release-passport.md +15 -0
  47. package/package.json +7 -3
  48. package/packages/core/cache-evidence.js +288 -0
  49. package/packages/core/diagnostics.js +276 -10
  50. package/packages/core/github-governance-authority.js +71 -16
  51. package/packages/core/index.js +27 -0
  52. package/packages/core/kfd-product-gates.js +865 -0
  53. package/packages/core/kfd.js +16 -7
  54. package/packages/core/kfd3-surface-register.js +105 -1
  55. package/packages/core/public-surface-audit.js +6 -1
  56. package/packages/core/release-passport-contract.js +13 -0
  57. package/packages/core/release-passport.js +87 -3
  58. package/scripts/check-internal-architecture.mjs +171 -0
  59. package/scripts/check-inventory.mjs +4 -0
  60. package/scripts/generate-site-bundle.mjs +24 -0
  61. package/scripts/locked-source-checkout.mjs +48 -0
  62. package/scripts/promotion-routing-evidence.mjs +73 -0
  63. package/scripts/reconcile-github-governance.mjs +158 -25
  64. package/scripts/shifu-gate-profile.mjs +26 -20
@@ -3,11 +3,11 @@
3
3
  "contract": "kungfu-buildchain-public-surface-reverse-audit",
4
4
  "status": "passed",
5
5
  "summary": {
6
- "cliCommandCount": 87,
6
+ "cliCommandCount": 96,
7
7
  "workflowCount": 53,
8
8
  "actionCount": 5,
9
9
  "sitePageCount": 56,
10
- "docCommandRefCount": 275,
10
+ "docCommandRefCount": 286,
11
11
  "failureCount": 0
12
12
  },
13
13
  "enumerated": {
@@ -237,11 +237,51 @@
237
237
  "source": "bin/buildchain.mjs",
238
238
  "usage": "buildchain kfd 3 witness [--cwd <dir>] [--registry <path>] [--kind prebuild|artifact]"
239
239
  },
240
+ {
241
+ "id": "kfd-4-gate",
242
+ "source": "bin/buildchain.mjs",
243
+ "usage": "buildchain kfd 4 gate --input-json <file-or-json> [--cwd <dir>] [--output <file>] [--json]"
244
+ },
240
245
  {
241
246
  "id": "kfd-4-schema",
242
247
  "source": "bin/buildchain.mjs",
243
248
  "usage": "buildchain kfd 4 schema [--schema <name>] [--json]"
244
249
  },
250
+ {
251
+ "id": "kfd-4-verify",
252
+ "source": "bin/buildchain.mjs",
253
+ "usage": "buildchain kfd 4 verify --gate-json <file-or-json> [--expected-source-sha <sha>] [--json]"
254
+ },
255
+ {
256
+ "id": "kfd-5-gate",
257
+ "source": "bin/buildchain.mjs",
258
+ "usage": "buildchain kfd 5 gate --input-json <file-or-json> [--cwd <dir>] [--output <file>] [--json]"
259
+ },
260
+ {
261
+ "id": "kfd-5-schema",
262
+ "source": "bin/buildchain.mjs",
263
+ "usage": "buildchain kfd 5 schema [--schema <name>] [--json]"
264
+ },
265
+ {
266
+ "id": "kfd-5-verify",
267
+ "source": "bin/buildchain.mjs",
268
+ "usage": "buildchain kfd 5 verify --gate-json <file-or-json> [--expected-source-sha <sha>] [--json]"
269
+ },
270
+ {
271
+ "id": "kfd-7-gate",
272
+ "source": "bin/buildchain.mjs",
273
+ "usage": "buildchain kfd 7 gate --input-json <file-or-json> [--cwd <dir>] [--output <file>] [--json]"
274
+ },
275
+ {
276
+ "id": "kfd-7-schema",
277
+ "source": "bin/buildchain.mjs",
278
+ "usage": "buildchain kfd 7 schema [--schema <name>] [--json]"
279
+ },
280
+ {
281
+ "id": "kfd-7-verify",
282
+ "source": "bin/buildchain.mjs",
283
+ "usage": "buildchain kfd 7 verify --gate-json <file-or-json> [--expected-source-sha <sha>] [--json]"
284
+ },
245
285
  {
246
286
  "id": "kfd-aggregate",
247
287
  "source": "bin/buildchain.mjs",
@@ -272,6 +312,11 @@
272
312
  "source": "bin/buildchain.mjs",
273
313
  "usage": "buildchain kfd status [--cwd <dir>] [--json]"
274
314
  },
315
+ {
316
+ "id": "kfd-support",
317
+ "source": "bin/buildchain.mjs",
318
+ "usage": "buildchain kfd support project --matrix-json <file-or-json> --gate-json <file-or-json>..."
319
+ },
275
320
  {
276
321
  "id": "kfd-upstream-check",
277
322
  "source": "bin/buildchain.mjs",
@@ -532,6 +577,9 @@
532
577
  "buildchain-contract-lock-path",
533
578
  "buildchain-ref",
534
579
  "buildchain-repository",
580
+ "cache-dependency-lock-root",
581
+ "cache-policy-root",
582
+ "cache-toolchain-root",
535
583
  "cargo-registry-index",
536
584
  "checkout-cache-fallback",
537
585
  "checkout-cache-fetch-attempts",
@@ -581,7 +629,7 @@
581
629
  "verify-command",
582
630
  "working-directory"
583
631
  ],
584
- "inputCount": 66,
632
+ "inputCount": 69,
585
633
  "secrets": [
586
634
  "BUILDCHAIN_ARTIFACT_RELAY_S3_DOWNLOAD_ROLE_ARN",
587
635
  "BUILDCHAIN_ARTIFACT_RELAY_S3_ROLE_ARN",
@@ -840,6 +888,8 @@
840
888
  "release-passport-kfd-3-artifact-verify-command",
841
889
  "release-passport-kfd-3-artifact-witness-jsons",
842
890
  "release-passport-kfd-3-prebuild-witness-jsons",
891
+ "release-passport-kfd-product-gate-jsons",
892
+ "release-passport-kfd-support-matrix-json",
843
893
  "release-passport-output-dir",
844
894
  "release-passport-platform-manifest-paths",
845
895
  "release-passport-product-name",
@@ -851,7 +901,7 @@
851
901
  "target-sha",
852
902
  "trusted-publishing"
853
903
  ],
854
- "inputCount": 83,
904
+ "inputCount": 85,
855
905
  "secrets": [
856
906
  "BUILDCHAIN_ISSUE_APP_ID",
857
907
  "BUILDCHAIN_ISSUE_APP_PRIVATE_KEY",
@@ -1294,6 +1344,9 @@
1294
1344
  "buildchain-ref",
1295
1345
  "buildchain-repository",
1296
1346
  "buildchain-stable-contract-lock-path",
1347
+ "cache-dependency-lock-root",
1348
+ "cache-policy-root",
1349
+ "cache-toolchain-root",
1297
1350
  "cargo-registry-index",
1298
1351
  "checkout-cache-fallback",
1299
1352
  "checkout-cache-fetch-attempts",
@@ -1343,7 +1396,7 @@
1343
1396
  "verify-command",
1344
1397
  "working-directory"
1345
1398
  ],
1346
- "inputCount": 69,
1399
+ "inputCount": 72,
1347
1400
  "secrets": [
1348
1401
  "BUILDCHAIN_ARTIFACT_RELAY_S3_DOWNLOAD_ROLE_ARN",
1349
1402
  "BUILDCHAIN_ARTIFACT_RELAY_S3_ROLE_ARN",
@@ -1958,6 +2011,8 @@
1958
2011
  "release-passport-kfd-3-artifact-verify-command",
1959
2012
  "release-passport-kfd-3-artifact-witness-jsons",
1960
2013
  "release-passport-kfd-3-prebuild-witness-jsons",
2014
+ "release-passport-kfd-product-gate-jsons",
2015
+ "release-passport-kfd-support-matrix-json",
1961
2016
  "release-passport-output-dir",
1962
2017
  "release-passport-platform-manifest-paths",
1963
2018
  "release-passport-product-name",
@@ -1969,7 +2024,7 @@
1969
2024
  "target-sha",
1970
2025
  "trusted-publishing"
1971
2026
  ],
1972
- "inputCount": 75,
2027
+ "inputCount": 77,
1973
2028
  "secrets": [
1974
2029
  "BUILDCHAIN_ISSUE_APP_ID",
1975
2030
  "BUILDCHAIN_ISSUE_APP_PRIVATE_KEY",
@@ -2256,6 +2311,8 @@
2256
2311
  "release-passport-kfd-3-artifact-verify-command",
2257
2312
  "release-passport-kfd-3-artifact-witness-jsons",
2258
2313
  "release-passport-kfd-3-prebuild-witness-jsons",
2314
+ "release-passport-kfd-product-gate-jsons",
2315
+ "release-passport-kfd-support-matrix-json",
2259
2316
  "release-passport-output-dir",
2260
2317
  "release-passport-platform-manifest-paths",
2261
2318
  "release-passport-product-name",
@@ -2272,7 +2329,7 @@
2272
2329
  "transaction-state-path",
2273
2330
  "verification-command"
2274
2331
  ],
2275
- "inputCount": 64
2332
+ "inputCount": 66
2276
2333
  },
2277
2334
  {
2278
2335
  "id": "report-buildchain-issue",
@@ -3330,6 +3387,16 @@
3330
3387
  "path": "docs/kfd-support.md",
3331
3388
  "command": "buildchain kfd 3 witness"
3332
3389
  },
3390
+ {
3391
+ "id": "kfd-4-gate",
3392
+ "path": "docs/cli.md",
3393
+ "command": "buildchain kfd 4 gate"
3394
+ },
3395
+ {
3396
+ "id": "kfd-4-gate",
3397
+ "path": "docs/kfd-support.md",
3398
+ "command": "buildchain kfd 4 gate"
3399
+ },
3333
3400
  {
3334
3401
  "id": "kfd-4-schema",
3335
3402
  "path": "docs/cli.md",
@@ -3345,6 +3412,36 @@
3345
3412
  "path": "docs/kfd-support.md",
3346
3413
  "command": "buildchain kfd 4 schema"
3347
3414
  },
3415
+ {
3416
+ "id": "kfd-5-gate",
3417
+ "path": "docs/cli.md",
3418
+ "command": "buildchain kfd 5 gate"
3419
+ },
3420
+ {
3421
+ "id": "kfd-5-gate",
3422
+ "path": "docs/kfd-support.md",
3423
+ "command": "buildchain kfd 5 gate"
3424
+ },
3425
+ {
3426
+ "id": "kfd-5-schema",
3427
+ "path": "docs/kfd-support.md",
3428
+ "command": "buildchain kfd 5 schema"
3429
+ },
3430
+ {
3431
+ "id": "kfd-7-gate",
3432
+ "path": "docs/cli.md",
3433
+ "command": "buildchain kfd 7 gate"
3434
+ },
3435
+ {
3436
+ "id": "kfd-7-gate",
3437
+ "path": "docs/kfd-support.md",
3438
+ "command": "buildchain kfd 7 gate"
3439
+ },
3440
+ {
3441
+ "id": "kfd-7-schema",
3442
+ "path": "docs/kfd-support.md",
3443
+ "command": "buildchain kfd 7 schema"
3444
+ },
3348
3445
  {
3349
3446
  "id": "kfd-aggregate",
3350
3447
  "path": "docs/kfd-support.md",
@@ -3425,6 +3522,21 @@
3425
3522
  "path": "docs/kfd-support.md",
3426
3523
  "command": "buildchain kfd status --json"
3427
3524
  },
3525
+ {
3526
+ "id": "kfd-support",
3527
+ "path": "docs/cli.md",
3528
+ "command": "buildchain kfd support project"
3529
+ },
3530
+ {
3531
+ "id": "kfd-support",
3532
+ "path": "docs/kfd-support.md",
3533
+ "command": "buildchain kfd support project"
3534
+ },
3535
+ {
3536
+ "id": "kfd-support",
3537
+ "path": "docs/kfd-support.md",
3538
+ "command": "buildchain kfd support project"
3539
+ },
3428
3540
  {
3429
3541
  "id": "kfd-upstream-check",
3430
3542
  "path": "docs/kfd-support.md",
@@ -3971,9 +4083,9 @@
3971
4083
  "cliRegistryPath": "dist/site/cli-registry.json",
3972
4084
  "workflowRegistryPath": "dist/site/workflow-registry.json",
3973
4085
  "pageRegistryPath": "dist/site/page-registry.json",
3974
- "cliRegistryDigest": "5ba7fd93a13993b05767b6f02d0626a7347f25c3d7cd4589ed4f70028c1f1bd1",
3975
- "workflowRegistryDigest": "1554826457054dabf1b877aa2bd2ae2b764f90b0bab5552230ea38278ca707df",
3976
- "pageRegistryDigest": "91dcb302decbe07ebb402c3571f59b5d624feb28e4ac90ef11678050a2c73c67"
4086
+ "cliRegistryDigest": "a1c10dd6977d85a7bc793054baa549108b46d6d18098de109733e01b9151a024",
4087
+ "workflowRegistryDigest": "634213ebd845a158a7acd5820844a4830e4d35058896a5de369fc9cd1006b671",
4088
+ "pageRegistryDigest": "d11a4b7ed807d075b52fedb80c85bfa8f13431f5aa86dae38fc00d3f428f0c6e"
3977
4089
  },
3978
4090
  "comparison": {
3979
4091
  "missingCliRegistry": [],
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "contract": "kungfu-buildchain-publication-release-registry",
4
- "generatedAt": "2026-07-26T13:54:34.126Z",
5
- "publishedAt": "2026-07-26T13:54:34.126Z",
4
+ "generatedAt": "2026-07-26T17:45:16.663Z",
5
+ "publishedAt": "2026-07-26T17:45:16.663Z",
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": "3988275b9a08a1619041a6a041aceb0ecb00fd58",
22
+ "sourceRevision": "e2907057b177af48316db8d85549539c61432a4f",
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.1",
35
+ "version": "3.0.2-alpha.1",
36
36
  "versionSource": "package.json#version"
37
37
  },
38
38
  "sourceKind": "package-site-bundle",
@@ -14,6 +14,12 @@
14
14
  "command": "buildchain verify release-passport <buildchain.release.json>",
15
15
  "nodeApi": "@kungfu-tech/buildchain/release-passport#verifyReleasePassport",
16
16
  "result": "check-report.json"
17
+ },
18
+ "kfdSupportProjection": {
19
+ "inputSchema": "schemas/kfd-product-gate-input-v1.schema.json",
20
+ "projectionSchema": "schemas/kfd-support-projection-v1.schema.json",
21
+ "evidence": "kfd-support.json",
22
+ "rule": "The passport mirrors one product-owned support matrix and validated product-gate results without widening any claim state."
17
23
  }
18
24
  },
19
25
  "ownership": {
@@ -36,6 +42,7 @@
36
42
  "platformArtifactManifests",
37
43
  "distTagPromotion",
38
44
  "controllerReceipts",
45
+ "kfdSupport",
39
46
  "artifacts",
40
47
  "evidence",
41
48
  "recovery"
@@ -181,6 +188,10 @@
181
188
  {
182
189
  "when": "evidence.transactionState is present",
183
190
  "pointer": "evidence.transactionState"
191
+ },
192
+ {
193
+ "when": "kfdSupport is present",
194
+ "pointer": "evidence.kfdSupport"
184
195
  }
185
196
  ],
186
197
  "rule": "The normative checker resolves every declared sibling relative to the passport and fails closed on missing required evidence, digest drift, or semantic mismatch."
@@ -17,11 +17,13 @@
17
17
  "./anchored-version-material": "./packages/core/anchored-version-material.js",
18
18
  "./buildchain-contract": "./packages/core/buildchain-contract.js",
19
19
  "./candidate-timeline": "./packages/core/candidate-timeline.js",
20
+ "./cache-evidence": "./packages/core/cache-evidence.js",
20
21
  "./controller-evidence": "./packages/core/controller-evidence.js",
21
22
  "./diagnostics": "./packages/core/diagnostics.js",
22
23
  "./homebrew": "./packages/core/homebrew.js",
23
24
  "./issue-reporting": "./packages/core/issue-reporting.js",
24
25
  "./kfd": "./packages/core/kfd.js",
26
+ "./kfd-product-gates": "./packages/core/kfd-product-gates.js",
25
27
  "./kfd-agent-hub": "./packages/core/kfd-agent-hub.js",
26
28
  "./buildchain-layout": "./packages/core/buildchain-layout.js",
27
29
  "./release-line-bootstrap": "./packages/core/release-line-bootstrap.js",
@@ -63,6 +65,8 @@
63
65
  "./site/release-passport-check-manifest.json": "./dist/site/release-passport-check-manifest.json",
64
66
  "./site/schemas/release-passport-v1.schema.json": "./dist/site/schemas/release-passport-v1.schema.json",
65
67
  "./site/schemas/kfd-agent-hub-adoption.schema.json": "./dist/site/schemas/kfd-agent-hub-adoption.schema.json",
68
+ "./site/schemas/kfd-product-gate-input-v1.schema.json": "./dist/site/schemas/kfd-product-gate-input-v1.schema.json",
69
+ "./site/schemas/kfd-support-projection-v1.schema.json": "./dist/site/schemas/kfd-support-projection-v1.schema.json",
66
70
  "./site/buildchain-contract.json": "./dist/site/buildchain-contract.json",
67
71
  "./site/product-mechanism.json": "./dist/site/product-mechanism.json",
68
72
  "./site/release-provenance.json": "./dist/site/release-provenance.json",
@@ -0,0 +1,164 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://buildchain.libkungfu.dev/schemas/kfd-product-gate-input-v1.schema.json",
4
+ "title": "Buildchain KFD product gate input v1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schemaVersion",
9
+ "contract",
10
+ "standard",
11
+ "standardRevision",
12
+ "source",
13
+ "evidenceCut",
14
+ "records",
15
+ "evidence",
16
+ "responsibility",
17
+ "nonClaims"
18
+ ],
19
+ "properties": {
20
+ "schemaVersion": {
21
+ "const": 1
22
+ },
23
+ "contract": {
24
+ "const": "kungfu-buildchain-kfd-product-gate-input"
25
+ },
26
+ "standard": {
27
+ "enum": [
28
+ "kfd-4",
29
+ "kfd-5",
30
+ "kfd-7"
31
+ ]
32
+ },
33
+ "standardRevision": {
34
+ "type": "integer",
35
+ "minimum": 1
36
+ },
37
+ "source": {
38
+ "type": "object",
39
+ "additionalProperties": false,
40
+ "required": [
41
+ "repository",
42
+ "sha"
43
+ ],
44
+ "properties": {
45
+ "repository": {
46
+ "type": "string",
47
+ "minLength": 1
48
+ },
49
+ "sha": {
50
+ "type": "string",
51
+ "pattern": "^[0-9a-f]{40}(?:[0-9a-f]{24})?$"
52
+ }
53
+ }
54
+ },
55
+ "evidenceCut": {
56
+ "type": "object",
57
+ "additionalProperties": false,
58
+ "required": [
59
+ "generatedAt",
60
+ "expiresAt"
61
+ ],
62
+ "properties": {
63
+ "generatedAt": {
64
+ "type": "string",
65
+ "format": "date-time"
66
+ },
67
+ "expiresAt": {
68
+ "type": "string",
69
+ "format": "date-time"
70
+ }
71
+ }
72
+ },
73
+ "records": {
74
+ "type": "array",
75
+ "minItems": 1,
76
+ "items": {
77
+ "type": "object",
78
+ "additionalProperties": false,
79
+ "required": [
80
+ "role",
81
+ "path",
82
+ "sha256"
83
+ ],
84
+ "properties": {
85
+ "role": {
86
+ "type": "string",
87
+ "minLength": 1
88
+ },
89
+ "path": {
90
+ "type": "string",
91
+ "minLength": 1
92
+ },
93
+ "sha256": {
94
+ "type": "string",
95
+ "pattern": "^sha256:[0-9a-f]{64}$"
96
+ }
97
+ }
98
+ }
99
+ },
100
+ "evidence": {
101
+ "type": "array",
102
+ "minItems": 1,
103
+ "items": {
104
+ "type": "object",
105
+ "additionalProperties": false,
106
+ "required": [
107
+ "id",
108
+ "kind",
109
+ "path",
110
+ "sha256"
111
+ ],
112
+ "properties": {
113
+ "id": {
114
+ "type": "string",
115
+ "minLength": 1
116
+ },
117
+ "kind": {
118
+ "type": "string",
119
+ "minLength": 1
120
+ },
121
+ "path": {
122
+ "type": "string",
123
+ "minLength": 1
124
+ },
125
+ "sha256": {
126
+ "type": "string",
127
+ "pattern": "^sha256:[0-9a-f]{64}$"
128
+ }
129
+ }
130
+ }
131
+ },
132
+ "responsibility": {
133
+ "type": "object",
134
+ "additionalProperties": false,
135
+ "required": [
136
+ "owner",
137
+ "evidenceOwner",
138
+ "proofOwner"
139
+ ],
140
+ "properties": {
141
+ "owner": {
142
+ "type": "string",
143
+ "minLength": 1
144
+ },
145
+ "evidenceOwner": {
146
+ "type": "string",
147
+ "minLength": 1
148
+ },
149
+ "proofOwner": {
150
+ "type": "string",
151
+ "minLength": 1
152
+ }
153
+ }
154
+ },
155
+ "nonClaims": {
156
+ "type": "array",
157
+ "minItems": 1,
158
+ "items": {
159
+ "type": "string",
160
+ "minLength": 1
161
+ }
162
+ }
163
+ }
164
+ }
@@ -0,0 +1,106 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://buildchain.libkungfu.dev/schemas/kfd-support-projection-v1.schema.json",
4
+ "title": "Buildchain KFD support projection v1",
5
+ "description": "A release-bound, non-authoritative projection of one product-owned KFD support matrix.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "schemaVersion",
10
+ "contract",
11
+ "matrix",
12
+ "standardPackage",
13
+ "gateResults",
14
+ "rows",
15
+ "status",
16
+ "projectionRoot",
17
+ "nonClaims"
18
+ ],
19
+ "properties": {
20
+ "schemaVersion": {
21
+ "const": 1
22
+ },
23
+ "contract": {
24
+ "const": "kungfu-buildchain-kfd-support-projection"
25
+ },
26
+ "matrix": {
27
+ "type": "object",
28
+ "additionalProperties": false,
29
+ "required": [
30
+ "contract",
31
+ "root",
32
+ "authorityPath"
33
+ ],
34
+ "properties": {
35
+ "contract": {
36
+ "type": "string",
37
+ "minLength": 1
38
+ },
39
+ "root": {
40
+ "type": "string",
41
+ "pattern": "^sha256:[0-9a-f]{64}$"
42
+ },
43
+ "authorityPath": {
44
+ "type": "string",
45
+ "minLength": 1
46
+ }
47
+ }
48
+ },
49
+ "standardPackage": {
50
+ "type": "object",
51
+ "additionalProperties": false,
52
+ "required": [
53
+ "name",
54
+ "version",
55
+ "standardsSha256"
56
+ ],
57
+ "properties": {
58
+ "name": {
59
+ "type": "string",
60
+ "minLength": 1
61
+ },
62
+ "version": {
63
+ "type": "string",
64
+ "minLength": 1
65
+ },
66
+ "standardsSha256": {
67
+ "type": "string",
68
+ "pattern": "^sha256:[0-9a-f]{64}$"
69
+ }
70
+ }
71
+ },
72
+ "gateResults": {
73
+ "type": "array",
74
+ "minItems": 3,
75
+ "items": {
76
+ "type": "object"
77
+ }
78
+ },
79
+ "rows": {
80
+ "type": "array",
81
+ "minItems": 13,
82
+ "maxItems": 13,
83
+ "items": {
84
+ "type": "object"
85
+ }
86
+ },
87
+ "status": {
88
+ "enum": [
89
+ "passed",
90
+ "failed"
91
+ ]
92
+ },
93
+ "projectionRoot": {
94
+ "type": "string",
95
+ "pattern": "^sha256:[0-9a-f]{64}$"
96
+ },
97
+ "nonClaims": {
98
+ "type": "array",
99
+ "minItems": 1,
100
+ "items": {
101
+ "type": "string",
102
+ "minLength": 1
103
+ }
104
+ }
105
+ }
106
+ }
@@ -195,6 +195,9 @@
195
195
  },
196
196
  "kfd-3": {
197
197
  "type": "object"
198
+ },
199
+ "kfdSupport": {
200
+ "type": "object"
198
201
  }
199
202
  },
200
203
  "additionalProperties": true
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "contract": "kungfu-buildchain-site-manifest",
4
- "generatedAt": "2026-07-26T13:54:34.126Z",
5
- "publishedAt": "2026-07-26T13:54:34.126Z",
4
+ "generatedAt": "2026-07-26T17:45:16.663Z",
5
+ "publishedAt": "2026-07-26T17:45:16.663Z",
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": "3988275b9a08a1619041a6a041aceb0ecb00fd58",
22
+ "sourceRevision": "e2907057b177af48316db8d85549539c61432a4f",
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.1",
40
+ "version": "3.0.2-alpha.1",
41
41
  "versionSource": "package.json#version"
42
42
  },
43
43
  "entrypoint": "buildchain-site.json",
@@ -77,7 +77,7 @@
77
77
  "path": "docs/release-passport.md",
78
78
  "plane": "verify",
79
79
  "exists": true,
80
- "digest": "sha256:c7f096af40224efb53b2e0e8b7e1ceedc3aafeb341c476a7cce7e5974004a775"
80
+ "digest": "sha256:ed29d25882cbf4ec062abc21e7d069a6377eaf7e3171c24642dfe08da2e4c05b"
81
81
  },
82
82
  {
83
83
  "id": "controller-evidence",
@@ -205,7 +205,7 @@
205
205
  "path": "docs/cli.md",
206
206
  "plane": "use",
207
207
  "exists": true,
208
- "digest": "sha256:f4518193026571d1e84bc245725a9f83e842b2e4b4dfaa072c8207021fa89cd1"
208
+ "digest": "sha256:47be88f5e5fd14124d03510b807722215034d34eefcebdfe2599a310350b7697"
209
209
  },
210
210
  {
211
211
  "id": "build-facts",
@@ -221,7 +221,7 @@
221
221
  "path": "docs/kfd-support.md",
222
222
  "plane": "verify",
223
223
  "exists": true,
224
- "digest": "sha256:58a60b3e54bc47d4bc9b6e08a432ba4ff75ed2275ef056d04c44cc2bc25046da"
224
+ "digest": "sha256:3a6143e450ab7976a50788fee48ec4d7313706774ff5cf8f71075a7b9e196e01"
225
225
  },
226
226
  {
227
227
  "id": "kfd-agent-hub",