@kungfu-tech/buildchain 3.0.9-alpha.0 → 3.0.9-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 (117) hide show
  1. package/bin/buildchain.mjs +9 -1
  2. package/contracts/dev-delivery-authority-v2.schema.json +253 -0
  3. package/contracts/fixtures/kfd-adopter-release-v1/kfd-4-perspective.json +16 -0
  4. package/contracts/fixtures/kfd-adopter-release-v1/kfd-4-replay.json +57 -0
  5. package/contracts/fixtures/next-development-transition-v1/anchored-manual-waiting.json +47 -0
  6. package/contracts/fixtures/next-development-transition-v1/semver-auto-planned.json +47 -0
  7. package/contracts/fixtures/next-development-transition-v1/version-model-cases.json +40 -0
  8. package/contracts/next-development-request-v1.schema.json +66 -0
  9. package/contracts/next-development-transition-v1.schema.json +292 -0
  10. package/contracts/release-cut-v1.schema.json +1 -0
  11. package/contracts/release-train-transition-v1.schema.json +1 -0
  12. package/dist/site/agent-index.json +1 -0
  13. package/dist/site/artifact-schemas.json +2 -0
  14. package/dist/site/buildchain-contract.json +91 -32
  15. package/dist/site/buildchain-site.json +353 -45
  16. package/dist/site/capability-registry.json +7 -6
  17. package/dist/site/cli-registry.json +41 -2
  18. package/dist/site/controller-registry.json +8 -4
  19. package/dist/site/kfd-claims.json +193 -9
  20. package/dist/site/kfd-upstream-aggregate.json +9 -9
  21. package/dist/site/manual-registry.json +26 -10
  22. package/dist/site/node-api-registry.json +8012 -4574
  23. package/dist/site/page-registry.json +331 -31
  24. package/dist/site/public-surface-audit.json +353 -8
  25. package/dist/site/publication-registry.json +4 -4
  26. package/dist/site/release-passport-check-manifest.json +1 -0
  27. package/dist/site/release-provenance.json +12 -0
  28. package/dist/site/schemas/dev-delivery-authority-v2.schema.json +442 -0
  29. package/dist/site/schemas/release-passport-v1.schema.json +3 -0
  30. package/dist/site/site-manifest.json +22 -14
  31. package/dist/site/workflow-registry.json +15 -7
  32. package/docs/MAP.md +5 -2
  33. package/docs/adopter-delivery-gate.md +106 -0
  34. package/docs/aws-us-elastic-runner-burst-plane.md +30 -3
  35. package/docs/cli-reference.md +200 -13
  36. package/docs/dev-alpha-candidate-patrol.md +8 -0
  37. package/docs/dev-delivery-qualification-landing-adr.md +137 -0
  38. package/docs/dev-delivery-warrant.md +164 -27
  39. package/docs/kfd-support.md +7 -2
  40. package/docs/next-development-transition.md +119 -0
  41. package/docs/node-api-reference.md +464 -277
  42. package/docs/release-governance.md +10 -7
  43. package/docs/release-passport.md +15 -2
  44. package/docs/release-train.md +46 -4
  45. package/docs/reusable-build-surface.md +26 -9
  46. package/docs/runtime-train-validation.md +6 -0
  47. package/docs/versioning.md +6 -2
  48. package/package.json +21 -6
  49. package/packages/core/README.md +25 -0
  50. package/packages/core/adopter-delivery-gate.js +576 -0
  51. package/packages/core/adopter-delivery-json.js +66 -0
  52. package/packages/core/adopter-delivery-passport.js +259 -0
  53. package/packages/core/adopter-delivery-vectors.js +158 -0
  54. package/packages/core/adopter-delivery-vectors.json +77 -0
  55. package/packages/core/artifact-verification-envelope.js +5 -5
  56. package/packages/core/buildchain-agent-manuals.js +1 -0
  57. package/packages/core/buildchain-channel-identity.js +118 -0
  58. package/packages/core/buildchain-compatibility-proof.js +54 -0
  59. package/packages/core/buildchain-contract.js +7 -0
  60. package/packages/core/buildchain-delivery-bootstrap.js +240 -0
  61. package/packages/core/buildchain-delivery-infrastructure.js +164 -0
  62. package/packages/core/channel-candidate.js +8 -0
  63. package/packages/core/channel-promotion-baseline.js +52 -0
  64. package/packages/core/controller-evidence.js +2 -1
  65. package/packages/core/dev-alpha-candidate-selection.js +10 -2
  66. package/packages/core/dev-delivery-authority.js +996 -0
  67. package/packages/core/dev-delivery-native-proof.js +418 -0
  68. package/packages/core/dev-delivery-warrant-settlement.js +67 -20
  69. package/packages/core/dev-delivery-warrant.js +141 -48
  70. package/packages/core/kfd-adopter-category-driver.js +167 -0
  71. package/packages/core/kfd-adopter-manifest.js +49 -50
  72. package/packages/core/legacy-kfd-adopter-driver.js +167 -0
  73. package/packages/core/next-development-candidate-reservation.js +186 -0
  74. package/packages/core/next-development-controller.js +726 -0
  75. package/packages/core/next-development-projection.js +288 -0
  76. package/packages/core/next-development-transition.js +738 -0
  77. package/packages/core/paper-agent-entry.js +7 -4
  78. package/packages/core/paper.js +14 -7
  79. package/packages/core/release-blocker-priority.js +192 -0
  80. package/packages/core/release-passport-contract.js +10 -6
  81. package/packages/core/release-passport.js +29 -12
  82. package/packages/core/release-train.js +220 -0
  83. package/scripts/aws-macos-jit-controller-core.mjs +239 -4
  84. package/scripts/aws-macos-jit-controller.mjs +198 -2
  85. package/scripts/aws-macos-jit-instance-rehydrate.mjs +260 -0
  86. package/scripts/aws-macos-jit-source-rebind.mjs +235 -14
  87. package/scripts/aws-macos-jit.mjs +12 -0
  88. package/scripts/buildchain-channel-router.mjs +18 -2
  89. package/scripts/buildchain-cli-help.mjs +9 -2
  90. package/scripts/buildchain-contract-lock.mjs +11 -1
  91. package/scripts/check-internal-architecture.mjs +1 -0
  92. package/scripts/check-inventory.mjs +14 -3
  93. package/scripts/dev-alpha-candidate-patrol.mjs +22 -1
  94. package/scripts/dev-delivery-authority.mjs +368 -0
  95. package/scripts/dev-delivery-native-run.mjs +235 -0
  96. package/scripts/dev-delivery-proof.mjs +64 -2
  97. package/scripts/dev-delivery-two-phase-resume.mjs +90 -0
  98. package/scripts/dev-delivery-two-phase.mjs +577 -0
  99. package/scripts/dev-delivery-warrant.mjs +47 -5
  100. package/scripts/dev-pr-delivery-warrant.mjs +19 -14
  101. package/scripts/generate-buildchain-kfd-witnesses.mjs +88 -94
  102. package/scripts/generate-channel-build-workflow.mjs +82 -31
  103. package/scripts/generate-next-development-guidance.mjs +49 -0
  104. package/scripts/generate-site-bundle.mjs +8 -3
  105. package/scripts/init-repo.mjs +135 -62
  106. package/scripts/next-development-self-dogfood-harness.mjs +409 -0
  107. package/scripts/next-development-self-dogfood.mjs +532 -0
  108. package/scripts/next-development-transition.mjs +47 -0
  109. package/scripts/promotion-channel-router.mjs +5 -3
  110. package/scripts/release-candidate-tail-reseal.mjs +426 -0
  111. package/scripts/release-train-self-dogfood.mjs +579 -0
  112. package/scripts/runtime-ref-core.mjs +4 -17
  113. package/scripts/seal-artifact-signing-requests.mjs +7 -4
  114. package/scripts/site-capability-metadata.mjs +23 -1
  115. package/scripts/stable-candidate-qualification.mjs +7 -7
  116. package/scripts/workflow-call-contract.mjs +1 -1
  117. package/templates/native-dev-delivery.yml +86 -0
