@kungfu-tech/buildchain 4.1.3-alpha.9 → 4.1.4-alpha.0

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 (205) hide show
  1. package/AGENTS.md +11 -13
  2. package/CONTRIBUTING.md +32 -9
  3. package/README.md +56 -140
  4. package/actions/release/promotion/ref/README.md +1 -1
  5. package/architecture/action-taxonomy.json +1 -1
  6. package/architecture/agent-change-map.md +32 -45
  7. package/architecture/build-orchestration.json +1 -1
  8. package/architecture/capability-state-machine-manifest.json +5 -5
  9. package/architecture/ci-lane-change-budget.json +92 -92
  10. package/architecture/code-layout.json +2 -12
  11. package/architecture/core-mechanisms.json +38 -39
  12. package/architecture/cross-platform-adopter-qualification.json +1 -1
  13. package/architecture/dev-delivery-orchestration.json +2 -2
  14. package/architecture/floating-consumer-policy.json +3 -3
  15. package/architecture/internal-capabilities.json +27 -28
  16. package/architecture/maintainability-debt.json +60 -94
  17. package/architecture/maintainability-policy.json +7 -13
  18. package/architecture/minimal-consumer-migration.json +43 -5014
  19. package/architecture/platform-stage-checkpoints.json +1 -1
  20. package/architecture/release-tail-contract.json +2 -2
  21. package/architecture/release-topology.json +33 -25
  22. package/architecture/stage-capsule-qualification.json +1 -1
  23. package/architecture/universal-workflow-bootstrap.json +60 -60
  24. package/architecture/universal-workflow-capability-policy.json +3 -3
  25. package/architecture/universal-workflow-fault-campaign.json +7 -7
  26. package/architecture/workflow-taxonomy.json +59 -60
  27. package/contracts/fixtures/v4-tail-reseal-v1/valid.json +1 -1
  28. package/dist/site/buildchain-contract.json +138 -66
  29. package/dist/site/buildchain-site.json +257 -331
  30. package/dist/site/capability-registry.json +4 -4
  31. package/dist/site/cli-registry.json +6 -142
  32. package/dist/site/controller-registry.json +19 -19
  33. package/dist/site/kfd-claims.json +481 -529
  34. package/dist/site/kfd-upstream-aggregate.json +1 -1
  35. package/dist/site/manual-registry.json +22 -22
  36. package/dist/site/node-api-registry.json +82 -339
  37. package/dist/site/page-registry.json +229 -304
  38. package/dist/site/public-surface-audit.json +544 -754
  39. package/dist/site/publication-authority-registry.json +316 -316
  40. package/dist/site/publication-registry.json +1 -1
  41. package/dist/site/site-manifest.json +23 -23
  42. package/dist/site/workflow-registry.json +1071 -1027
  43. package/docs/MAP.md +28 -20
  44. package/docs/auditable-demo.md +17 -49
  45. package/docs/bootstrap-recovery.md +46 -37
  46. package/docs/cli-reference.md +2 -46
  47. package/docs/cli.md +97 -186
  48. package/docs/code-organization.md +7 -5
  49. package/docs/dev-alpha-candidate-patrol.md +19 -42
  50. package/docs/dev-delivery-orchestration.md +15 -11
  51. package/docs/dev-delivery-qualification-landing-adr.md +10 -9
  52. package/docs/dev-delivery-warrant.md +17 -16
  53. package/docs/dev-qualification-patrol.md +25 -20
  54. package/docs/getting-started.md +80 -139
  55. package/docs/github-artifact-attestation.md +31 -81
  56. package/docs/install.md +66 -30
  57. package/docs/lifecycle-protocol.md +19 -57
  58. package/docs/migration-inventory.md +17 -45
  59. package/docs/next-development-transition.md +13 -13
  60. package/docs/node-api-reference.md +122 -138
  61. package/docs/oci-publication.md +13 -10
  62. package/docs/publication-artifacts.md +128 -486
  63. package/docs/publication-authority.md +15 -45
  64. package/docs/publish-transaction.md +13 -11
  65. package/docs/release-candidate.md +126 -355
  66. package/docs/release-discussions.md +36 -67
  67. package/docs/release-flow.md +80 -339
  68. package/docs/release-governance.md +114 -962
  69. package/docs/release-promotion-request.md +45 -43
  70. package/docs/release-propagation.md +13 -27
  71. package/docs/release-tail-provider-plane.md +38 -65
  72. package/docs/reusable-build-surface.md +78 -196
  73. package/docs/runtime-train-validation.md +8 -6
  74. package/docs/stable-candidate-patrol.md +13 -66
  75. package/docs/v4-adopter-delivery.md +15 -15
  76. package/docs/v4-declarative-release-tail-migration.md +19 -17
  77. package/docs/v4-production-release.md +11 -6
  78. package/docs/v4-publication-rehearsal.md +12 -27
  79. package/docs/v4-stage-capsule.md +14 -20
  80. package/docs/v4-tail-reseal.md +34 -20
  81. package/docs/web-surface-deployments.md +26 -264
  82. package/docs/workflow-catalog.md +31 -31
  83. package/docs/workflow-path-migration.md +10 -4
  84. package/package.json +5 -4
  85. package/packages/core/adoption/buildchain-kfd-claims.js +7 -7
  86. package/packages/core/adoption/cli/output.mjs +1 -9
  87. package/packages/core/adoption/cli/product-gate.mjs +1 -15
  88. package/packages/core/adoption/cli/project.mjs +9 -10
  89. package/packages/core/adoption/cli/standards.mjs +1 -14
  90. package/packages/core/adoption/cli/support.mjs +0 -2
  91. package/packages/core/adoption/cli/surface-register.mjs +0 -2
  92. package/packages/core/adoption/commands/init-repo.mjs +77 -485
  93. package/packages/core/adoption/consumer-init.js +279 -0
  94. package/packages/core/adoption/qualification/admission.js +1 -1
  95. package/packages/core/build/cli/cache.mjs +0 -2
  96. package/packages/core/build/cli/facts.mjs +0 -3
  97. package/packages/core/build/cli/homebrew.mjs +0 -4
  98. package/packages/core/build/cli/lifecycle.mjs +0 -3
  99. package/packages/core/build/github-artifact-attestation.js +2 -2
  100. package/packages/core/build/platform-stage-checkpoints.js +1 -1
  101. package/packages/core/build/signing/dispatch.js +1 -1
  102. package/packages/core/consumer/buildchain-config.js +9 -0
  103. package/packages/core/consumer/contract/inspection.js +351 -9
  104. package/packages/core/consumer/contract/javascript-syntax.js +439 -0
  105. package/packages/core/consumer/contract/javascript-values.js +61 -0
  106. package/packages/core/consumer/contract/javascript.js +555 -0
  107. package/packages/core/consumer/contract/local-validation.js +84 -0
  108. package/packages/core/contracts/buildchain-contract.js +39 -8
  109. package/packages/core/contracts/cli/introspection.mjs +1 -9
  110. package/packages/core/contracts/public-surface-cli.js +0 -1
  111. package/packages/core/dev-delivery/dev-delivery-contract-surface.js +2 -2
  112. package/packages/core/governance/buildchain-publication-authority.js +24 -24
  113. package/packages/core/governance/cli/doctor.mjs +58 -42
  114. package/packages/core/governance/commands/architecture.mjs +6 -1
  115. package/packages/core/governance/commands/audit-publication-control-plane.mjs +1 -1
  116. package/packages/core/governance/commands/workflow-friction-report.mjs +1 -1
  117. package/packages/core/governance/github-governance-authority.js +2 -2
  118. package/packages/core/governance/publication/collection.js +1 -1
  119. package/packages/core/index.js +1 -3
  120. package/packages/core/observability/cli/candidate.mjs +0 -2
  121. package/packages/core/observability/cli/context.mjs +0 -5
  122. package/packages/core/observability/cli/diagnostics.mjs +0 -7
  123. package/packages/core/observability/cli/events.mjs +2 -10
  124. package/packages/core/paper/commands/paper-work-fleet-cli.mjs +1 -1
  125. package/packages/core/paper/commands/paper.mjs +33 -422
  126. package/packages/core/paper/consumer-status.js +72 -0
  127. package/packages/core/paper/operations/identity.js +0 -3
  128. package/packages/core/paper/operations/migration.js +460 -0
  129. package/packages/core/paper/operations/preflight-checks.js +8 -68
  130. package/packages/core/paper/operations/scaffold.js +16 -326
  131. package/packages/core/paper/operations/status.js +27 -53
  132. package/packages/core/paper/paper-agent-entry.js +36 -147
  133. package/packages/core/paper/paper-fleet.js +24 -39
  134. package/packages/core/paper/paper-repository.js +16 -0
  135. package/packages/core/paper/paper-runtime-channels.js +1 -1
  136. package/packages/core/paper/paper-scaffold-content.js +153 -162
  137. package/packages/core/paper/paper-work.js +3 -10
  138. package/packages/core/paper/paper.js +43 -5
  139. package/packages/core/providers/github/artifact-attestation.js +1 -1
  140. package/packages/core/providers/github/pipeline-context-artifacts.js +172 -0
  141. package/packages/core/providers/github/pipeline-release-evidence.js +17 -98
  142. package/packages/core/providers/github/pipeline-stable-baseline.js +86 -0
  143. package/packages/core/providers/github/pipeline-stable-source.js +22 -4
  144. package/packages/core/providers/github/release-evidence-assets.js +97 -0
  145. package/packages/core/publication/authority/control-plane.js +2 -2
  146. package/packages/core/publication/authority/seal.js +1 -1
  147. package/packages/core/publication/cli/dispatch.mjs +1 -12
  148. package/packages/core/publication/pipeline/actions.js +16 -9
  149. package/packages/core/publication/pipeline/apply.js +17 -9
  150. package/packages/core/publication/pipeline/context.js +29 -0
  151. package/packages/core/publication/pipeline/journal.js +13 -1
  152. package/packages/core/publication/pipeline/prepare.js +15 -6
  153. package/packages/core/publication/pipeline/recovery-import.js +1 -1
  154. package/packages/core/publication/pipeline/recovery-materials.js +63 -1
  155. package/packages/core/publication/pipeline/recovery-prepare.js +21 -9
  156. package/packages/core/publication/pipeline/stable-entry.js +12 -3
  157. package/packages/core/publication/pipeline/stable-products.js +21 -19
  158. package/packages/core/publication/pipeline/version-actions.js +15 -6
  159. package/packages/core/publication/publication-rehearsal-projection.js +0 -9
  160. package/packages/core/release/cli/dispatch.mjs +1 -4
  161. package/packages/core/release/cli/inspection-handlers.mjs +1 -33
  162. package/packages/core/release/cli/release-handlers.mjs +2 -19
  163. package/packages/core/release/cli/verification-handlers.mjs +4 -25
  164. package/packages/core/release/next-development-projection.js +13 -13
  165. package/packages/core/release/passport/locations.js +13 -8
  166. package/packages/core/release/release-passport.js +70 -5
  167. package/packages/core/web/cli/badges.mjs +0 -4
  168. package/packages/core/web/publication-admission.js +1 -1
  169. package/packages/core/web/publication-capability.js +1 -1
  170. package/packages/core/web/readme-badges.js +1 -1
  171. package/packages/core/workflow/cli/main.mjs +1 -4
  172. package/packages/core/workflow/cli/process.mjs +1 -1
  173. package/packages/core/workflow/commands/buildchain-cli-help.mjs +2 -8
  174. package/packages/core/workflow/engine/conformance.js +1 -1
  175. package/packages/core/workflow/pipeline/build.js +21 -1
  176. package/packages/core/workflow/pipeline/delivery-observation.js +6 -2
  177. package/packages/core/workflow/workflow-taxonomy.mjs +61 -17
  178. package/scripts/check-code-layout.mjs +2 -0
  179. package/scripts/check-core-mechanism-inventory.mjs +29 -13
  180. package/scripts/check-floating-consumer-policy-contract.mjs +3 -3
  181. package/scripts/check-inventory.mjs +27 -27
  182. package/scripts/check-maintainability.mjs +28 -5
  183. package/scripts/check-public-dogfood-contract.mjs +3 -3
  184. package/scripts/check-release-topology.mjs +1 -1
  185. package/scripts/check-self-consumer-contract.mjs +7 -7
  186. package/scripts/check-universal-workflow-bootstrap.mjs +1 -1
  187. package/scripts/generate-channel-promotion-workflow.mjs +1 -1
  188. package/scripts/generate-minimal-consumer-contract.mjs +21 -1
  189. package/scripts/generate-site-bundle.mjs +2 -1
  190. package/scripts/generate-tail-reseal-fixture.mjs +3 -3
  191. package/scripts/inventory/promotion.mjs +1 -1
  192. package/scripts/next-development-self-dogfood-harness.mjs +1 -1
  193. package/scripts/next-development-self-dogfood.mjs +4 -4
  194. package/scripts/site-capability-metadata.mjs +2 -6
  195. package/scripts/source-metric-lineage.mjs +62 -7
  196. package/scripts/verify-golden-path.mjs +31 -35
  197. package/templates/native-dev-delivery.yml +1 -1
  198. package/templates/universal-buildchain-bootstrap.yml +1 -1
  199. package/packages/core/paper/operations/bootstrap.js +0 -75
  200. package/packages/core/paper/operations/plans.js +0 -213
  201. package/packages/core/paper/operations/provisioning.js +0 -113
  202. package/packages/core/paper/operations/scaffold-config.js +0 -77
  203. package/packages/core/paper/operations/scaffold-workflows.js +0 -116
  204. package/packages/core/paper/operations/workspace.js +0 -60
  205. package/packages/core/paper/paper-npm-bootstrap.js +0 -492
@@ -3,6 +3,152 @@
3
3
  "contract": "kungfu-buildchain-workflow-registry",
4
4
  "workflowSource": ".github/workflows reverse input enumeration",
