@kungfu-tech/buildchain 4.1.3-alpha.1 → 4.1.3-alpha.3

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 (228) hide show
  1. package/architecture/action-taxonomy.json +24 -0
  2. package/architecture/agent-change-map.md +256 -2
  3. package/architecture/ci-lane-change-budget.json +374 -0
  4. package/architecture/decisions/0005-minimal-consumer-contract.md +122 -0
  5. package/architecture/decisions/0006-business-attempt-journal.md +89 -0
  6. package/architecture/decisions/0007-hosted-pipeline-controller.md +106 -0
  7. package/architecture/decisions/0008-pipeline-product-publication.md +99 -0
  8. package/architecture/decisions/0009-pipeline-version-preparation.md +186 -0
  9. package/architecture/internal-capabilities.json +361 -2
  10. package/architecture/maintainability-debt.json +6 -4
  11. package/architecture/maintainability-policy.json +8 -8
  12. package/architecture/minimal-consumer-migration.json +7567 -0
  13. package/architecture/product-upstreams.json +20 -0
  14. package/architecture/release-topology.json +282 -11
  15. package/architecture/universal-workflow-bootstrap.json +12 -0
  16. package/architecture/universal-workflow-capability-policy.json +1 -1
  17. package/architecture/workflow-taxonomy.json +66 -0
  18. package/dist/readers/business-attempt.cjs +809 -0
  19. package/dist/site/buildchain-contract.json +7 -5
  20. package/dist/site/buildchain-site.json +18 -13
  21. package/dist/site/capability-registry.json +3 -3
  22. package/dist/site/kfd-claims.json +385 -10
  23. package/dist/site/kfd-upstream-aggregate.json +1 -1
  24. package/dist/site/manual-registry.json +1 -1
  25. package/dist/site/node-api-registry.json +21 -21
  26. package/dist/site/page-registry.json +13 -8
  27. package/dist/site/public-surface-audit.json +258 -7
  28. package/dist/site/publication-authority-registry.json +141 -1
  29. package/dist/site/publication-registry.json +4 -4
  30. package/dist/site/site-manifest.json +5 -5
  31. package/dist/site/workflow-registry.json +522 -7
  32. package/docs/node-api-reference.md +39 -39
  33. package/docs/runtime-entry.md +45 -5
  34. package/docs/workflow-catalog.md +6 -0
  35. package/package.json +4 -3
  36. package/packages/core/build/standalone/build.js +7 -1
  37. package/packages/core/consumer/buildchain-config.js +2 -21
  38. package/packages/core/consumer/contract/entries.js +85 -0
  39. package/packages/core/consumer/contract/examples.js +96 -0
  40. package/packages/core/consumer/contract/identity.js +65 -0
  41. package/packages/core/consumer/contract/inspection.js +45 -0
  42. package/packages/core/consumer/contract/plan.js +146 -0
  43. package/packages/core/consumer/contract/products.js +119 -0
  44. package/packages/core/consumer/contract/reader.js +47 -0
  45. package/packages/core/consumer/contract/shape.js +46 -0
  46. package/packages/core/dev-delivery/candidate/admission.js +9 -5
  47. package/packages/core/dev-delivery/candidate/reservation.js +11 -0
  48. package/packages/core/dev-delivery/candidate/source-paths.js +12 -4
  49. package/packages/core/dev-delivery/commands/project-cut-merge-queue-admission.mjs +47 -20
  50. package/packages/core/dev-delivery/native/actions.js +7 -1
  51. package/packages/core/dev-delivery/native/heartbeat-action.js +16 -0
  52. package/packages/core/dev-delivery/native/heartbeat.js +6 -4
  53. package/packages/core/dev-delivery/queue/landing-action.js +5 -0
  54. package/packages/core/governance/buildchain-publication-authority.js +6 -0
  55. package/packages/core/paper/operations/bootstrap.js +2 -0
  56. package/packages/core/paper/paper-npm-bootstrap.js +2 -2
  57. package/packages/core/providers/github/attempt-index.js +60 -0
  58. package/packages/core/providers/github/attempt-journal.js +154 -0
  59. package/packages/core/providers/github/discussions/materials.js +7 -2
  60. package/packages/core/providers/github/pipeline-checkout.js +49 -0
  61. package/packages/core/providers/github/pipeline-entry-runs.js +203 -0
  62. package/packages/core/providers/github/pipeline-events.js +52 -0
  63. package/packages/core/providers/github/pipeline-integration.js +95 -0
  64. package/packages/core/providers/github/pipeline-policy.js +213 -0
  65. package/packages/core/providers/github/pipeline-product-payload.js +50 -0
  66. package/packages/core/providers/github/pipeline-product-release.js +191 -0
  67. package/packages/core/providers/github/pipeline-publication-artifacts.js +153 -0
  68. package/packages/core/providers/github/pipeline-release-evidence.js +111 -0
  69. package/packages/core/providers/github/pipeline-run-entry.js +86 -0
  70. package/packages/core/providers/github/pipeline-runs.js +132 -0
  71. package/packages/core/providers/github/pipeline-source.js +178 -0
  72. package/packages/core/providers/github/pipeline-stable-source.js +354 -0
  73. package/packages/core/providers/github/pipeline-version-artifacts.js +91 -0
  74. package/packages/core/providers/github/pipeline-version-readback.js +117 -0
  75. package/packages/core/providers/github/pipeline-version.js +199 -0
  76. package/packages/core/providers/github/pipeline-worker.js +108 -0
  77. package/packages/core/publication/candidate/registry-hydration.js +2 -2
  78. package/packages/core/publication/npm/pack-preview.js +2 -2
  79. package/packages/core/publication/npm/pack-result.js +31 -0
  80. package/packages/core/publication/npm/package.js +3 -6
  81. package/packages/core/publication/npm/pipeline-channel.js +87 -0
  82. package/packages/core/publication/npm/pipeline-provider.js +109 -0
  83. package/packages/core/publication/npm/registry.js +12 -9
  84. package/packages/core/publication/pipeline/actions.js +116 -0
  85. package/packages/core/publication/pipeline/apply.js +188 -0
  86. package/packages/core/publication/pipeline/build-segments.js +107 -0
  87. package/packages/core/publication/pipeline/capsules.js +89 -0
  88. package/packages/core/publication/pipeline/context.js +39 -0
  89. package/packages/core/publication/pipeline/development-anchor.js +91 -0
  90. package/packages/core/publication/pipeline/development-current.js +63 -0
  91. package/packages/core/publication/pipeline/development-pr.js +112 -0
  92. package/packages/core/publication/pipeline/development-proof.js +76 -0
  93. package/packages/core/publication/pipeline/development-transition.js +112 -0
  94. package/packages/core/publication/pipeline/distribution.js +124 -0
  95. package/packages/core/publication/pipeline/documents.js +192 -0
  96. package/packages/core/publication/pipeline/effects.js +162 -0
  97. package/packages/core/publication/pipeline/files.js +66 -0
  98. package/packages/core/publication/pipeline/imported-materials.js +32 -0
  99. package/packages/core/publication/pipeline/journal.js +110 -0
  100. package/packages/core/publication/pipeline/next-development.js +117 -0
  101. package/packages/core/publication/pipeline/pack.js +157 -0
  102. package/packages/core/publication/pipeline/package-policy.js +22 -0
  103. package/packages/core/publication/pipeline/plan.js +136 -0
  104. package/packages/core/publication/pipeline/prepare.js +139 -0
  105. package/packages/core/publication/pipeline/qualification.js +175 -0
  106. package/packages/core/publication/pipeline/qualify.js +104 -0
  107. package/packages/core/publication/pipeline/recovery-admission.js +122 -0
  108. package/packages/core/publication/pipeline/recovery-build-download.js +80 -0
  109. package/packages/core/publication/pipeline/recovery-build-plan.js +122 -0
  110. package/packages/core/publication/pipeline/recovery-build-readback.js +68 -0
  111. package/packages/core/publication/pipeline/recovery-capsules.js +54 -0
  112. package/packages/core/publication/pipeline/recovery-import.js +80 -0
  113. package/packages/core/publication/pipeline/recovery-inspection.js +218 -0
  114. package/packages/core/publication/pipeline/recovery-materials.js +104 -0
  115. package/packages/core/publication/pipeline/recovery-plan.js +46 -0
  116. package/packages/core/publication/pipeline/recovery-prepare.js +73 -0
  117. package/packages/core/publication/pipeline/recovery-qualification.js +128 -0
  118. package/packages/core/publication/pipeline/recovery-readback.js +56 -0
  119. package/packages/core/publication/pipeline/recovery-signing.js +58 -0
  120. package/packages/core/publication/pipeline/sealed-products.js +79 -0
  121. package/packages/core/publication/pipeline/settle.js +43 -0
  122. package/packages/core/publication/pipeline/signing.js +140 -0
  123. package/packages/core/publication/pipeline/source-plan.js +83 -0
  124. package/packages/core/publication/pipeline/stable-entry.js +215 -0
  125. package/packages/core/publication/pipeline/stable-products.js +317 -0
  126. package/packages/core/publication/pipeline/stable-wait.js +170 -0
  127. package/packages/core/publication/pipeline/stable.js +82 -0
  128. package/packages/core/publication/pipeline/version-actions.js +93 -0
  129. package/packages/core/publication/pipeline/version-build.js +130 -0
  130. package/packages/core/publication/pipeline/version-context.js +143 -0
  131. package/packages/core/publication/pipeline/version-material.js +36 -0
  132. package/packages/core/publication/pipeline/version-preparation.js +69 -0
  133. package/packages/core/publication/pipeline/version-regeneration.js +162 -0
  134. package/packages/core/publication/pipeline/version-source-guard.js +69 -0
  135. package/packages/core/publication/pipeline/version.js +81 -0
  136. package/packages/core/publication/pipeline/worker.js +72 -0
  137. package/packages/core/publication/publication-reproducibility.js +2 -2
  138. package/packages/core/release/promote-candidate/product-provider-adapters.js +4 -3
  139. package/packages/core/release/promote-ref/internal/npm-existing-evidence.js +2 -1
  140. package/packages/core/release/promote-ref/internal/publish-command.js +16 -5
  141. package/packages/core/release/stable-release-gate.js +11 -0
  142. package/packages/core/runtime/buildchain-domain.wasm +0 -0
  143. package/packages/core/runtime/domain-wasm-artifact.js +2 -2
  144. package/packages/core/runtime/entry/actions.js +27 -25
  145. package/packages/core/runtime/entry/attempt.js +25 -0
  146. package/packages/core/runtime/entry/selection.js +14 -0
  147. package/packages/core/runtime/entry/source.js +62 -0
  148. package/packages/core/workflow/attempt/identity.js +170 -0
  149. package/packages/core/workflow/attempt/journal.js +87 -0
  150. package/packages/core/workflow/attempt/materials.js +72 -0
  151. package/packages/core/workflow/attempt/reader-entry.js +12 -0
  152. package/packages/core/workflow/attempt/reader.js +149 -0
  153. package/packages/core/workflow/attempt/records.js +153 -0
  154. package/packages/core/workflow/attempt/store.js +75 -0
  155. package/packages/core/workflow/commands/pipeline-build.mjs +23 -0
  156. package/packages/core/workflow/pipeline/action-output.js +11 -0
  157. package/packages/core/workflow/pipeline/actions.js +75 -0
  158. package/packages/core/workflow/pipeline/build-control.js +140 -0
  159. package/packages/core/workflow/pipeline/build-evidence.js +92 -0
  160. package/packages/core/workflow/pipeline/build-qualification.js +145 -0
  161. package/packages/core/workflow/pipeline/build-result.js +69 -0
  162. package/packages/core/workflow/pipeline/build.js +142 -0
  163. package/packages/core/workflow/pipeline/cancellation.js +169 -0
  164. package/packages/core/workflow/pipeline/channel-control.js +127 -0
  165. package/packages/core/workflow/pipeline/controller.js +133 -0
  166. package/packages/core/workflow/pipeline/delivery-control.js +204 -0
  167. package/packages/core/workflow/pipeline/delivery-observation.js +118 -0
  168. package/packages/core/workflow/pipeline/delivery-request.js +198 -0
  169. package/packages/core/workflow/pipeline/events.js +84 -0
  170. package/packages/core/workflow/pipeline/fence.js +42 -0
  171. package/packages/core/workflow/pipeline/group-control.js +56 -0
  172. package/packages/core/workflow/pipeline/guard-build.js +37 -0
  173. package/packages/core/workflow/pipeline/guard.js +156 -0
  174. package/packages/core/workflow/pipeline/host.js +114 -0
  175. package/packages/core/workflow/pipeline/materials.js +58 -0
  176. package/packages/core/workflow/pipeline/notifications.js +36 -0
  177. package/packages/core/workflow/pipeline/parent-notification.js +27 -0
  178. package/packages/core/workflow/pipeline/platforms.js +21 -0
  179. package/packages/core/workflow/pipeline/progress.js +108 -0
  180. package/packages/core/workflow/pipeline/projection.js +20 -0
  181. package/packages/core/workflow/pipeline/reconcile.js +194 -0
  182. package/packages/core/workflow/pipeline/recovery-action.js +30 -0
  183. package/packages/core/workflow/pipeline/recovery-admission.js +122 -0
  184. package/packages/core/workflow/pipeline/recovery-build-control.js +95 -0
  185. package/packages/core/workflow/pipeline/recovery-build-evidence.js +71 -0
  186. package/packages/core/workflow/pipeline/recovery-build.js +121 -0
  187. package/packages/core/workflow/pipeline/recovery-controller.js +91 -0
  188. package/packages/core/workflow/pipeline/recovery-integration.js +66 -0
  189. package/packages/core/workflow/pipeline/recovery-merge-proof.js +90 -0
  190. package/packages/core/workflow/pipeline/recovery-ownership-settlement.js +150 -0
  191. package/packages/core/workflow/pipeline/recovery-ownership.js +91 -0
  192. package/packages/core/workflow/pipeline/recovery-plan.js +126 -0
  193. package/packages/core/workflow/pipeline/recovery-runtime.js +68 -0
  194. package/packages/core/workflow/pipeline/recovery-session.js +129 -0
  195. package/packages/core/workflow/pipeline/recovery-transition.js +135 -0
  196. package/packages/core/workflow/pipeline/recovery-unrecorded-build.js +74 -0
  197. package/packages/core/workflow/pipeline/runtime-source.js +111 -0
  198. package/packages/core/workflow/pipeline/selection.js +106 -0
  199. package/packages/core/workflow/pipeline/session.js +72 -0
  200. package/packages/core/workflow/pipeline/settlement.js +137 -0
  201. package/packages/core/workflow/pipeline/wake.js +38 -0
  202. package/packages/core/workflow/pipeline/web-status.js +108 -0
  203. package/scripts/build-release-discussion-reader.mjs +11 -7
  204. package/scripts/check-pipeline-publication-topology.mjs +48 -0
  205. package/scripts/check-release-topology.mjs +7 -1
  206. package/scripts/generate-minimal-consumer-contract.mjs +155 -0
  207. package/scripts/generate-site-bundle.mjs +1 -1
  208. package/scripts/verify-golden-path.mjs +5 -1
  209. package/scripts/verify-standalone-product.mjs +42 -0
  210. package/templates/minimal-consumer/binary/.buildchain/buildchain.toml +45 -0
  211. package/templates/minimal-consumer/binary/.github/workflows/buildchain-recover.yml +30 -0
  212. package/templates/minimal-consumer/binary/.github/workflows/buildchain.yml +28 -0
  213. package/templates/minimal-consumer/binary/package.json +6 -0
  214. package/templates/minimal-consumer/binary/src/build.mjs +5 -0
  215. package/templates/minimal-consumer/binary/src/hello.c +2 -0
  216. package/templates/minimal-consumer/binary/src/verify.mjs +3 -0
  217. package/templates/minimal-consumer/npm/.buildchain/buildchain.toml +46 -0
  218. package/templates/minimal-consumer/npm/.github/workflows/buildchain-recover.yml +30 -0
  219. package/templates/minimal-consumer/npm/.github/workflows/buildchain.yml +28 -0
  220. package/templates/minimal-consumer/npm/package.json +6 -0
  221. package/templates/minimal-consumer/npm/src/build.mjs +5 -0
  222. package/templates/minimal-consumer/npm/src/verify.mjs +3 -0
  223. package/templates/minimal-consumer/paper/.buildchain/buildchain.toml +45 -0
  224. package/templates/minimal-consumer/paper/.github/workflows/buildchain-recover.yml +30 -0
  225. package/templates/minimal-consumer/paper/.github/workflows/buildchain.yml +28 -0
  226. package/templates/minimal-consumer/paper/package.json +6 -0
  227. package/templates/minimal-consumer/paper/src/build.mjs +12 -0
  228. package/templates/minimal-consumer/paper/src/verify.mjs +3 -0
