@kungfu-tech/buildchain 4.1.3-alpha.0 → 4.1.3-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 (278) hide show
  1. package/AGENTS.md +41 -75
  2. package/CONTRIBUTING.md +19 -26
  3. package/architecture/action-taxonomy.json +24 -0
  4. package/architecture/agent-change-map.md +272 -12
  5. package/architecture/capability-state-machine-manifest.json +1 -4
  6. package/architecture/ci-lane-change-budget.json +190 -807
  7. package/architecture/core-mechanisms.json +3 -6
  8. package/architecture/decisions/0005-minimal-consumer-contract.md +122 -0
  9. package/architecture/decisions/0006-business-attempt-journal.md +89 -0
  10. package/architecture/decisions/0007-hosted-pipeline-controller.md +106 -0
  11. package/architecture/decisions/0008-pipeline-product-publication.md +120 -0
  12. package/architecture/decisions/0009-pipeline-version-preparation.md +186 -0
  13. package/architecture/internal-capabilities.json +371 -9
  14. package/architecture/maintainability-debt.json +50 -34
  15. package/architecture/maintainability-policy.json +8 -8
  16. package/architecture/minimal-consumer-migration.json +5670 -0
  17. package/architecture/platform-stage-checkpoints.json +31 -7
  18. package/architecture/product-upstreams.json +20 -0
  19. package/architecture/release-topology.json +331 -74
  20. package/architecture/stage-capsule-qualification.json +3 -1
  21. package/architecture/universal-workflow-bootstrap.json +15 -1
  22. package/architecture/universal-workflow-capability-policy.json +9 -9
  23. package/architecture/universal-workflow-fault-campaign.json +3 -1
  24. package/architecture/workflow-taxonomy.json +77 -328
  25. package/contracts/release-discussion-v1.schema.json +3 -0
  26. package/dist/readers/business-attempt.cjs +809 -0
  27. package/dist/readers/release-discussion.cjs +4 -0
  28. package/dist/site/buildchain-contract.json +16 -68
  29. package/dist/site/buildchain-site.json +47 -27
  30. package/dist/site/capability-registry.json +4 -4
  31. package/dist/site/controller-registry.json +1 -47
  32. package/dist/site/kfd-claims.json +499 -494
  33. package/dist/site/kfd-upstream-aggregate.json +1 -1
  34. package/dist/site/manual-registry.json +3 -3
  35. package/dist/site/node-api-registry.json +56 -56
  36. package/dist/site/page-registry.json +40 -20
  37. package/dist/site/public-surface-audit.json +286 -349
  38. package/dist/site/publication-authority-registry.json +203 -523
  39. package/dist/site/publication-registry.json +4 -4
  40. package/dist/site/site-manifest.json +7 -7
  41. package/dist/site/workflow-registry.json +590 -940
  42. package/docs/code-organization.md +9 -6
  43. package/docs/node-api-reference.md +103 -103
  44. package/docs/release-discussions.md +44 -5
  45. package/docs/release-governance.md +10 -12
  46. package/docs/runtime-entry.md +73 -5
  47. package/docs/runtime-train-validation.md +39 -11
  48. package/docs/stable-candidate-patrol.md +6 -5
  49. package/docs/workflow-catalog.md +9 -32
  50. package/package.json +4 -3
  51. package/packages/core/adoption/buildchain-kfd-claims.js +7 -7
  52. package/packages/core/build/standalone/build.js +7 -1
  53. package/packages/core/consumer/buildchain-config.js +2 -21
  54. package/packages/core/consumer/contract/entries.js +85 -0
  55. package/packages/core/consumer/contract/examples.js +96 -0
  56. package/packages/core/consumer/contract/identity.js +65 -0
  57. package/packages/core/consumer/contract/inspection.js +45 -0
  58. package/packages/core/consumer/contract/plan.js +149 -0
  59. package/packages/core/consumer/contract/products.js +119 -0
  60. package/packages/core/consumer/contract/reader.js +47 -0
  61. package/packages/core/consumer/contract/shape.js +46 -0
  62. package/packages/core/dev-delivery/candidate/admission.js +9 -5
  63. package/packages/core/dev-delivery/candidate/reservation.js +11 -0
  64. package/packages/core/dev-delivery/candidate/source-paths.js +12 -4
  65. package/packages/core/dev-delivery/commands/project-cut-merge-queue-admission.mjs +47 -20
  66. package/packages/core/dev-delivery/dev-delivery-provider-heartbeat.js +18 -15
  67. package/packages/core/dev-delivery/native/actions.js +9 -1
  68. package/packages/core/dev-delivery/native/heartbeat-action.js +16 -0
  69. package/packages/core/dev-delivery/native/heartbeat.js +6 -4
  70. package/packages/core/dev-delivery/native/process-entry.js +19 -0
  71. package/packages/core/dev-delivery/queue/landing-action.js +53 -0
  72. package/packages/core/dev-delivery/warrant/failure-settlement.js +8 -6
  73. package/packages/core/dev-delivery/warrant/service.js +7 -0
  74. package/packages/core/governance/buildchain-publication-authority.js +8 -23
  75. package/packages/core/governance/github-governance-authority.js +1 -0
  76. package/packages/core/observability/controller-evidence.js +0 -8
  77. package/packages/core/paper/operations/bootstrap.js +2 -0
  78. package/packages/core/paper/paper-npm-bootstrap.js +2 -2
  79. package/packages/core/providers/github/attempt-index.js +60 -0
  80. package/packages/core/providers/github/attempt-journal.js +154 -0
  81. package/packages/core/providers/github/discussions/materials.js +35 -11
  82. package/packages/core/providers/github/discussions/transport.js +16 -5
  83. package/packages/core/providers/github/pipeline-checkout.js +49 -0
  84. package/packages/core/providers/github/pipeline-entry-runs.js +210 -0
  85. package/packages/core/providers/github/pipeline-events.js +131 -0
  86. package/packages/core/providers/github/pipeline-integration.js +95 -0
  87. package/packages/core/providers/github/pipeline-policy.js +240 -0
  88. package/packages/core/providers/github/pipeline-product-payload.js +50 -0
  89. package/packages/core/providers/github/pipeline-product-release.js +198 -0
  90. package/packages/core/providers/github/pipeline-publication-artifacts.js +153 -0
  91. package/packages/core/providers/github/pipeline-release-evidence.js +30 -0
  92. package/packages/core/providers/github/pipeline-run-entry.js +86 -0
  93. package/packages/core/providers/github/pipeline-runs.js +132 -0
  94. package/packages/core/providers/github/pipeline-source.js +195 -0
  95. package/packages/core/providers/github/pipeline-stable-baseline.js +86 -0
  96. package/packages/core/providers/github/pipeline-stable-source.js +372 -0
  97. package/packages/core/providers/github/pipeline-version-artifacts.js +91 -0
  98. package/packages/core/providers/github/pipeline-version-readback.js +117 -0
  99. package/packages/core/providers/github/pipeline-version.js +199 -0
  100. package/packages/core/providers/github/pipeline-worker.js +108 -0
  101. package/packages/core/providers/github/release-evidence-assets.js +97 -0
  102. package/packages/core/publication/candidate/registry-hydration.js +2 -2
  103. package/packages/core/publication/npm/pack-preview.js +2 -2
  104. package/packages/core/publication/npm/pack-result.js +31 -0
  105. package/packages/core/publication/npm/package.js +3 -6
  106. package/packages/core/publication/npm/pipeline-channel.js +36 -0
  107. package/packages/core/publication/npm/pipeline-provider.js +137 -0
  108. package/packages/core/publication/npm/registry.js +12 -9
  109. package/packages/core/publication/pipeline/actions.js +116 -0
  110. package/packages/core/publication/pipeline/apply.js +189 -0
  111. package/packages/core/publication/pipeline/build-segments.js +107 -0
  112. package/packages/core/publication/pipeline/capsules.js +92 -0
  113. package/packages/core/publication/pipeline/context.js +39 -0
  114. package/packages/core/publication/pipeline/development-anchor.js +91 -0
  115. package/packages/core/publication/pipeline/development-current.js +63 -0
  116. package/packages/core/publication/pipeline/development-pr.js +112 -0
  117. package/packages/core/publication/pipeline/development-proof.js +76 -0
  118. package/packages/core/publication/pipeline/development-transition.js +112 -0
  119. package/packages/core/publication/pipeline/distribution.js +130 -0
  120. package/packages/core/publication/pipeline/documents.js +192 -0
  121. package/packages/core/publication/pipeline/effects.js +192 -0
  122. package/packages/core/publication/pipeline/files.js +66 -0
  123. package/packages/core/publication/pipeline/imported-materials.js +32 -0
  124. package/packages/core/publication/pipeline/journal.js +122 -0
  125. package/packages/core/publication/pipeline/next-development.js +117 -0
  126. package/packages/core/publication/pipeline/pack.js +180 -0
  127. package/packages/core/publication/pipeline/package-policy.js +22 -0
  128. package/packages/core/publication/pipeline/plan.js +136 -0
  129. package/packages/core/publication/pipeline/prepare.js +139 -0
  130. package/packages/core/publication/pipeline/qualification.js +175 -0
  131. package/packages/core/publication/pipeline/qualify.js +104 -0
  132. package/packages/core/publication/pipeline/recovery-admission.js +122 -0
  133. package/packages/core/publication/pipeline/recovery-build-download.js +80 -0
  134. package/packages/core/publication/pipeline/recovery-build-plan.js +122 -0
  135. package/packages/core/publication/pipeline/recovery-build-readback.js +68 -0
  136. package/packages/core/publication/pipeline/recovery-capsules.js +54 -0
  137. package/packages/core/publication/pipeline/recovery-import.js +80 -0
  138. package/packages/core/publication/pipeline/recovery-inspection.js +218 -0
  139. package/packages/core/publication/pipeline/recovery-materials.js +104 -0
  140. package/packages/core/publication/pipeline/recovery-plan.js +46 -0
  141. package/packages/core/publication/pipeline/recovery-prepare.js +73 -0
  142. package/packages/core/publication/pipeline/recovery-qualification.js +128 -0
  143. package/packages/core/publication/pipeline/recovery-readback.js +56 -0
  144. package/packages/core/publication/pipeline/recovery-signing.js +58 -0
  145. package/packages/core/publication/pipeline/sealed-products.js +79 -0
  146. package/packages/core/publication/pipeline/settle.js +42 -0
  147. package/packages/core/publication/pipeline/signing.js +140 -0
  148. package/packages/core/publication/pipeline/source-plan.js +83 -0
  149. package/packages/core/publication/pipeline/stable-entry.js +219 -0
  150. package/packages/core/publication/pipeline/stable-products.js +317 -0
  151. package/packages/core/publication/pipeline/stable-wait.js +170 -0
  152. package/packages/core/publication/pipeline/stable.js +82 -0
  153. package/packages/core/publication/pipeline/version-actions.js +93 -0
  154. package/packages/core/publication/pipeline/version-build.js +130 -0
  155. package/packages/core/publication/pipeline/version-context.js +143 -0
  156. package/packages/core/publication/pipeline/version-material.js +36 -0
  157. package/packages/core/publication/pipeline/version-preparation.js +69 -0
  158. package/packages/core/publication/pipeline/version-regeneration.js +162 -0
  159. package/packages/core/publication/pipeline/version-source-guard.js +69 -0
  160. package/packages/core/publication/pipeline/version.js +81 -0
  161. package/packages/core/publication/pipeline/worker.js +72 -0
  162. package/packages/core/publication/publication-reproducibility.js +2 -2
  163. package/packages/core/release/discussion/binary.js +11 -0
  164. package/packages/core/release/discussion/checkpoints.js +45 -4
  165. package/packages/core/release/discussion/envelope.js +1 -0
  166. package/packages/core/release/discussion/evidence.js +51 -0
  167. package/packages/core/release/discussion/presentation.js +92 -0
  168. package/packages/core/release/discussion/publication.js +3 -1
  169. package/packages/core/release/discussion/qualification.js +1 -0
  170. package/packages/core/release/discussion/reader.js +9 -0
  171. package/packages/core/release/discussion/session.js +2 -0
  172. package/packages/core/release/discussion/store.js +28 -31
  173. package/packages/core/release/discussion/threads.js +83 -0
  174. package/packages/core/release/next-development-transition.js +15 -15
  175. package/packages/core/release/promote-candidate/product-provider-adapters.js +4 -3
  176. package/packages/core/release/promote-ref/internal/npm-existing-evidence.js +2 -1
  177. package/packages/core/release/promote-ref/internal/publish-command.js +16 -5
  178. package/packages/core/release/stable-release-gate.js +11 -0
  179. package/packages/core/runtime/buildchain-domain.wasm +0 -0
  180. package/packages/core/runtime/domain-wasm-artifact.js +2 -2
  181. package/packages/core/runtime/entry/actions.js +27 -25
  182. package/packages/core/runtime/entry/attempt.js +25 -0
  183. package/packages/core/runtime/entry/selection.js +14 -0
  184. package/packages/core/runtime/entry/source.js +62 -0
  185. package/packages/core/workflow/attempt/identity.js +170 -0
  186. package/packages/core/workflow/attempt/journal.js +89 -0
  187. package/packages/core/workflow/attempt/materials.js +72 -0
  188. package/packages/core/workflow/attempt/reader-entry.js +12 -0
  189. package/packages/core/workflow/attempt/reader.js +149 -0
  190. package/packages/core/workflow/attempt/records.js +153 -0
  191. package/packages/core/workflow/attempt/store.js +75 -0
  192. package/packages/core/workflow/commands/pipeline-build.mjs +23 -0
  193. package/packages/core/workflow/pipeline/action-output.js +11 -0
  194. package/packages/core/workflow/pipeline/actions.js +52 -0
  195. package/packages/core/workflow/pipeline/build-control.js +140 -0
  196. package/packages/core/workflow/pipeline/build-evidence.js +210 -0
  197. package/packages/core/workflow/pipeline/build-qualification.js +145 -0
  198. package/packages/core/workflow/pipeline/build-result.js +78 -0
  199. package/packages/core/workflow/pipeline/build.js +142 -0
  200. package/packages/core/workflow/pipeline/cancellation.js +169 -0
  201. package/packages/core/workflow/pipeline/channel-control.js +157 -0
  202. package/packages/core/workflow/pipeline/channel-source.js +53 -0
  203. package/packages/core/workflow/pipeline/controller.js +141 -0
  204. package/packages/core/workflow/pipeline/delivery-control.js +249 -0
  205. package/packages/core/workflow/pipeline/delivery-observation.js +124 -0
  206. package/packages/core/workflow/pipeline/delivery-request.js +198 -0
  207. package/packages/core/workflow/pipeline/events.js +84 -0
  208. package/packages/core/workflow/pipeline/fence.js +42 -0
  209. package/packages/core/workflow/pipeline/group-control.js +59 -0
  210. package/packages/core/workflow/pipeline/guard-build.js +74 -0
  211. package/packages/core/workflow/pipeline/guard.js +158 -0
  212. package/packages/core/workflow/pipeline/host.js +144 -0
  213. package/packages/core/workflow/pipeline/integration-status.js +113 -0
  214. package/packages/core/workflow/pipeline/materials.js +58 -0
  215. package/packages/core/workflow/pipeline/notifications.js +36 -0
  216. package/packages/core/workflow/pipeline/parent-notification.js +27 -0
  217. package/packages/core/workflow/pipeline/platforms.js +21 -0
  218. package/packages/core/workflow/pipeline/progress.js +108 -0
  219. package/packages/core/workflow/pipeline/projection.js +20 -0
  220. package/packages/core/workflow/pipeline/reconcile.js +194 -0
  221. package/packages/core/workflow/pipeline/record-action.js +27 -0
  222. package/packages/core/workflow/pipeline/recorder-status.js +69 -0
  223. package/packages/core/workflow/pipeline/recovery-action.js +30 -0
  224. package/packages/core/workflow/pipeline/recovery-admission.js +122 -0
  225. package/packages/core/workflow/pipeline/recovery-build-control.js +95 -0
  226. package/packages/core/workflow/pipeline/recovery-build-evidence.js +71 -0
  227. package/packages/core/workflow/pipeline/recovery-build.js +121 -0
  228. package/packages/core/workflow/pipeline/recovery-controller.js +91 -0
  229. package/packages/core/workflow/pipeline/recovery-integration.js +79 -0
  230. package/packages/core/workflow/pipeline/recovery-merge-proof.js +90 -0
  231. package/packages/core/workflow/pipeline/recovery-ownership-settlement.js +150 -0
  232. package/packages/core/workflow/pipeline/recovery-ownership.js +91 -0
  233. package/packages/core/workflow/pipeline/recovery-plan.js +126 -0
  234. package/packages/core/workflow/pipeline/recovery-runtime.js +68 -0
  235. package/packages/core/workflow/pipeline/recovery-session.js +129 -0
  236. package/packages/core/workflow/pipeline/recovery-transition.js +135 -0
  237. package/packages/core/workflow/pipeline/recovery-unrecorded-build.js +74 -0
  238. package/packages/core/workflow/pipeline/runtime-source.js +111 -0
  239. package/packages/core/workflow/pipeline/selection.js +111 -0
  240. package/packages/core/workflow/pipeline/session.js +72 -0
  241. package/packages/core/workflow/pipeline/settlement.js +137 -0
  242. package/packages/core/workflow/pipeline/wake.js +38 -0
  243. package/packages/core/workflow/pipeline/web-status.js +108 -0
  244. package/packages/core/workflow/workflow-taxonomy.mjs +67 -47
  245. package/scripts/build-release-discussion-reader.mjs +11 -7
  246. package/scripts/check-inventory.mjs +7 -70
  247. package/scripts/check-pipeline-publication-topology.mjs +50 -0
  248. package/scripts/check-public-dogfood-contract.mjs +38 -51
  249. package/scripts/check-release-topology.mjs +15 -8
  250. package/scripts/check-self-consumer-contract.mjs +133 -0
  251. package/scripts/check-universal-workflow-bootstrap.mjs +4 -6
  252. package/scripts/generate-minimal-consumer-contract.mjs +155 -0
  253. package/scripts/generate-site-bundle.mjs +1 -1
  254. package/scripts/inventory/binary.mjs +9 -19
  255. package/scripts/inventory/promotion.mjs +2 -13
  256. package/scripts/prepare-product-toolchain.mjs +10 -0
  257. package/scripts/verify-golden-path.mjs +5 -1
  258. package/scripts/verify-product-platform.mjs +65 -0
  259. package/scripts/verify-standalone-product.mjs +42 -0
  260. package/templates/minimal-consumer/binary/.buildchain/buildchain.toml +45 -0
  261. package/templates/minimal-consumer/binary/.github/workflows/buildchain-recover.yml +30 -0
  262. package/templates/minimal-consumer/binary/.github/workflows/buildchain.yml +28 -0
  263. package/templates/minimal-consumer/binary/package.json +6 -0
  264. package/templates/minimal-consumer/binary/src/build.mjs +5 -0
  265. package/templates/minimal-consumer/binary/src/hello.c +2 -0
  266. package/templates/minimal-consumer/binary/src/verify.mjs +3 -0
  267. package/templates/minimal-consumer/npm/.buildchain/buildchain.toml +46 -0
  268. package/templates/minimal-consumer/npm/.github/workflows/buildchain-recover.yml +30 -0
  269. package/templates/minimal-consumer/npm/.github/workflows/buildchain.yml +28 -0
  270. package/templates/minimal-consumer/npm/package.json +6 -0
  271. package/templates/minimal-consumer/npm/src/build.mjs +5 -0
  272. package/templates/minimal-consumer/npm/src/verify.mjs +3 -0
  273. package/templates/minimal-consumer/paper/.buildchain/buildchain.toml +45 -0
  274. package/templates/minimal-consumer/paper/.github/workflows/buildchain-recover.yml +30 -0
  275. package/templates/minimal-consumer/paper/.github/workflows/buildchain.yml +28 -0
  276. package/templates/minimal-consumer/paper/package.json +6 -0
  277. package/templates/minimal-consumer/paper/src/build.mjs +12 -0
  278. package/templates/minimal-consumer/paper/src/verify.mjs +3 -0
