@kungfu-tech/buildchain 2.12.0 → 2.12.1-alpha.10

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 (42) hide show
  1. package/bin/buildchain.mjs +18 -0
  2. package/dist/site/buildchain-contract.json +8 -8
  3. package/dist/site/buildchain-site.json +92 -26
  4. package/dist/site/capability-registry.json +5 -5
  5. package/dist/site/cli-registry.json +12 -0
  6. package/dist/site/kfd-claims.json +182 -14
  7. package/dist/site/kfd-upstream-aggregate.json +1 -1
  8. package/dist/site/manual-registry.json +8 -7
  9. package/dist/site/node-api-registry.json +20 -7
  10. package/dist/site/page-registry.json +81 -15
  11. package/dist/site/public-surface-audit.json +95 -10
  12. package/dist/site/publication-registry.json +4 -4
  13. package/dist/site/release-provenance.json +1 -0
  14. package/dist/site/site-manifest.json +11 -11
  15. package/dist/site/workflow-registry.json +68 -3
  16. package/docs/MAP.md +3 -0
  17. package/docs/binary-distribution.md +20 -1
  18. package/docs/cli.md +17 -0
  19. package/docs/kfd-support.md +44 -1
  20. package/docs/lifecycle-protocol.md +12 -0
  21. package/docs/release-governance.md +23 -0
  22. package/docs/reusable-build-surface.md +69 -0
  23. package/docs/stable-candidate-patrol.md +188 -0
  24. package/package.json +3 -1
  25. package/packages/core/buildchain-config.js +58 -0
  26. package/packages/core/buildchain-kfd-claims.js +51 -2
  27. package/packages/core/buildchain-layout.js +46 -0
  28. package/packages/core/index.js +19 -0
  29. package/packages/core/kfd3-surface-register.js +59 -2
  30. package/packages/core/stable-candidate-ledger.js +276 -0
  31. package/scripts/build-standalone-binary.mjs +2 -1
  32. package/scripts/check-inventory.mjs +4 -1
  33. package/scripts/generate-site-bundle.mjs +9 -1
  34. package/scripts/init-repo.mjs +1 -1
  35. package/scripts/locked-source-checkout.mjs +52 -12
  36. package/scripts/npm-publish-dry-run.mjs +1 -1
  37. package/scripts/publication-artifact.mjs +1 -1
  38. package/scripts/publication-package.mjs +1 -1
  39. package/scripts/release-propagation.mjs +1 -1
  40. package/scripts/stable-candidate-patrol.mjs +448 -0
  41. package/scripts/stable-candidate-policy.mjs +25 -0
  42. package/scripts/stable-candidate-qualification.mjs +239 -0
@@ -86,6 +86,7 @@ import {
86
86
  queryKfd3Capabilities,
87
87
  registerKfd3Surfaces,
88
88
  } from "../packages/core/kfd3-surface-register.js";
89
+ import { createBuildchainLayoutDiscovery } from "../packages/core/buildchain-layout.js";
89
90
 
90
91
  const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..");
91
92
  const embeddedPackageVersion = process.env.BUILDCHAIN_EMBEDDED_PACKAGE_VERSION || "";