5
5
  "workflows": [
6
+ {
7
+ "id": ".build-adopter-qualification",
8
+ "path": ".github/workflows/.build-adopter-qualification.yml",
9
+ "reusable": true,
10
+ "inputs": [
11
+ "consumer",
12
+ "consumer-ref",
13
+ "consumer-repository",
14
+ "contract-lock",
15
+ "input-path",
16
+ "invocation-source-path",
17
+ "runtime-ref",
18
+ "runtime-selection"
19
+ ],
20
+ "inputCount": 8,
21
+ "secrets": [],
22
+ "secretCount": 0,
23
+ "outputs": [],
24
+ "outputCount": 0,
25
+ "apiRole": "implementation",
26
+ "taxonomy": {
27
+ "id": "v4-adopter-delivery",
28
+ "role": "component",
29
+ "category": "build",
30
+ "purpose": "adopter-qualification",
31
+ "status": "active",
32
+ "canonicalPath": ".github/workflows/.build-adopter-qualification.yml",
33
+ "compatibilityAlias": false
34
+ },
35
+ "surface": "reusable-workflow",
36
+ "capabilityGroup": "api-cli-reference",
37
+ "status": "repository-internal",
38
+ "owner": "buildchain-workflows",
39
+ "maturity": "repository-internal",
40
+ "introducedVersion": "4.1.0-alpha.0",
41
+ "compatibilityPromise": "current-contract-only",
42
+ "deprecationReplacement": "",
43
+ "sunsetCondition": "explicit-contract-change-review",
44
+ "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
45
+ },
46
+ {
47
+ "id": ".build-candidate",
48
+ "path": ".github/workflows/.build-candidate.yml",
49
+ "reusable": true,
50
+ "inputs": [
51
+ "config-path",
52
+ "contract-lock",
53
+ "resume-run-id",
54
+ "runtime-ref",
55
+ "runtime-selection"
56
+ ],
57
+ "inputCount": 5,
58
+ "secrets": [
59
+ "BUILDCHAIN_MACOS_CERTIFICATE_P12_BASE64",
60
+ "BUILDCHAIN_MACOS_CERTIFICATE_PASSWORD",
61
+ "BUILDCHAIN_MACOS_NOTARY_API_ISSUER",
62
+ "BUILDCHAIN_MACOS_NOTARY_API_KEY_ID",
63
+ "BUILDCHAIN_MACOS_NOTARY_API_KEY_P8_BASE64",
64
+ "BUILDCHAIN_PROMOTION_TOKEN"
65
+ ],
66
+ "secretCount": 6,
67
+ "outputs": [
68
+ "controller-receipt-artifact",
69
+ "release-candidate-artifact",
70
+ "result"
71
+ ],
72
+ "outputCount": 3,
73
+ "apiRole": "implementation",
74
+ "taxonomy": {
75
+ "id": "build",
76
+ "role": "component",
77
+ "category": "build",
78
+ "purpose": "candidate",
79
+ "status": "active",
80
+ "canonicalPath": ".github/workflows/.build-candidate.yml",
81
+ "compatibilityAlias": false
82
+ },
83
+ "surface": "channel-build-router",
84
+ "capabilityGroup": "reusable-build",
85
+ "status": "repository-internal",
86
+ "owner": "buildchain-workflows",
87
+ "maturity": "repository-internal",
88
+ "introducedVersion": "4.1.0-alpha.0",
89
+ "compatibilityPromise": "current-contract-only",
90
+ "deprecationReplacement": "",
91
+ "sunsetCondition": "explicit-contract-change-review",
92
+ "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
93
+ },
94
+ {
95
+ "id": ".build-check",
96
+ "path": ".github/workflows/.build-check.yml",
97
+ "reusable": true,
98
+ "inputs": [
99
+ "contract-lock",
100
+ "mode",
101
+ "node-version",
102
+ "require-version-state",
103
+ "runtime-ref",
104
+ "runtime-selection",
105
+ "source-proof-closure-paths-json",
106
+ "source-proof-dependency-paths-json",
107
+ "source-proof-policy-paths-json",
108
+ "source-proof-required-contexts-json",
109
+ "source-proof-reuse",
110
+ "upload-artifacts",
111
+ "working-directory"
112
+ ],
113
+ "inputCount": 13,
114
+ "secrets": [],
115
+ "secretCount": 0,
116
+ "outputs": [
117
+ "controller-plan-artifact",
118
+ "controller-plan-digest",
119
+ "controller-plan-json",
120
+ "controller-receipt-artifact",
121
+ "controller-receipt-digest",
122
+ "controller-receipt-json",
123
+ "controller-receipt-status",
124
+ "source-proof-decision-root",
125
+ "source-proof-producer-run-id",
126
+ "source-proof-reuse-reason",
127
+ "source-proof-reused",
128
+ "source-proof-root"
129
+ ],
130
+ "outputCount": 12,
131
+ "apiRole": "implementation",
132
+ "taxonomy": {
133
+ "id": "check",
134
+ "role": "component",
135
+ "category": "build",
136
+ "purpose": "check",
137
+ "status": "active",
138
+ "canonicalPath": ".github/workflows/.build-check.yml",
139
+ "compatibilityAlias": false
140
+ },
141
+ "surface": "reusable-workflow",
142
+ "capabilityGroup": "api-cli-reference",
143
+ "status": "repository-internal",
144
+ "owner": "buildchain-workflows",
145
+ "maturity": "repository-internal",
146
+ "introducedVersion": "4.1.0-alpha.0",
147
+ "compatibilityPromise": "current-contract-only",
148
+ "deprecationReplacement": "",
149
+ "sunsetCondition": "explicit-contract-change-review",
150
+ "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
151
+ },
6
152
  {
7
153
  "id": ".build-demo-adapter",
8
154
  "path": ".github/workflows/.build-demo-adapter.yml",
@@ -41,6 +187,7 @@
41
187
  "source-sha"
42
188
  ],
43
189
  "outputCount": 13,
190
+ "apiRole": "implementation",
44
191
  "taxonomy": {
45
192
  "id": ".auditable-demo",
46
193
  "role": "component",
@@ -52,9 +199,65 @@
52
199
  },
53
200
  "surface": "auditable-demo",
54
201
  "capabilityGroup": "api-cli-reference",
55
- "status": "preview",
202
+ "status": "repository-internal",
203
+ "owner": "buildchain-workflows",
204
+ "maturity": "repository-internal",
205
+ "introducedVersion": "4.1.0-alpha.0",
206
+ "compatibilityPromise": "current-contract-only",
207
+ "deprecationReplacement": "",
208
+ "sunsetCondition": "explicit-contract-change-review",
209
+ "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
210
+ },
211
+ {
212
+ "id": ".build-demo",
213
+ "path": ".github/workflows/.build-demo.yml",
214
+ "reusable": true,
215
+ "inputs": [
216
+ "artifact-retention-days",
217
+ "binary-artifact-digest",
218
+ "binary-artifact-name",
219
+ "contract-lock",
220
+ "materialize",
221
+ "materialize-base-ref",
222
+ "media-profile",
223
+ "render-failure-advisory",
224
+ "render-media",
225
+ "renderer-image",
226
+ "runtime-ref",
227
+ "runtime-selection",
228
+ "scenario-path",
229
+ "source-ref"
230
+ ],
231
+ "inputCount": 14,
232
+ "secrets": [
233
+ "DEMO_UPDATE_TOKEN"
234
+ ],
235
+ "secretCount": 1,
236
+ "outputs": [
237
+ "capture-artifact-digest",
238
+ "capture-artifact-name",
239
+ "evidence-artifact-digest",
240
+ "evidence-artifact-name",
241
+ "publication-pr-url",
242
+ "render-result",
243
+ "source-sha"
244
+ ],
245
+ "outputCount": 7,
246
+ "apiRole": "implementation",
247
+ "taxonomy": {
248
+ "id": ".declarative-auditable-demo",
249
+ "role": "component",
250
+ "category": "build",
251
+ "purpose": "demo",
252
+ "status": "active",
253
+ "canonicalPath": ".github/workflows/.build-demo.yml",
254
+ "compatibilityAlias": false
255
+ },
256
+ "surface": "declarative-auditable-demo",
257
+ "capabilityGroup": "api-cli-reference",
258
+ "status": "repository-internal",
56
259
  "owner": "buildchain-workflows",
57
- "maturity": "preview",
260
+ "maturity": "repository-internal",
58
261
  "introducedVersion": "4.1.0-alpha.0",
59
262
  "compatibilityPromise": "current-contract-only",
60
263
  "deprecationReplacement": "",
@@ -118,6 +321,7 @@
118
321
  "source-sha"
119
322
  ],
120
323
  "outputCount": 14,
324
+ "apiRole": "implementation",
121
325
  "taxonomy": {
122
326
  "id": ".gate-profile",
123
327
  "role": "component",
@@ -129,9 +333,9 @@
129
333
  },
130
334
  "surface": "reusable-workflow",
131
335
  "capabilityGroup": "api-cli-reference",
132
- "status": "active",
336
+ "status": "repository-internal",
133
337
  "owner": "buildchain-workflows",
134
- "maturity": "active",
338
+ "maturity": "repository-internal",
135
339
  "introducedVersion": "4.1.0-alpha.0",
136
340
  "compatibilityPromise": "current-contract-only",
137
341
  "deprecationReplacement": "",
@@ -139,44 +343,69 @@
139
343
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
140
344
  },
141
345
  {
142
- "id": ".build",
143
- "path": ".github/workflows/.build.yml",
346
+ "id": ".build-publication",
347
+ "path": ".github/workflows/.build-publication.yml",
144
348
  "reusable": true,
145
349
  "inputs": [
146
- "config-path",
350
+ "artifact-name",
351
+ "artifact-paths",
352
+ "artifact-retention-days",
353
+ "build-command",
354
+ "buildchain-alpha-contract-lock-path",
355
+ "buildchain-stable-contract-lock-path",
147
356
  "contract-lock",
148
- "resume-run-id",
357
+ "node-version",
358
+ "package-name",
359
+ "prepare-paper-package",
360
+ "publish-dist-tag",
149
361
  "runtime-ref",
150
- "runtime-selection"
151
- ],
152
- "inputCount": 5,
153
- "secrets": [
154
- "BUILDCHAIN_MACOS_CERTIFICATE_P12_BASE64",
155
- "BUILDCHAIN_MACOS_CERTIFICATE_PASSWORD",
156
- "BUILDCHAIN_MACOS_NOTARY_API_ISSUER",
157
- "BUILDCHAIN_MACOS_NOTARY_API_KEY_ID",
158
- "BUILDCHAIN_MACOS_NOTARY_API_KEY_P8_BASE64",
159
- "BUILDCHAIN_PROMOTION_TOKEN"
362
+ "runtime-selection",
363
+ "setup-node",
364
+ "target-ref",
365
+ "toolchain-command",
366
+ "toolchain-digest",
367
+ "toolchain-image",
368
+ "toolchain-type",
369
+ "verify-command",
370
+ "working-directory"
160
371
  ],
161
- "secretCount": 6,
372
+ "inputCount": 21,
373
+ "secrets": [],
374
+ "secretCount": 0,
162
375
  "outputs": [
163
- "result"
376
+ "controller-plan-artifact",
377
+ "controller-plan-digest",
378
+ "controller-plan-json",
379
+ "controller-receipt-artifact",
380
+ "controller-receipt-digest",
381
+ "controller-receipt-json",
382
+ "controller-receipt-status",
383
+ "package-name",
384
+ "package-version",
385
+ "publication-artifact-name",
386
+ "publication-manifest-json",
387
+ "publication-manifest-path",
388
+ "publication-passport-path",
389
+ "publication-registry-path",
390
+ "publish-dist-tag",
391
+ "runtime-sha"
164
392
  ],
165
- "outputCount": 1,
393
+ "outputCount": 16,
394
+ "apiRole": "implementation",
166
395
  "taxonomy": {
167
- "id": ".build",
396
+ "id": "publication-artifact",
168
397
  "role": "component",
169
398
  "category": "build",
170
- "purpose": "engine",
399
+ "purpose": "publication",
171
400
  "status": "active",
172
- "canonicalPath": ".github/workflows/.build.yml",
401
+ "canonicalPath": ".github/workflows/.build-publication.yml",
173
402
  "compatibilityAlias": false
174
403
  },
175
- "surface": "reusable-build",
176
- "capabilityGroup": "api-cli-reference",
177
- "status": "active",
404
+ "surface": "reusable-workflow",
405
+ "capabilityGroup": "reusable-build",
406
+ "status": "repository-internal",
178
407
  "owner": "buildchain-workflows",
179
- "maturity": "active",
408
+ "maturity": "repository-internal",
180
409
  "introducedVersion": "4.1.0-alpha.0",
181
410
  "compatibilityPromise": "current-contract-only",
182
411
  "deprecationReplacement": "",
@@ -184,603 +413,40 @@
184
413
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
185
414
  },
