@kungfu-tech/buildchain 4.0.2-alpha.30 → 4.0.2-alpha.33

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 (44) hide show
  1. package/architecture/agent-change-map.md +4 -1
  2. package/architecture/maintainability-debt.json +90 -58
  3. package/architecture/maintainability-policy.json +22 -23
  4. package/architecture/v4-architecture-constitution.md +23 -20
  5. package/architecture/v4-partial-mutation-recovery-qualification.json +4 -1
  6. package/architecture/v4-provider-operation-journal-contract.json +5 -2
  7. package/architecture/v4-release-activation-shadow-domain.json +5 -2
  8. package/architecture/v4-release-topology.json +17 -2
  9. package/architecture/v4-rust-wasm-production-authority.json +57 -0
  10. package/architecture/v4-stable-publication-fence.json +5 -2
  11. package/dist/site/buildchain-contract.json +7 -7
  12. package/dist/site/buildchain-site.json +44 -8
  13. package/dist/site/capability-registry.json +1 -1
  14. package/dist/site/kfd-claims.json +17 -5
  15. package/dist/site/kfd-upstream-aggregate.json +1 -1
  16. package/dist/site/manual-registry.json +1 -1
  17. package/dist/site/node-api-registry.json +27 -27
  18. package/dist/site/page-registry.json +39 -3
  19. package/dist/site/public-surface-audit.json +7 -3
  20. package/dist/site/publication-registry.json +4 -4
  21. package/dist/site/site-manifest.json +5 -5
  22. package/dist/site/workflow-registry.json +4 -4
  23. package/docs/node-api-reference.md +60 -60
  24. package/docs/v4-rust-wasm-production-authority.md +58 -0
  25. package/package.json +5 -3
  26. package/packages/core/buildchain-v4-domain.wasm +0 -0
  27. package/packages/core/dev-delivery-candidate-identity.js +48 -11
  28. package/packages/core/release-tail-provider-plane.js +68 -1048
  29. package/packages/core/v4-canonical-contracts.js +9 -75
  30. package/packages/core/v4-domain-wasm-artifact.js +7 -0
  31. package/packages/core/v4-domain-wasm.js +216 -0
  32. package/packages/core/v4-partial-mutation-recovery-qualification.js +9 -386
  33. package/packages/core/v4-product-publication.js +18 -384
  34. package/packages/core/v4-provider-operation-journal.js +18 -487
  35. package/packages/core/v4-provider-readback-idempotency.js +12 -97
  36. package/packages/core/v4-release-activation-shadow.js +13 -500
  37. package/packages/core/v4-release-invocation.js +28 -389
  38. package/packages/core/v4-stable-publication-fence.js +13 -342
  39. package/scripts/build-v4-domain-wasm.mjs +189 -0
  40. package/scripts/check-action-bundles.mjs +12 -2
  41. package/scripts/check-v4-release-topology.mjs +50 -25
  42. package/scripts/copy-v4-domain-wasm.mjs +14 -0
  43. package/scripts/dev-delivery-warrant.mjs +7 -3
  44. package/scripts/generate-v4-universal-workflow-facades.mjs +28 -4
@@ -0,0 +1,14 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+
5
+ const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..");
6
+ const destination = path.resolve(process.argv[2] || "");
7
+ if (!process.argv[2] || path.basename(destination) !== "dist") {
8
+ throw new Error("usage: copy-v4-domain-wasm.mjs ACTION_DIST_DIRECTORY");
9
+ }
10
+ fs.mkdirSync(destination, { recursive: true });
11
+ fs.copyFileSync(
12
+ path.join(root, "packages", "core", "buildchain-v4-domain.wasm"),
13
+ path.join(destination, "buildchain-v4-domain.wasm"),
14
+ );
@@ -206,9 +206,13 @@ function transitionFor(command, queue, options) {
206
206
  "pullRequestNumber",
207
207
  ),
208
208
  sourceHead: exactSha(options.sourceHead, "sourceHead"),
209
- sourceRoot: options.sourceRoot,
210
- assignmentRoot: options.assignmentRoot,
211
- initiativeRoot: options.initiativeRoot,
209
+ ...(options.sourceRoot ? { sourceRoot: options.sourceRoot } : {}),
210
+ ...(options.assignmentRoot
211
+ ? { assignmentRoot: options.assignmentRoot }
212
+ : {}),
213
+ ...(options.initiativeRoot
214
+ ? { initiativeRoot: options.initiativeRoot }
215
+ : {}),
212
216
  sourceIdentityRoot: exactRoot(
213
217
  options.sourceIdentityRoot,
214
218
  "sourceIdentityRoot",
@@ -91,8 +91,13 @@ function frozenFacadeSource(relative) {
91
91
  });
92
92
  }
93
93
 
94
- function isChannelGeneratedFacade(relative) {
95
- return (contract.migration.channelGeneratedFacades || []).includes(relative);
94
+ const mutableFacades = new Set([
95
+ ...(contract.migration.channelGeneratedFacades || []),
96
+ ".github/workflows/dev-pr-auto-merge.yml",
97
+ ]);
98
+
99
+ function isMutableFacade(relative) {
100
+ return mutableFacades.has(relative);
96
101
  }
97
102
 
98
103
  function addUniversalInput(source, relative) {
@@ -177,8 +182,27 @@ function guardCompatibilityJobs(source, relative) {
177
182
  : `${withGuards.slice(0, bodyStart)}${bootstrapJob}${withGuards.slice(bodyStart)}`;
178
183
  }
179
184
 
185
+ function addRuntimeBootstrapDependencies(source, relative) {
186
+ if (
187
+ relative !== ".github/workflows/.build.yml" ||
188
+ source.includes(
189
+ ".buildchain/workflow-shell/scripts/github-output.mjs\n",
190
+ )
191
+ )
192
+ return source;
193
+ const anchor =
194
+ " .buildchain/workflow-shell/scripts/build-contract-core.mjs\n";
195
+ return source.replace(
196
+ anchor,
197
+ `${anchor} .buildchain/workflow-shell/scripts/github-output.mjs\n`,
198
+ );
199
+ }
200
+
180
201
  export function migrateV4UniversalWorkflowFacade(source, relative) {
181
- return guardCompatibilityJobs(addUniversalInput(source, relative), relative);
202
+ return guardCompatibilityJobs(
203
+ addUniversalInput(addRuntimeBootstrapDependencies(source, relative), relative),
204
+ relative,
205
+ );
182
206
  }
183
207
 
184
208
  function verify(source, relative) {
@@ -200,7 +224,7 @@ function verify(source, relative) {
200
224
  if (!block.includes("inputs.universal-request-json == ''"))
201
225
  fail(`${relative}#${header[1]} can overlap universal execution`);
202
226
  }
203
- if (!isChannelGeneratedFacade(relative)) {
227
+ if (!isMutableFacade(relative)) {
204
228
  const expected = migrateV4UniversalWorkflowFacade(
205
229
  frozenFacadeSource(relative),
206
230
  relative,