@kungfu-tech/buildchain 3.0.1 → 3.0.2-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.
Files changed (58) 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 +32 -22
  26. package/dist/site/buildchain-site.json +28 -18
  27. package/dist/site/capability-registry.json +2 -2
  28. package/dist/site/cli-registry.json +108 -0
  29. package/dist/site/controller-registry.json +10 -2
  30. package/dist/site/kfd-claims.json +136 -10
  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 +21 -8
  34. package/dist/site/page-registry.json +20 -10
  35. package/dist/site/public-surface-audit.json +114 -8
  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 +3 -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 +9 -3
  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 +6 -3
  48. package/packages/core/index.js +17 -0
  49. package/packages/core/kfd-product-gates.js +865 -0
  50. package/packages/core/kfd.js +16 -7
  51. package/packages/core/kfd3-surface-register.js +105 -1
  52. package/packages/core/public-surface-audit.js +6 -1
  53. package/packages/core/release-passport-contract.js +13 -0
  54. package/packages/core/release-passport.js +87 -3
  55. package/scripts/check-internal-architecture.mjs +171 -0
  56. package/scripts/check-inventory.mjs +4 -0
  57. package/scripts/generate-site-bundle.mjs +23 -0
  58. package/scripts/promotion-routing-evidence.mjs +73 -0