@@ -224,6 +224,76 @@
224
224
  "sunsetCondition": "explicit-contract-change-review",
225
225
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
226
226
  },
227
+ {
228
+ "id": ".ops-pipeline-delivery",
229
+ "path": ".github/workflows/.ops-pipeline-delivery.yml",
230
+ "reusable": true,
231
+ "inputs": [
232
+ "request",
233
+ "runtime-selection"
234
+ ],
235
+ "inputCount": 2,
236
+ "secrets": [],
237
+ "secretCount": 0,
238
+ "outputs": [],
239
+ "outputCount": 0,
240
+ "taxonomy": {
241
+ "id": ".pipeline-delivery",
242
+ "role": "component",
243
+ "category": "ops",
244
+ "purpose": "pipeline-delivery",
245
+ "status": "active",
246
+ "canonicalPath": ".github/workflows/.ops-pipeline-delivery.yml",
247
+ "compatibilityAlias": false
248
+ },
249
+ "surface": "reusable-workflow",
250
+ "capabilityGroup": "api-cli-reference",
251
+ "status": "active",
252
+ "owner": "buildchain-workflows",
253
+ "maturity": "active",
254
+ "introducedVersion": "4.1.0-alpha.0",
255
+ "compatibilityPromise": "current-contract-only",
256
+ "deprecationReplacement": "",
257
+ "sunsetCondition": "explicit-contract-change-review",
258
+ "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
259
+ },
260
+ {
261
+ "id": ".ops-pipeline-execute",
262
+ "path": ".github/workflows/.ops-pipeline-execute.yml",
263
+ "reusable": true,
264
+ "inputs": [
265
+ "attempt",
266
+ "context",
267
+ "matrix",
268
+ "operation",
269
+ "request",
270
+ "runtime-selection"
271
+ ],
272
+ "inputCount": 6,
273
+ "secrets": [],
274
+ "secretCount": 0,
275
+ "outputs": [],
276
+ "outputCount": 0,
277
+ "taxonomy": {
278
+ "id": ".pipeline-execute",
279
+ "role": "component",
280
+ "category": "ops",
281
+ "purpose": "pipeline-execute",
282
+ "status": "active",
283
+ "canonicalPath": ".github/workflows/.ops-pipeline-execute.yml",
284
+ "compatibilityAlias": false
285
+ },
286
+ "surface": "reusable-workflow",
287
+ "capabilityGroup": "api-cli-reference",
288
+ "status": "active",
289
+ "owner": "buildchain-workflows",
290
+ "maturity": "active",
291
+ "introducedVersion": "4.1.0-alpha.0",
292
+ "compatibilityPromise": "current-contract-only",
293
+ "deprecationReplacement": "",
294
+ "sunsetCondition": "explicit-contract-change-review",
295
+ "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
296
+ },
227
297
  {
228
298
  "id": ".release-authority",
229
299
  "path": ".github/workflows/.release-authority.yml",
@@ -349,6 +419,89 @@
349
419
  "sunsetCondition": "explicit-contract-change-review",
350
420
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
351
421
  },