@@ -224,6 +224,78 @@
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
+ "BUILDCHAIN_AUTOMATION_TOKEN"
238
+ ],
239
+ "secretCount": 1,
240
+ "outputs": [],
241
+ "outputCount": 0,
242
+ "taxonomy": {
243
+ "id": ".pipeline-delivery",
244
+ "role": "component",
245
+ "category": "ops",
246
+ "purpose": "pipeline-delivery",
247
+ "status": "active",
248
+ "canonicalPath": ".github/workflows/.ops-pipeline-delivery.yml",
249
+ "compatibilityAlias": false
250
+ },
251
+ "surface": "reusable-workflow",
252
+ "capabilityGroup": "api-cli-reference",
253
+ "status": "active",
254
+ "owner": "buildchain-workflows",
255
+ "maturity": "active",
256
+ "introducedVersion": "4.1.0-alpha.0",
257
+ "compatibilityPromise": "current-contract-only",
258
+ "deprecationReplacement": "",
259
+ "sunsetCondition": "explicit-contract-change-review",
260
+ "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
261
+ },
262
+ {
263
+ "id": ".ops-pipeline-execute",
264
+ "path": ".github/workflows/.ops-pipeline-execute.yml",
265
+ "reusable": true,
266
+ "inputs": [
267
+ "attempt",
268
+ "context",
269
+ "matrix",
270
+ "operation",
271
+ "request",
272
+ "runtime-selection"
273
+ ],
274
+ "inputCount": 6,
275
+ "secrets": [],
276
+ "secretCount": 0,
277
+ "outputs": [],
278
+ "outputCount": 0,
279
+ "taxonomy": {
280
+ "id": ".pipeline-execute",
281
+ "role": "component",
282
+ "category": "ops",
283
+ "purpose": "pipeline-execute",
284
+ "status": "active",
285
+ "canonicalPath": ".github/workflows/.ops-pipeline-execute.yml",
286
+ "compatibilityAlias": false
287
+ },
288
+ "surface": "reusable-workflow",
289
+ "capabilityGroup": "api-cli-reference",
290
+ "status": "active",
291
+ "owner": "buildchain-workflows",
292
+ "maturity": "active",
293
+ "introducedVersion": "4.1.0-alpha.0",
294
+ "compatibilityPromise": "current-contract-only",
295
+ "deprecationReplacement": "",
296
+ "sunsetCondition": "explicit-contract-change-review",
297
+ "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
298
+ },
227
299
  {
228
300
  "id": ".release-authority",
229
301
  "path": ".github/workflows/.release-authority.yml",
@@ -349,6 +421,89 @@
349
421
  "sunsetCondition": "explicit-contract-change-review",
350
422
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
351
423
  },