package/docs/cli.md CHANGED
@@ -281,8 +281,9 @@ assertPublicSurfaceReverseAudit(collectPublicSurfaceReverseAudit({ root: process
281
281
  `buildchain kfd` is the product-facing KFD namespace. Schema commands expose the
282
282
  machine-readable KFD standards shipped by `@kungfu-tech/kfd`, while versioned
283
283
  subcommands host concrete product workflows. KFD-1, KFD-2, and KFD-3 are
284
- first-class Buildchain surfaces. KFD-4 is schema-only until Buildchain has a
285
- real verification protocol for it.
284
+ first-class Buildchain surfaces. KFD-4, KFD-5, and KFD-7 expose fail-closed
285
+ product-evidence gate and verification protocols; passing those protocols does
286
+ not itself qualify, certify, activate, or ship support.
286
287
 
287
288
  `status` reports implemented support and the active repo-owned file layout.
288
289
  `migrate-layout` moves legacy root files into `.buildchain/`:
@@ -290,6 +291,12 @@ real verification protocol for it.
290
291
  ```bash
291
292
  buildchain kfd status --json
292
293
  buildchain kfd migrate-layout --write
294
+ buildchain kfd 4 gate --input-json kfd-4-gate-input.json --output kfd-4-gate.json
295
+ buildchain kfd 5 gate --input-json kfd-5-gate-input.json --output kfd-5-gate.json
296
+ buildchain kfd 7 gate --input-json kfd-7-gate-input.json --output kfd-7-gate.json
297
+ buildchain kfd support project --matrix-json support-matrix.json \
298
+ --gate-json kfd-4-gate.json --gate-json kfd-5-gate.json \
299
+ --gate-json kfd-7-gate.json --output kfd-support.json
293
300
  ```
294
301
 
295
302
  KFD-1 commands generate and validate contract-world release evidence:
@@ -7,8 +7,9 @@ facts, not as README prose. The machine-readable sources are:
7
7
  collaboration surfaces;
8
8
  - `dist/site/public-surface-audit.json` for reverse enumeration of exposed CLI,
9
9
  workflow, action, site, and documented command surfaces;
10
- - `buildchain.release.json` for release-specific KFD-1, KFD-2, and KFD-3
11
- passport results;
10
+ - `buildchain.release.json` plus its `kfd-support.json` sibling for
11
+ release-specific KFD-1/2/3 evidence and the exact KFD-1..13 support
12
+ projection;
12
13
  - `.buildchain/buildchain.toml` for repository-owned Buildchain configuration;
13
14
  - `.buildchain/kfd/kfd-2/registry.json` for product-owned KFD-2 public claim
14
15
  declarations;
@@ -41,11 +42,43 @@ buildchain kfd upstream check --json
41
42
  buildchain kfd aggregate --json
42
43
  buildchain kfd 3 query buildchain --json
43
44
  buildchain kfd 4 schema --json
45
+ buildchain kfd 4 gate --input-json kfd-4-gate-input.json --json
46
+ buildchain kfd 5 gate --input-json kfd-5-gate-input.json --json
47
+ buildchain kfd 7 gate --input-json kfd-7-gate-input.json --json
48
+ buildchain kfd support project --matrix-json support-matrix.json \
49
+ --gate-json kfd-4-gate.json --gate-json kfd-5-gate.json \
50
+ --gate-json kfd-7-gate.json --json
44
51
  ```
45
52
 
46
- KFD-1, KFD-2, and KFD-3 have concrete Buildchain workflows. KFD-4 is currently
47
- schema-only in Buildchain: agents can discover and read the KFD-4 schema from
48
- `@kungfu-tech/kfd`, but Buildchain does not claim KFD-4 verification.
53
+ KFD-1, KFD-2, and KFD-3 have concrete Buildchain workflows. KFD-4, KFD-5, and
54
+ KFD-7 additionally have product-evidence gates backed by the installed KFD
55
+ package and its offline WASM verifier. These gates verify exact source,
56
+ freshness, record bytes, negative evidence, and product-owned responsibility;
57
+ they do not self-qualify, self-certify, activate, or silently widen support.
58
+ KFD-6 remains an explicit unsupported barrier. KFD-8 through KFD-13 remain
59
+ draft adopter-evidence barriers until their standards and product gates mature.
60
+
61
+ ## KFD-4 / KFD-5 / KFD-7 Product Gates
62
+
63
+ Each gate input uses
64
+ `kungfu-buildchain-kfd-product-gate-input` version 1 and binds repository-relative
65
+ KFD records and evidence by SHA-256. The result uses
66
+ `kungfu-buildchain-kfd-product-gate` version 1 and always records
67
+ `qualifying: false` and `selfCertified: false`.
68
+
69
+ - KFD-4 requires a verified observer perspective, contrastive perspective
70
+ replay, declared loss, preserved evidence boundaries, projection fsck, and a
71
+ negative fixture.
72
+ - KFD-5 requires an accepted Primitive discovery record whose minimum-closure,
73
+ deletion, fuse, and dogfood tests pass with retained evidence, plus explicit
74
+ falsifiers and a negative fixture.
75
+ - KFD-7 requires a qualified and activated Domain Profile, independent review,
76
+ product witnesses, all 13 evidence obligations, and negative evidence.
77
+
78
+ `buildchain kfd support project` joins the three gate results with the
79
+ product-owned KFD-1..13 matrix. It rejects normative metadata drift, source or
80
+ freshness mismatch, gate/matrix disagreement, KFD-4/5 candidate widening,
81
+ KFD-6 support, KFD-8..13 promotion, or any unsupported shipped-support claim.
49
82
 
50
83
  ## KFD-1
51
84
 
@@ -349,12 +382,15 @@ Inspect KFD-owned schema facts:
349
382
  buildchain kfd schema list --json
350
383
  buildchain kfd schema show kfd-1 --json
351
384
  buildchain kfd 4 schema --json
385
+ buildchain kfd 5 schema --json
386
+ buildchain kfd 7 schema --json
352
387
  ```
353
388
 
354
389
  The KFD schema namespace is discovered from `@kungfu-tech/kfd/standards.json`.
355
390
  For KFD-2 this includes `trustClaims`, `trustAssessment`, `trustTaxonomy`,
356
- `releaseClaims`, and `releaseTrustPassport`. For KFD-4 Buildchain currently
357
- exposes the KFD-owned `observerPerspective` schema only.
391
+ `releaseClaims`, and `releaseTrustPassport`. KFD-4 exposes both
392
+ `observerPerspective` and `perspectiveReplay`; KFD-5 exposes
393
+ `primitiveDiscovery`; KFD-7 exposes `domainProfileDeclaration`.
358
394
 
359
395
  Detect public surface candidates:
360
396
 
@@ -380,6 +380,21 @@ inspect `buildchain.release.json` and know whether the released package
380
380
  actually exposes no more and no less than the declared collaboration interface,
381
381
  instead of trusting docs or release notes.
382
382
 
383
+ ### KFD support projection
384
+
385
+ Pass `--kfd-support-matrix-json` together with three
386
+ `--kfd-product-gate-json` arguments for KFD-4, KFD-5, and KFD-7. The collector
387
+ verifies the product-owned KFD-1..13 matrix against the installed
388
+ `@kungfu-tech/kfd` standards, binds each gate to the exact release source and
389
+ fresh evidence cut, and emits `kfd-support.json`. The identical projection is
390
+ embedded as `kfdSupport` in `buildchain.release.json`.
391
+
392
+ Release verification fails closed when the sibling is missing or differs,
393
+ when a gate expires, when matrix and gate status disagree, or when a matrix
394
+ widens KFD-4/5 candidate, KFD-6 unsupported, KFD-8..13 draft, or any non-shipped
395
+ state. A passed projection is release evidence only; product qualification,
396
+ activation, certification, and support ownership remain outside Buildchain.
397
+
383
398
  ### Floating Buildchain contract lock
384
399
 
385
400
  KFD-1 protects release payload surfaces. Floating ref contract locks protect the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kungfu-tech/buildchain",
3
- "version": "3.0.1",
3
+ "version": "3.0.2-alpha.0",
4
4
  "private": false,
5
5
  "description": "Buildchain Release Passport, release governance, CLI toolkit, and site facts.",
6
6
  "repository": "https://github.com/kungfu-systems/buildchain",
@@ -25,6 +25,7 @@
25
25
  "./homebrew": "./packages/core/homebrew.js",
26
26
  "./issue-reporting": "./packages/core/issue-reporting.js",
27
27
  "./kfd": "./packages/core/kfd.js",
28
+ "./kfd-product-gates": "./packages/core/kfd-product-gates.js",
28
29
  "./kfd-agent-hub": "./packages/core/kfd-agent-hub.js",
29
30
  "./buildchain-layout": "./packages/core/buildchain-layout.js",
30
31
  "./release-line-bootstrap": "./packages/core/release-line-bootstrap.js",
@@ -66,6 +67,8 @@
66
67
  "./site/release-passport-check-manifest.json": "./dist/site/release-passport-check-manifest.json",
67
68
  "./site/schemas/release-passport-v1.schema.json": "./dist/site/schemas/release-passport-v1.schema.json",
68
69
  "./site/schemas/kfd-agent-hub-adoption.schema.json": "./dist/site/schemas/kfd-agent-hub-adoption.schema.json",
70
+ "./site/schemas/kfd-product-gate-input-v1.schema.json": "./dist/site/schemas/kfd-product-gate-input-v1.schema.json",
71
+ "./site/schemas/kfd-support-projection-v1.schema.json": "./dist/site/schemas/kfd-support-projection-v1.schema.json",
69
72
  "./site/buildchain-contract.json": "./dist/site/buildchain-contract.json",
70
73
  "./site/product-mechanism.json": "./dist/site/product-mechanism.json",
71
74
  "./site/release-provenance.json": "./dist/site/release-provenance.json",
@@ -95,7 +98,7 @@
95
98
  },
96
99
  "packageManager": "pnpm@11.7.0",
97
100
  "scripts": {
98
- "check": "node scripts/check-inventory.mjs && pnpm run check:site && pnpm run check:workflows && pnpm run test:unit && node scripts/check-action-bundles.mjs",
101
+ "check": "node scripts/check-internal-architecture.mjs && node scripts/check-inventory.mjs && pnpm run check:site && pnpm run check:workflows && pnpm run test:unit && node scripts/check-action-bundles.mjs",
99
102
  "check:workflows": "bash scripts/check-workflows.sh",
100
103
  "generate:site": "node scripts/generate-site-bundle.mjs",
101
104
  "check:site": "node scripts/generate-site-bundle.mjs --check",
@@ -113,7 +116,7 @@
113
116
  "vitest": "^4.1.9"
114
117
  },
115
118
  "dependencies": {
116
- "@kungfu-tech/kfd": "1.0.0-alpha.41",
119
+ "@kungfu-tech/kfd": "1.0.0-alpha.47",
117
120
  "smol-toml": "1.7.0"
118
121
  }
119
122
  }
@@ -370,6 +370,23 @@ export {
370
370
  testKfdAgentHub,
371
371
  } from "./kfd-agent-hub.js";
372
372
 
373
+ export {
374
+ KFD_PRODUCT_GATE_CONTRACT,
375
+ KFD_PRODUCT_GATE_INPUT_CONTRACT,
376
+ KFD_PRODUCT_GATE_INPUT_SCHEMA,
377
+ KFD_PRODUCT_GATE_INPUT_SCHEMA_ID,
378
+ KFD_SUPPORT_PROJECTION_CONTRACT,
379
+ KFD_SUPPORT_PROJECTION_SCHEMA,
380
+ KFD_SUPPORT_PROJECTION_SCHEMA_ID,
381
+ createKfdSupportProjection,
382
+ evaluateKfdProductGate,
383
+ kfdProductGateDigest,
384
+ kfdProductGates,
385
+ validateKfdProductGateResult,
386
+ validateKfdSupportProjection,
387
+ verifyKfdRecord,
388
+ } from "./kfd-product-gates.js";
389
+
373
390
  export {
374
391
  RELEASE_PASSPORT_CHECK_MANIFEST_CONTRACT,
375
392
  RELEASE_PASSPORT_SCHEMA,