422
+ {
423
+ "id": ".release-pipeline-products",
424
+ "path": ".github/workflows/.release-pipeline-products.yml",
425
+ "reusable": true,
426
+ "inputs": [
427
+ "attempt",
428
+ "runtime-selection"
429
+ ],
430
+ "inputCount": 2,
431
+ "secrets": [
432
+ "BUILDCHAIN_APP_PRIVATE_KEY",
433
+ "BUILDCHAIN_AUTOMATION_TOKEN",
434
+ "BUILDCHAIN_NPM_TOKEN"
435
+ ],
436
+ "secretCount": 3,
437
+ "outputs": [
438
+ "stable-wait"
439
+ ],
440
+ "outputCount": 1,
441
+ "taxonomy": {
442
+ "id": ".pipeline-products",
443
+ "role": "component",
444
+ "category": "release",
445
+ "purpose": "pipeline-products",
446
+ "status": "active",
447
+ "canonicalPath": ".github/workflows/.release-pipeline-products.yml",
448
+ "compatibilityAlias": false
449
+ },
450
+ "surface": "reusable-workflow",
451
+ "capabilityGroup": "api-cli-reference",
452
+ "status": "active",
453
+ "owner": "buildchain-workflows",
454
+ "maturity": "active",
455
+ "introducedVersion": "4.1.0-alpha.0",
456
+ "compatibilityPromise": "current-contract-only",
457
+ "deprecationReplacement": "",
458
+ "sunsetCondition": "explicit-contract-change-review",
459
+ "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
460
+ },
461
+ {
462
+ "id": ".release-pipeline-version",
463
+ "path": ".github/workflows/.release-pipeline-version.yml",
464
+ "reusable": true,
465
+ "inputs": [
466
+ "context",
467
+ "matrix",
468
+ "operation",
469
+ "purpose",
470
+ "runtime-selection"
471
+ ],
472
+ "inputCount": 5,
473
+ "secrets": [
474
+ "BUILDCHAIN_APP_PRIVATE_KEY",
475
+ "BUILDCHAIN_AUTOMATION_TOKEN"
476
+ ],
477
+ "secretCount": 2,
478
+ "outputs": [
479
+ "context",
480
+ "matrix",
481
+ "operation",
482
+ "stable-wait"
483
+ ],
484
+ "outputCount": 4,
485
+ "taxonomy": {
486
+ "id": ".pipeline-version",
487
+ "role": "component",
488
+ "category": "release",
489
+ "purpose": "pipeline-version",
490
+ "status": "active",
491
+ "canonicalPath": ".github/workflows/.release-pipeline-version.yml",
492
+ "compatibilityAlias": false
493
+ },
494
+ "surface": "reusable-workflow",
495
+ "capabilityGroup": "api-cli-reference",
496
+ "status": "active",
497
+ "owner": "buildchain-workflows",
498
+ "maturity": "active",
499
+ "introducedVersion": "4.1.0-alpha.0",
500
+ "compatibilityPromise": "current-contract-only",
501
+ "deprecationReplacement": "",
502
+ "sunsetCondition": "explicit-contract-change-review",
503
+ "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
504
+ },
352
505
  {
353
506
  "id": ".release-promote",
354
507
  "path": ".github/workflows/.release-promote.yml",
@@ -873,7 +1026,9 @@
873
1026
  "native-command",
874
1027
  "native-command-root",
875
1028
  "native-heartbeat-seconds",
1029
+ "native-platform",
876
1030
  "native-proof-json",
1031
+ "pipeline-attempt",
877
1032
  "plan-root",
878
1033
  "project-cut-proof-json",
879
1034
  "queue-admission-context",
@@ -893,7 +1048,7 @@
893
1048
  "toolchain-root",
894
1049
  "warrant-lease-seconds"
895
1050
  ],