424
+ {
425
+ "id": ".release-pipeline-products",
426
+ "path": ".github/workflows/.release-pipeline-products.yml",
427
+ "reusable": true,
428
+ "inputs": [
429
+ "attempt",
430
+ "runtime-selection"
431
+ ],
432
+ "inputCount": 2,
433
+ "secrets": [
434
+ "BUILDCHAIN_APP_PRIVATE_KEY",
435
+ "BUILDCHAIN_AUTOMATION_TOKEN",
436
+ "BUILDCHAIN_NPM_TOKEN"
437
+ ],
438
+ "secretCount": 3,
439
+ "outputs": [
440
+ "stable-wait"
441
+ ],
442
+ "outputCount": 1,
443
+ "taxonomy": {
444
+ "id": ".pipeline-products",
445
+ "role": "component",
446
+ "category": "release",
447
+ "purpose": "pipeline-products",
448
+ "status": "active",
449
+ "canonicalPath": ".github/workflows/.release-pipeline-products.yml",
450
+ "compatibilityAlias": false
451
+ },
452
+ "surface": "reusable-workflow",
453
+ "capabilityGroup": "api-cli-reference",
454
+ "status": "active",
455
+ "owner": "buildchain-workflows",
456
+ "maturity": "active",
457
+ "introducedVersion": "4.1.0-alpha.0",
458
+ "compatibilityPromise": "current-contract-only",
459
+ "deprecationReplacement": "",
460
+ "sunsetCondition": "explicit-contract-change-review",
461
+ "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
462
+ },
463
+ {
464
+ "id": ".release-pipeline-version",
465
+ "path": ".github/workflows/.release-pipeline-version.yml",
466
+ "reusable": true,
467
+ "inputs": [
468
+ "context",
469
+ "matrix",
470
+ "operation",
471
+ "purpose",
472
+ "runtime-selection"
473
+ ],
474
+ "inputCount": 5,
475
+ "secrets": [
476
+ "BUILDCHAIN_APP_PRIVATE_KEY",
477
+ "BUILDCHAIN_AUTOMATION_TOKEN"
478
+ ],
479
+ "secretCount": 2,
480
+ "outputs": [
481
+ "context",
482
+ "matrix",
483
+ "operation",
484
+ "stable-wait"
485
+ ],
486
+ "outputCount": 4,
487
+ "taxonomy": {
488
+ "id": ".pipeline-version",
489
+ "role": "component",
490
+ "category": "release",
491
+ "purpose": "pipeline-version",
492
+ "status": "active",
493
+ "canonicalPath": ".github/workflows/.release-pipeline-version.yml",
494
+ "compatibilityAlias": false
495
+ },
496
+ "surface": "reusable-workflow",
497
+ "capabilityGroup": "api-cli-reference",
498
+ "status": "active",
499
+ "owner": "buildchain-workflows",
500
+ "maturity": "active",
501
+ "introducedVersion": "4.1.0-alpha.0",
502
+ "compatibilityPromise": "current-contract-only",
503
+ "deprecationReplacement": "",
504
+ "sunsetCondition": "explicit-contract-change-review",
505
+ "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
506
+ },
352
507
  {
353
508
  "id": ".release-promote",
354
509
  "path": ".github/workflows/.release-promote.yml",
@@ -476,6 +631,66 @@
476
631
  "sunsetCondition": "explicit-contract-change-review",
477
632
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
478
633
  },
634
+ {
635
+ "id": "buildchain-recover",
636
+ "path": ".github/workflows/buildchain-recover.yml",
637
+ "reusable": false,
638
+ "inputs": [],
639
+ "inputCount": 0,
640
+ "secrets": [],
641
+ "secretCount": 0,
642
+ "outputs": [],
643
+ "outputCount": 0,
644
+ "taxonomy": {
645
+ "id": "buildchain-recover",
646
+ "role": "self",
647
+ "category": "ops",
648
+ "purpose": "recovery",
649
+ "status": "active",
650
+ "canonicalPath": ".github/workflows/buildchain-recover.yml",
651
+ "compatibilityAlias": false
652
+ },
653
+ "surface": "repository-workflow",
654
+ "capabilityGroup": "api-cli-reference",
655
+ "status": "active",
656
+ "owner": "buildchain-workflows",
657
+ "maturity": "active",
658
+ "introducedVersion": "4.1.0-alpha.0",
659
+ "compatibilityPromise": "current-contract-only",
660
+ "deprecationReplacement": "",
661
+ "sunsetCondition": "explicit-contract-change-review",
662
+ "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
663
+ },
664
+ {
665
+ "id": "buildchain",
666
+ "path": ".github/workflows/buildchain.yml",
667
+ "reusable": false,
668
+ "inputs": [],
669
+ "inputCount": 0,
670
+ "secrets": [],
671
+ "secretCount": 0,
672
+ "outputs": [],
673
+ "outputCount": 0,
674
+ "taxonomy": {
675
+ "id": "buildchain",
676
+ "role": "self",
677
+ "category": "ops",
678
+ "purpose": "pipeline",
679
+ "status": "active",
680
+ "canonicalPath": ".github/workflows/buildchain.yml",
681
+ "compatibilityAlias": false
682
+ },
683
+ "surface": "repository-workflow",
684
+ "capabilityGroup": "api-cli-reference",
685
+ "status": "active",
686
+ "owner": "buildchain-workflows",
687
+ "maturity": "active",
688
+ "introducedVersion": "4.1.0-alpha.0",
689
+ "compatibilityPromise": "current-contract-only",
690
+ "deprecationReplacement": "",
691
+ "sunsetCondition": "explicit-contract-change-review",
692
+ "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
693
+ },
479
694
  {
480
695
  "id": "public-build-adopter-qualification",
481
696
  "path": ".github/workflows/public-build-adopter-qualification.yml",
@@ -873,7 +1088,9 @@
873
1088
  "native-command",
874
1089
  "native-command-root",
875
1090
  "native-heartbeat-seconds",
1091
+ "native-platform",
876
1092
  "native-proof-json",
1093
+ "pipeline-attempt",
877
1094
  "plan-root",
878
1095
  "project-cut-proof-json",
879
1096
  "queue-admission-context",
@@ -893,7 +1110,7 @@
893
1110
  "toolchain-root",
894
1111
  "warrant-lease-seconds"
895
1112
  ],
896
- "inputCount": 42,
1113
+ "inputCount": 44,
897
1114
  "secrets": [
898
1115
  "github-token"
899
1116
  ],
@@ -1046,7 +1263,7 @@
1046
1263
  "status": "preview",
1047
1264
  "owner": "buildchain-workflows",
1048
1265
  "maturity": "preview",
1049
- "introducedVersion": "4.1.3-alpha.0",
1266
+ "introducedVersion": "4.1.3-alpha.10",
1050
1267
  "compatibilityPromise": "current-contract-only",
1051
1268
  "deprecationReplacement": "",
1052
1269
  "sunsetCondition": "explicit-contract-change-review",
@@ -1296,6 +1513,71 @@
1296
1513
  "sunsetCondition": "explicit-contract-change-review",
1297
1514
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1298
1515
  },
1516
+ {
1517
+ "id": "public-ops-pipeline",
1518
+ "path": ".github/workflows/public-ops-pipeline.yml",
1519
+ "reusable": true,
1520
+ "inputs": [
1521
+ "config-path"
1522
+ ],
1523
+ "inputCount": 1,
1524
+ "secrets": [],
1525
+ "secretCount": 0,
1526
+ "outputs": [],
1527
+ "outputCount": 0,
1528
+ "taxonomy": {
1529
+ "id": "pipeline",
1530
+ "role": "public",
1531
+ "category": "ops",
1532
+ "purpose": "pipeline",
1533
+ "status": "active",
1534
+ "canonicalPath": ".github/workflows/public-ops-pipeline.yml",
1535
+ "compatibilityAlias": false
1536
+ },
1537
+ "surface": "repository-workflow",
1538
+ "capabilityGroup": "api-cli-reference",
1539
+ "status": "active",
1540
+ "owner": "buildchain-workflows",
1541
+ "maturity": "active",
1542
+ "introducedVersion": "4.1.0-alpha.0",
1543
+ "compatibilityPromise": "current-contract-only",
1544
+ "deprecationReplacement": "",
1545
+ "sunsetCondition": "explicit-contract-change-review",
1546
+ "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1547
+ },
1548
+ {
1549
+ "id": "public-ops-recover",
1550
+ "path": ".github/workflows/public-ops-recover.yml",
1551
+ "reusable": true,
1552
+ "inputs": [
1553
+ "attempt",
1554
+ "runtime-ref"
1555
+ ],
1556
+ "inputCount": 2,
1557
+ "secrets": [],
1558
+ "secretCount": 0,
1559
+ "outputs": [],
1560
+ "outputCount": 0,
1561
+ "taxonomy": {
1562
+ "id": "recover",
1563
+ "role": "public",
1564
+ "category": "ops",
1565
+ "purpose": "recover",
1566
+ "status": "active",
1567
+ "canonicalPath": ".github/workflows/public-ops-recover.yml",
1568
+ "compatibilityAlias": false
1569
+ },
1570
+ "surface": "repository-workflow",
1571
+ "capabilityGroup": "api-cli-reference",
1572
+ "status": "active",
1573
+ "owner": "buildchain-workflows",
1574
+ "maturity": "active",
1575
+ "introducedVersion": "4.1.0-alpha.0",
1576
+ "compatibilityPromise": "current-contract-only",
1577
+ "deprecationReplacement": "",
1578
+ "sunsetCondition": "explicit-contract-change-review",
1579
+ "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1580
+ },
1299
1581
  {
1300
1582
  "id": "public-ops-release-governance",
1301
1583
  "path": ".github/workflows/public-ops-release-governance.yml",
@@ -2014,944 +2296,14 @@
2014
2296
  "web-surface-url",
2015
2297
  "web-surface-urls-json"
2016
2298
  ],