186
415
  {
187
- "id": ".ops-git-sync",
188
- "path": ".github/workflows/.ops-git-sync.yml",
189
- "reusable": true,
190
- "inputs": [
191
- "contract-lock",
192
- "force",
193
- "remote-host",
194
- "remote-path",
195
- "remote-repo",
196
- "runtime-ref",
197
- "runtime-selection"
198
- ],
199
- "inputCount": 7,
200
- "secrets": [
201
- "REMOTE_CREDENTIAL",
202
- "REMOTE_USER"
203
- ],
204
- "secretCount": 2,
205
- "outputs": [],
206
- "outputCount": 0,
207
- "taxonomy": {
208
- "id": ".sync-remote-git",
209
- "role": "component",
210
- "category": "ops",
211
- "purpose": "git-sync",
212
- "status": "active",
213
- "canonicalPath": ".github/workflows/.ops-git-sync.yml",
214
- "compatibilityAlias": false
215
- },
216
- "surface": "reusable-workflow",
217
- "capabilityGroup": "api-cli-reference",
218
- "status": "active",
219
- "owner": "buildchain-workflows",
220
- "maturity": "active",
221
- "introducedVersion": "4.1.0-alpha.0",
222
- "compatibilityPromise": "current-contract-only",
223
- "deprecationReplacement": "",
224
- "sunsetCondition": "explicit-contract-change-review",
225
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
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
- },
299
- {
300
- "id": ".release-authority",
301
- "path": ".github/workflows/.release-authority.yml",
302
- "reusable": true,
303
- "inputs": [
304
- "admission-json",
305
- "authority-workflow-path",
306
- "auto-admission",
307
- "auto-admission-kind",
308
- "auto-no-gate",
309
- "consumer-gate-command",
310
- "consumer-gate-controller-sha",
311
- "consumer-gate-evidence-source-sha",
312
- "consumer-gate-evidence-source-tree",
313
- "consumer-predicate-digest",
314
- "consumer-predicate-id",
315
- "consumer-qualification-required",
316
- "contract-lock",
317
- "control-plane-audit-json",
318
- "dry-run",
319
- "evidence-controller-artifact",
320
- "evidence-manifest-pattern",
321
- "evidence-passport-artifact",
322
- "evidence-payload-pattern",
323
- "evidence-publication-artifact",
324
- "evidence-repository",
325
- "evidence-run-id",
326
- "evidence-summary-artifact",
327
- "expected-json",
328
- "gate-aggregate-json",
329
- "github-governance-receipt-json",
330
- "package-name",
331
- "product",
332
- "publication-target",
333
- "publication-version",
334
- "publisher-workflow-path",
335
- "required-status-check",
336
- "runner-provenance-json",
337
- "runtime-ref",
338
- "runtime-selection",
339
- "source-sha",
340
- "target-ref",
341
- "used-nonces-json"
342
- ],
343
- "inputCount": 38,
344
- "secrets": [
345
- "BUILDCHAIN_GOVERNANCE_READ_TOKEN",
346
- "KUNGFU_GOVERNANCE_AUDITOR_APP_PRIVATE_KEY"
347
- ],
348
- "secretCount": 2,
349
- "outputs": [
350
- "capability-artifact",
351
- "capability-digest",
352
- "capability-json",
353
- "gate-aggregate-digest",
354
- "gate-aggregate-json"
355
- ],
356
- "outputCount": 5,
357
- "taxonomy": {
358
- "id": ".publication-authority",
359
- "role": "component",
360
- "category": "release",
361
- "purpose": "authority",
362
- "status": "active",
363
- "canonicalPath": ".github/workflows/.release-authority.yml",
364
- "compatibilityAlias": false
365
- },
366
- "surface": "reusable-workflow",
367
- "capabilityGroup": "api-cli-reference",
368
- "status": "active",
369
- "owner": "buildchain-workflows",
370
- "maturity": "active",
371
- "introducedVersion": "4.1.0-alpha.0",
372
- "compatibilityPromise": "current-contract-only",
373
- "deprecationReplacement": "",
374
- "sunsetCondition": "explicit-contract-change-review",
375
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
376
- },
377
- {
378
- "id": ".release-binary-assets",
379
- "path": ".github/workflows/.release-binary-assets.yml",
380
- "reusable": true,
381
- "inputs": [
382
- "auto-admission",
383
- "contract-lock",
384
- "evidence-run-id",
385
- "github-governance-receipt-json",
386
- "publication-admission-json",
387
- "publication-control-plane-audit-json",
388
- "publication-expected-json",
389
- "publication-gate-aggregate-json",
390
- "publication-runner-provenance-json",
391
- "publication-used-nonces-json",
392
- "publication-version",
393
- "release-tag",
394
- "runtime-ref",
395
- "runtime-selection",
396
- "source-sha",
397
- "target-ref"
398
- ],
399
- "inputCount": 16,
400
- "secrets": [],
401
- "secretCount": 0,
402
- "outputs": [],
403
- "outputCount": 0,
404
- "taxonomy": {
405
- "id": ".binary-release-assets",
406
- "role": "component",
407
- "category": "release",
408
- "purpose": "binary-assets",
409
- "status": "active",
410
- "canonicalPath": ".github/workflows/.release-binary-assets.yml",
411
- "compatibilityAlias": false
412
- },
413
- "surface": "reusable-workflow",
414
- "capabilityGroup": "api-cli-reference",
415
- "status": "active",
416
- "owner": "buildchain-workflows",
417
- "maturity": "active",
418
- "introducedVersion": "4.1.0-alpha.0",
419
- "compatibilityPromise": "current-contract-only",
420
- "deprecationReplacement": "",
421
- "sunsetCondition": "explicit-contract-change-review",
422
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
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
- },
507
- {
508
- "id": ".release-promote",
509
- "path": ".github/workflows/.release-promote.yml",
510
- "reusable": true,
511
- "inputs": [
512
- "contract-lock",
513
- "request-json",
514
- "runtime-ref",
515
- "runtime-selection"
516
- ],
517
- "inputCount": 4,
518
- "secrets": [
519
- "BUILDCHAIN_ISSUE_APP_ID",
520
- "BUILDCHAIN_ISSUE_APP_PRIVATE_KEY",
521
- "BUILDCHAIN_ISSUE_TOKEN",
522
- "BUILDCHAIN_PROMOTION_TOKEN",
523
- "BUILDCHAIN_PUBLICATION_COMMIT_SIGNING_KEY",
524
- "BUILDCHAIN_PUBLICATION_COMMIT_TOKEN",
525
- "KUNGFU_GOVERNANCE_AUDITOR_APP_PRIVATE_KEY",
526
- "buildchain-issue-app-id",
527
- "buildchain-issue-app-private-key",
528
- "buildchain-issue-token"
529
- ],
530
- "secretCount": 10,
531
- "outputs": [
532
- "built-source-sha",
533
- "controller-plan-artifact",
534
- "controller-plan-digest",
535
- "controller-plan-json",
536
- "controller-receipt-artifact",
537
- "controller-receipt-digest",
538
- "controller-receipt-json",
539
- "controller-receipt-status",
540
- "discussion-id",
541
- "discussion-url",
542
- "github-artifact-attestation-evidence-root",
543
- "github-artifact-attestation-id",
544
- "github-artifact-attestation-publication-receipt-digest",
545
- "github-artifact-attestation-url",
546
- "promoted-sha",
547
- "publication-capability-digest",
548
- "publication-commit-evidence-digest",
549
- "publication-commit-evidence-path",
550
- "publication-commit-payload-root",
551
- "publication-commit-url",
552
- "release-candidate-action",
553
- "release-candidate-artifact",
554
- "release-candidate-recovery-receipt-artifact",
555
- "release-candidate-recovery-root",
556
- "release-invocation-root",
557
- "release-propagation-work-artifact",
558
- "release-receipt-root",
559
- "release-tail-declaration-root",
560
- "release-tail-receipt-roots-json",
561
- "release-tail-state-root",
562
- "release-tail-transaction-root",
563
- "release-tail-transaction-state",
564
- "release-transaction-root"
565
- ],
566
- "outputCount": 33,
567
- "taxonomy": {
568
- "id": ".release-candidate-promote",
569
- "role": "component",
570
- "category": "release",
571
- "purpose": "promote",
572
- "status": "active",
573
- "canonicalPath": ".github/workflows/.release-promote.yml",
574
- "compatibilityAlias": false
575
- },
576
- "surface": "reusable-workflow",
577
- "capabilityGroup": "api-cli-reference",
578
- "status": "active",
579
- "owner": "buildchain-workflows",
580
- "maturity": "active",
581
- "introducedVersion": "4.1.0-alpha.0",
582
- "compatibilityPromise": "current-contract-only",
583
- "deprecationReplacement": "",
584
- "sunsetCondition": "explicit-contract-change-review",
585
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
586
- },
587
- {
588
- "id": "build",
589
- "path": ".github/workflows/build.yml",
590
- "reusable": true,
591
- "inputs": [
592
- "config-path",
593
- "contract-lock",
594
- "resume-run-id",
595
- "runtime-ref",
596
- "runtime-selection"
597
- ],
598
- "inputCount": 5,
599
- "secrets": [
600
- "BUILDCHAIN_MACOS_CERTIFICATE_P12_BASE64",
601
- "BUILDCHAIN_MACOS_CERTIFICATE_PASSWORD",
602
- "BUILDCHAIN_MACOS_NOTARY_API_ISSUER",
603
- "BUILDCHAIN_MACOS_NOTARY_API_KEY_ID",
604
- "BUILDCHAIN_MACOS_NOTARY_API_KEY_P8_BASE64",
605
- "BUILDCHAIN_PROMOTION_TOKEN"
606
- ],
607
- "secretCount": 6,
608
- "outputs": [
609
- "controller-receipt-artifact",
610
- "release-candidate-artifact",
611
- "result"
612
- ],
613
- "outputCount": 3,
614
- "taxonomy": {
615
- "id": "build",
616
- "role": "public",
617
- "category": "build",
618
- "purpose": "candidate",
619
- "status": "active",
620
- "canonicalPath": ".github/workflows/build.yml",
621
- "compatibilityAlias": false
622
- },
623
- "surface": "channel-build-router",
624
- "capabilityGroup": "reusable-build",
625
- "status": "active",
626
- "owner": "buildchain-workflows",
627
- "maturity": "active",
628
- "introducedVersion": "4.1.0-alpha.0",
629
- "compatibilityPromise": "current-contract-only",
630
- "deprecationReplacement": "",
631
- "sunsetCondition": "explicit-contract-change-review",
632
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
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
- },
694
- {
695
- "id": "public-build-adopter-qualification",
696
- "path": ".github/workflows/public-build-adopter-qualification.yml",
416
+ "id": ".build-stage-capsule-canary",
417
+ "path": ".github/workflows/.build-stage-capsule-canary.yml",
697
418
  "reusable": true,
698
419
  "inputs": [
420
+ "build-artifact-path",
699
421
  "consumer",
700
- "consumer-ref",
701
- "consumer-repository",
702
- "contract-lock",
703
- "input-path",
704
- "invocation-source-path",
705
- "runtime-ref",
706
- "runtime-selection"
707
- ],
708
- "inputCount": 8,
709
- "secrets": [],
710
- "secretCount": 0,
711
- "outputs": [],
712
- "outputCount": 0,
713
- "taxonomy": {
714
- "id": "v4-adopter-delivery",
715
- "role": "public",
716
- "category": "build",
717
- "purpose": "adopter-qualification",
718
- "status": "active",
719
- "canonicalPath": ".github/workflows/public-build-adopter-qualification.yml",
720
- "compatibilityAlias": false
721
- },
722
- "surface": "repository-workflow",
723
- "capabilityGroup": "api-cli-reference",
724
- "status": "active",
725
- "owner": "buildchain-workflows",
726
- "maturity": "active",
727
- "introducedVersion": "4.1.0-alpha.0",
728
- "compatibilityPromise": "current-contract-only",
729
- "deprecationReplacement": "",
730
- "sunsetCondition": "explicit-contract-change-review",
731
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
732
- },
733
- {
734
- "id": "public-build-check",
735
- "path": ".github/workflows/public-build-check.yml",
736
- "reusable": true,
737
- "inputs": [
738
422
  "contract-lock",
739
- "mode",
740
- "node-version",
741
- "require-version-state",
742
- "runtime-ref",
743
- "runtime-selection",
744
- "source-proof-closure-paths-json",
745
- "source-proof-dependency-paths-json",
746
- "source-proof-policy-paths-json",
747
- "source-proof-required-contexts-json",
748
- "source-proof-reuse",
749
- "upload-artifacts",
750
- "working-directory"
423
+ "go-version",
424
+ "install-artifact-path",
425
+ "node-version",
426
+ "runtime-ref",
427
+ "runtime-selection",
428
+ "verify-artifact-path"
751
429
  ],
752
- "inputCount": 13,
430
+ "inputCount": 9,
753
431
  "secrets": [],
754
432
  "secretCount": 0,
755
- "outputs": [
756
- "controller-plan-artifact",
757
- "controller-plan-digest",
758
- "controller-plan-json",
759
- "controller-receipt-artifact",
760
- "controller-receipt-digest",
761
- "controller-receipt-json",
762
- "controller-receipt-status",
763
- "source-proof-decision-root",
764
- "source-proof-producer-run-id",
765
- "source-proof-reuse-reason",
766
- "source-proof-reused",
767
- "source-proof-root"
768
- ],
769
- "outputCount": 12,
433
+ "outputs": [],
434
+ "outputCount": 0,
435
+ "apiRole": "implementation",
770
436
  "taxonomy": {
771
- "id": "check",
772
- "role": "public",
437
+ "id": "v4-stage-capsule-canary",
438
+ "role": "component",
773
439
  "category": "build",
774
- "purpose": "check",
440
+ "purpose": "stage-capsule-canary",
775
441
  "status": "active",
776
- "canonicalPath": ".github/workflows/public-build-check.yml",
442
+ "canonicalPath": ".github/workflows/.build-stage-capsule-canary.yml",
777
443
  "compatibilityAlias": false
778
444
  },
779
- "surface": "repository-workflow",
445
+ "surface": "reusable-workflow",
780
446
  "capabilityGroup": "api-cli-reference",
781
- "status": "active",
447
+ "status": "repository-internal",
782
448
  "owner": "buildchain-workflows",
783
- "maturity": "active",
449
+ "maturity": "repository-internal",
784
450
  "introducedVersion": "4.1.0-alpha.0",
785
451
  "compatibilityPromise": "current-contract-only",
786
452
  "deprecationReplacement": "",
@@ -788,163 +454,45 @@
788
454
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
789
455
  },