896
- "inputCount": 42,
1051
+ "inputCount": 44,
897
1052
  "secrets": [
898
1053
  "github-token"
899
1054
  ],
@@ -1046,7 +1201,7 @@
1046
1201
  "status": "preview",
1047
1202
  "owner": "buildchain-workflows",
1048
1203
  "maturity": "preview",
1049
- "introducedVersion": "4.1.3-alpha.1",
1204
+ "introducedVersion": "4.1.3-alpha.3",
1050
1205
  "compatibilityPromise": "current-contract-only",
1051
1206
  "deprecationReplacement": "",
1052
1207
  "sunsetCondition": "explicit-contract-change-review",
@@ -1296,6 +1451,71 @@
1296
1451
  "sunsetCondition": "explicit-contract-change-review",
1297
1452
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1298
1453
  },
1454
+ {
1455
+ "id": "public-ops-pipeline",
1456
+ "path": ".github/workflows/public-ops-pipeline.yml",
1457
+ "reusable": true,
1458
+ "inputs": [
1459
+ "config-path"
1460
+ ],
1461
+ "inputCount": 1,
1462
+ "secrets": [],
1463
+ "secretCount": 0,
1464
+ "outputs": [],
1465
+ "outputCount": 0,
1466
+ "taxonomy": {
1467
+ "id": "pipeline",
1468
+ "role": "public",
1469
+ "category": "ops",
1470
+ "purpose": "pipeline",
1471
+ "status": "active",
1472
+ "canonicalPath": ".github/workflows/public-ops-pipeline.yml",
1473
+ "compatibilityAlias": false
1474
+ },
1475
+ "surface": "repository-workflow",
1476
+ "capabilityGroup": "api-cli-reference",
1477
+ "status": "active",
1478
+ "owner": "buildchain-workflows",
1479
+ "maturity": "active",
1480
+ "introducedVersion": "4.1.0-alpha.0",
1481
+ "compatibilityPromise": "current-contract-only",
1482
+ "deprecationReplacement": "",
1483
+ "sunsetCondition": "explicit-contract-change-review",
1484
+ "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1485
+ },
1486
+ {
1487
+ "id": "public-ops-recover",
1488
+ "path": ".github/workflows/public-ops-recover.yml",
1489
+ "reusable": true,
1490
+ "inputs": [
1491
+ "attempt",
1492
+ "runtime-ref"
1493
+ ],
1494
+ "inputCount": 2,
1495
+ "secrets": [],
1496
+ "secretCount": 0,
1497
+ "outputs": [],
1498
+ "outputCount": 0,
1499
+ "taxonomy": {
1500
+ "id": "recover",
1501
+ "role": "public",
1502
+ "category": "ops",
1503
+ "purpose": "recover",
1504
+ "status": "active",
1505
+ "canonicalPath": ".github/workflows/public-ops-recover.yml",
1506
+ "compatibilityAlias": false
1507
+ },
1508
+ "surface": "repository-workflow",
1509
+ "capabilityGroup": "api-cli-reference",
1510
+ "status": "active",
1511
+ "owner": "buildchain-workflows",
1512
+ "maturity": "active",
1513
+ "introducedVersion": "4.1.0-alpha.0",
1514
+ "compatibilityPromise": "current-contract-only",
1515
+ "deprecationReplacement": "",
1516
+ "sunsetCondition": "explicit-contract-change-review",
1517
+ "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1518
+ },
1299
1519
  {
1300
1520
  "id": "public-ops-release-governance",
1301
1521
  "path": ".github/workflows/public-ops-release-governance.yml",
@@ -2479,7 +2699,7 @@
2479
2699
  "status": "preview",
2480
2700
  "owner": "buildchain-workflows",
2481
2701
  "maturity": "preview",
2482
- "introducedVersion": "4.1.3-alpha.1",
2702
+ "introducedVersion": "4.1.3-alpha.3",
2483
2703
  "compatibilityPromise": "current-contract-only",
2484
2704
  "deprecationReplacement": "",
2485
2705
  "sunsetCondition": "explicit-contract-change-review",
@@ -2509,7 +2729,7 @@
2509
2729
  "status": "preview",
2510
2730
  "owner": "buildchain-workflows",
2511
2731
  "maturity": "preview",
2512
- "introducedVersion": "4.1.3-alpha.1",
2732
+ "introducedVersion": "4.1.3-alpha.3",
2513
2733
  "compatibilityPromise": "current-contract-only",
2514
2734
  "deprecationReplacement": "",
2515
2735
  "sunsetCondition": "explicit-contract-change-review",
@@ -2539,7 +2759,7 @@
2539
2759
  "status": "preview",
2540
2760
  "owner": "buildchain-workflows",
2541
2761
  "maturity": "preview",
2542
- "introducedVersion": "4.1.3-alpha.1",
2762
+ "introducedVersion": "4.1.3-alpha.3",
2543
2763
  "compatibilityPromise": "current-contract-only",
2544
2764
  "deprecationReplacement": "",
2545
2765
  "sunsetCondition": "explicit-contract-change-review",
@@ -4920,10 +5140,11 @@
4920
5140
  "branch",
4921
5141
  "heartbeat-seconds",
4922
5142
  "lease-seconds",
5143
+ "pipeline-attempt",
4923
5144
  "runtime-sha",
4924
5145
  "token"
4925
5146
  ],