2017
- "outputCount": 23,
2018
- "taxonomy": {
2019
- "id": ".web-surface",
2020
- "role": "public",
2021
- "category": "release",
2022
- "purpose": "web",
2023
- "status": "active",
2024
- "canonicalPath": ".github/workflows/public-release-web.yml",
2025
- "compatibilityAlias": false
2026
- },
2027
- "surface": "repository-workflow",
2028
- "capabilityGroup": "api-cli-reference",
2029
- "status": "active",
2030
- "owner": "buildchain-workflows",
2031
- "maturity": "active",
2032
- "introducedVersion": "4.1.0-alpha.0",
2033
- "compatibilityPromise": "current-contract-only",
2034
- "deprecationReplacement": "",
2035
- "sunsetCondition": "explicit-contract-change-review",
2036
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2037
- },
2038
- {
2039
- "id": "self-build-adopter-dogfood",
2040
- "path": ".github/workflows/self-build-adopter-dogfood.yml",
2041
- "reusable": false,
2042
- "inputs": [],
2043
- "inputCount": 0,
2044
- "secrets": [],
2045
- "secretCount": 0,
2046
- "outputs": [],
2047
- "outputCount": 0,
2048
- "taxonomy": {
2049
- "id": "v4-adopter-delivery-dogfood",
2050
- "role": "self",
2051
- "category": "build",
2052
- "purpose": "adopter-dogfood",
2053
- "status": "active",
2054
- "canonicalPath": ".github/workflows/self-build-adopter-dogfood.yml",
2055
- "compatibilityAlias": false
2056
- },
2057
- "surface": "repository-workflow",
2058
- "capabilityGroup": "api-cli-reference",
2059
- "status": "active",
2060
- "owner": "buildchain-workflows",
2061
- "maturity": "active",
2062
- "introducedVersion": "4.1.0-alpha.0",
2063
- "compatibilityPromise": "current-contract-only",
2064
- "deprecationReplacement": "",
2065
- "sunsetCondition": "explicit-contract-change-review",
2066
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2067
- },
2068
- {
2069
- "id": "self-build-alpha-dogfood",
2070
- "path": ".github/workflows/self-build-alpha-dogfood.yml",
2071
- "reusable": false,
2072
- "inputs": [],
2073
- "inputCount": 0,
2074
- "secrets": [],
2075
- "secretCount": 0,
2076
- "outputs": [],
2077
- "outputCount": 0,
2078
- "taxonomy": {
2079
- "id": "buildchain-alpha-self-dogfood",
2080
- "role": "self",
2081
- "category": "build",
2082
- "purpose": "alpha-dogfood",
2083
- "status": "active",
2084
- "canonicalPath": ".github/workflows/self-build-alpha-dogfood.yml",
2085
- "compatibilityAlias": false
2086
- },
2087
- "surface": "repository-workflow",
2088
- "capabilityGroup": "api-cli-reference",
2089
- "status": "active",
2090
- "owner": "buildchain-workflows",
2091
- "maturity": "active",
2092
- "introducedVersion": "4.1.0-alpha.0",
2093
- "compatibilityPromise": "current-contract-only",
2094
- "deprecationReplacement": "",
2095
- "sunsetCondition": "explicit-contract-change-review",
2096
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2097
- },
2098
- {
2099
- "id": "self-build-binary-distribution",
2100
- "path": ".github/workflows/self-build-binary-distribution.yml",
2101
- "reusable": false,
2102
- "inputs": [],
2103
- "inputCount": 0,
2104
- "secrets": [],
2105
- "secretCount": 0,
2106
- "outputs": [],
2107
- "outputCount": 0,
2108
- "taxonomy": {
2109
- "id": "binary-distribution",
2110
- "role": "self",
2111
- "category": "build",
2112
- "purpose": "binary-distribution",
2113
- "status": "active",
2114
- "canonicalPath": ".github/workflows/self-build-binary-distribution.yml",
2115
- "compatibilityAlias": false
2116
- },
2117
- "surface": "release-passport",
2118
- "capabilityGroup": "api-cli-reference",
2119
- "status": "active",
2120
- "owner": "buildchain-workflows",
2121
- "maturity": "active",
2122
- "introducedVersion": "4.1.0-alpha.0",
2123
- "compatibilityPromise": "current-contract-only",
2124
- "deprecationReplacement": "",
2125
- "sunsetCondition": "explicit-contract-change-review",
2126
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2127
- },
2128
- {
2129
- "id": "self-build-channel-verify",
2130
- "path": ".github/workflows/self-build-channel-verify.yml",
2131
- "reusable": false,
2132
- "inputs": [],
2133
- "inputCount": 0,
2134
- "secrets": [],
2135
- "secretCount": 0,
2136
- "outputs": [],
2137
- "outputCount": 0,
2138
- "taxonomy": {
2139
- "id": "channel-verify",
2140
- "role": "self",
2141
- "category": "build",
2142
- "purpose": "channel-verify",
2143
- "status": "active",
2144
- "canonicalPath": ".github/workflows/self-build-channel-verify.yml",
2145
- "compatibilityAlias": false
2146
- },
2147
- "surface": "repository-workflow",
2148
- "capabilityGroup": "api-cli-reference",
2149
- "status": "active",
2150
- "owner": "buildchain-workflows",
2151
- "maturity": "active",
2152
- "introducedVersion": "4.1.0-alpha.0",
2153
- "compatibilityPromise": "current-contract-only",
2154
- "deprecationReplacement": "",
2155
- "sunsetCondition": "explicit-contract-change-review",
2156
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2157
- },
2158
- {
2159
- "id": "self-build-demo-dogfood",
2160
- "path": ".github/workflows/self-build-demo-dogfood.yml",
2161
- "reusable": false,
2162
- "inputs": [],
2163
- "inputCount": 0,
2164
- "secrets": [],
2165
- "secretCount": 0,
2166
- "outputs": [],
2167
- "outputCount": 0,
2168
- "taxonomy": {
2169
- "id": "auditable-demo",
2170
- "role": "self",
2171
- "category": "build",
2172
- "purpose": "demo-dogfood",
2173
- "status": "active",
2174
- "canonicalPath": ".github/workflows/self-build-demo-dogfood.yml",
2175
- "compatibilityAlias": false
2176
- },
2177
- "surface": "repository-workflow",
2178
- "capabilityGroup": "api-cli-reference",
2179
- "status": "active",
2180
- "owner": "buildchain-workflows",
2181
- "maturity": "active",
2182
- "introducedVersion": "4.1.0-alpha.0",
2183
- "compatibilityPromise": "current-contract-only",
2184
- "deprecationReplacement": "",
2185
- "sunsetCondition": "explicit-contract-change-review",
2186
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2187
- },
2188
- {
2189
- "id": "self-build-demo-media-qualification",
2190
- "path": ".github/workflows/self-build-demo-media-qualification.yml",
2191
- "reusable": false,
2192
- "inputs": [],
2193
- "inputCount": 0,
2194
- "secrets": [],
2195
- "secretCount": 0,
2196
- "outputs": [],
2197
- "outputCount": 0,
2198
- "taxonomy": {
2199
- "id": "auditable-demo-media-profile-qualification",
2200
- "role": "self",
2201
- "category": "build",
2202
- "purpose": "demo-media-qualification",
2203
- "status": "active",
2204
- "canonicalPath": ".github/workflows/self-build-demo-media-qualification.yml",
2205
- "compatibilityAlias": false
2206
- },
2207
- "surface": "repository-workflow",
2208
- "capabilityGroup": "api-cli-reference",
2209
- "status": "active",
2210
- "owner": "buildchain-workflows",
2211
- "maturity": "active",
2212
- "introducedVersion": "4.1.0-alpha.0",
2213
- "compatibilityPromise": "current-contract-only",
2214
- "deprecationReplacement": "",
2215
- "sunsetCondition": "explicit-contract-change-review",
2216
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2217
- },
2218
- {
2219
- "id": "self-build-fixture",
2220
- "path": ".github/workflows/self-build-fixture.yml",
2221
- "reusable": false,
2222
- "inputs": [],
2223
- "inputCount": 0,
2224
- "secrets": [],
2225
- "secretCount": 0,
2226
- "outputs": [],
2227
- "outputCount": 0,
2228
- "taxonomy": {
2229
- "id": "build-surface-fixture",
2230
- "role": "self",
2231
- "category": "build",
2232
- "purpose": "fixture",
2233
- "status": "active",
2234
- "canonicalPath": ".github/workflows/self-build-fixture.yml",
2235
- "compatibilityAlias": false
2236
- },
2237
- "surface": "repository-workflow",
2238
- "capabilityGroup": "api-cli-reference",
2239
- "status": "repository-internal",
2240
- "owner": "buildchain-workflows",
2241
- "maturity": "repository-internal",
2242
- "introducedVersion": "4.1.0-alpha.0",
2243
- "compatibilityPromise": "current-contract-only",
2244
- "deprecationReplacement": "",
2245
- "sunsetCondition": "explicit-contract-change-review",
2246
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2247
- },
2248
- {
2249
- "id": "self-build-public-consumer-dogfood",
2250
- "path": ".github/workflows/self-build-public-consumer-dogfood.yml",
2251
- "reusable": false,
2252
- "inputs": [],
2253
- "inputCount": 0,
2254
- "secrets": [],
2255
- "secretCount": 0,
2256
- "outputs": [],
2257
- "outputCount": 0,
2258
- "taxonomy": {
2259
- "id": "v4-public-consumer-dogfood",
2260
- "role": "self",
2261
- "category": "build",
2262
- "purpose": "public-consumer-dogfood",
2263
- "status": "active",
2264
- "canonicalPath": ".github/workflows/self-build-public-consumer-dogfood.yml",
2265
- "compatibilityAlias": false
2266
- },
2267
- "surface": "repository-workflow",
2268
- "capabilityGroup": "api-cli-reference",
2269
- "status": "active",
2270
- "owner": "buildchain-workflows",
2271
- "maturity": "active",
2272
- "introducedVersion": "4.1.0-alpha.0",
2273
- "compatibilityPromise": "current-contract-only",
2274
- "deprecationReplacement": "",
2275
- "sunsetCondition": "explicit-contract-change-review",
2276
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2277
- },
2278
- {
2279
- "id": "self-build-stable-candidate-qualification",
2280
- "path": ".github/workflows/self-build-stable-candidate-qualification.yml",
2281
- "reusable": false,
2282
- "inputs": [],
2283
- "inputCount": 0,
2284
- "secrets": [],
2285
- "secretCount": 0,
2286
- "outputs": [],
2287
- "outputCount": 0,
2288
- "taxonomy": {
2289
- "id": "buildchain-stable-candidate-qualification",
2290
- "role": "self",
2291
- "category": "build",
2292
- "purpose": "stable-candidate-qualification",
2293
- "status": "active",
2294
- "canonicalPath": ".github/workflows/self-build-stable-candidate-qualification.yml",
2295
- "compatibilityAlias": false
2296
- },
2297
- "surface": "repository-patrol",
2298
- "capabilityGroup": "api-cli-reference",
2299
- "status": "repository-internal",
2300
- "owner": "buildchain-workflows",
2301
- "maturity": "repository-internal",
2302
- "introducedVersion": "4.1.0-alpha.0",
2303
- "compatibilityPromise": "current-contract-only",
2304
- "deprecationReplacement": "",
2305
- "sunsetCondition": "explicit-contract-change-review",
2306
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2307
- },
2308
- {
2309
- "id": "self-build-stable-dogfood",
2310
- "path": ".github/workflows/self-build-stable-dogfood.yml",
2311
- "reusable": false,
2312
- "inputs": [],
2313
- "inputCount": 0,
2314
- "secrets": [],
2315
- "secretCount": 0,
2316
- "outputs": [],
2317
- "outputCount": 0,
2318
- "taxonomy": {
2319
- "id": "buildchain-stable-self-dogfood",
2320
- "role": "self",
2321
- "category": "build",
2322
- "purpose": "stable-dogfood",
2323
- "status": "active",
2324
- "canonicalPath": ".github/workflows/self-build-stable-dogfood.yml",
2325
- "compatibilityAlias": false
2326
- },
2327
- "surface": "repository-workflow",
2328
- "capabilityGroup": "api-cli-reference",
2329
- "status": "active",
2330
- "owner": "buildchain-workflows",
2331
- "maturity": "active",
2332
- "introducedVersion": "4.1.0-alpha.0",
2333
- "compatibilityPromise": "current-contract-only",
2334
- "deprecationReplacement": "",
2335
- "sunsetCondition": "explicit-contract-change-review",
2336
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2337
- },
2338
- {
2339
- "id": "self-build-verify",
2340
- "path": ".github/workflows/self-build-verify.yml",
2341
- "reusable": false,
2342
- "inputs": [],
2343
- "inputCount": 0,
2344
- "secrets": [],
2345
- "secretCount": 0,
2346
- "outputs": [],
2347
- "outputCount": 0,
2348
- "taxonomy": {
2349
- "id": "verify",
2350
- "role": "self",
2351
- "category": "build",
2352
- "purpose": "verify",
2353
- "status": "active",
2354
- "canonicalPath": ".github/workflows/self-build-verify.yml",
2355
- "compatibilityAlias": false
2356
- },
2357
- "surface": "repository-workflow",
2358
- "capabilityGroup": "api-cli-reference",
2359
- "status": "active",
2360
- "owner": "buildchain-workflows",
2361
- "maturity": "active",
2362
- "introducedVersion": "4.1.0-alpha.0",
2363
- "compatibilityPromise": "current-contract-only",
2364
- "deprecationReplacement": "",
2365
- "sunsetCondition": "explicit-contract-change-review",
2366
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2367
- },
2368
- {
2369
- "id": "self-ops-bootstrap-dogfood",
2370
- "path": ".github/workflows/self-ops-bootstrap-dogfood.yml",
2371
- "reusable": false,
2372
- "inputs": [],
2373
- "inputCount": 0,
2374
- "secrets": [],
2375
- "secretCount": 0,
2376
- "outputs": [],
2377
- "outputCount": 0,
2378
- "taxonomy": {
2379
- "id": "universal-bootstrap-dogfood",
2380
- "role": "self",
2381
- "category": "ops",
2382
- "purpose": "bootstrap-dogfood",
2383
- "status": "active",
2384
- "canonicalPath": ".github/workflows/self-ops-bootstrap-dogfood.yml",
2385
- "compatibilityAlias": false
2386
- },
2387
- "surface": "repository-workflow",
2388
- "capabilityGroup": "api-cli-reference",
2389
- "status": "active",
2390
- "owner": "buildchain-workflows",
2391
- "maturity": "active",
2392
- "introducedVersion": "4.1.0-alpha.0",
2393
- "compatibilityPromise": "current-contract-only",
2394
- "deprecationReplacement": "",
2395
- "sunsetCondition": "explicit-contract-change-review",
2396
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2397
- },
2398
- {
2399
- "id": "self-ops-dev-delivery",
2400
- "path": ".github/workflows/self-ops-dev-delivery.yml",
2401
- "reusable": false,
2402
- "inputs": [],
2403
- "inputCount": 0,
2404
- "secrets": [],
2405
- "secretCount": 0,
2406
- "outputs": [],
2407
- "outputCount": 0,
2408
- "taxonomy": {
2409
- "id": "buildchain-dev-delivery",
2410
- "role": "self",
2411
- "category": "ops",
2412
- "purpose": "dev-delivery",
2413
- "status": "active",
2414
- "canonicalPath": ".github/workflows/self-ops-dev-delivery.yml",
2415
- "compatibilityAlias": false
2416
- },
2417
- "surface": "dev-governance",
2418
- "capabilityGroup": "governance-versioning",
2419
- "status": "active",
2420
- "owner": "buildchain-workflows",
2421
- "maturity": "active",
2422
- "introducedVersion": "4.1.0-alpha.0",
2423
- "compatibilityPromise": "current-contract-only",
2424
- "deprecationReplacement": "",
2425
- "sunsetCondition": "explicit-contract-change-review",
2426
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2427
- },
2428
- {
2429
- "id": "self-ops-governance-audit",
2430
- "path": ".github/workflows/self-ops-governance-audit.yml",
2431
- "reusable": false,
2432
- "inputs": [],
2433
- "inputCount": 0,
2434
- "secrets": [],
2435
- "secretCount": 0,
2436
- "outputs": [],
2437
- "outputCount": 0,
2438
- "taxonomy": {
2439
- "id": "github-governance-audit",
2440
- "role": "self",
2441
- "category": "ops",
2442
- "purpose": "governance-audit",
2443
- "status": "active",
2444
- "canonicalPath": ".github/workflows/self-ops-governance-audit.yml",
2445
- "compatibilityAlias": false
2446
- },
2447
- "surface": "dev-governance",
2448
- "capabilityGroup": "api-cli-reference",
2449
- "status": "active",
2450
- "owner": "buildchain-workflows",
2451
- "maturity": "active",
2452
- "introducedVersion": "4.1.0-alpha.0",
2453
- "compatibilityPromise": "current-contract-only",
2454
- "deprecationReplacement": "",
2455
- "sunsetCondition": "explicit-contract-change-review",
2456
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2457
- },
2458
- {
2459
- "id": "self-ops-housekeeping-daily",
2460
- "path": ".github/workflows/self-ops-housekeeping-daily.yml",
2461
- "reusable": false,
2462
- "inputs": [],
2463
- "inputCount": 0,
2464
- "secrets": [],
2465
- "secretCount": 0,
2466
- "outputs": [],
2467
- "outputCount": 0,
2468
- "taxonomy": {
2469
- "id": "engineering-housekeeper-daily",
2470
- "role": "self",
2471
- "category": "ops",
2472
- "purpose": "housekeeping-daily",
2473
- "status": "active",
2474
- "canonicalPath": ".github/workflows/self-ops-housekeeping-daily.yml",
2475
- "compatibilityAlias": false
2476
- },
2477
- "surface": "repository-patrol",
2478
- "capabilityGroup": "governance-versioning",
2479
- "status": "preview",
2480
- "owner": "buildchain-workflows",
2481
- "maturity": "preview",
2482
- "introducedVersion": "4.1.3-alpha.0",
2483
- "compatibilityPromise": "current-contract-only",
2484
- "deprecationReplacement": "",
2485
- "sunsetCondition": "explicit-contract-change-review",
2486
- "nonDuplicationRationale": "One reusable policy and evidence boundary owns Engineering Housekeeper execution; scheduled callers contain cadence values only."
2487
- },
2488
- {
2489
- "id": "self-ops-housekeeping-monthly",
2490
- "path": ".github/workflows/self-ops-housekeeping-monthly.yml",
2491
- "reusable": false,
2492
- "inputs": [],
2493
- "inputCount": 0,
2494
- "secrets": [],
2495
- "secretCount": 0,
2496
- "outputs": [],
2497
- "outputCount": 0,
2498
- "taxonomy": {
2499
- "id": "engineering-housekeeper-monthly",
2500
- "role": "self",
2501
- "category": "ops",
2502
- "purpose": "housekeeping-monthly",
2503
- "status": "active",
2504
- "canonicalPath": ".github/workflows/self-ops-housekeeping-monthly.yml",
2505
- "compatibilityAlias": false
2506
- },
2507
- "surface": "repository-patrol",
2508
- "capabilityGroup": "governance-versioning",
2509
- "status": "preview",
2510
- "owner": "buildchain-workflows",
2511
- "maturity": "preview",
2512
- "introducedVersion": "4.1.3-alpha.0",
2513
- "compatibilityPromise": "current-contract-only",
2514
- "deprecationReplacement": "",
2515
- "sunsetCondition": "explicit-contract-change-review",
2516
- "nonDuplicationRationale": "One reusable policy and evidence boundary owns Engineering Housekeeper execution; scheduled callers contain cadence values only."
2517
- },
2518
- {
2519
- "id": "self-ops-housekeeping-weekly",
2520
- "path": ".github/workflows/self-ops-housekeeping-weekly.yml",
2521
- "reusable": false,
2522
- "inputs": [],
2523
- "inputCount": 0,
2524
- "secrets": [],
2525
- "secretCount": 0,
2526
- "outputs": [],
2527
- "outputCount": 0,
2528
- "taxonomy": {
2529
- "id": "engineering-housekeeper-weekly",
2530
- "role": "self",
2531
- "category": "ops",
2532
- "purpose": "housekeeping-weekly",
2533
- "status": "active",
2534
- "canonicalPath": ".github/workflows/self-ops-housekeeping-weekly.yml",
2535
- "compatibilityAlias": false
2536
- },
2537
- "surface": "repository-patrol",
2538
- "capabilityGroup": "governance-versioning",
2539
- "status": "preview",
2540
- "owner": "buildchain-workflows",
2541
- "maturity": "preview",
2542
- "introducedVersion": "4.1.3-alpha.0",
2543
- "compatibilityPromise": "current-contract-only",
2544
- "deprecationReplacement": "",
2545
- "sunsetCondition": "explicit-contract-change-review",
2546
- "nonDuplicationRationale": "One reusable policy and evidence boundary owns Engineering Housekeeper execution; scheduled callers contain cadence values only."
2547
- },
2548
- {
2549
- "id": "self-ops-merge-queue",
2550
- "path": ".github/workflows/self-ops-merge-queue.yml",
2551
- "reusable": false,
2552
- "inputs": [],
2553
- "inputCount": 0,
2554
- "secrets": [],
2555
- "secretCount": 0,
2556
- "outputs": [],
2557
- "outputCount": 0,
2558
- "taxonomy": {
2559
- "id": "dev-merge-queue-governance",
2560
- "role": "self",
2561
- "category": "ops",
2562
- "purpose": "merge-queue",
2563
- "status": "active",
2564
- "canonicalPath": ".github/workflows/self-ops-merge-queue.yml",
2565
- "compatibilityAlias": false
2566
- },
2567
- "surface": "repository-workflow",
2568
- "capabilityGroup": "api-cli-reference",
2569
- "status": "active",
2570
- "owner": "buildchain-workflows",
2571
- "maturity": "active",
2572
- "introducedVersion": "4.1.0-alpha.0",
2573
- "compatibilityPromise": "current-contract-only",
2574
- "deprecationReplacement": "",
2575
- "sunsetCondition": "explicit-contract-change-review",
2576
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2577
- },
2578
- {
2579
- "id": "self-ops-patrol-daily",
2580
- "path": ".github/workflows/self-ops-patrol-daily.yml",
2581
- "reusable": false,
2582
- "inputs": [],
2583
- "inputCount": 0,
2584
- "secrets": [],
2585
- "secretCount": 0,
2586
- "outputs": [],
2587
- "outputCount": 0,
2588
- "taxonomy": {
2589
- "id": "buildchain-patrol-daily",
2590
- "role": "self",
2591
- "category": "ops",
2592
- "purpose": "patrol-daily",
2593
- "status": "active",
2594
- "canonicalPath": ".github/workflows/self-ops-patrol-daily.yml",
2595
- "compatibilityAlias": false
2596
- },
2597
- "surface": "repository-patrol",
2598
- "capabilityGroup": "governance-versioning",
2599
- "status": "active",
2600
- "owner": "buildchain-workflows",
2601
- "maturity": "active",
2602
- "introducedVersion": "4.1.0-alpha.0",
2603
- "compatibilityPromise": "current-contract-only",
2604
- "deprecationReplacement": "",
2605
- "sunsetCondition": "explicit-contract-change-review",
2606
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2607
- },
2608
- {
2609
- "id": "self-ops-patrol-monthly",
2610
- "path": ".github/workflows/self-ops-patrol-monthly.yml",
2611
- "reusable": false,
2612
- "inputs": [],
2613
- "inputCount": 0,
2614
- "secrets": [],
2615
- "secretCount": 0,
2616
- "outputs": [],
2617
- "outputCount": 0,
2618
- "taxonomy": {
2619
- "id": "buildchain-patrol-monthly",
2620
- "role": "self",
2621
- "category": "ops",
2622
- "purpose": "patrol-monthly",
2623
- "status": "active",
2624
- "canonicalPath": ".github/workflows/self-ops-patrol-monthly.yml",
2625
- "compatibilityAlias": false
2626
- },
2627
- "surface": "repository-patrol",
2628
- "capabilityGroup": "governance-versioning",
2629
- "status": "active",
2630
- "owner": "buildchain-workflows",
2631
- "maturity": "active",
2632
- "introducedVersion": "4.1.0-alpha.0",
2633
- "compatibilityPromise": "current-contract-only",
2634
- "deprecationReplacement": "",
2635
- "sunsetCondition": "explicit-contract-change-review",
2636
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2637
- },
2638
- {
2639
- "id": "self-ops-patrol-weekly",
2640
- "path": ".github/workflows/self-ops-patrol-weekly.yml",
2641
- "reusable": false,
2642
- "inputs": [],
2643
- "inputCount": 0,
2644
- "secrets": [],
2645
- "secretCount": 0,
2646
- "outputs": [],
2647
- "outputCount": 0,
2648
- "taxonomy": {
2649
- "id": "buildchain-patrol-weekly",
2650
- "role": "self",
2651
- "category": "ops",
2652
- "purpose": "patrol-weekly",
2653
- "status": "active",
2654
- "canonicalPath": ".github/workflows/self-ops-patrol-weekly.yml",
2655
- "compatibilityAlias": false
2656
- },
2657
- "surface": "repository-patrol",
2658
- "capabilityGroup": "governance-versioning",
2659
- "status": "active",
2660
- "owner": "buildchain-workflows",
2661
- "maturity": "active",
2662
- "introducedVersion": "4.1.0-alpha.0",
2663
- "compatibilityPromise": "current-contract-only",
2664
- "deprecationReplacement": "",
2665
- "sunsetCondition": "explicit-contract-change-review",
2666
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2667
- },
2668
- {
2669
- "id": "self-ops-promotion-recovery",
2670
- "path": ".github/workflows/self-ops-promotion-recovery.yml",
2671
- "reusable": false,
2672
- "inputs": [],
2673
- "inputCount": 0,
2674
- "secrets": [],
2675
- "secretCount": 0,
2676
- "outputs": [],
2677
- "outputCount": 0,
2678
- "taxonomy": {
2679
- "id": "buildchain-ref-promotion-recovery",
2680
- "role": "self",
2681
- "category": "ops",
2682
- "purpose": "promotion-recovery",
2683
- "status": "active",
2684
- "canonicalPath": ".github/workflows/self-ops-promotion-recovery.yml",
2685
- "compatibilityAlias": false
2686
- },
2687
- "surface": "repository-workflow",
2688
- "capabilityGroup": "api-cli-reference",
2689
- "status": "active",
2690
- "owner": "buildchain-workflows",
2691
- "maturity": "active",
2692
- "introducedVersion": "4.1.0-alpha.0",
2693
- "compatibilityPromise": "current-contract-only",
2694
- "deprecationReplacement": "",
2695
- "sunsetCondition": "explicit-contract-change-review",
2696
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2697
- },
2698
- {
2699
- "id": "self-ops-runner-smoke",
2700
- "path": ".github/workflows/self-ops-runner-smoke.yml",
2701
- "reusable": false,
2702
- "inputs": [],
2703
- "inputCount": 0,
2704
- "secrets": [],
2705
- "secretCount": 0,
2706
- "outputs": [],
2707
- "outputCount": 0,
2708
- "taxonomy": {
2709
- "id": "self-hosted-runner-smoke",
2710
- "role": "self",
2711
- "category": "ops",
2712
- "purpose": "runner-smoke",
2713
- "status": "active",
2714
- "canonicalPath": ".github/workflows/self-ops-runner-smoke.yml",
2715
- "compatibilityAlias": false
2716
- },
2717
- "surface": "repository-workflow",
2718
- "capabilityGroup": "api-cli-reference",
2719
- "status": "compatibility-fixture",
2720
- "owner": "buildchain-workflows",
2721
- "maturity": "compatibility-fixture",
2722
- "introducedVersion": "4.1.0-alpha.0",
2723
- "compatibilityPromise": "current-contract-only",
2724
- "deprecationReplacement": "",
2725
- "sunsetCondition": "explicit-contract-change-review",
2726
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2727
- },
2728
- {
2729
- "id": "self-ops-stable-candidate-patrol",
2730
- "path": ".github/workflows/self-ops-stable-candidate-patrol.yml",
2731
- "reusable": false,
2732
- "inputs": [],
2733
- "inputCount": 0,
2734
- "secrets": [],
2735
- "secretCount": 0,
2736
- "outputs": [],
2737
- "outputCount": 0,
2738
- "taxonomy": {
2739
- "id": "buildchain-stable-candidate-patrol",
2740
- "role": "self",
2741
- "category": "ops",
2742
- "purpose": "stable-candidate-patrol",
2743
- "status": "active",
2744
- "canonicalPath": ".github/workflows/self-ops-stable-candidate-patrol.yml",
2745
- "compatibilityAlias": false
2746
- },
2747
- "surface": "repository-patrol",
2748
- "capabilityGroup": "governance-versioning",
2749
- "status": "active",
2750
- "owner": "buildchain-workflows",
2751
- "maturity": "active",
2752
- "introducedVersion": "4.1.0-alpha.0",
2753
- "compatibilityPromise": "current-contract-only",
2754
- "deprecationReplacement": "",
2755
- "sunsetCondition": "explicit-contract-change-review",
2756
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2757
- },
2758
- {
2759
- "id": "self-release-binary-assets",
2760
- "path": ".github/workflows/self-release-binary-assets.yml",
2761
- "reusable": false,
2762
- "inputs": [],
2763
- "inputCount": 0,
2764
- "secrets": [],
2765
- "secretCount": 0,
2766
- "outputs": [],
2767
- "outputCount": 0,
2768
- "taxonomy": {
2769
- "id": "binary-release-assets",
2770
- "role": "self",
2771
- "category": "release",
2772
- "purpose": "binary-assets",
2773
- "status": "active",
2774
- "canonicalPath": ".github/workflows/self-release-binary-assets.yml",
2775
- "compatibilityAlias": false
2776
- },
2777
- "surface": "repository-workflow",
2778
- "capabilityGroup": "api-cli-reference",
2779
- "status": "active",
2780
- "owner": "buildchain-workflows",
2781
- "maturity": "active",
2782
- "introducedVersion": "4.1.0-alpha.0",
2783
- "compatibilityPromise": "current-contract-only",
2784
- "deprecationReplacement": "",
2785
- "sunsetCondition": "explicit-contract-change-review",
2786
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2787
- },
2788
- {
2789
- "id": "self-release-line-open",
2790
- "path": ".github/workflows/self-release-line-open.yml",
2791
- "reusable": false,
2792
- "inputs": [],
2793
- "inputCount": 0,
2794
- "secrets": [],
2795
- "secretCount": 0,
2796
- "outputs": [],
2797
- "outputCount": 0,
2798
- "taxonomy": {
2799
- "id": "release-line-bootstrap",
2800
- "role": "self",
2801
- "category": "release",
2802
- "purpose": "line-open",
2803
- "status": "active",
2804
- "canonicalPath": ".github/workflows/self-release-line-open.yml",
2805
- "compatibilityAlias": false
2806
- },
2807
- "surface": "release-governance",
2808
- "capabilityGroup": "release-passport-trust",
2809
- "status": "active",
2810
- "owner": "buildchain-workflows",
2811
- "maturity": "active",
2812
- "introducedVersion": "4.1.0-alpha.0",
2813
- "compatibilityPromise": "current-contract-only",
2814
- "deprecationReplacement": "",
2815
- "sunsetCondition": "explicit-contract-change-review",
2816
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2817
- },
2818
- {
2819
- "id": "self-release-next-development",
2820
- "path": ".github/workflows/self-release-next-development.yml",
2821
- "reusable": false,
2822
- "inputs": [],
2823
- "inputCount": 0,
2824
- "secrets": [],
2825
- "secretCount": 0,
2826
- "outputs": [],
2827
- "outputCount": 0,
2828
- "taxonomy": {
2829
- "id": "next-development-review",
2830
- "role": "self",
2831
- "category": "release",
2832
- "purpose": "next-development",
2833
- "status": "active",
2834
- "canonicalPath": ".github/workflows/self-release-next-development.yml",
2835
- "compatibilityAlias": false
2836
- },
2837
- "surface": "repository-workflow",
2838
- "capabilityGroup": "api-cli-reference",
2839
- "status": "active",
2840
- "owner": "buildchain-workflows",
2841
- "maturity": "active",
2842
- "introducedVersion": "4.1.0-alpha.0",
2843
- "compatibilityPromise": "current-contract-only",
2844
- "deprecationReplacement": "",
2845
- "sunsetCondition": "explicit-contract-change-review",
2846
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2847
- },
2848
- {
2849
- "id": "self-release-npm-dry-run",
2850
- "path": ".github/workflows/self-release-npm-dry-run.yml",
2851
- "reusable": false,
2852
- "inputs": [],
2853
- "inputCount": 0,
2854
- "secrets": [],
2855
- "secretCount": 0,
2856
- "outputs": [],
2857
- "outputCount": 0,
2858
- "taxonomy": {
2859
- "id": "npm-publish",
2860
- "role": "self",
2861
- "category": "release",
2862
- "purpose": "npm-dry-run",
2863
- "status": "active",
2864
- "canonicalPath": ".github/workflows/self-release-npm-dry-run.yml",
2865
- "compatibilityAlias": false
2866
- },
2867
- "surface": "repository-workflow",
2868
- "capabilityGroup": "api-cli-reference",
2869
- "status": "active",
2870
- "owner": "buildchain-workflows",
2871
- "maturity": "active",
2872
- "introducedVersion": "4.1.0-alpha.0",
2873
- "compatibilityPromise": "current-contract-only",
2874
- "deprecationReplacement": "",
2875
- "sunsetCondition": "explicit-contract-change-review",
2876
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2877
- },
2878
- {
2879
- "id": "self-release-promote",
2880
- "path": ".github/workflows/self-release-promote.yml",
2881
- "reusable": false,
2882
- "inputs": [],
2883
- "inputCount": 0,
2884
- "secrets": [],
2885
- "secretCount": 0,
2886
- "outputs": [],
2887
- "outputCount": 0,
2888
- "taxonomy": {
2889
- "id": "buildchain-ref-promotion",
2890
- "role": "self",
2891
- "category": "release",
2892
- "purpose": "promote",
2893
- "status": "active",
2894
- "canonicalPath": ".github/workflows/self-release-promote.yml",
2895
- "compatibilityAlias": false
2896
- },
2897
- "surface": "release-governance",
2898
- "capabilityGroup": "release-passport-trust",
2899
- "status": "active",
2900
- "owner": "buildchain-workflows",
2901
- "maturity": "active",
2902
- "introducedVersion": "4.1.0-alpha.0",
2903
- "compatibilityPromise": "current-contract-only",
2904
- "deprecationReplacement": "",
2905
- "sunsetCondition": "explicit-contract-change-review",
2906
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2907
- },
2908
- {
2909
- "id": "self-release-rehearsal-dogfood",
2910
- "path": ".github/workflows/self-release-rehearsal-dogfood.yml",
2911
- "reusable": false,
2912
- "inputs": [],
2913
- "inputCount": 0,
2914
- "secrets": [],
2915
- "secretCount": 0,
2916
- "outputs": [],
2917
- "outputCount": 0,
2918
- "taxonomy": {
2919
- "id": "v4-publication-rehearsal-dogfood",
2920
- "role": "self",
2921
- "category": "release",
2922
- "purpose": "rehearsal-dogfood",
2923
- "status": "active",
2924
- "canonicalPath": ".github/workflows/self-release-rehearsal-dogfood.yml",
2925
- "compatibilityAlias": false
2926
- },
2927
- "surface": "repository-workflow",
2928
- "capabilityGroup": "api-cli-reference",
2929
- "status": "active",
2930
- "owner": "buildchain-workflows",
2931
- "maturity": "active",
2932
- "introducedVersion": "4.1.0-alpha.0",
2933
- "compatibilityPromise": "current-contract-only",
2934
- "deprecationReplacement": "",
2935
- "sunsetCondition": "explicit-contract-change-review",
2936
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2937
- },
2938
- {
2939
- "id": "self-release-tail-dogfood",
2940
- "path": ".github/workflows/self-release-tail-dogfood.yml",
2941
- "reusable": false,
2942
- "inputs": [],
2943
- "inputCount": 0,
2944
- "secrets": [],
2945
- "secretCount": 0,
2946
- "outputs": [],
2947
- "outputCount": 0,
2299
+ "outputCount": 23,
2948
2300
  "taxonomy": {
2949
- "id": "v4-declarative-release-tail-dogfood",
2950
- "role": "self",
2301
+ "id": ".web-surface",
2302
+ "role": "public",
2951
2303
  "category": "release",
2952
- "purpose": "tail-dogfood",
2304
+ "purpose": "web",
2953
2305
  "status": "active",
2954
- "canonicalPath": ".github/workflows/self-release-tail-dogfood.yml",
2306
+ "canonicalPath": ".github/workflows/public-release-web.yml",
2955
2307
  "compatibilityAlias": false
2956
2308
  },
2957
2309
  "surface": "repository-workflow",
@@ -4920,10 +4272,11 @@
4920
4272
  "branch",
4921
4273
  "heartbeat-seconds",
4922
4274
  "lease-seconds",
4275
+ "pipeline-attempt",
4923
4276
  "runtime-sha",
4924
4277
  "token"
4925
4278
  ],