@@ -92,6 +92,17 @@ export function cliCommandMeta(id) {
92
92
  "kfd-upstream-roles": { group: "kfd-trust", purpose: "List Buildchain-managed KFD upstream role values and inference policy." },
93
93
  lifecycle: { group: "reusable-build", purpose: "Run configured lifecycle commands and write deterministic artifact manifests." },
94
94
  dev: { group: "governance-versioning", purpose: "Inspect protected development-channel governance command families." },
95
+ "dev-authority-admit-merge-group": { group: "governance-versioning", purpose: "Verify that one exact candidate holds the exclusive Landing Warrant before merge_group admission." },
96
+ "dev-authority-complete-qualification": { group: "governance-versioning", purpose: "Bind qualification evidence and release one bounded Qualification Lease without granting landing authority." },
97
+ "dev-authority-heartbeat-landing": { group: "governance-versioning", purpose: "Extend the exact fenced Landing Warrant while final landing work remains live." },
98
+ "dev-authority-heartbeat-qualification": { group: "governance-versioning", purpose: "Extend one exact fenced Qualification Lease while qualification work remains live." },
99
+ "dev-authority-lease-landing": { group: "governance-versioning", purpose: "Issue or retain the single exclusive Landing Warrant for a qualified candidate." },
100
+ "dev-authority-lease-qualification": { group: "governance-versioning", purpose: "Issue one qualification-only lease within the configured bounded lane count." },
101
+ "dev-authority-migrate": { group: "governance-versioning", purpose: "Migrate one exact v1 Warrant state into v2 without rewriting candidate or fencing evidence." },
102
+ "dev-authority-observe": { group: "governance-versioning", purpose: "Read bounded Qualification Leases and the exclusive Landing Warrant without mutating authority." },
103
+ "dev-authority-recover": { group: "governance-versioning", purpose: "Recover expired qualification or Landing authority and emit one rooted wake instruction." },
104
+ "dev-authority-settle": { group: "governance-versioning", purpose: "Settle terminal candidate evidence idempotently and release held qualification or Landing authority immediately." },
105
+ "dev-authority-submit": { group: "governance-versioning", purpose: "Submit an exact candidate to the opt-in bounded-qualification authority state." },
95
106
  "dev-proof-classify": { group: "governance-versioning", purpose: "Classify source-qualified candidate changes against a current integration base." },
96
107
  "dev-proof-integration": { group: "governance-versioning", purpose: "Seal final exact integration delivery proof for a warranted candidate." },
97
108
  "dev-proof-replay": { group: "governance-versioning", purpose: "Replay source qualification against a Project Cut without rewriting candidate source." },
@@ -174,7 +185,8 @@ export function nodeApiMeta(exportName) {
174
185
  "./build-facts": { group: "observability-diagnostics", summary: "Git source, version, module output, product artifact, and legacy Kungfu build fact APIs." },
175
186
  "./candidate-timeline": { group: "observability-diagnostics", summary: "Source-bound candidate event normalization, per-attempt critical-path-safe aggregation, and compact reporting APIs." },
176
187
  "./channel-candidate": { group: "governance-versioning", summary: "Exact-source channel candidate decisions, same-SHA workflow evidence validation, and deterministic source-lock reference APIs." },
177
- "./dev-delivery-warrant": { group: "governance-versioning", summary: "Durable fair Dev Delivery Warrant queue, fenced lease, and split source and integration proof APIs." },
188
+ "./dev-delivery-authority": { group: "governance-versioning", summary: "Opt-in bounded Qualification Lease, exclusive Landing Warrant, exact v1 migration, admission, and terminal settlement APIs." },
189
+ "./dev-delivery-warrant": { group: "governance-versioning", summary: "Durable single-flight Warrant queue, fenced lease, and split source and integration proof APIs." },
178
190
  "./cache-evidence": { group: "observability-diagnostics", summary: "Content-addressed cache operation receipts and source/platform-bound evidence-set verification APIs." },
179
191
  "./diagnostics": { group: "observability-diagnostics", summary: "Native diagnostics collection, summarization, cache, compiler, and process-sampler APIs." },
180
192
  "./logging": { group: "observability-diagnostics", summary: "Buildchain JSONL logging, span, summary, and verification APIs." },
@@ -203,6 +215,9 @@ export function nodeApiMeta(exportName) {
203
215
  "./release-candidate": { group: "reusable-build", summary: "PR-stage release-candidate artifact, passport, and promote-only resolver APIs." },
204
216
  "./release-candidate-recovery": { group: "release-passport-trust", summary: "Fail-closed verification and immutable receipts for reusing a successful sealed candidate run without rebuilding product payloads." },
205
217
  "./release-train": { group: "governance-versioning", summary: "Frozen Release Cut identity, rooted Release Train transitions, Dev observations, supersession, replay, and legacy read compatibility APIs." },
218
+ "./next-development-transition": { group: "governance-versioning", summary: "Provider-neutral completed-Alpha preservation and rooted next-development state, version-model, idempotency, and local materialization APIs." },
219
+ "./next-development-controller": { group: "governance-versioning", summary: "Durable completed-Alpha child scheduling, fresh-runner checkpoint resume, latest protected-Dev reconciliation, and exact version-root readback APIs." },
220
+ "./next-development-projection": { group: "governance-versioning", summary: "Canonical generated config, Agent, and manual projections for the next-development transition contract." },
206
221
  "./stable-candidate-ledger": { group: "governance-versioning", summary: "Immutable alpha candidate ledger, qualification, revocation, selection, and exact stable source-lock APIs." },
207
222
  "./release-propagation": { group: "site-and-propagation", summary: "Release propagation graph, plan, and exact upstream lock APIs." },
208
223
  "./release-activation-transaction": { group: "release-passport-trust", summary: "Ordered cross-repository activation, exact receipt-set binding, retry, abort, rollback, and shadow-rehearsal APIs." },
@@ -219,6 +234,13 @@ export function nodeApiMeta(exportName) {
219
234
  "./buildchain-layout": { group: "kfd-trust", summary: "Versioned Buildchain repository-layout discovery contract plus canonical .buildchain path resolution and migration APIs." },
220
235
  "./kfd": { group: "kfd-trust", summary: "Unified KFD standards, schema discovery, KFD-1/KFD-2/KFD-3 grouped APIs, KFD-4 schema discovery, upstream KFD aggregate facts, and Buildchain KFD claim helpers." },
221
236
  "./kfd-adopter-manifest": { group: "kfd-trust", summary: "Exact-cut KFD adopter manifest verification, Buildchain evidence binding, and one-way legacy support-matrix projection APIs." },
237
+ "./adopter-delivery-gate": { group: "release-passport-trust", summary: "Protocol-neutral exact-driver and explicit artifact-profile delivery gate APIs." },
238
+ "./kfd-adopter-category-driver": { group: "kfd-trust", summary: "Thin delivery driver over exact published KFD category profiles and instance verification." },
239
+ "./buildchain-delivery-infrastructure": { group: "kfd-trust", summary: "Buildchain-owned delivery-infrastructure category instance construction and published-KFD verification APIs." },
240
+ "./buildchain-delivery-bootstrap": { group: "release-passport-trust", summary: "Anti-circular protected N-1 bootstrap evidence verification for one exact Buildchain delivery-infrastructure candidate." },
241
+ "./legacy-kfd-adopter-driver": { group: "kfd-trust", summary: "Explicit one-way legacy standard adopter manifest and support-matrix delivery adapter." },
242
+ "./adopter-delivery-passport": { group: "release-passport-trust", summary: "Exact adopter delivery gate binding and Release Passport evidence verification APIs." },
243
+ "./adopter-delivery-vectors": { group: "release-passport-trust", summary: "Rooted golden, negative, fault, and offline replay vector suite APIs." },
222
244
  "./kfd-adopter-release-binding": { group: "kfd-trust", summary: "Release Passport and artifact-evidence binding for one exact standard adopter manifest closure." },
223
245
  "./kfd-product-gates": { group: "kfd-trust", summary: "Fail-closed KFD-4, KFD-5, and KFD-7 product evidence gates plus non-widening KFD support-matrix release projections." },
224
246
  "./public-surface-audit": { group: "kfd-trust", summary: "Reverse audit APIs for CLI, workflow, action, site page, and documentation command surfaces." },
@@ -1,5 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
+ import { validateHostedSelfDogfoodEvidence } from "./next-development-self-dogfood.mjs";
4
+
3
5
  const DEFAULTS = {
4
6
  buildWorkflowFile: "build-surface-fixture.yml",
5
7
  buildWorkflowName: "Build Surface Fixture",
@@ -48,13 +50,11 @@ export function resolveStableCandidateQualificationCandidate({ eventName, inputC
48
50
  if (text(eventName) !== "workflow_run") {
49
51
  throw new Error(`qualification candidate resolver does not admit event ${eventName || "<empty>"}`);
50
52
  }
51
- const evidence = selfDogfoodEvidence;
52
- if (
53
- evidence?.contract !== "kungfu-buildchain-alpha-self-dogfood"
54
- || evidence?.status !== "passed"
55
- || evidence?.observed?.alpha?.ref !== "v3-alpha"
56
- ) {
57
- throw new Error("self-dogfood evidence is not a passing v3-alpha observation");
53
+ let evidence;
54
+ try {
55
+ evidence = validateHostedSelfDogfoodEvidence(selfDogfoodEvidence);
56
+ } catch (error) {
57
+ throw new Error(`self-dogfood evidence is not a passing rooted v3-alpha observation: ${error.message}`);
58
58
  }
59
59
  const observedSha = optionalSha(evidence.observed.alpha.sha, "observed v3-alpha SHA");
60
60
  const expectedSha = optionalSha(evidence.observed.alpha.expectedSha, "expected v3-alpha SHA");
@@ -6,7 +6,7 @@ import { pathToFileURL } from "node:url";
6
6
  import { evaluateWorkflowCallContract } from "../packages/core/workflow-call-contract.js";
7
7
  import { parseWorkflowDocument } from "../packages/core/workflow-yaml-contract.js";
8
8
 
9
- export const SELF_RELEASE_REF = "769b221bad7a6b9104afad4c2628d9dca396ab0f";
9
+ export const SELF_RELEASE_REF = "cc6c32845ab5779009aeb48cc34efe65e229fe30";
10
10
  export const SELF_RELEASE_PUBLIC_WORKFLOW = `kungfu-systems/buildchain/.github/workflows/release-candidate-promote.yml@${SELF_RELEASE_REF}`;
11
11
 
12
12
  function parityFailure(message) {
@@ -0,0 +1,86 @@
1
+ name: Protected Dev Delivery
2
+
3
+ on:
4
+ repository_dispatch:
5
+ types: [buildchain-dev-delivery-wake]
6
+ workflow_dispatch:
7
+ inputs:
8
+ target-branch:
9
+ description: "Protected dev/vN/vN.M branch"
10
+ required: true
11
+ expected-pr-number:
12
+ description: "Exact ready and approved PR number"
13
+ required: true
14
+ type: number
15
+ expected-head-sha:
16
+ description: "Exact immutable PR head"
17
+ required: true
18
+ source-identity-root:
19
+ description: "Semantic source identity root"
20
+ required: true
21
+ source-patch-root:
22
+ description: "Semantic patch root"
23
+ required: true
24
+ assignment-root:
25
+ description: "Native Assignment root"
26
+ required: true
27
+ initiative-root:
28
+ description: "Parent Initiative root"
29
+ required: true
30
+ plan-root:
31
+ description: "Native qualification plan root"
32
+ required: true
33
+ closure-root:
34
+ description: "Affected closure root"
35
+ required: true
36
+ dependency-root:
37
+ description: "Dependency graph root"
38
+ required: true
39
+ toolchain-root:
40
+ description: "Native toolchain root"
41
+ required: true
42
+ environment-root:
43
+ description: "Native execution environment contract root"
44
+ required: true
45
+ affected-paths-json:
46
+ description: "JSON array representing the affected closure"
47
+ required: true
48
+ native-proof-json:
49
+ description: "Optional reusable native proof"
50
+ required: false
51
+ default: ""
52
+
53
+ permissions:
54
+ actions: write
55
+ contents: write
56
+ pull-requests: write
57
+ checks: read
58
+ statuses: write
59
+
60
+ jobs:
61
+ deliver:
62
+ uses: kungfu-systems/buildchain/.github/workflows/dev-pr-auto-merge.yml@v3
63
+ with:
64
+ target-branch: ${{ github.event.client_payload.candidate.targetBranch || inputs.target-branch }}
65
+ expected-pr-number: ${{ github.event.client_payload.candidate.pullRequestNumber || inputs.expected-pr-number }}
66
+ expected-head-sha: ${{ github.event.client_payload.candidate.sourceHead || inputs.expected-head-sha }}
67
+ source-workflow-run-id: ${{ github.event.client_payload.candidate.sourceWorkflowRunId || github.run_id }}
68
+ delivery-warrant-mode: required
69
+ assignment-root: ${{ github.event.client_payload.candidate.assignmentRoot || inputs.assignment-root }}
70
+ initiative-root: ${{ github.event.client_payload.candidate.initiativeRoot || inputs.initiative-root }}
71
+ source-identity-root: ${{ github.event.client_payload.candidate.sourceIdentityRoot || inputs.source-identity-root }}
72
+ source-patch-root: ${{ github.event.client_payload.candidate.sourcePatchRoot || inputs.source-patch-root }}
73
+ plan-root: ${{ github.event.client_payload.candidate.planRoot || inputs.plan-root }}
74
+ closure-root: ${{ github.event.client_payload.candidate.closureRoot || inputs.closure-root }}
75
+ dependency-root: ${{ github.event.client_payload.candidate.dependencyRoot || inputs.dependency-root }}
76
+ toolchain-root: ${{ github.event.client_payload.candidate.toolchainRoot || inputs.toolchain-root }}
77
+ environment-root: ${{ github.event.client_payload.candidate.environmentRoot || inputs.environment-root }}
78
+ affected-paths-json: ${{ github.event_name == 'repository_dispatch' && toJSON(github.event.client_payload.candidate.affectedPaths) || inputs.affected-paths-json }}
79
+ native-proof-json: ${{ inputs.native-proof-json || '' }}
80
+ native-command: cmake -S . -B build && cmake --build build --parallel && ctest --test-dir build --output-on-failure
81
+ native-heartbeat-seconds: 300
82
+ delivery-class: native-proof-required
83
+ landing-mode: queue
84
+ dry-run: false
85
+ secrets:
86
+ github-token: ${{ secrets.BUILDCHAIN_PROMOTION_TOKEN }}