4926
- "inputCount": 5,
5147
+ "inputCount": 6,
4927
5148
  "capabilityGroup": "release-passport-trust",
4928
5149
  "status": "active",
4929
5150
  "owner": "buildchain-actions",
@@ -6636,6 +6857,142 @@
6636
6857
  "sunsetCondition": "explicit-contract-change-review",
6637
6858
  "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
6638
6859
  },
6860
+ {
6861
+ "apiRole": "implementation",
6862
+ "id": "publication/pipeline/apply",
6863
+ "path": "actions/publication/pipeline/apply/action.yml",
6864
+ "inputs": [
6865
+ "context",
6866
+ "token"
6867
+ ],
6868
+ "inputCount": 2,
6869
+ "capabilityGroup": "release-passport-trust",
6870
+ "status": "active",
6871
+ "owner": "buildchain-actions",
6872
+ "maturity": "stable",
6873
+ "introducedVersion": "4.1.0-alpha.0",
6874
+ "compatibilityPromise": "current-contract-only",
6875
+ "deprecationReplacement": "",
6876
+ "sunsetCondition": "explicit-contract-change-review",
6877
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
6878
+ },
6879
+ {
6880
+ "apiRole": "implementation",
6881
+ "id": "publication/pipeline/build",
6882
+ "path": "actions/publication/pipeline/build/action.yml",
6883
+ "inputs": [
6884
+ "context",
6885
+ "platform"
6886
+ ],
6887
+ "inputCount": 2,
6888
+ "capabilityGroup": "release-passport-trust",
6889
+ "status": "active",
6890
+ "owner": "buildchain-actions",
6891
+ "maturity": "stable",
6892
+ "introducedVersion": "4.1.0-alpha.0",
6893
+ "compatibilityPromise": "current-contract-only",
6894
+ "deprecationReplacement": "",
6895
+ "sunsetCondition": "explicit-contract-change-review",
6896
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
6897
+ },
6898
+ {
6899
+ "apiRole": "implementation",
6900
+ "id": "publication/pipeline/prepare",
6901
+ "path": "actions/publication/pipeline/prepare/action.yml",
6902
+ "inputs": [
6903
+ "attempt",
6904
+ "definition-sha",
6905
+ "token"
6906
+ ],
6907
+ "inputCount": 3,
6908
+ "capabilityGroup": "release-passport-trust",
6909
+ "status": "active",
6910
+ "owner": "buildchain-actions",
6911
+ "maturity": "stable",
6912
+ "introducedVersion": "4.1.0-alpha.0",
6913
+ "compatibilityPromise": "current-contract-only",
6914
+ "deprecationReplacement": "",
6915
+ "sunsetCondition": "explicit-contract-change-review",
6916
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
6917
+ },
6918
+ {
6919
+ "apiRole": "implementation",
6920
+ "id": "publication/pipeline/prepare-qualification",
6921
+ "path": "actions/publication/pipeline/prepare-qualification/action.yml",
6922
+ "inputs": [
6923
+ "context",
6924
+ "token"
6925
+ ],
6926
+ "inputCount": 2,
6927
+ "capabilityGroup": "release-passport-trust",
6928
+ "status": "active",
6929
+ "owner": "buildchain-actions",
6930
+ "maturity": "stable",
6931
+ "introducedVersion": "4.1.0-alpha.0",
6932
+ "compatibilityPromise": "current-contract-only",
6933
+ "deprecationReplacement": "",
6934
+ "sunsetCondition": "explicit-contract-change-review",
6935
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
6936
+ },
6937
+ {
6938
+ "apiRole": "implementation",
6939
+ "id": "publication/pipeline/qualify",
6940
+ "path": "actions/publication/pipeline/qualify/action.yml",
6941
+ "inputs": [
6942
+ "context",
6943
+ "token"
6944
+ ],
6945
+ "inputCount": 2,
6946
+ "capabilityGroup": "release-passport-trust",
6947
+ "status": "active",
6948
+ "owner": "buildchain-actions",
6949
+ "maturity": "stable",
6950
+ "introducedVersion": "4.1.0-alpha.0",
6951
+ "compatibilityPromise": "current-contract-only",
6952
+ "deprecationReplacement": "",
6953
+ "sunsetCondition": "explicit-contract-change-review",
6954
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
6955
+ },
6956
+ {
6957
+ "apiRole": "implementation",
6958
+ "id": "publication/pipeline/seal-qualification",
6959
+ "path": "actions/publication/pipeline/seal-qualification/action.yml",
6960
+ "inputs": [
6961
+ "bundle-path",
6962
+ "context",
6963
+ "token"
6964
+ ],
6965
+ "inputCount": 3,
6966
+ "capabilityGroup": "release-passport-trust",
6967
+ "status": "active",
6968
+ "owner": "buildchain-actions",
6969
+ "maturity": "stable",
6970
+ "introducedVersion": "4.1.0-alpha.0",
6971
+ "compatibilityPromise": "current-contract-only",
6972
+ "deprecationReplacement": "",
6973
+ "sunsetCondition": "explicit-contract-change-review",
6974
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
6975
+ },
6976
+ {
6977
+ "apiRole": "implementation",
6978
+ "id": "publication/pipeline/settle",
6979
+ "path": "actions/publication/pipeline/settle/action.yml",
6980
+ "inputs": [
6981
+ "context",
6982
+ "pr-token",
6983
+ "token"
6984
+ ],
6985
+ "inputCount": 3,
6986
+ "capabilityGroup": "release-passport-trust",
6987
+ "status": "active",
6988
+ "owner": "buildchain-actions",
6989
+ "maturity": "stable",
6990
+ "introducedVersion": "4.1.0-alpha.0",
6991
+ "compatibilityPromise": "current-contract-only",
6992
+ "deprecationReplacement": "",
6993
+ "sunsetCondition": "explicit-contract-change-review",
6994
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
6995
+ },
6639
6996
  {
6640
6997
  "apiRole": "implementation",
6641
6998
  "id": "publication/settlement/retain",
@@ -6676,6 +7033,65 @@
6676
7033
  "sunsetCondition": "explicit-contract-change-review",
6677
7034
  "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
6678
7035
  },