4926
- "inputCount": 5,
4279
+ "inputCount": 6,
4927
4280
  "capabilityGroup": "release-passport-trust",
4928
4281
  "status": "active",
4929
4282
  "owner": "buildchain-actions",
@@ -5027,9 +4380,10 @@
5027
4380
  "project-cut-proof-root",
5028
4381
  "request-json",
5029
4382
  "runtime-sha",
4383
+ "status-token",
5030
4384
  "token"
5031
4385
  ],
5032
- "inputCount": 5,
4386
+ "inputCount": 6,
5033
4387
  "capabilityGroup": "release-passport-trust",
5034
4388
  "status": "active",
5035
4389
  "owner": "buildchain-actions",
@@ -6636,6 +5990,142 @@
6636
5990
  "sunsetCondition": "explicit-contract-change-review",
6637
5991
  "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
6638
5992
  },
5993
+ {
5994
+ "apiRole": "implementation",
5995
+ "id": "publication/pipeline/apply",
5996
+ "path": "actions/publication/pipeline/apply/action.yml",
5997
+ "inputs": [
5998
+ "context",
5999
+ "token"
6000
+ ],
6001
+ "inputCount": 2,
6002
+ "capabilityGroup": "release-passport-trust",
6003
+ "status": "active",
6004
+ "owner": "buildchain-actions",
6005
+ "maturity": "stable",
6006
+ "introducedVersion": "4.1.0-alpha.0",
6007
+ "compatibilityPromise": "current-contract-only",
6008
+ "deprecationReplacement": "",
6009
+ "sunsetCondition": "explicit-contract-change-review",
6010
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
6011
+ },
6012
+ {
6013
+ "apiRole": "implementation",
6014
+ "id": "publication/pipeline/build",
6015
+ "path": "actions/publication/pipeline/build/action.yml",
6016
+ "inputs": [
6017
+ "context",
6018
+ "platform"
6019
+ ],
6020
+ "inputCount": 2,
6021
+ "capabilityGroup": "release-passport-trust",
6022
+ "status": "active",
6023
+ "owner": "buildchain-actions",
6024
+ "maturity": "stable",
6025
+ "introducedVersion": "4.1.0-alpha.0",
6026
+ "compatibilityPromise": "current-contract-only",
6027
+ "deprecationReplacement": "",
6028
+ "sunsetCondition": "explicit-contract-change-review",
6029
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
6030
+ },
6031
+ {
6032
+ "apiRole": "implementation",
6033
+ "id": "publication/pipeline/prepare",
6034
+ "path": "actions/publication/pipeline/prepare/action.yml",
6035
+ "inputs": [
6036
+ "attempt",
6037
+ "definition-sha",
6038
+ "token"
6039
+ ],
6040
+ "inputCount": 3,
6041
+ "capabilityGroup": "release-passport-trust",
6042
+ "status": "active",
6043
+ "owner": "buildchain-actions",
6044
+ "maturity": "stable",
6045
+ "introducedVersion": "4.1.0-alpha.0",
6046
+ "compatibilityPromise": "current-contract-only",
6047
+ "deprecationReplacement": "",
6048
+ "sunsetCondition": "explicit-contract-change-review",
6049
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
6050
+ },
6051
+ {
6052
+ "apiRole": "implementation",
6053
+ "id": "publication/pipeline/prepare-qualification",
6054
+ "path": "actions/publication/pipeline/prepare-qualification/action.yml",
6055
+ "inputs": [
6056
+ "context",
6057
+ "token"
6058
+ ],
6059
+ "inputCount": 2,
6060
+ "capabilityGroup": "release-passport-trust",
6061
+ "status": "active",
6062
+ "owner": "buildchain-actions",
6063
+ "maturity": "stable",
6064
+ "introducedVersion": "4.1.0-alpha.0",
6065
+ "compatibilityPromise": "current-contract-only",
6066
+ "deprecationReplacement": "",
6067
+ "sunsetCondition": "explicit-contract-change-review",
6068
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
6069
+ },
6070
+ {
6071
+ "apiRole": "implementation",
6072
+ "id": "publication/pipeline/qualify",
6073
+ "path": "actions/publication/pipeline/qualify/action.yml",
6074
+ "inputs": [
6075
+ "context",
6076
+ "token"
6077
+ ],
6078
+ "inputCount": 2,
6079
+ "capabilityGroup": "release-passport-trust",
6080
+ "status": "active",
6081
+ "owner": "buildchain-actions",
6082
+ "maturity": "stable",
6083
+ "introducedVersion": "4.1.0-alpha.0",
6084
+ "compatibilityPromise": "current-contract-only",
6085
+ "deprecationReplacement": "",
6086
+ "sunsetCondition": "explicit-contract-change-review",
6087
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
6088
+ },
6089
+ {
6090
+ "apiRole": "implementation",
6091
+ "id": "publication/pipeline/seal-qualification",
6092
+ "path": "actions/publication/pipeline/seal-qualification/action.yml",
6093
+ "inputs": [
6094
+ "bundle-path",
6095
+ "context",
6096
+ "token"
6097
+ ],
6098
+ "inputCount": 3,
6099
+ "capabilityGroup": "release-passport-trust",
6100
+ "status": "active",
6101
+ "owner": "buildchain-actions",
6102
+ "maturity": "stable",
6103
+ "introducedVersion": "4.1.0-alpha.0",
6104
+ "compatibilityPromise": "current-contract-only",
6105
+ "deprecationReplacement": "",
6106
+ "sunsetCondition": "explicit-contract-change-review",
6107
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
6108
+ },
6109
+ {
6110
+ "apiRole": "implementation",
6111
+ "id": "publication/pipeline/settle",
6112
+ "path": "actions/publication/pipeline/settle/action.yml",
6113
+ "inputs": [
6114
+ "context",
6115
+ "pr-token",
6116
+ "token"
6117
+ ],
6118
+ "inputCount": 3,
6119
+ "capabilityGroup": "release-passport-trust",
6120
+ "status": "active",
6121
+ "owner": "buildchain-actions",
6122
+ "maturity": "stable",
6123
+ "introducedVersion": "4.1.0-alpha.0",
6124
+ "compatibilityPromise": "current-contract-only",
6125
+ "deprecationReplacement": "",
6126
+ "sunsetCondition": "explicit-contract-change-review",
6127
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
6128
+ },
6639
6129
  {
6640
6130
  "apiRole": "implementation",
6641
6131
  "id": "publication/settlement/retain",
@@ -6676,6 +6166,65 @@
6676
6166
  "sunsetCondition": "explicit-contract-change-review",
6677
6167
  "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
6678
6168
  },