@@ -94,6 +95,7 @@ function usage() {
94
95
  return `Usage:
95
96
  buildchain --help
96
97
  buildchain version
98
+ buildchain layout [--cwd <dir>] [--json]
97
99
  buildchain init [--cwd <dir>] [--type package|native|web-surface|infra-contract|publication-artifact|anchored-package] [--force]
98
100
  [--package-manager pnpm|npm|yarn] [--runner-preset <preset>]
99
101
  [--artifact-name <template>]
@@ -1276,6 +1278,22 @@ async function main(argv = process.argv.slice(2)) {
1276
1278
  return;
1277
1279
  }
1278
1280
 
1281
+ if (command === "layout") {
1282
+ const result = createBuildchainLayoutDiscovery({
1283
+ cwd: readFlag(args, "cwd", process.cwd()),
1284
+ buildchainVersion: packageVersion(),
1285
+ });
1286
+ if (readBooleanFlag(args, "json")) {
1287
+ printJson(result);
1288
+ } else {
1289
+ process.stdout.write(`Buildchain layout (${result.buildchain.version || "unknown"})\n`);
1290
+ process.stdout.write(`- config: ${result.repository.configPath}\n`);
1291
+ process.stdout.write(`- KFD-3 registry: ${result.kfd.registries["kfd-3"].path}\n`);
1292
+ process.stdout.write(`- Shifu jurisdiction: ${result.shifu.jurisdiction.field}=${result.shifu.jurisdiction.value}\n`);
1293
+ }
1294
+ return;
1295
+ }
1296
+
1279
1297
  if (command === "init") {
1280
1298
  const result = initBuildchainRepo({
1281
1299
  cwd: readFlag(args, "cwd", process.cwd()),
@@ -4,7 +4,7 @@
4
4
  "product": {
5
5
  "name": "Buildchain",
6
6
  "package": "@kungfu-tech/buildchain",
7
- "version": "2.12.0",
7
+ "version": "2.12.1-alpha.10",
8
8
  "repository": "https://github.com/kungfu-systems/buildchain"
9
9
  },
10
10
  "majorLine": "v2",
@@ -50,7 +50,7 @@
50
50
  "retryable GitHub fallback fetches use a bounded attempt budget before exact source SHA and tree verification"
51
51
  ],
52
52
  "breakingDigest": "sha256:a6a35370d6b0d0f46e1b2712dcc01961fe53c2febde95409a27a485c10a36650",
53
- "auditDigest": "sha256:39937bb295433612f03174854aa8939aeda2e106c3e77d8f109d4e80989d9e45"
53
+ "auditDigest": "sha256:f74dbced849a6864e38a68d5c2b2444a5cd8027cd9b4a759b189798261d99d4c"
54
54
  },
55
55
  {
56
56
  "contractVersion": 1,
@@ -89,7 +89,7 @@
89
89
  "alpha and stable channel selections use separate consumer contract locks by default"
90
90
  ],
91
91
  "breakingDigest": "sha256:c4597dfa89e1a58f1023905092b849644f5c080abf150aeba9c7e1cd5ed43962",
92
- "auditDigest": "sha256:421dc3ff2c95da3a5d556281af3f2918f08cfd8782a0c968e8465ca0e09d3afb"
92
+ "auditDigest": "sha256:008bac87eb7f47f172f394aba3a42e5b429abd2ccc2a5cd2d090f4a92f773314"
93
93
  },
94
94
  {
95
95
  "contractVersion": 1,
@@ -136,7 +136,7 @@
136
136
  "GitHub Release passport and evidence publication is delegated to promote-buildchain-ref after the semver release transaction completes"
137
137
  ],
138
138
  "breakingDigest": "sha256:6dbae32ce3d7aab3be6957065105af574794581847b7637314dad45f5349c919",
139
- "auditDigest": "sha256:489f399f6ae7e3270a495daf9f0275d0f8c07c26f7f02a29cec45980f8332792"
139
+ "auditDigest": "sha256:960c4d986f3bfd1c31681c3a3b9fa0bc00d24b5b1c0ac1fa3b44caebb24d3452"
140
140
  },
141
141
  {
142
142
  "contractVersion": 1,
@@ -391,7 +391,7 @@
391
391
  "README badge block checks and writes are generated from machine-readable repository facts"
392
392
  ],
393
393
  "breakingDigest": "sha256:90a73892b2d6c214048448d5f45df75639bdf7b7e8fefd9c596e04b087407bcc",
394
- "auditDigest": "sha256:5431da4333bb46ed59a8f3ed3abc3c8595140e3159cb72529bff17042d2d8467"
394
+ "auditDigest": "sha256:6f93795854b6d1048d88ca03ec050745e2e1899251dd68a0f625a63c7db1ac83"
395
395
  },
396
396
  {
397
397
  "contractVersion": 1,
@@ -481,7 +481,7 @@
481
481
  "manual entries carry source file digests so downstream sites and agents can detect stale hand-written documentation"
482
482
  ],
483
483
  "breakingDigest": "sha256:7d0d2819e3a3e72989d9c57b5efe9d0bc0a79bc0f2c82a0c7b9d6c5a211a91f2",
484
- "auditDigest": "sha256:514363aee40e515e12f82a7e90b017c8faf2ec468485cefff5644e16f5081071"
484
+ "auditDigest": "sha256:c9e3b99619b12fd3fb8527f95f096c43aca41ba3d177876abc1993485ccc6f1d"
485
485
  },
486
486
  {
487
487
  "contractVersion": 1,
@@ -503,9 +503,9 @@
503
503
  "agents can discover supported Node APIs without importing internal file paths"
504
504
  ],
505
505
  "breakingDigest": "sha256:48f925608d3e2131d90936b07dc2a30341204cae3e6e785c0f77d61ad755c945",
506
- "auditDigest": "sha256:2433974dd4930e8277d6138a73dad67d461c0031339b15f76654b4e1a36a5903"
506
+ "auditDigest": "sha256:af0ca2ff4793556a7d8d2dae1615674a2b76223d44cca577bae2686ba9b1bd8b"
507
507
  }
508
508
  ],
509
509
  "compatibilityDigest": "sha256:2090784977bc7d54fc647215ef73532b9db26147a0b40ec3f56c31d611d806cc",
510
- "contractDigest": "sha256:7baa8a5044e49fea61abba63ef5f7fa3c582cf2c8cde50dd1395d1b1de2f3184"
510
+ "contractDigest": "sha256:01628977c5139bc7df96c42df0f49100fdb6231080f1e0c8af58a7d56df40046"
511
511
  }