7036
+ {
7037
+ "apiRole": "implementation",
7038
+ "id": "publication/version/build",
7039
+ "path": "actions/publication/version/build/action.yml",
7040
+ "inputs": [
7041
+ "context",
7042
+ "platform"
7043
+ ],
7044
+ "inputCount": 2,
7045
+ "capabilityGroup": "release-passport-trust",
7046
+ "status": "active",
7047
+ "owner": "buildchain-actions",
7048
+ "maturity": "stable",
7049
+ "introducedVersion": "4.1.0-alpha.0",
7050
+ "compatibilityPromise": "current-contract-only",
7051
+ "deprecationReplacement": "",
7052
+ "sunsetCondition": "explicit-contract-change-review",
7053
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
7054
+ },
7055
+ {
7056
+ "apiRole": "implementation",
7057
+ "id": "publication/version/materialize-development",
7058
+ "path": "actions/publication/version/materialize-development/action.yml",
7059
+ "inputs": [
7060
+ "context",
7061
+ "pr-token",
7062
+ "token"
7063
+ ],
7064
+ "inputCount": 3,
7065
+ "capabilityGroup": "release-passport-trust",
7066
+ "status": "active",
7067
+ "owner": "buildchain-actions",
7068
+ "maturity": "stable",
7069
+ "introducedVersion": "4.1.0-alpha.0",
7070
+ "compatibilityPromise": "current-contract-only",
7071
+ "deprecationReplacement": "",
7072
+ "sunsetCondition": "explicit-contract-change-review",
7073
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
7074
+ },
7075
+ {
7076
+ "apiRole": "implementation",
7077
+ "id": "publication/version/materialize-publication",
7078
+ "path": "actions/publication/version/materialize-publication/action.yml",
7079
+ "inputs": [
7080
+ "context",
7081
+ "operation",
7082
+ "token"
7083
+ ],
7084
+ "inputCount": 3,
7085
+ "capabilityGroup": "release-passport-trust",
7086
+ "status": "active",
7087
+ "owner": "buildchain-actions",
7088
+ "maturity": "stable",
7089
+ "introducedVersion": "4.1.0-alpha.0",
7090
+ "compatibilityPromise": "current-contract-only",
7091
+ "deprecationReplacement": "",
7092
+ "sunsetCondition": "explicit-contract-change-review",
7093
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
7094
+ },
6679
7095
  {
6680
7096
  "apiRole": "implementation",
6681
7097
  "id": "release/binary/coordinates",
@@ -7870,6 +8286,8 @@
7870
8286
  "path": "actions/runtime/selection/resolve/action.yml",
7871
8287
  "inputs": [
7872
8288
  "contract-lock",
8289
+ "pipeline-attempt",
8290
+ "recovery-attempt",
7873
8291
  "resume-run-id",
7874
8292
  "runtime-ref",
7875
8293
  "selection",
@@ -7879,7 +8297,7 @@
7879
8297
  "workflow-ref",
7880
8298
  "workflow-sha"
7881
8299
  ],
7882
- "inputCount": 9,
8300
+ "inputCount": 11,
7883
8301
  "capabilityGroup": "api-cli-reference",
7884
8302
  "status": "active",
7885
8303
  "owner": "buildchain-actions",
@@ -8649,6 +9067,103 @@
8649
9067
  "sunsetCondition": "explicit-contract-change-review",
8650
9068
  "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
8651
9069
  },