790
456
  {
791
- "id": "public-build-demo",
792
- "path": ".github/workflows/public-build-demo.yml",
457
+ "id": ".build",
458
+ "path": ".github/workflows/.build.yml",
793
459
  "reusable": true,
794
460
  "inputs": [
795
- "artifact-retention-days",
796
- "binary-artifact-digest",
797
- "binary-artifact-name",
461
+ "config-path",
798
462
  "contract-lock",
799
- "materialize",
800
- "materialize-base-ref",
801
- "media-profile",
802
- "render-failure-advisory",
803
- "render-media",
804
- "renderer-image",
463
+ "resume-run-id",
805
464
  "runtime-ref",
806
- "runtime-selection",
807
- "scenario-path",
808
- "source-ref"
465
+ "runtime-selection"
809
466
  ],
810
- "inputCount": 14,
467
+ "inputCount": 5,
811
468
  "secrets": [
812
- "DEMO_UPDATE_TOKEN"
813
- ],
814
- "secretCount": 1,
815
- "outputs": [
816
- "capture-artifact-digest",
817
- "capture-artifact-name",
818
- "evidence-artifact-digest",
819
- "evidence-artifact-name",
820
- "publication-pr-url",
821
- "render-result",
822
- "source-sha"
823
- ],
824
- "outputCount": 7,
825
- "taxonomy": {
826
- "id": ".declarative-auditable-demo",
827
- "role": "public",
828
- "category": "build",
829
- "purpose": "demo",
830
- "status": "active",
831
- "canonicalPath": ".github/workflows/public-build-demo.yml",
832
- "compatibilityAlias": false
833
- },
834
- "surface": "declarative-auditable-demo",
835
- "capabilityGroup": "api-cli-reference",
836
- "status": "preview",
837
- "owner": "buildchain-workflows",
838
- "maturity": "preview",
839
- "introducedVersion": "4.1.0-alpha.0",
840
- "compatibilityPromise": "current-contract-only",
841
- "deprecationReplacement": "",
842
- "sunsetCondition": "explicit-contract-change-review",
843
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
844
- },
845
- {
846
- "id": "public-build-publication",
847
- "path": ".github/workflows/public-build-publication.yml",
848
- "reusable": true,
849
- "inputs": [
850
- "artifact-name",
851
- "artifact-paths",
852
- "artifact-retention-days",
853
- "build-command",
854
- "buildchain-alpha-contract-lock-path",
855
- "buildchain-stable-contract-lock-path",
856
- "contract-lock",
857
- "node-version",
858
- "package-name",
859
- "prepare-paper-package",
860
- "publish-dist-tag",
861
- "runtime-ref",
862
- "runtime-selection",
863
- "setup-node",
864
- "target-ref",
865
- "toolchain-command",
866
- "toolchain-digest",
867
- "toolchain-image",
868
- "toolchain-type",
869
- "verify-command",
870
- "working-directory"
469
+ "BUILDCHAIN_MACOS_CERTIFICATE_P12_BASE64",
470
+ "BUILDCHAIN_MACOS_CERTIFICATE_PASSWORD",
471
+ "BUILDCHAIN_MACOS_NOTARY_API_ISSUER",
472
+ "BUILDCHAIN_MACOS_NOTARY_API_KEY_ID",
473
+ "BUILDCHAIN_MACOS_NOTARY_API_KEY_P8_BASE64",
474
+ "BUILDCHAIN_PROMOTION_TOKEN"
871
475
  ],
872
- "inputCount": 21,
873
- "secrets": [],
874
- "secretCount": 0,
476
+ "secretCount": 6,
875
477
  "outputs": [
876
- "controller-plan-artifact",
877
- "controller-plan-digest",
878
- "controller-plan-json",
879
- "controller-receipt-artifact",
880
- "controller-receipt-digest",
881
- "controller-receipt-json",
882
- "controller-receipt-status",
883
- "package-name",
884
- "package-version",
885
- "publication-artifact-name",
886
- "publication-manifest-json",
887
- "publication-manifest-path",
888
- "publication-passport-path",
889
- "publication-registry-path",
890
- "publish-dist-tag",
891
- "runtime-sha"
892
- ],
893
- "outputCount": 16,
894
- "taxonomy": {
895
- "id": "publication-artifact",
896
- "role": "public",
897
- "category": "build",
898
- "purpose": "publication",
899
- "status": "active",
900
- "canonicalPath": ".github/workflows/public-build-publication.yml",
901
- "compatibilityAlias": false
902
- },
903
- "surface": "repository-workflow",
904
- "capabilityGroup": "reusable-build",
905
- "status": "active",
906
- "owner": "buildchain-workflows",
907
- "maturity": "active",
908
- "introducedVersion": "4.1.0-alpha.0",
909
- "compatibilityPromise": "current-contract-only",
910
- "deprecationReplacement": "",
911
- "sunsetCondition": "explicit-contract-change-review",
912
- "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
913
- },
914
- {
915
- "id": "public-build-stage-capsule-canary",
916
- "path": ".github/workflows/public-build-stage-capsule-canary.yml",
917
- "reusable": true,
918
- "inputs": [
919
- "build-artifact-path",
920
- "consumer",
921
- "contract-lock",
922
- "go-version",
923
- "install-artifact-path",
924
- "node-version",
925
- "runtime-ref",
926
- "runtime-selection",
927
- "verify-artifact-path"
478
+ "result"
928
479
  ],
929
- "inputCount": 9,
930
- "secrets": [],
931
- "secretCount": 0,
932
- "outputs": [],
933
- "outputCount": 0,
480
+ "outputCount": 1,
481
+ "apiRole": "implementation",
934
482
  "taxonomy": {
935
- "id": "v4-stage-capsule-canary",
936
- "role": "public",
483
+ "id": ".build",
484
+ "role": "component",
937
485
  "category": "build",
938
- "purpose": "stage-capsule-canary",
486
+ "purpose": "engine",
939
487
  "status": "active",
940
- "canonicalPath": ".github/workflows/public-build-stage-capsule-canary.yml",
488
+ "canonicalPath": ".github/workflows/.build.yml",
941
489
  "compatibilityAlias": false
942
490
  },
943
- "surface": "repository-workflow",
491
+ "surface": "reusable-build",
944
492
  "capabilityGroup": "api-cli-reference",
945
- "status": "active",
493
+ "status": "repository-internal",
946
494
  "owner": "buildchain-workflows",
947
- "maturity": "active",
495
+ "maturity": "repository-internal",
948
496
  "introducedVersion": "4.1.0-alpha.0",
949
497
  "compatibilityPromise": "current-contract-only",
950
498
  "deprecationReplacement": "",
@@ -952,8 +500,8 @@
952
500
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
953
501
  },
954
502
  {
955
- "id": "public-ops-alpha-candidate-patrol",
956
- "path": ".github/workflows/public-ops-alpha-candidate-patrol.yml",
503
+ "id": ".ops-alpha-candidate-patrol",
504
+ "path": ".github/workflows/.ops-alpha-candidate-patrol.yml",
957
505
  "reusable": true,
958
506
  "inputs": [
959
507
  "alpha-workflow-path",
@@ -997,20 +545,21 @@
997
545
  "train-root"
998
546
  ],
999
547
  "outputCount": 17,
548
+ "apiRole": "implementation",
1000
549
  "taxonomy": {
1001
550
  "id": "dev-alpha-candidate-patrol",
1002
- "role": "public",
551
+ "role": "component",
1003
552
  "category": "ops",
1004
553
  "purpose": "alpha-candidate-patrol",
1005
554
  "status": "active",
1006
- "canonicalPath": ".github/workflows/public-ops-alpha-candidate-patrol.yml",
555
+ "canonicalPath": ".github/workflows/.ops-alpha-candidate-patrol.yml",
1007
556
  "compatibilityAlias": false
1008
557
  },
1009
558
  "surface": "repository-patrol",
1010
559
  "capabilityGroup": "governance-versioning",
1011
- "status": "active",
560
+ "status": "repository-internal",
1012
561
  "owner": "buildchain-workflows",
1013
- "maturity": "active",
562
+ "maturity": "repository-internal",
1014
563
  "introducedVersion": "4.1.0-alpha.0",
1015
564
  "compatibilityPromise": "current-contract-only",
1016
565
  "deprecationReplacement": "",
@@ -1018,8 +567,8 @@
1018
567
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1019
568
  },
1020
569
  {
1021
- "id": "public-ops-bootstrap",
1022
- "path": ".github/workflows/public-ops-bootstrap.yml",
570
+ "id": ".ops-bootstrap",
571
+ "path": ".github/workflows/.ops-bootstrap.yml",
1023
572
  "reusable": true,
1024
573
  "inputs": [
1025
574
  "contract-lock",
@@ -1040,20 +589,21 @@
1040
589
  "terminal-receipt-root"
1041
590
  ],
1042
591
  "outputCount": 7,
592
+ "apiRole": "implementation",
1043
593
  "taxonomy": {
1044
594
  "id": "bootstrap",
1045
- "role": "public",
595
+ "role": "component",
1046
596
  "category": "ops",
1047
597
  "purpose": "bootstrap",
1048
598
  "status": "active",
1049
- "canonicalPath": ".github/workflows/public-ops-bootstrap.yml",
599
+ "canonicalPath": ".github/workflows/.ops-bootstrap.yml",
1050
600
  "compatibilityAlias": false
1051
601
  },
1052
- "surface": "repository-workflow",
602
+ "surface": "reusable-workflow",
1053
603
  "capabilityGroup": "api-cli-reference",
1054
- "status": "active",
604
+ "status": "repository-internal",
1055
605
  "owner": "buildchain-workflows",
1056
- "maturity": "active",
606
+ "maturity": "repository-internal",
1057
607
  "introducedVersion": "4.1.0-alpha.0",
1058
608
  "compatibilityPromise": "current-contract-only",
1059
609
  "deprecationReplacement": "",
@@ -1061,8 +611,8 @@
1061
611
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1062
612
  },
1063
613
  {
1064
- "id": "public-ops-dev-auto-merge",
1065
- "path": ".github/workflows/public-ops-dev-auto-merge.yml",
614
+ "id": ".ops-dev-auto-merge",
615
+ "path": ".github/workflows/.ops-dev-auto-merge.yml",
1066
616
  "reusable": true,
1067
617
  "inputs": [
1068
618
  "active-lease-context",
@@ -1137,20 +687,21 @@
1137
687
  "warrant-state-root"
1138
688
  ],
1139
689
  "outputCount": 19,
690
+ "apiRole": "implementation",
1140
691
  "taxonomy": {
1141
692
  "id": "dev-pr-auto-merge",
1142
- "role": "public",
693
+ "role": "component",
1143
694
  "category": "ops",
1144
695
  "purpose": "dev-auto-merge",
1145
696
  "status": "active",
1146
- "canonicalPath": ".github/workflows/public-ops-dev-auto-merge.yml",
697
+ "canonicalPath": ".github/workflows/.ops-dev-auto-merge.yml",
1147
698
  "compatibilityAlias": false
1148
699
  },
1149
700
  "surface": "dev-governance",
1150
701
  "capabilityGroup": "governance-versioning",
1151
- "status": "active",
702
+ "status": "repository-internal",
1152
703
  "owner": "buildchain-workflows",
1153
- "maturity": "active",
704
+ "maturity": "repository-internal",
1154
705
  "introducedVersion": "4.1.0-alpha.0",
1155
706
  "compatibilityPromise": "current-contract-only",
1156
707
  "deprecationReplacement": "",
@@ -1158,8 +709,8 @@
1158
709
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1159
710
  },
1160
711
  {
1161
- "id": "public-ops-dev-qualification-patrol",
1162
- "path": ".github/workflows/public-ops-dev-qualification-patrol.yml",
712
+ "id": ".ops-dev-qualification-patrol",
713
+ "path": ".github/workflows/.ops-dev-qualification-patrol.yml",
1163
714
  "reusable": true,
1164
715
  "inputs": [
1165
716
  "contract-lock",
@@ -1189,20 +740,63 @@
1189
740
  "state"
1190
741
  ],
1191
742
  "outputCount": 7,
743
+ "apiRole": "implementation",
1192
744
  "taxonomy": {
1193
745
  "id": "dev-qualification-patrol",
1194
- "role": "public",
746
+ "role": "component",
1195
747
  "category": "ops",
1196
748
  "purpose": "dev-qualification-patrol",
1197
749
  "status": "active",
1198
- "canonicalPath": ".github/workflows/public-ops-dev-qualification-patrol.yml",
750
+ "canonicalPath": ".github/workflows/.ops-dev-qualification-patrol.yml",
1199
751
  "compatibilityAlias": false
1200
752
  },
1201
753
  "surface": "repository-patrol",
1202
754
  "capabilityGroup": "governance-versioning",
1203
- "status": "active",
755
+ "status": "repository-internal",
1204
756
  "owner": "buildchain-workflows",
1205
- "maturity": "active",
757
+ "maturity": "repository-internal",
758
+ "introducedVersion": "4.1.0-alpha.0",
759
+ "compatibilityPromise": "current-contract-only",
760
+ "deprecationReplacement": "",
761
+ "sunsetCondition": "explicit-contract-change-review",
762
+ "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
763
+ },
764
+ {
765
+ "id": ".ops-git-sync",
766
+ "path": ".github/workflows/.ops-git-sync.yml",
767
+ "reusable": true,
768
+ "inputs": [
769
+ "contract-lock",
770
+ "force",
771
+ "remote-host",
772
+ "remote-path",
773
+ "remote-repo",
774
+ "runtime-ref",
775
+ "runtime-selection"
776
+ ],
777
+ "inputCount": 7,
778
+ "secrets": [
779
+ "REMOTE_CREDENTIAL",
780
+ "REMOTE_USER"
781
+ ],
782
+ "secretCount": 2,
783
+ "outputs": [],
784
+ "outputCount": 0,
785
+ "apiRole": "implementation",
786
+ "taxonomy": {
787
+ "id": ".sync-remote-git",
788
+ "role": "component",
789
+ "category": "ops",
790
+ "purpose": "git-sync",
791
+ "status": "active",
792
+ "canonicalPath": ".github/workflows/.ops-git-sync.yml",
793
+ "compatibilityAlias": false
794
+ },
795
+ "surface": "reusable-workflow",
796
+ "capabilityGroup": "api-cli-reference",
797
+ "status": "repository-internal",
798
+ "owner": "buildchain-workflows",
799
+ "maturity": "repository-internal",
1206
800
  "introducedVersion": "4.1.0-alpha.0",
1207
801
  "compatibilityPromise": "current-contract-only",
1208
802
  "deprecationReplacement": "",
@@ -1210,8 +804,8 @@
1210
804
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1211
805
  },
1212
806
  {
1213
- "id": "public-ops-housekeeping",
1214
- "path": ".github/workflows/public-ops-housekeeping.yml",
807
+ "id": ".ops-housekeeping",
808
+ "path": ".github/workflows/.ops-housekeeping.yml",
1215
809
  "reusable": true,
1216
810
  "inputs": [
1217
811
  "apply-enabled",
@@ -1249,29 +843,30 @@
1249
843
  "report-receipt-root"
1250
844
  ],
1251
845
  "outputCount": 9,
846
+ "apiRole": "implementation",
1252
847
  "taxonomy": {
1253
848
  "id": "engineering-housekeeper",
1254
- "role": "public",
849
+ "role": "component",
1255
850
  "category": "ops",
1256
851
  "purpose": "housekeeping",
1257
852
  "status": "active",
1258
- "canonicalPath": ".github/workflows/public-ops-housekeeping.yml",
853
+ "canonicalPath": ".github/workflows/.ops-housekeeping.yml",
1259
854
  "compatibilityAlias": false
1260
855
  },
1261
856
  "surface": "repository-patrol",
1262
857
  "capabilityGroup": "governance-versioning",
1263
- "status": "preview",
858
+ "status": "repository-internal",
1264
859
  "owner": "buildchain-workflows",
1265
- "maturity": "preview",
1266
- "introducedVersion": "4.1.3-alpha.9",
860
+ "maturity": "repository-internal",
861
+ "introducedVersion": "4.1.4-alpha.0",
1267
862
  "compatibilityPromise": "current-contract-only",
1268
863
  "deprecationReplacement": "",
1269
864
  "sunsetCondition": "explicit-contract-change-review",
1270
865
  "nonDuplicationRationale": "One reusable policy and evidence boundary owns Engineering Housekeeper execution; scheduled callers contain cadence values only."
1271
866
  },
1272
867
  {
1273
- "id": "public-ops-observed-evidence",
1274
- "path": ".github/workflows/public-ops-observed-evidence.yml",
868
+ "id": ".ops-observed-evidence",
869
+ "path": ".github/workflows/.ops-observed-evidence.yml",
1275
870
  "reusable": true,
1276
871
  "inputs": [
1277
872
  "artifact-path",
@@ -1296,20 +891,21 @@
1296
891
  "receipt-path"
1297
892
  ],
1298
893
  "outputCount": 1,
894
+ "apiRole": "implementation",
1299
895
  "taxonomy": {
1300
896
  "id": "patrol-observed-evidence",
1301
- "role": "public",
897
+ "role": "component",
1302
898
  "category": "ops",
1303
899
  "purpose": "observed-evidence",
1304
900
  "status": "active",
1305
- "canonicalPath": ".github/workflows/public-ops-observed-evidence.yml",
901
+ "canonicalPath": ".github/workflows/.ops-observed-evidence.yml",
1306
902
  "compatibilityAlias": false
1307
903
  },
1308
904
  "surface": "repository-patrol",
1309
905
  "capabilityGroup": "governance-versioning",
1310
- "status": "active",
906
+ "status": "repository-internal",
1311
907
  "owner": "buildchain-workflows",
1312
- "maturity": "active",
908
+ "maturity": "repository-internal",
1313
909
  "introducedVersion": "4.1.0-alpha.0",
1314
910
  "compatibilityPromise": "current-contract-only",
1315
911
  "deprecationReplacement": "",
@@ -1317,8 +913,8 @@
1317
913
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1318
914
  },