6169
+ {
6170
+ "apiRole": "implementation",
6171
+ "id": "publication/version/build",
6172
+ "path": "actions/publication/version/build/action.yml",
6173
+ "inputs": [
6174
+ "context",
6175
+ "platform"
6176
+ ],
6177
+ "inputCount": 2,
6178
+ "capabilityGroup": "release-passport-trust",
6179
+ "status": "active",
6180
+ "owner": "buildchain-actions",
6181
+ "maturity": "stable",
6182
+ "introducedVersion": "4.1.0-alpha.0",
6183
+ "compatibilityPromise": "current-contract-only",
6184
+ "deprecationReplacement": "",
6185
+ "sunsetCondition": "explicit-contract-change-review",
6186
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
6187
+ },
6188
+ {
6189
+ "apiRole": "implementation",
6190
+ "id": "publication/version/materialize-development",
6191
+ "path": "actions/publication/version/materialize-development/action.yml",
6192
+ "inputs": [
6193
+ "context",
6194
+ "pr-token",
6195
+ "token"
6196
+ ],
6197
+ "inputCount": 3,
6198
+ "capabilityGroup": "release-passport-trust",
6199
+ "status": "active",
6200
+ "owner": "buildchain-actions",
6201
+ "maturity": "stable",
6202
+ "introducedVersion": "4.1.0-alpha.0",
6203
+ "compatibilityPromise": "current-contract-only",
6204
+ "deprecationReplacement": "",
6205
+ "sunsetCondition": "explicit-contract-change-review",
6206
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
6207
+ },
6208
+ {
6209
+ "apiRole": "implementation",
6210
+ "id": "publication/version/materialize-publication",
6211
+ "path": "actions/publication/version/materialize-publication/action.yml",
6212
+ "inputs": [
6213
+ "context",
6214
+ "operation",
6215
+ "token"
6216
+ ],
6217
+ "inputCount": 3,
6218
+ "capabilityGroup": "release-passport-trust",
6219
+ "status": "active",
6220
+ "owner": "buildchain-actions",
6221
+ "maturity": "stable",
6222
+ "introducedVersion": "4.1.0-alpha.0",
6223
+ "compatibilityPromise": "current-contract-only",
6224
+ "deprecationReplacement": "",
6225
+ "sunsetCondition": "explicit-contract-change-review",
6226
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
6227
+ },
6679
6228
  {
6680
6229
  "apiRole": "implementation",
6681
6230
  "id": "release/binary/coordinates",
@@ -7870,6 +7419,8 @@
7870
7419
  "path": "actions/runtime/selection/resolve/action.yml",
7871
7420
  "inputs": [
7872
7421
  "contract-lock",
7422
+ "pipeline-attempt",
7423
+ "recovery-attempt",
7873
7424
  "resume-run-id",
7874
7425
  "runtime-ref",
7875
7426
  "selection",
@@ -7879,7 +7430,7 @@
7879
7430
  "workflow-ref",
7880
7431
  "workflow-sha"
7881
7432
  ],
7882
- "inputCount": 9,
7433
+ "inputCount": 11,
7883
7434
  "capabilityGroup": "api-cli-reference",
7884
7435
  "status": "active",
7885
7436
  "owner": "buildchain-actions",
@@ -8649,6 +8200,105 @@
8649
8200
  "sunsetCondition": "explicit-contract-change-review",
8650
8201
  "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
8651
8202
  },