9070
+ {
9071
+ "apiRole": "implementation",
9072
+ "id": "workflow/pipeline/build",
9073
+ "path": "actions/workflow/pipeline/build/action.yml",
9074
+ "inputs": [
9075
+ "context",
9076
+ "platform"
9077
+ ],
9078
+ "inputCount": 2,
9079
+ "capabilityGroup": "api-cli-reference",
9080
+ "status": "active",
9081
+ "owner": "buildchain-actions",
9082
+ "maturity": "stable",
9083
+ "introducedVersion": "4.1.0-alpha.0",
9084
+ "compatibilityPromise": "current-contract-only",
9085
+ "deprecationReplacement": "",
9086
+ "sunsetCondition": "explicit-contract-change-review",
9087
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
9088
+ },
9089
+ {
9090
+ "apiRole": "implementation",
9091
+ "id": "workflow/pipeline/control",
9092
+ "path": "actions/workflow/pipeline/control/action.yml",
9093
+ "inputs": [
9094
+ "config-path",
9095
+ "token"
9096
+ ],
9097
+ "inputCount": 2,
9098
+ "capabilityGroup": "api-cli-reference",
9099
+ "status": "active",
9100
+ "owner": "buildchain-actions",
9101
+ "maturity": "stable",
9102
+ "introducedVersion": "4.1.0-alpha.0",
9103
+ "compatibilityPromise": "current-contract-only",
9104
+ "deprecationReplacement": "",
9105
+ "sunsetCondition": "explicit-contract-change-review",
9106
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
9107
+ },
9108
+ {
9109
+ "apiRole": "implementation",
9110
+ "id": "workflow/pipeline/record-build",
9111
+ "path": "actions/workflow/pipeline/record-build/action.yml",
9112
+ "inputs": [
9113
+ "context",
9114
+ "token"
9115
+ ],
9116
+ "inputCount": 2,
9117
+ "capabilityGroup": "api-cli-reference",
9118
+ "status": "active",
9119
+ "owner": "buildchain-actions",
9120
+ "maturity": "stable",
9121
+ "introducedVersion": "4.1.0-alpha.0",
9122
+ "compatibilityPromise": "current-contract-only",
9123
+ "deprecationReplacement": "",
9124
+ "sunsetCondition": "explicit-contract-change-review",
9125
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
9126
+ },
9127
+ {
9128
+ "apiRole": "implementation",
9129
+ "id": "workflow/pipeline/recover",
9130
+ "path": "actions/workflow/pipeline/recover/action.yml",
9131
+ "inputs": [
9132
+ "attempt",
9133
+ "definition-sha",
9134
+ "token"
9135
+ ],
9136
+ "inputCount": 3,
9137
+ "capabilityGroup": "api-cli-reference",
9138
+ "status": "active",
9139
+ "owner": "buildchain-actions",
9140
+ "maturity": "stable",
9141
+ "introducedVersion": "4.1.0-alpha.0",
9142
+ "compatibilityPromise": "current-contract-only",
9143
+ "deprecationReplacement": "",
9144
+ "sunsetCondition": "explicit-contract-change-review",
9145
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
9146
+ },
9147
+ {
9148
+ "apiRole": "implementation",
9149
+ "id": "workflow/pipeline/wake",
9150
+ "path": "actions/workflow/pipeline/wake/action.yml",
9151
+ "inputs": [
9152
+ "attempt",
9153
+ "stable-wait",
9154
+ "token"
9155
+ ],
9156
+ "inputCount": 3,
9157
+ "capabilityGroup": "api-cli-reference",
9158
+ "status": "active",
9159
+ "owner": "buildchain-actions",
9160
+ "maturity": "stable",
9161
+ "introducedVersion": "4.1.0-alpha.0",
9162
+ "compatibilityPromise": "current-contract-only",
9163
+ "deprecationReplacement": "",
9164
+ "sunsetCondition": "explicit-contract-change-review",
9165
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
9166
+ },
8652
9167
  {
8653
9168
  "apiRole": "implementation",
8654
9169
  "id": "workflow/settlement/seal",