1319
915
  {
1320
- "id": "public-ops-patrol-daily",
1321
- "path": ".github/workflows/public-ops-patrol-daily.yml",
916
+ "id": ".ops-patrol-daily",
917
+ "path": ".github/workflows/.ops-patrol-daily.yml",
1322
918
  "reusable": true,
1323
919
  "inputs": [
1324
920
  "allowed-head-prefixes",
@@ -1349,20 +945,21 @@
1349
945
  "skipped-count"
1350
946
  ],
1351
947
  "outputCount": 5,
948
+ "apiRole": "implementation",
1352
949
  "taxonomy": {
1353
950
  "id": "patrol-daily",
1354
- "role": "public",
951
+ "role": "component",
1355
952
  "category": "ops",
1356
953
  "purpose": "patrol-daily",
1357
954
  "status": "active",
1358
- "canonicalPath": ".github/workflows/public-ops-patrol-daily.yml",
955
+ "canonicalPath": ".github/workflows/.ops-patrol-daily.yml",
1359
956
  "compatibilityAlias": false
1360
957
  },
1361
958
  "surface": "repository-patrol",
1362
959
  "capabilityGroup": "governance-versioning",
1363
- "status": "active",
960
+ "status": "repository-internal",
1364
961
  "owner": "buildchain-workflows",
1365
- "maturity": "active",
962
+ "maturity": "repository-internal",
1366
963
  "introducedVersion": "4.1.0-alpha.0",
1367
964
  "compatibilityPromise": "current-contract-only",
1368
965
  "deprecationReplacement": "",
@@ -1370,8 +967,8 @@
1370
967
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1371
968
  },
1372
969
  {
1373
- "id": "public-ops-patrol-monthly",
1374
- "path": ".github/workflows/public-ops-patrol-monthly.yml",
970
+ "id": ".ops-patrol-monthly",
971
+ "path": ".github/workflows/.ops-patrol-monthly.yml",
1375
972
  "reusable": true,
1376
973
  "inputs": [
1377
974
  "contract-lock",
@@ -1393,20 +990,21 @@
1393
990
  "skipped-count"
1394
991
  ],
1395
992
  "outputCount": 5,
993
+ "apiRole": "implementation",
1396
994
  "taxonomy": {
1397
995
  "id": "patrol-monthly",
1398
- "role": "public",
996
+ "role": "component",
1399
997
  "category": "ops",
1400
998
  "purpose": "patrol-monthly",
1401
999
  "status": "active",
1402
- "canonicalPath": ".github/workflows/public-ops-patrol-monthly.yml",
1000
+ "canonicalPath": ".github/workflows/.ops-patrol-monthly.yml",
1403
1001
  "compatibilityAlias": false
1404
1002
  },
1405
1003
  "surface": "repository-patrol",
1406
1004
  "capabilityGroup": "governance-versioning",
1407
- "status": "active",
1005
+ "status": "repository-internal",
1408
1006
  "owner": "buildchain-workflows",
1409
- "maturity": "active",
1007
+ "maturity": "repository-internal",
1410
1008
  "introducedVersion": "4.1.0-alpha.0",
1411
1009
  "compatibilityPromise": "current-contract-only",
1412
1010
  "deprecationReplacement": "",
@@ -1414,8 +1012,8 @@
1414
1012
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1415
1013
  },
1416
1014
  {
1417
- "id": "public-ops-patrol-weekly",
1418
- "path": ".github/workflows/public-ops-patrol-weekly.yml",
1015
+ "id": ".ops-patrol-weekly",
1016
+ "path": ".github/workflows/.ops-patrol-weekly.yml",
1419
1017
  "reusable": true,
1420
1018
  "inputs": [
1421
1019
  "contract-lock",
@@ -1437,20 +1035,21 @@
1437
1035
  "skipped-count"
1438
1036
  ],
1439
1037
  "outputCount": 5,
1038
+ "apiRole": "implementation",
1440
1039
  "taxonomy": {
1441
1040
  "id": "patrol-weekly",
1442
- "role": "public",
1041
+ "role": "component",
1443
1042
  "category": "ops",
1444
1043
  "purpose": "patrol-weekly",
1445
1044
  "status": "active",
1446
- "canonicalPath": ".github/workflows/public-ops-patrol-weekly.yml",
1045
+ "canonicalPath": ".github/workflows/.ops-patrol-weekly.yml",
1447
1046
  "compatibilityAlias": false
1448
1047
  },
1449
1048
  "surface": "repository-patrol",
1450
1049
  "capabilityGroup": "governance-versioning",
1451
- "status": "active",
1050
+ "status": "repository-internal",
1452
1051
  "owner": "buildchain-workflows",
1453
- "maturity": "active",
1052
+ "maturity": "repository-internal",
1454
1053
  "introducedVersion": "4.1.0-alpha.0",
1455
1054
  "compatibilityPromise": "current-contract-only",
1456
1055
  "deprecationReplacement": "",
@@ -1458,8 +1057,8 @@
1458
1057
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1459
1058
  },
1460
1059
  {
1461
- "id": "public-ops-patrol",
1462
- "path": ".github/workflows/public-ops-patrol.yml",
1060
+ "id": ".ops-patrol",
1061
+ "path": ".github/workflows/.ops-patrol.yml",
1463
1062
  "reusable": true,
1464
1063
  "inputs": [
1465
1064
  "allowed-head-prefixes",
@@ -1493,20 +1092,21 @@
1493
1092
  "skipped-count"
1494
1093
  ],
1495
1094
  "outputCount": 5,
1095
+ "apiRole": "implementation",
1496
1096
  "taxonomy": {
1497
1097
  "id": "buildchain-patrol",
1498
- "role": "public",
1098
+ "role": "component",
1499
1099
  "category": "ops",
1500
1100
  "purpose": "patrol",
1501
1101
  "status": "active",
1502
- "canonicalPath": ".github/workflows/public-ops-patrol.yml",
1102
+ "canonicalPath": ".github/workflows/.ops-patrol.yml",
1503
1103
  "compatibilityAlias": false
1504
1104
  },
1505
1105
  "surface": "repository-patrol",
1506
1106
  "capabilityGroup": "governance-versioning",
1507
- "status": "active",
1107
+ "status": "repository-internal",
1508
1108
  "owner": "buildchain-workflows",
1509
- "maturity": "active",
1109
+ "maturity": "repository-internal",
1510
1110
  "introducedVersion": "4.1.0-alpha.0",
1511
1111
  "compatibilityPromise": "current-contract-only",
1512
1112
  "deprecationReplacement": "",
@@ -1514,31 +1114,35 @@
1514
1114
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1515
1115
  },
1516
1116
  {
1517
- "id": "public-ops-pipeline",
1518
- "path": ".github/workflows/public-ops-pipeline.yml",
1117
+ "id": ".ops-pipeline-delivery",
1118
+ "path": ".github/workflows/.ops-pipeline-delivery.yml",
1519
1119
  "reusable": true,
1520
1120
  "inputs": [
1521
- "config-path"
1121
+ "request",
1122
+ "runtime-selection"
1522
1123
  ],
1523
- "inputCount": 1,
1524
- "secrets": [],
1525
- "secretCount": 0,
1124
+ "inputCount": 2,
1125
+ "secrets": [
1126
+ "BUILDCHAIN_AUTOMATION_TOKEN"
1127
+ ],
1128
+ "secretCount": 1,
1526
1129
  "outputs": [],
1527
1130
  "outputCount": 0,
1131
+ "apiRole": "implementation",
1528
1132
  "taxonomy": {
1529
- "id": "pipeline",
1530
- "role": "public",
1133
+ "id": ".pipeline-delivery",
1134
+ "role": "component",
1531
1135
  "category": "ops",
1532
- "purpose": "pipeline",
1136
+ "purpose": "pipeline-delivery",
1533
1137
  "status": "active",
1534
- "canonicalPath": ".github/workflows/public-ops-pipeline.yml",
1138
+ "canonicalPath": ".github/workflows/.ops-pipeline-delivery.yml",
1535
1139
  "compatibilityAlias": false
1536
1140
  },
1537
- "surface": "repository-workflow",
1141
+ "surface": "reusable-workflow",
1538
1142
  "capabilityGroup": "api-cli-reference",
1539
- "status": "active",
1143
+ "status": "repository-internal",
1540
1144
  "owner": "buildchain-workflows",
1541
- "maturity": "active",
1145
+ "maturity": "repository-internal",
1542
1146
  "introducedVersion": "4.1.0-alpha.0",
1543
1147
  "compatibilityPromise": "current-contract-only",
1544
1148
  "deprecationReplacement": "",
@@ -1546,32 +1150,37 @@
1546
1150
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1547
1151
  },
1548
1152
  {
1549
- "id": "public-ops-recover",
1550
- "path": ".github/workflows/public-ops-recover.yml",
1153
+ "id": ".ops-pipeline-execute",
1154
+ "path": ".github/workflows/.ops-pipeline-execute.yml",
1551
1155
  "reusable": true,
1552
1156
  "inputs": [
1553
1157
  "attempt",
1554
- "runtime-ref"
1158
+ "context",
1159
+ "matrix",
1160
+ "operation",
1161
+ "request",
1162
+ "runtime-selection"
1555
1163
  ],
1556
- "inputCount": 2,
1164
+ "inputCount": 6,
1557
1165
  "secrets": [],
1558
1166
  "secretCount": 0,
1559
1167
  "outputs": [],
1560
1168
  "outputCount": 0,
1169
+ "apiRole": "implementation",
1561
1170
  "taxonomy": {
1562
- "id": "recover",
1563
- "role": "public",
1171
+ "id": ".pipeline-execute",
1172
+ "role": "component",
1564
1173
  "category": "ops",
1565
- "purpose": "recover",
1174
+ "purpose": "pipeline-execute",
1566
1175
  "status": "active",
1567
- "canonicalPath": ".github/workflows/public-ops-recover.yml",
1176
+ "canonicalPath": ".github/workflows/.ops-pipeline-execute.yml",
1568
1177
  "compatibilityAlias": false
1569
1178
  },
1570
- "surface": "repository-workflow",
1179
+ "surface": "reusable-workflow",
1571
1180
  "capabilityGroup": "api-cli-reference",
1572
- "status": "active",
1181
+ "status": "repository-internal",
1573
1182
  "owner": "buildchain-workflows",
1574
- "maturity": "active",
1183
+ "maturity": "repository-internal",
1575
1184
  "introducedVersion": "4.1.0-alpha.0",
1576
1185
  "compatibilityPromise": "current-contract-only",
1577
1186
  "deprecationReplacement": "",
@@ -1579,8 +1188,8 @@
1579
1188
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1580
1189
  },