8203
+ {
8204
+ "apiRole": "implementation",
8205
+ "id": "workflow/pipeline/build",
8206
+ "path": "actions/workflow/pipeline/build/action.yml",
8207
+ "inputs": [
8208
+ "context",
8209
+ "platform"
8210
+ ],
8211
+ "inputCount": 2,
8212
+ "capabilityGroup": "api-cli-reference",
8213
+ "status": "active",
8214
+ "owner": "buildchain-actions",
8215
+ "maturity": "stable",
8216
+ "introducedVersion": "4.1.0-alpha.0",
8217
+ "compatibilityPromise": "current-contract-only",
8218
+ "deprecationReplacement": "",
8219
+ "sunsetCondition": "explicit-contract-change-review",
8220
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
8221
+ },
8222
+ {
8223
+ "apiRole": "implementation",
8224
+ "id": "workflow/pipeline/control",
8225
+ "path": "actions/workflow/pipeline/control/action.yml",
8226
+ "inputs": [
8227
+ "config-path",
8228
+ "queue-token",
8229
+ "token"
8230
+ ],
8231
+ "inputCount": 3,
8232
+ "capabilityGroup": "api-cli-reference",
8233
+ "status": "active",
8234
+ "owner": "buildchain-actions",
8235
+ "maturity": "stable",
8236
+ "introducedVersion": "4.1.0-alpha.0",
8237
+ "compatibilityPromise": "current-contract-only",
8238
+ "deprecationReplacement": "",
8239
+ "sunsetCondition": "explicit-contract-change-review",
8240
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
8241
+ },
8242
+ {
8243
+ "apiRole": "implementation",
8244
+ "id": "workflow/pipeline/record-build",
8245
+ "path": "actions/workflow/pipeline/record-build/action.yml",
8246
+ "inputs": [
8247
+ "context",
8248
+ "token"
8249
+ ],
8250
+ "inputCount": 2,
8251
+ "capabilityGroup": "api-cli-reference",
8252
+ "status": "active",
8253
+ "owner": "buildchain-actions",
8254
+ "maturity": "stable",
8255
+ "introducedVersion": "4.1.0-alpha.0",
8256
+ "compatibilityPromise": "current-contract-only",
8257
+ "deprecationReplacement": "",
8258
+ "sunsetCondition": "explicit-contract-change-review",
8259
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
8260
+ },
8261
+ {
8262
+ "apiRole": "implementation",
8263
+ "id": "workflow/pipeline/recover",
8264
+ "path": "actions/workflow/pipeline/recover/action.yml",
8265
+ "inputs": [
8266
+ "attempt",
8267
+ "definition-sha",
8268
+ "queue-token",
8269
+ "token"
8270
+ ],
8271
+ "inputCount": 4,
8272
+ "capabilityGroup": "api-cli-reference",
8273
+ "status": "active",
8274
+ "owner": "buildchain-actions",
8275
+ "maturity": "stable",
8276
+ "introducedVersion": "4.1.0-alpha.0",
8277
+ "compatibilityPromise": "current-contract-only",
8278
+ "deprecationReplacement": "",
8279
+ "sunsetCondition": "explicit-contract-change-review",
8280
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
8281
+ },
8282
+ {
8283
+ "apiRole": "implementation",
8284
+ "id": "workflow/pipeline/wake",
8285
+ "path": "actions/workflow/pipeline/wake/action.yml",
8286
+ "inputs": [
8287
+ "attempt",
8288
+ "stable-wait",
8289
+ "token"
8290
+ ],
8291
+ "inputCount": 3,
8292
+ "capabilityGroup": "api-cli-reference",
8293
+ "status": "active",
8294
+ "owner": "buildchain-actions",
8295
+ "maturity": "stable",
8296
+ "introducedVersion": "4.1.0-alpha.0",
8297
+ "compatibilityPromise": "current-contract-only",
8298
+ "deprecationReplacement": "",
8299
+ "sunsetCondition": "explicit-contract-change-review",
8300
+ "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
8301
+ },
8652
8302
  {
8653
8303
  "apiRole": "implementation",
8654
8304
  "id": "workflow/settlement/seal",