1581
1190
  {
1582
- "id": "public-ops-release-governance",
1583
- "path": ".github/workflows/public-ops-release-governance.yml",
1191
+ "id": ".ops-release-governance",
1192
+ "path": ".github/workflows/.ops-release-governance.yml",
1584
1193
  "reusable": true,
1585
1194
  "inputs": [
1586
1195
  "apply",
@@ -1598,20 +1207,21 @@
1598
1207
  "secretCount": 2,
1599
1208
  "outputs": [],
1600
1209
  "outputCount": 0,
1210
+ "apiRole": "implementation",
1601
1211
  "taxonomy": {
1602
1212
  "id": "release-governance-reconcile",
1603
- "role": "public",
1213
+ "role": "component",
1604
1214
  "category": "ops",
1605
1215
  "purpose": "release-governance",
1606
1216
  "status": "active",
1607
- "canonicalPath": ".github/workflows/public-ops-release-governance.yml",
1217
+ "canonicalPath": ".github/workflows/.ops-release-governance.yml",
1608
1218
  "compatibilityAlias": false
1609
1219
  },
1610
1220
  "surface": "release-governance",
1611
1221
  "capabilityGroup": "api-cli-reference",
1612
- "status": "active",
1222
+ "status": "repository-internal",
1613
1223
  "owner": "buildchain-workflows",
1614
- "maturity": "active",
1224
+ "maturity": "repository-internal",
1615
1225
  "introducedVersion": "4.1.0-alpha.0",
1616
1226
  "compatibilityPromise": "current-contract-only",
1617
1227
  "deprecationReplacement": "",
@@ -1619,8 +1229,8 @@
1619
1229
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1620
1230
  },
1621
1231
  {
1622
- "id": "public-ops-stable-candidate-patrol",
1623
- "path": ".github/workflows/public-ops-stable-candidate-patrol.yml",
1232
+ "id": ".ops-stable-candidate-patrol",
1233
+ "path": ".github/workflows/.ops-stable-candidate-patrol.yml",
1624
1234
  "reusable": true,
1625
1235
  "inputs": [
1626
1236
  "auto-approve",
@@ -1656,20 +1266,21 @@
1656
1266
  "stable-version"
1657
1267
  ],
1658
1268
  "outputCount": 6,
1269
+ "apiRole": "implementation",
1659
1270
  "taxonomy": {
1660
1271
  "id": "stable-candidate-patrol",
1661
- "role": "public",
1272
+ "role": "component",
1662
1273
  "category": "ops",
1663
1274
  "purpose": "stable-candidate-patrol",
1664
1275
  "status": "active",
1665
- "canonicalPath": ".github/workflows/public-ops-stable-candidate-patrol.yml",
1276
+ "canonicalPath": ".github/workflows/.ops-stable-candidate-patrol.yml",
1666
1277
  "compatibilityAlias": false
1667
1278
  },
1668
1279
  "surface": "repository-patrol",
1669
1280
  "capabilityGroup": "governance-versioning",
1670
- "status": "active",
1281
+ "status": "repository-internal",
1671
1282
  "owner": "buildchain-workflows",
1672
- "maturity": "active",
1283
+ "maturity": "repository-internal",
1673
1284
  "introducedVersion": "4.1.0-alpha.0",
1674
1285
  "compatibilityPromise": "current-contract-only",
1675
1286
  "deprecationReplacement": "",
@@ -1677,8 +1288,8 @@
1677
1288
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1678
1289
  },
1679
1290
  {
1680
- "id": "public-ops-tail-reseal",
1681
- "path": ".github/workflows/public-ops-tail-reseal.yml",
1291
+ "id": ".ops-tail-reseal",
1292
+ "path": ".github/workflows/.ops-tail-reseal.yml",
1682
1293
  "reusable": true,
1683
1294
  "inputs": [
1684
1295
  "artifact-retention-days",
@@ -1700,20 +1311,21 @@
1700
1311
  "tail-reseal-receipt-root"
1701
1312
  ],
1702
1313
  "outputCount": 2,
1314
+ "apiRole": "implementation",
1703
1315
  "taxonomy": {
1704
1316
  "id": "v4-tail-reseal",
1705
- "role": "public",
1317
+ "role": "component",
1706
1318
  "category": "ops",
1707
1319
  "purpose": "tail-reseal",
1708
1320
  "status": "active",
1709
- "canonicalPath": ".github/workflows/public-ops-tail-reseal.yml",
1321
+ "canonicalPath": ".github/workflows/.ops-tail-reseal.yml",
1710
1322
  "compatibilityAlias": false
1711
1323
  },
1712
- "surface": "repository-workflow",
1324
+ "surface": "reusable-workflow",
1713
1325
  "capabilityGroup": "api-cli-reference",
1714
- "status": "active",
1326
+ "status": "repository-internal",
1715
1327
  "owner": "buildchain-workflows",
1716
- "maturity": "active",
1328
+ "maturity": "repository-internal",
1717
1329
  "introducedVersion": "4.1.0-alpha.0",
1718
1330
  "compatibilityPromise": "current-contract-only",
1719
1331
  "deprecationReplacement": "",
@@ -1721,8 +1333,8 @@
1721
1333
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1722
1334
  },
1723
1335
  {
1724
- "id": "public-ops-warrant-cancel",
1725
- "path": ".github/workflows/public-ops-warrant-cancel.yml",
1336
+ "id": ".ops-warrant-cancel",
1337
+ "path": ".github/workflows/.ops-warrant-cancel.yml",
1726
1338
  "reusable": true,
1727
1339
  "inputs": [
1728
1340
  "contract-lock",
@@ -1749,21 +1361,207 @@
1749
1361
  "cancellation-receipt-root",
1750
1362
  "final-state-root"
1751
1363
  ],
1752
- "outputCount": 3,
1364
+ "outputCount": 3,
1365
+ "apiRole": "implementation",
1366
+ "taxonomy": {
1367
+ "id": "dev-delivery-warrant-cancel",
1368
+ "role": "component",
1369
+ "category": "ops",
1370
+ "purpose": "warrant-cancel",
1371
+ "status": "active",
1372
+ "canonicalPath": ".github/workflows/.ops-warrant-cancel.yml",
1373
+ "compatibilityAlias": false
1374
+ },
1375
+ "surface": "reusable-workflow",
1376
+ "capabilityGroup": "governance-versioning",
1377
+ "status": "repository-internal",
1378
+ "owner": "buildchain-workflows",
1379
+ "maturity": "repository-internal",
1380
+ "introducedVersion": "4.1.0-alpha.0",
1381
+ "compatibilityPromise": "current-contract-only",
1382
+ "deprecationReplacement": "",
1383
+ "sunsetCondition": "explicit-contract-change-review",
1384
+ "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1385
+ },
1386
+ {
1387
+ "id": ".ops-warrant-close",
1388
+ "path": ".github/workflows/.ops-warrant-close.yml",
1389
+ "reusable": true,
1390
+ "inputs": [
1391
+ "contract-lock",
1392
+ "current-base-sha",
1393
+ "expected-head-sha",
1394
+ "expected-pr-number",
1395
+ "merge-group-head-sha",
1396
+ "merge-group-tree-sha",
1397
+ "outcome",
1398
+ "reason",
1399
+ "replay-tree-sha",
1400
+ "required-context-roots-json",
1401
+ "runtime-ref",
1402
+ "runtime-selection",
1403
+ "target-branch",
1404
+ "terminal-evidence-root"
1405
+ ],
1406
+ "inputCount": 14,
1407
+ "secrets": [
1408
+ "github-token"
1409
+ ],
1410
+ "secretCount": 1,
1411
+ "outputs": [
1412
+ "close-receipt-root",
1413
+ "final-state-root",
1414
+ "integration-proof-root",
1415
+ "successor-wake-json"
1416
+ ],
1417
+ "outputCount": 4,
1418
+ "apiRole": "implementation",
1419
+ "taxonomy": {
1420
+ "id": "dev-delivery-warrant-close",
1421
+ "role": "component",
1422
+ "category": "ops",
1423
+ "purpose": "warrant-close",
1424
+ "status": "active",
1425
+ "canonicalPath": ".github/workflows/.ops-warrant-close.yml",
1426
+ "compatibilityAlias": false
1427
+ },
1428
+ "surface": "reusable-workflow",
1429
+ "capabilityGroup": "governance-versioning",
1430
+ "status": "repository-internal",
1431
+ "owner": "buildchain-workflows",
1432
+ "maturity": "repository-internal",
1433
+ "introducedVersion": "4.1.0-alpha.0",
1434
+ "compatibilityPromise": "current-contract-only",
1435
+ "deprecationReplacement": "",
1436
+ "sunsetCondition": "explicit-contract-change-review",
1437
+ "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1438
+ },
1439
+ {
1440
+ "id": ".release-artifact-attestation",
1441
+ "path": ".github/workflows/.release-artifact-attestation.yml",
1442
+ "reusable": true,
1443
+ "inputs": [
1444
+ "contract-lock",
1445
+ "environment",
1446
+ "evidence-artifact-name",
1447
+ "evidence-run-id",
1448
+ "platform-manifest-artifact-name",
1449
+ "platform-manifest-relative-path",
1450
+ "policy-json",
1451
+ "release-passport-artifact-name",
1452
+ "release-passport-relative-path",
1453
+ "retention-days",
1454
+ "runtime-ref",
1455
+ "runtime-selection",
1456
+ "source-sha",
1457
+ "subject-artifact-name",
1458
+ "subject-relative-path"
1459
+ ],
1460
+ "inputCount": 15,
1461
+ "secrets": [],
1462
+ "secretCount": 0,
1463
+ "outputs": [
1464
+ "attestation-id",
1465
+ "attestation-url",
1466
+ "bundle-digest",
1467
+ "evidence-artifact-name",
1468
+ "evidence-root"
1469
+ ],
1470
+ "outputCount": 5,
1471
+ "apiRole": "implementation",
1472
+ "taxonomy": {
1473
+ "id": "github-artifact-attestation",
1474
+ "role": "component",
1475
+ "category": "release",
1476
+ "purpose": "artifact-attestation",
1477
+ "status": "active",
1478
+ "canonicalPath": ".github/workflows/.release-artifact-attestation.yml",
1479
+ "compatibilityAlias": false
1480
+ },
1481
+ "surface": "release-passport",
1482
+ "capabilityGroup": "release-passport-trust",
1483
+ "status": "repository-internal",
1484
+ "owner": "buildchain-workflows",
1485
+ "maturity": "repository-internal",
1486
+ "introducedVersion": "4.1.0-alpha.0",
1487
+ "compatibilityPromise": "current-contract-only",
1488
+ "deprecationReplacement": "",
1489
+ "sunsetCondition": "explicit-contract-change-review",
1490
+ "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1491
+ },
1492
+ {
1493
+ "id": ".release-authority",
1494
+ "path": ".github/workflows/.release-authority.yml",
1495
+ "reusable": true,
1496
+ "inputs": [
1497
+ "admission-json",
1498
+ "authority-workflow-path",
1499
+ "auto-admission",
1500
+ "auto-admission-kind",
1501
+ "auto-no-gate",
1502
+ "consumer-gate-command",
1503
+ "consumer-gate-controller-sha",
1504
+ "consumer-gate-evidence-source-sha",
1505
+ "consumer-gate-evidence-source-tree",
1506
+ "consumer-predicate-digest",
1507
+ "consumer-predicate-id",
1508
+ "consumer-qualification-required",
1509
+ "contract-lock",
1510
+ "control-plane-audit-json",
1511
+ "dry-run",
1512
+ "evidence-controller-artifact",
1513
+ "evidence-manifest-pattern",
1514
+ "evidence-passport-artifact",
1515
+ "evidence-payload-pattern",
1516
+ "evidence-publication-artifact",
1517
+ "evidence-repository",
1518
+ "evidence-run-id",
1519
+ "evidence-summary-artifact",
1520
+ "expected-json",
1521
+ "gate-aggregate-json",
1522
+ "github-governance-receipt-json",
1523
+ "package-name",
1524
+ "product",
1525
+ "publication-target",
1526
+ "publication-version",
1527
+ "publisher-workflow-path",
1528
+ "required-status-check",
1529
+ "runner-provenance-json",
1530
+ "runtime-ref",
1531
+ "runtime-selection",
1532
+ "source-sha",
1533
+ "target-ref",
1534
+ "used-nonces-json"
1535
+ ],
1536
+ "inputCount": 38,
1537
+ "secrets": [
1538
+ "BUILDCHAIN_GOVERNANCE_READ_TOKEN",
1539
+ "KUNGFU_GOVERNANCE_AUDITOR_APP_PRIVATE_KEY"
1540
+ ],
1541
+ "secretCount": 2,
1542
+ "outputs": [
1543
+ "capability-artifact",
1544
+ "capability-digest",
1545
+ "capability-json",
1546
+ "gate-aggregate-digest",
1547
+ "gate-aggregate-json"
1548
+ ],
1549
+ "outputCount": 5,
1550
+ "apiRole": "implementation",
1753
1551
  "taxonomy": {
1754
- "id": "dev-delivery-warrant-cancel",
1755
- "role": "public",
1756
- "category": "ops",
1757
- "purpose": "warrant-cancel",
1552
+ "id": ".publication-authority",
1553
+ "role": "component",
1554
+ "category": "release",
1555
+ "purpose": "authority",
1758
1556
  "status": "active",
1759
- "canonicalPath": ".github/workflows/public-ops-warrant-cancel.yml",
1557
+ "canonicalPath": ".github/workflows/.release-authority.yml",
1760
1558
  "compatibilityAlias": false
1761
1559
  },
1762
- "surface": "repository-workflow",
1763
- "capabilityGroup": "governance-versioning",
1764
- "status": "active",
1560
+ "surface": "reusable-workflow",
1561
+ "capabilityGroup": "api-cli-reference",
1562
+ "status": "repository-internal",
1765
1563
  "owner": "buildchain-workflows",
1766
- "maturity": "active",
1564
+ "maturity": "repository-internal",
1767
1565
  "introducedVersion": "4.1.0-alpha.0",
1768
1566
  "compatibilityPromise": "current-contract-only",
1769
1567
  "deprecationReplacement": "",
@@ -1771,51 +1569,47 @@
1771
1569
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1772
1570
  },
1773
1571
  {
1774
- "id": "public-ops-warrant-close",
1775
- "path": ".github/workflows/public-ops-warrant-close.yml",
1572
+ "id": ".release-binary-assets",
1573
+ "path": ".github/workflows/.release-binary-assets.yml",
1776
1574
  "reusable": true,
1777
1575
  "inputs": [
1576
+ "auto-admission",
1778
1577
  "contract-lock",
1779
- "current-base-sha",
1780
- "expected-head-sha",
1781
- "expected-pr-number",
1782
- "merge-group-head-sha",
1783
- "merge-group-tree-sha",
1784
- "outcome",
1785
- "reason",
1786
- "replay-tree-sha",
1787
- "required-context-roots-json",
1578
+ "evidence-run-id",
1579
+ "github-governance-receipt-json",
1580
+ "publication-admission-json",
1581
+ "publication-control-plane-audit-json",
1582
+ "publication-expected-json",
1583
+ "publication-gate-aggregate-json",
1584
+ "publication-runner-provenance-json",
1585
+ "publication-used-nonces-json",
1586
+ "publication-version",
1587
+ "release-tag",
1788
1588
  "runtime-ref",
1789
1589
  "runtime-selection",
1790
- "target-branch",
1791
- "terminal-evidence-root"
1792
- ],
1793
- "inputCount": 14,
1794
- "secrets": [
1795
- "github-token"
1796
- ],
1797
- "secretCount": 1,
1798
- "outputs": [
1799
- "close-receipt-root",
1800
- "final-state-root",
1801
- "integration-proof-root",
1802
- "successor-wake-json"
1590
+ "source-sha",
1591
+ "target-ref"
1803
1592
  ],
1804
- "outputCount": 4,
1593
+ "inputCount": 16,
1594
+ "secrets": [],
1595
+ "secretCount": 0,
1596
+ "outputs": [],
1597
+ "outputCount": 0,
1598
+ "apiRole": "implementation",
1805
1599
  "taxonomy": {
1806
- "id": "dev-delivery-warrant-close",
1807
- "role": "public",
1808
- "category": "ops",
1809
- "purpose": "warrant-close",
1600
+ "id": ".binary-release-assets",
1601
+ "role": "component",
1602
+ "category": "release",
1603
+ "purpose": "binary-assets",
1810
1604
  "status": "active",
1811
- "canonicalPath": ".github/workflows/public-ops-warrant-close.yml",
1605
+ "canonicalPath": ".github/workflows/.release-binary-assets.yml",
1812
1606
  "compatibilityAlias": false
1813
1607
  },
1814
- "surface": "repository-workflow",
1815
- "capabilityGroup": "governance-versioning",
1816
- "status": "active",
1608
+ "surface": "reusable-workflow",
1609
+ "capabilityGroup": "api-cli-reference",
1610
+ "status": "repository-internal",
1817
1611
  "owner": "buildchain-workflows",
1818
- "maturity": "active",
1612
+ "maturity": "repository-internal",
1819
1613
  "introducedVersion": "4.1.0-alpha.0",
1820
1614
  "compatibilityPromise": "current-contract-only",
1821
1615
  "deprecationReplacement": "",
@@ -1823,51 +1617,92 @@
1823
1617
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1824
1618
  },
1825
1619
  {
1826
- "id": "public-release-artifact-attestation",
1827
- "path": ".github/workflows/public-release-artifact-attestation.yml",
1620
+ "id": ".release-candidate-promote",
1621
+ "path": ".github/workflows/.release-candidate-promote.yml",
1828
1622
  "reusable": true,
1829
1623
  "inputs": [
1830
1624
  "contract-lock",
1831
- "environment",
1832
- "evidence-artifact-name",
1833
- "evidence-run-id",
1834
- "platform-manifest-artifact-name",
1835
- "platform-manifest-relative-path",
1836
- "policy-json",
1837
- "release-passport-artifact-name",
1838
- "release-passport-relative-path",
1839
- "retention-days",
1625
+ "request-json",
1840
1626
  "runtime-ref",
1841
- "runtime-selection",
1842
- "source-sha",
1843
- "subject-artifact-name",
1844
- "subject-relative-path"
1627
+ "runtime-selection"
1845
1628
  ],
1846
- "inputCount": 15,
1847
- "secrets": [],
1848
- "secretCount": 0,
1629
+ "inputCount": 4,
1630
+ "secrets": [
1631
+ "BUILDCHAIN_ISSUE_APP_ID",
1632
+ "BUILDCHAIN_ISSUE_APP_PRIVATE_KEY",
1633
+ "BUILDCHAIN_ISSUE_TOKEN",
1634
+ "BUILDCHAIN_PROMOTION_TOKEN",
1635
+ "BUILDCHAIN_PUBLICATION_COMMIT_SIGNING_KEY",
1636
+ "BUILDCHAIN_PUBLICATION_COMMIT_TOKEN",
1637
+ "KUNGFU_GOVERNANCE_AUDITOR_APP_PRIVATE_KEY",
1638
+ "buildchain-issue-app-id",
1639
+ "buildchain-issue-app-private-key",
1640
+ "buildchain-issue-token"
1641
+ ],
1642
+ "secretCount": 10,
1849
1643
  "outputs": [
1850
- "attestation-id",
1851
- "attestation-url",
1852
- "bundle-digest",
1853
- "evidence-artifact-name",
1854
- "evidence-root"
1644
+ "buildchain-channel",
1645
+ "built-source-sha",
1646
+ "controller-plan-artifact",
1647
+ "controller-plan-digest",
1648
+ "controller-plan-json",
1649
+ "controller-receipt-artifact",
1650
+ "controller-receipt-digest",
1651
+ "controller-receipt-json",
1652
+ "controller-receipt-status",
1653
+ "discussion-id",
1654
+ "discussion-url",
1655
+ "github-artifact-attestation-evidence-root",
1656
+ "github-artifact-attestation-id",
1657
+ "github-artifact-attestation-publication-receipt-digest",
1658
+ "github-artifact-attestation-url",
1659
+ "promoted-sha",
1660
+ "promotion-contract-lock-digest",
1661
+ "promotion-contract-lock-path",
1662
+ "promotion-override-used",
1663
+ "promotion-publication-channel",
1664
+ "promotion-router-ref",
1665
+ "promotion-router-sha",
1666
+ "promotion-runtime-ref",
1667
+ "promotion-runtime-sha",
1668
+ "promotion-shell-ref",
1669
+ "promotion-shell-sha",
1670
+ "promotion-target-ref",
1671
+ "publication-capability-digest",
1672
+ "publication-commit-evidence-digest",
1673
+ "publication-commit-evidence-path",
1674
+ "publication-commit-payload-root",
1675
+ "publication-commit-url",
1676
+ "release-candidate-action",
1677
+ "release-candidate-artifact",
1678
+ "release-candidate-recovery-receipt-artifact",
1679
+ "release-candidate-recovery-root",
1680
+ "release-invocation-root",
1681
+ "release-propagation-work-artifact",
1682
+ "release-receipt-root",
1683
+ "release-tail-declaration-root",
1684
+ "release-tail-receipt-roots-json",
1685
+ "release-tail-state-root",
1686
+ "release-tail-transaction-root",
1687
+ "release-tail-transaction-state",
1688
+ "release-transaction-root"
1855
1689
  ],
1856
- "outputCount": 5,
1690
+ "outputCount": 45,
1691
+ "apiRole": "implementation",
1857
1692
  "taxonomy": {
1858
- "id": "github-artifact-attestation",
1859
- "role": "public",
1693
+ "id": "release-candidate-promote",
1694
+ "role": "component",
1860
1695
  "category": "release",
1861
- "purpose": "artifact-attestation",
1696
+ "purpose": "candidate-promote",
1862
1697
  "status": "active",
1863
- "canonicalPath": ".github/workflows/public-release-artifact-attestation.yml",
1698
+ "canonicalPath": ".github/workflows/.release-candidate-promote.yml",
1864
1699
  "compatibilityAlias": false
1865
1700
  },
1866
- "surface": "release-passport",
1867
- "capabilityGroup": "release-passport-trust",
1868
- "status": "active",
1701
+ "surface": "release-governance",
1702
+ "capabilityGroup": "reusable-build",
1703
+ "status": "repository-internal",
1869
1704
  "owner": "buildchain-workflows",
1870
- "maturity": "active",
1705
+ "maturity": "repository-internal",
1871
1706
  "introducedVersion": "4.1.0-alpha.0",
1872
1707
  "compatibilityPromise": "current-contract-only",
1873
1708
  "deprecationReplacement": "",
@@ -1875,8 +1710,8 @@
1875
1710
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1876
1711
  },
1877
1712
  {
1878
- "id": "public-release-oci-compose-preview",
1879
- "path": ".github/workflows/public-release-oci-compose-preview.yml",
1713
+ "id": ".release-oci-compose-preview",
1714
+ "path": ".github/workflows/.release-oci-compose-preview.yml",
1880
1715
  "reusable": true,
1881
1716
  "inputs": [
1882
1717
  "contract-lock",
@@ -1890,20 +1725,21 @@
1890
1725
  "secretCount": 1,
1891
1726
  "outputs": [],
1892
1727
  "outputCount": 0,
1728
+ "apiRole": "implementation",
1893
1729
  "taxonomy": {
1894
1730
  "id": "oci-compose-preview",
1895
- "role": "public",
1731
+ "role": "component",
1896
1732
  "category": "release",
1897
1733
  "purpose": "oci-compose-preview",
1898
1734
  "status": "active",
1899
- "canonicalPath": ".github/workflows/public-release-oci-compose-preview.yml",
1735
+ "canonicalPath": ".github/workflows/.release-oci-compose-preview.yml",
1900
1736
  "compatibilityAlias": false
1901
1737
  },
1902
- "surface": "repository-workflow",
1738
+ "surface": "reusable-workflow",
1903
1739
  "capabilityGroup": "api-cli-reference",
1904
- "status": "active",
1740
+ "status": "repository-internal",
1905
1741
  "owner": "buildchain-workflows",
1906
- "maturity": "active",
1742
+ "maturity": "repository-internal",
1907
1743
  "introducedVersion": "4.1.0-alpha.0",
1908
1744
  "compatibilityPromise": "current-contract-only",
1909
1745
  "deprecationReplacement": "",
@@ -1911,8 +1747,8 @@
1911
1747
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1912
1748
  },
1913
1749
  {
1914
- "id": "public-release-paper",
1915
- "path": ".github/workflows/public-release-paper.yml",
1750
+ "id": ".release-paper",
1751
+ "path": ".github/workflows/.release-paper.yml",
1916
1752
  "reusable": true,
1917
1753
  "inputs": [
1918
1754
  "artifact-name",
@@ -1938,45 +1774,131 @@
1938
1774
  "verify-command",
1939
1775
  "working-directory"
1940
1776
  ],
1941
- "inputCount": 22,
1777
+ "inputCount": 22,
1778
+ "secrets": [
1779
+ "BUILDCHAIN_GENERATED_WRITE_APP_CLIENT_ID",
1780
+ "BUILDCHAIN_GENERATED_WRITE_APP_PRIVATE_KEY",
1781
+ "BUILDCHAIN_GENERATED_WRITE_TOKEN",
1782
+ "KUNGFU_GOVERNANCE_AUDITOR_APP_PRIVATE_KEY"
1783
+ ],
1784
+ "secretCount": 4,
1785
+ "outputs": [
1786
+ "controller-plan-artifact",
1787
+ "controller-plan-digest",
1788
+ "controller-plan-json",
1789
+ "controller-receipt-artifact",
1790
+ "controller-receipt-digest",
1791
+ "controller-receipt-json",
1792
+ "controller-receipt-status",
1793
+ "github-release-url",
1794
+ "package-name",
1795
+ "package-version",
1796
+ "propagation-work-artifact",
1797
+ "public-release-tag",
1798
+ "release-passport-path",
1799
+ "upstream-release-json"
1800
+ ],
1801
+ "outputCount": 14,
1802
+ "apiRole": "implementation",
1803
+ "taxonomy": {
1804
+ "id": "paper-release",
1805
+ "role": "component",
1806
+ "category": "release",
1807
+ "purpose": "paper",
1808
+ "status": "active",
1809
+ "canonicalPath": ".github/workflows/.release-paper.yml",
1810
+ "compatibilityAlias": false
1811
+ },
1812
+ "surface": "reusable-build",
1813
+ "capabilityGroup": "reusable-build",
1814
+ "status": "repository-internal",
1815
+ "owner": "buildchain-workflows",
1816
+ "maturity": "repository-internal",
1817
+ "introducedVersion": "4.1.0-alpha.0",
1818
+ "compatibilityPromise": "current-contract-only",
1819
+ "deprecationReplacement": "",
1820
+ "sunsetCondition": "explicit-contract-change-review",
1821
+ "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1822
+ },
1823
+ {
1824
+ "id": ".release-pipeline-products",
1825
+ "path": ".github/workflows/.release-pipeline-products.yml",
1826
+ "reusable": true,
1827
+ "inputs": [
1828
+ "attempt",
1829
+ "runtime-selection"
1830
+ ],
1831
+ "inputCount": 2,
1832
+ "secrets": [
1833
+ "BUILDCHAIN_APP_PRIVATE_KEY",
1834
+ "BUILDCHAIN_AUTOMATION_TOKEN",
1835
+ "BUILDCHAIN_NPM_TOKEN"
1836
+ ],
1837
+ "secretCount": 3,
1838
+ "outputs": [
1839
+ "stable-wait"
1840
+ ],
1841
+ "outputCount": 1,
1842
+ "apiRole": "implementation",
1843
+ "taxonomy": {
1844
+ "id": ".pipeline-products",
1845
+ "role": "component",
1846
+ "category": "release",
1847
+ "purpose": "pipeline-products",
1848
+ "status": "active",
1849
+ "canonicalPath": ".github/workflows/.release-pipeline-products.yml",
1850
+ "compatibilityAlias": false
1851
+ },
1852
+ "surface": "reusable-workflow",
1853
+ "capabilityGroup": "api-cli-reference",
1854
+ "status": "repository-internal",
1855
+ "owner": "buildchain-workflows",
1856
+ "maturity": "repository-internal",
1857
+ "introducedVersion": "4.1.0-alpha.0",
1858
+ "compatibilityPromise": "current-contract-only",
1859
+ "deprecationReplacement": "",
1860
+ "sunsetCondition": "explicit-contract-change-review",
1861
+ "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1862
+ },
1863
+ {
1864
+ "id": ".release-pipeline-version",
1865
+ "path": ".github/workflows/.release-pipeline-version.yml",
1866
+ "reusable": true,
1867
+ "inputs": [
1868
+ "context",
1869
+ "matrix",
1870
+ "operation",
1871
+ "purpose",
1872
+ "runtime-selection"
1873
+ ],
1874
+ "inputCount": 5,
1942
1875
  "secrets": [
1943
- "BUILDCHAIN_GENERATED_WRITE_APP_CLIENT_ID",
1944
- "BUILDCHAIN_GENERATED_WRITE_APP_PRIVATE_KEY",
1945
- "BUILDCHAIN_GENERATED_WRITE_TOKEN",
1946
- "KUNGFU_GOVERNANCE_AUDITOR_APP_PRIVATE_KEY"
1876
+ "BUILDCHAIN_APP_PRIVATE_KEY",
1877
+ "BUILDCHAIN_AUTOMATION_TOKEN"
1947
1878
  ],
1948
- "secretCount": 4,
1879
+ "secretCount": 2,
1949
1880
  "outputs": [
1950
- "controller-plan-artifact",
1951
- "controller-plan-digest",
1952
- "controller-plan-json",
1953
- "controller-receipt-artifact",
1954
- "controller-receipt-digest",
1955
- "controller-receipt-json",
1956
- "controller-receipt-status",
1957
- "github-release-url",
1958
- "package-name",
1959
- "package-version",
1960
- "propagation-work-artifact",
1961
- "public-release-tag",
1962
- "release-passport-path",
1963
- "upstream-release-json"
1881
+ "context",
1882
+ "matrix",
1883
+ "operation",
1884
+ "stable-wait"
1964
1885
  ],
1965
- "outputCount": 14,
1886
+ "outputCount": 4,
1887
+ "apiRole": "implementation",
1966
1888
  "taxonomy": {
1967
- "id": "paper-release",
1968
- "role": "public",
1889
+ "id": ".pipeline-version",
1890
+ "role": "component",
1969
1891
  "category": "release",
1970
- "purpose": "paper",
1892
+ "purpose": "pipeline-version",
1971
1893
  "status": "active",
1972
- "canonicalPath": ".github/workflows/public-release-paper.yml",
1894
+ "canonicalPath": ".github/workflows/.release-pipeline-version.yml",
1973
1895
  "compatibilityAlias": false
1974
1896
  },
1975
- "surface": "reusable-build",
1976
- "capabilityGroup": "reusable-build",
1977
- "status": "active",
1897
+ "surface": "reusable-workflow",
1898
+ "capabilityGroup": "api-cli-reference",
1899
+ "status": "repository-internal",
1978
1900
  "owner": "buildchain-workflows",
1979
- "maturity": "active",
1901
+ "maturity": "repository-internal",
1980
1902
  "introducedVersion": "4.1.0-alpha.0",
1981
1903
  "compatibilityPromise": "current-contract-only",
1982
1904
  "deprecationReplacement": "",
@@ -1984,8 +1906,8 @@
1984
1906
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
1985
1907
  },
1986
1908
  {
1987
- "id": "public-release-promote",
1988
- "path": ".github/workflows/public-release-promote.yml",
1909
+ "id": ".release-promote",
1910
+ "path": ".github/workflows/.release-promote.yml",
1989
1911
  "reusable": true,
1990
1912
  "inputs": [
1991
1913
  "contract-lock",
@@ -2008,7 +1930,6 @@
2008
1930
  ],
2009
1931
  "secretCount": 10,
2010
1932
  "outputs": [
2011
- "buildchain-channel",
2012
1933
  "built-source-sha",
2013
1934
  "controller-plan-artifact",
2014
1935
  "controller-plan-digest",
@@ -2024,17 +1945,6 @@
2024
1945
  "github-artifact-attestation-publication-receipt-digest",
2025
1946
  "github-artifact-attestation-url",
2026
1947
  "promoted-sha",
2027
- "promotion-contract-lock-digest",
2028
- "promotion-contract-lock-path",
2029
- "promotion-override-used",
2030
- "promotion-publication-channel",
2031
- "promotion-router-ref",
2032
- "promotion-router-sha",
2033
- "promotion-runtime-ref",
2034
- "promotion-runtime-sha",
2035
- "promotion-shell-ref",
2036
- "promotion-shell-sha",
2037
- "promotion-target-ref",
2038
1948
  "publication-capability-digest",
2039
1949
  "publication-commit-evidence-digest",
2040
1950
  "publication-commit-evidence-path",
@@ -2054,21 +1964,22 @@
2054
1964
  "release-tail-transaction-state",
2055
1965
  "release-transaction-root"
2056
1966
  ],
2057
- "outputCount": 45,
1967
+ "outputCount": 33,
1968
+ "apiRole": "implementation",
2058
1969
  "taxonomy": {
2059
- "id": "release-candidate-promote",
2060
- "role": "public",
1970
+ "id": ".release-candidate-promote",
1971
+ "role": "component",
2061
1972
  "category": "release",
2062
1973
  "purpose": "promote",
2063
1974
  "status": "active",
2064
- "canonicalPath": ".github/workflows/public-release-promote.yml",
1975
+ "canonicalPath": ".github/workflows/.release-promote.yml",
2065
1976
  "compatibilityAlias": false
2066
1977
  },
2067
- "surface": "release-governance",
2068
- "capabilityGroup": "reusable-build",
2069
- "status": "active",
1978
+ "surface": "reusable-workflow",
1979
+ "capabilityGroup": "api-cli-reference",
1980
+ "status": "repository-internal",
2070
1981
  "owner": "buildchain-workflows",
2071
- "maturity": "active",
1982
+ "maturity": "repository-internal",
2072
1983
  "introducedVersion": "4.1.0-alpha.0",
2073
1984
  "compatibilityPromise": "current-contract-only",
2074
1985
  "deprecationReplacement": "",
@@ -2076,8 +1987,8 @@
2076
1987
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2077
1988
  },
2078
1989
  {
2079
- "id": "public-release-propagation",
2080
- "path": ".github/workflows/public-release-propagation.yml",
1990
+ "id": ".release-propagation",
1991
+ "path": ".github/workflows/.release-propagation.yml",
2081
1992
  "reusable": true,
2082
1993
  "inputs": [
2083
1994
  "agent-work-context-json",
@@ -2122,20 +2033,21 @@
2122
2033
  "propagation-work-root"
2123
2034
  ],
2124
2035
  "outputCount": 13,
2036
+ "apiRole": "implementation",
2125
2037
  "taxonomy": {
2126
2038
  "id": "release-propagation",
2127
- "role": "public",
2039
+ "role": "component",
2128
2040
  "category": "release",
2129
2041
  "purpose": "propagation",
2130
2042
  "status": "active",
2131
- "canonicalPath": ".github/workflows/public-release-propagation.yml",
2043
+ "canonicalPath": ".github/workflows/.release-propagation.yml",
2132
2044
  "compatibilityAlias": false
2133
2045
  },
2134
2046
  "surface": "release-propagation",
2135
2047
  "capabilityGroup": "site-and-propagation",
2136
- "status": "preview",
2048
+ "status": "repository-internal",
2137
2049
  "owner": "buildchain-workflows",
2138
- "maturity": "preview",
2050
+ "maturity": "repository-internal",
2139
2051
  "introducedVersion": "4.1.0-alpha.0",
2140
2052
  "compatibilityPromise": "current-contract-only",
2141
2053
  "deprecationReplacement": "",
@@ -2143,8 +2055,8 @@
2143
2055
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2144
2056
  },
2145
2057
  {
2146
- "id": "public-release-signing-authority",
2147
- "path": ".github/workflows/public-release-signing-authority.yml",
2058
+ "id": ".release-signing-authority",
2059
+ "path": ".github/workflows/.release-signing-authority.yml",
2148
2060
  "reusable": false,
2149
2061
  "inputs": [],
2150
2062
  "inputCount": 0,
@@ -2152,20 +2064,21 @@
2152
2064
  "secretCount": 0,
2153
2065
  "outputs": [],
2154
2066
  "outputCount": 0,
2067
+ "apiRole": "implementation",
2155
2068
  "taxonomy": {
2156
2069
  "id": "artifact-signing-authority",
2157
- "role": "public",
2070
+ "role": "component",
2158
2071
  "category": "release",
2159
2072
  "purpose": "signing-authority",
2160
2073
  "status": "active",
2161
- "canonicalPath": ".github/workflows/public-release-signing-authority.yml",
2074
+ "canonicalPath": ".github/workflows/.release-signing-authority.yml",
2162
2075
  "compatibilityAlias": false
2163
2076
  },
2164
- "surface": "repository-workflow",
2077
+ "surface": "reusable-workflow",
2165
2078
  "capabilityGroup": "api-cli-reference",
2166
- "status": "active",
2079
+ "status": "repository-internal",
2167
2080
  "owner": "buildchain-workflows",
2168
- "maturity": "active",
2081
+ "maturity": "repository-internal",
2169
2082
  "introducedVersion": "4.1.0-alpha.0",
2170
2083
  "compatibilityPromise": "current-contract-only",
2171
2084
  "deprecationReplacement": "",
@@ -2173,8 +2086,8 @@
2173
2086
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2174
2087
  },
2175
2088
  {
2176
- "id": "public-release-tail",
2177
- "path": ".github/workflows/public-release-tail.yml",
2089
+ "id": ".release-tail",
2090
+ "path": ".github/workflows/.release-tail.yml",
2178
2091
  "reusable": true,
2179
2092
  "inputs": [
2180
2093
  "candidate-root",
@@ -2202,20 +2115,21 @@
2202
2115
  "transaction-state"
2203
2116
  ],
2204
2117
  "outputCount": 4,
2118
+ "apiRole": "implementation",
2205
2119
  "taxonomy": {
2206
2120
  "id": "release-tail",
2207
- "role": "public",
2121
+ "role": "component",
2208
2122
  "category": "release",
2209
2123
  "purpose": "tail",
2210
2124
  "status": "active",
2211
- "canonicalPath": ".github/workflows/public-release-tail.yml",
2125
+ "canonicalPath": ".github/workflows/.release-tail.yml",
2212
2126
  "compatibilityAlias": false
2213
2127
  },
2214
2128
  "surface": "release-tail-provider-plane",
2215
2129
  "capabilityGroup": "release-passport-trust",
2216
- "status": "active",
2130
+ "status": "repository-internal",
2217
2131
  "owner": "buildchain-workflows",
2218
- "maturity": "active",
2132
+ "maturity": "repository-internal",
2219
2133
  "introducedVersion": "4.1.0-alpha.0",
2220
2134
  "compatibilityPromise": "current-contract-only",
2221
2135
  "deprecationReplacement": "",
@@ -2223,8 +2137,8 @@
2223
2137
  "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2224
2138
  },
2225
2139
  {
2226
- "id": "public-release-web",
2227
- "path": ".github/workflows/public-release-web.yml",
2140
+ "id": ".release-web",
2141
+ "path": ".github/workflows/.release-web.yml",
2228
2142
  "reusable": true,
2229
2143
  "inputs": [
2230
2144
  "artifact-path",
@@ -2297,13 +2211,143 @@
2297
2211
  "web-surface-urls-json"
2298
2212
  ],
2299
2213
  "outputCount": 23,
2214
+ "apiRole": "implementation",
2300
2215
  "taxonomy": {
2301
2216
  "id": ".web-surface",
2302
- "role": "public",
2217
+ "role": "component",
2303
2218
  "category": "release",
2304
2219
  "purpose": "web",
2305
2220
  "status": "active",
2306
- "canonicalPath": ".github/workflows/public-release-web.yml",
2221
+ "canonicalPath": ".github/workflows/.release-web.yml",
2222
+ "compatibilityAlias": false
2223
+ },
2224
+ "surface": "reusable-workflow",
2225
+ "capabilityGroup": "api-cli-reference",
2226
+ "status": "repository-internal",
2227
+ "owner": "buildchain-workflows",
2228
+ "maturity": "repository-internal",
2229
+ "introducedVersion": "4.1.0-alpha.0",
2230
+ "compatibilityPromise": "current-contract-only",
2231
+ "deprecationReplacement": "",
2232
+ "sunsetCondition": "explicit-contract-change-review",
2233
+ "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2234
+ },
2235
+ {
2236
+ "id": "buildchain-recover",
2237
+ "path": ".github/workflows/buildchain-recover.yml",
2238
+ "reusable": false,
2239
+ "inputs": [],
2240
+ "inputCount": 0,
2241
+ "secrets": [],
2242
+ "secretCount": 0,
2243
+ "outputs": [],
2244
+ "outputCount": 0,
2245
+ "apiRole": "implementation",
2246
+ "taxonomy": {
2247
+ "id": "buildchain-recover",
2248
+ "role": "self",
2249
+ "category": "ops",
2250
+ "purpose": "recovery",
2251
+ "status": "active",
2252
+ "canonicalPath": ".github/workflows/buildchain-recover.yml",
2253
+ "compatibilityAlias": false
2254
+ },
2255
+ "surface": "repository-workflow",
2256
+ "capabilityGroup": "api-cli-reference",
2257
+ "status": "active",
2258
+ "owner": "buildchain-workflows",
2259
+ "maturity": "active",
2260
+ "introducedVersion": "4.1.0-alpha.0",
2261
+ "compatibilityPromise": "current-contract-only",
2262
+ "deprecationReplacement": "",
2263
+ "sunsetCondition": "explicit-contract-change-review",
2264
+ "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2265
+ },
2266
+ {
2267
+ "id": "buildchain",
2268
+ "path": ".github/workflows/buildchain.yml",
2269
+ "reusable": false,
2270
+ "inputs": [],
2271
+ "inputCount": 0,
2272
+ "secrets": [],
2273
+ "secretCount": 0,
2274
+ "outputs": [],
2275
+ "outputCount": 0,
2276
+ "apiRole": "implementation",
2277
+ "taxonomy": {
2278
+ "id": "buildchain",
2279
+ "role": "self",
2280
+ "category": "ops",
2281
+ "purpose": "pipeline",
2282
+ "status": "active",
2283
+ "canonicalPath": ".github/workflows/buildchain.yml",
2284
+ "compatibilityAlias": false
2285
+ },
2286
+ "surface": "repository-workflow",
2287
+ "capabilityGroup": "api-cli-reference",
2288
+ "status": "active",
2289
+ "owner": "buildchain-workflows",
2290
+ "maturity": "active",
2291
+ "introducedVersion": "4.1.0-alpha.0",
2292
+ "compatibilityPromise": "current-contract-only",
2293
+ "deprecationReplacement": "",
2294
+ "sunsetCondition": "explicit-contract-change-review",
2295
+ "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2296
+ },
2297
+ {
2298
+ "id": "public-ops-pipeline",
2299
+ "path": ".github/workflows/public-ops-pipeline.yml",
2300
+ "reusable": true,
2301
+ "inputs": [
2302
+ "config-path"
2303
+ ],
2304
+ "inputCount": 1,
2305
+ "secrets": [],
2306
+ "secretCount": 0,
2307
+ "outputs": [],
2308
+ "outputCount": 0,
2309
+ "apiRole": "public",
2310
+ "taxonomy": {
2311
+ "id": "pipeline",
2312
+ "role": "public",
2313
+ "category": "ops",
2314
+ "purpose": "pipeline",
2315
+ "status": "active",
2316
+ "canonicalPath": ".github/workflows/public-ops-pipeline.yml",
2317
+ "compatibilityAlias": false
2318
+ },
2319
+ "surface": "repository-workflow",
2320
+ "capabilityGroup": "api-cli-reference",
2321
+ "status": "active",
2322
+ "owner": "buildchain-workflows",
2323
+ "maturity": "active",
2324
+ "introducedVersion": "4.1.0-alpha.0",
2325
+ "compatibilityPromise": "current-contract-only",
2326
+ "deprecationReplacement": "",
2327
+ "sunsetCondition": "explicit-contract-change-review",
2328
+ "nonDuplicationRationale": "Canonical workflow owns one declared API or orchestration responsibility."
2329
+ },
2330
+ {
2331
+ "id": "public-ops-recover",
2332
+ "path": ".github/workflows/public-ops-recover.yml",
2333
+ "reusable": true,
2334
+ "inputs": [
2335
+ "attempt",
2336
+ "runtime-ref"
2337
+ ],
2338
+ "inputCount": 2,
2339
+ "secrets": [],
2340
+ "secretCount": 0,
2341
+ "outputs": [],
2342
+ "outputCount": 0,
2343
+ "apiRole": "public",
2344
+ "taxonomy": {
2345
+ "id": "recover",
2346
+ "role": "public",
2347
+ "category": "ops",
2348
+ "purpose": "recover",
2349
+ "status": "active",
2350
+ "canonicalPath": ".github/workflows/public-ops-recover.yml",
2307
2351
  "compatibilityAlias": false
2308
2352
  },
2309
2353
  "surface": "repository-workflow",
@@ -2533,7 +2577,7 @@
2533
2577
  "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
2534
2578
  },
2535
2579
  {
2536
- "apiRole": "public",
2580
+ "apiRole": "implementation",
2537
2581
  "id": "build/artifact/prepare-attestation",
2538
2582
  "path": "actions/build/artifact/prepare-attestation/action.yml",
2539
2583
  "inputs": [
@@ -2597,7 +2641,7 @@
2597
2641
  "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
2598
2642
  },
2599
2643
  {
2600
- "apiRole": "public",
2644
+ "apiRole": "implementation",
2601
2645
  "id": "build/artifact/seal-attestation",
2602
2646
  "path": "actions/build/artifact/seal-attestation/action.yml",
2603
2647
  "inputs": [
@@ -2838,7 +2882,7 @@
2838
2882
  "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
2839
2883
  },
2840
2884
  {
2841
- "apiRole": "public",
2885
+ "apiRole": "implementation",
2842
2886
  "id": "build/credential/macos-island",
2843
2887
  "path": "actions/build/credential/macos-island/action.yml",
2844
2888
  "inputs": [
@@ -3375,7 +3419,7 @@
3375
3419
  "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
3376
3420
  },
3377
3421
  {
3378
- "apiRole": "public",
3422
+ "apiRole": "implementation",
3379
3423
  "id": "build/lifecycle/run",
3380
3424
  "path": "actions/build/lifecycle/run/action.yml",
3381
3425
  "inputs": [
@@ -3435,7 +3479,7 @@
3435
3479
  "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
3436
3480
  },
3437
3481
  {
3438
- "apiRole": "public",
3482
+ "apiRole": "implementation",
3439
3483
  "id": "build/lifecycle/validate",
3440
3484
  "path": "actions/build/lifecycle/validate/action.yml",
3441
3485
  "inputs": [
@@ -4829,7 +4873,7 @@
4829
4873
  "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
4830
4874
  },
4831
4875
  {
4832
- "apiRole": "public",
4876
+ "apiRole": "implementation",
4833
4877
  "id": "governance/incident/report",
4834
4878
  "path": "actions/governance/incident/report/action.yml",
4835
4879
  "inputs": [
@@ -6572,7 +6616,7 @@
6572
6616
  "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
6573
6617
  },
6574
6618
  {
6575
- "apiRole": "public",
6619
+ "apiRole": "implementation",
6576
6620
  "id": "release/promotion/candidate",
6577
6621
  "path": "actions/release/promotion/candidate/action.yml",
6578
6622
  "inputs": [
@@ -6701,7 +6745,7 @@
6701
6745
  "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
6702
6746
  },
6703
6747
  {
6704
- "apiRole": "public",
6748
+ "apiRole": "implementation",
6705
6749
  "id": "release/promotion/ref",
6706
6750
  "path": "actions/release/promotion/ref/action.yml",
6707
6751
  "inputs": [
@@ -7263,7 +7307,7 @@
7263
7307
  "nonDuplicationRationale": "One capability node owns the composite or JavaScript adapter boundary."
7264
7308
  },
7265
7309
  {
7266
- "apiRole": "public",
7310
+ "apiRole": "implementation",
7267
7311
  "id": "release/tail/settle",
7268
7312
  "path": "actions/release/tail/settle/action.yml",
7269
7313
  "inputs": [