@kungfu-tech/buildchain 4.1.3-alpha.1 → 4.1.3-alpha.2
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.
- package/architecture/action-taxonomy.json +16 -0
- package/architecture/agent-change-map.md +239 -2
- package/architecture/ci-lane-change-budget.json +289 -0
- package/architecture/decisions/0005-minimal-consumer-contract.md +122 -0
- package/architecture/decisions/0006-business-attempt-journal.md +89 -0
- package/architecture/decisions/0007-hosted-pipeline-controller.md +106 -0
- package/architecture/decisions/0008-pipeline-product-publication.md +99 -0
- package/architecture/internal-capabilities.json +331 -2
- package/architecture/maintainability-debt.json +3 -1
- package/architecture/maintainability-policy.json +8 -8
- package/architecture/minimal-consumer-migration.json +7558 -0
- package/architecture/release-topology.json +245 -11
- package/architecture/universal-workflow-bootstrap.json +10 -0
- package/architecture/universal-workflow-capability-policy.json +1 -1
- package/architecture/workflow-taxonomy.json +55 -0
- package/dist/readers/business-attempt.cjs +805 -0
- package/dist/site/buildchain-contract.json +7 -5
- package/dist/site/buildchain-site.json +18 -13
- package/dist/site/capability-registry.json +3 -3
- package/dist/site/kfd-claims.json +311 -10
- package/dist/site/kfd-upstream-aggregate.json +1 -1
- package/dist/site/manual-registry.json +1 -1
- package/dist/site/node-api-registry.json +7 -7
- package/dist/site/page-registry.json +13 -8
- package/dist/site/public-surface-audit.json +201 -7
- package/dist/site/publication-authority-registry.json +121 -1
- package/dist/site/publication-registry.json +4 -4
- package/dist/site/site-manifest.json +5 -5
- package/dist/site/workflow-registry.json +416 -7
- package/docs/node-api-reference.md +11 -11
- package/docs/runtime-entry.md +45 -5
- package/docs/workflow-catalog.md +5 -0
- package/package.json +4 -3
- package/packages/core/consumer/contract/entries.js +85 -0
- package/packages/core/consumer/contract/examples.js +96 -0
- package/packages/core/consumer/contract/identity.js +65 -0
- package/packages/core/consumer/contract/inspection.js +45 -0
- package/packages/core/consumer/contract/plan.js +99 -0
- package/packages/core/consumer/contract/products.js +101 -0
- package/packages/core/consumer/contract/shape.js +46 -0
- package/packages/core/dev-delivery/candidate/admission.js +9 -5
- package/packages/core/dev-delivery/candidate/reservation.js +11 -0
- package/packages/core/dev-delivery/candidate/source-paths.js +12 -4
- package/packages/core/dev-delivery/native/actions.js +7 -1
- package/packages/core/dev-delivery/native/heartbeat-action.js +16 -0
- package/packages/core/dev-delivery/native/heartbeat.js +6 -4
- package/packages/core/dev-delivery/queue/landing-action.js +5 -0
- package/packages/core/governance/buildchain-publication-authority.js +5 -0
- package/packages/core/paper/operations/bootstrap.js +2 -0
- package/packages/core/paper/paper-npm-bootstrap.js +2 -2
- package/packages/core/providers/github/attempt-index.js +60 -0
- package/packages/core/providers/github/attempt-journal.js +154 -0
- package/packages/core/providers/github/discussions/materials.js +7 -2
- package/packages/core/providers/github/pipeline-checkout.js +49 -0
- package/packages/core/providers/github/pipeline-events.js +52 -0
- package/packages/core/providers/github/pipeline-integration.js +95 -0
- package/packages/core/providers/github/pipeline-policy.js +213 -0
- package/packages/core/providers/github/pipeline-product-payload.js +50 -0
- package/packages/core/providers/github/pipeline-product-release.js +191 -0
- package/packages/core/providers/github/pipeline-publication-artifacts.js +153 -0
- package/packages/core/providers/github/pipeline-run-entry.js +86 -0
- package/packages/core/providers/github/pipeline-runs.js +132 -0
- package/packages/core/providers/github/pipeline-source.js +178 -0
- package/packages/core/providers/github/pipeline-version.js +201 -0
- package/packages/core/providers/github/pipeline-worker.js +108 -0
- package/packages/core/publication/candidate/registry-hydration.js +2 -2
- package/packages/core/publication/npm/pack-preview.js +2 -2
- package/packages/core/publication/npm/pack-result.js +31 -0
- package/packages/core/publication/npm/package.js +3 -6
- package/packages/core/publication/npm/pipeline-channel.js +87 -0
- package/packages/core/publication/npm/pipeline-provider.js +109 -0
- package/packages/core/publication/npm/registry.js +12 -9
- package/packages/core/publication/pipeline/actions.js +100 -0
- package/packages/core/publication/pipeline/apply.js +182 -0
- package/packages/core/publication/pipeline/build-segments.js +107 -0
- package/packages/core/publication/pipeline/capsules.js +89 -0
- package/packages/core/publication/pipeline/context.js +39 -0
- package/packages/core/publication/pipeline/development-anchor.js +91 -0
- package/packages/core/publication/pipeline/development-current.js +63 -0
- package/packages/core/publication/pipeline/development-pr.js +85 -0
- package/packages/core/publication/pipeline/development-proof.js +76 -0
- package/packages/core/publication/pipeline/development-transition.js +112 -0
- package/packages/core/publication/pipeline/distribution.js +124 -0
- package/packages/core/publication/pipeline/documents.js +156 -0
- package/packages/core/publication/pipeline/effects.js +162 -0
- package/packages/core/publication/pipeline/files.js +66 -0
- package/packages/core/publication/pipeline/imported-materials.js +32 -0
- package/packages/core/publication/pipeline/journal.js +110 -0
- package/packages/core/publication/pipeline/next-development.js +116 -0
- package/packages/core/publication/pipeline/pack.js +151 -0
- package/packages/core/publication/pipeline/package-policy.js +22 -0
- package/packages/core/publication/pipeline/plan.js +114 -0
- package/packages/core/publication/pipeline/prepare.js +151 -0
- package/packages/core/publication/pipeline/qualification.js +170 -0
- package/packages/core/publication/pipeline/qualify.js +104 -0
- package/packages/core/publication/pipeline/recovery-admission.js +122 -0
- package/packages/core/publication/pipeline/recovery-build-download.js +80 -0
- package/packages/core/publication/pipeline/recovery-build-plan.js +122 -0
- package/packages/core/publication/pipeline/recovery-build-readback.js +68 -0
- package/packages/core/publication/pipeline/recovery-capsules.js +54 -0
- package/packages/core/publication/pipeline/recovery-import.js +80 -0
- package/packages/core/publication/pipeline/recovery-inspection.js +218 -0
- package/packages/core/publication/pipeline/recovery-materials.js +104 -0
- package/packages/core/publication/pipeline/recovery-plan.js +46 -0
- package/packages/core/publication/pipeline/recovery-prepare.js +73 -0
- package/packages/core/publication/pipeline/recovery-qualification.js +128 -0
- package/packages/core/publication/pipeline/recovery-readback.js +56 -0
- package/packages/core/publication/pipeline/recovery-signing.js +58 -0
- package/packages/core/publication/pipeline/sealed-products.js +79 -0
- package/packages/core/publication/pipeline/settle.js +43 -0
- package/packages/core/publication/pipeline/signing.js +140 -0
- package/packages/core/publication/pipeline/source-plan.js +83 -0
- package/packages/core/publication/pipeline/version.js +81 -0
- package/packages/core/publication/publication-reproducibility.js +2 -2
- package/packages/core/release/promote-candidate/product-provider-adapters.js +4 -3
- package/packages/core/release/promote-ref/internal/npm-existing-evidence.js +2 -1
- package/packages/core/release/promote-ref/internal/publish-command.js +16 -5
- package/packages/core/runtime/buildchain-domain.wasm +0 -0
- package/packages/core/runtime/domain-wasm-artifact.js +2 -2
- package/packages/core/runtime/entry/actions.js +27 -25
- package/packages/core/runtime/entry/attempt.js +25 -0
- package/packages/core/runtime/entry/selection.js +14 -0
- package/packages/core/runtime/entry/source.js +62 -0
- package/packages/core/workflow/attempt/identity.js +165 -0
- package/packages/core/workflow/attempt/journal.js +87 -0
- package/packages/core/workflow/attempt/materials.js +72 -0
- package/packages/core/workflow/attempt/reader-entry.js +12 -0
- package/packages/core/workflow/attempt/reader.js +149 -0
- package/packages/core/workflow/attempt/records.js +153 -0
- package/packages/core/workflow/attempt/store.js +75 -0
- package/packages/core/workflow/commands/pipeline-build.mjs +23 -0
- package/packages/core/workflow/pipeline/action-output.js +11 -0
- package/packages/core/workflow/pipeline/actions.js +62 -0
- package/packages/core/workflow/pipeline/build-control.js +140 -0
- package/packages/core/workflow/pipeline/build-evidence.js +92 -0
- package/packages/core/workflow/pipeline/build-qualification.js +145 -0
- package/packages/core/workflow/pipeline/build-result.js +69 -0
- package/packages/core/workflow/pipeline/build.js +95 -0
- package/packages/core/workflow/pipeline/cancellation.js +169 -0
- package/packages/core/workflow/pipeline/channel-control.js +127 -0
- package/packages/core/workflow/pipeline/controller.js +133 -0
- package/packages/core/workflow/pipeline/delivery-control.js +204 -0
- package/packages/core/workflow/pipeline/delivery-observation.js +118 -0
- package/packages/core/workflow/pipeline/delivery-request.js +198 -0
- package/packages/core/workflow/pipeline/events.js +84 -0
- package/packages/core/workflow/pipeline/fence.js +42 -0
- package/packages/core/workflow/pipeline/group-control.js +56 -0
- package/packages/core/workflow/pipeline/guard-build.js +37 -0
- package/packages/core/workflow/pipeline/guard.js +156 -0
- package/packages/core/workflow/pipeline/host.js +114 -0
- package/packages/core/workflow/pipeline/materials.js +58 -0
- package/packages/core/workflow/pipeline/notifications.js +36 -0
- package/packages/core/workflow/pipeline/parent-notification.js +27 -0
- package/packages/core/workflow/pipeline/platforms.js +21 -0
- package/packages/core/workflow/pipeline/progress.js +108 -0
- package/packages/core/workflow/pipeline/projection.js +20 -0
- package/packages/core/workflow/pipeline/reconcile.js +194 -0
- package/packages/core/workflow/pipeline/recovery-action.js +30 -0
- package/packages/core/workflow/pipeline/recovery-admission.js +122 -0
- package/packages/core/workflow/pipeline/recovery-build-control.js +95 -0
- package/packages/core/workflow/pipeline/recovery-build-evidence.js +71 -0
- package/packages/core/workflow/pipeline/recovery-build.js +121 -0
- package/packages/core/workflow/pipeline/recovery-controller.js +91 -0
- package/packages/core/workflow/pipeline/recovery-integration.js +66 -0
- package/packages/core/workflow/pipeline/recovery-merge-proof.js +90 -0
- package/packages/core/workflow/pipeline/recovery-ownership-settlement.js +150 -0
- package/packages/core/workflow/pipeline/recovery-ownership.js +91 -0
- package/packages/core/workflow/pipeline/recovery-plan.js +126 -0
- package/packages/core/workflow/pipeline/recovery-runtime.js +68 -0
- package/packages/core/workflow/pipeline/recovery-session.js +129 -0
- package/packages/core/workflow/pipeline/recovery-transition.js +135 -0
- package/packages/core/workflow/pipeline/recovery-unrecorded-build.js +74 -0
- package/packages/core/workflow/pipeline/runtime-source.js +111 -0
- package/packages/core/workflow/pipeline/selection.js +106 -0
- package/packages/core/workflow/pipeline/session.js +72 -0
- package/packages/core/workflow/pipeline/settlement.js +137 -0
- package/packages/core/workflow/pipeline/wake.js +38 -0
- package/packages/core/workflow/pipeline/web-status.js +108 -0
- package/scripts/build-release-discussion-reader.mjs +11 -7
- package/scripts/check-pipeline-publication-topology.mjs +36 -0
- package/scripts/check-release-topology.mjs +6 -1
- package/scripts/generate-minimal-consumer-contract.mjs +155 -0
- package/scripts/verify-golden-path.mjs +5 -1
- package/templates/minimal-consumer/binary/.buildchain/buildchain.toml +45 -0
- package/templates/minimal-consumer/binary/.github/workflows/buildchain-recover.yml +30 -0
- package/templates/minimal-consumer/binary/.github/workflows/buildchain.yml +28 -0
- package/templates/minimal-consumer/binary/package.json +6 -0
- package/templates/minimal-consumer/binary/src/build.mjs +5 -0
- package/templates/minimal-consumer/binary/src/hello.c +2 -0
- package/templates/minimal-consumer/binary/src/verify.mjs +3 -0
- package/templates/minimal-consumer/npm/.buildchain/buildchain.toml +46 -0
- package/templates/minimal-consumer/npm/.github/workflows/buildchain-recover.yml +30 -0
- package/templates/minimal-consumer/npm/.github/workflows/buildchain.yml +28 -0
- package/templates/minimal-consumer/npm/package.json +6 -0
- package/templates/minimal-consumer/npm/src/build.mjs +5 -0
- package/templates/minimal-consumer/npm/src/verify.mjs +3 -0
- package/templates/minimal-consumer/paper/.buildchain/buildchain.toml +45 -0
- package/templates/minimal-consumer/paper/.github/workflows/buildchain-recover.yml +30 -0
- package/templates/minimal-consumer/paper/.github/workflows/buildchain.yml +28 -0
- package/templates/minimal-consumer/paper/package.json +6 -0
- package/templates/minimal-consumer/paper/src/build.mjs +12 -0
- package/templates/minimal-consumer/paper/src/verify.mjs +3 -0
|
@@ -341,6 +341,18 @@
|
|
|
341
341
|
"settlement": {
|
|
342
342
|
"responsibility": "Retain immutable publication completion and verify its terminal receipt independently.",
|
|
343
343
|
"operations": ["retain", "verify"]
|
|
344
|
+
},
|
|
345
|
+
"pipeline": {
|
|
346
|
+
"responsibility": "Prepare, independently qualify, publish and settle declared products inside one business attempt.",
|
|
347
|
+
"operations": [
|
|
348
|
+
"prepare",
|
|
349
|
+
"build",
|
|
350
|
+
"qualify",
|
|
351
|
+
"prepare-qualification",
|
|
352
|
+
"seal-qualification",
|
|
353
|
+
"apply",
|
|
354
|
+
"settle"
|
|
355
|
+
]
|
|
344
356
|
}
|
|
345
357
|
}
|
|
346
358
|
},
|
|
@@ -516,6 +528,10 @@
|
|
|
516
528
|
"settlement": {
|
|
517
529
|
"responsibility": "Seal candidate terminal evidence and reconcile successful protected backflow.",
|
|
518
530
|
"operations": ["seal"]
|
|
531
|
+
},
|
|
532
|
+
"pipeline": {
|
|
533
|
+
"responsibility": "Reconcile source-bound business attempts through protected delivery and product verification.",
|
|
534
|
+
"operations": ["control", "build", "record-build", "wake", "recover"]
|
|
519
535
|
}
|
|
520
536
|
}
|
|
521
537
|
},
|
|
@@ -135,6 +135,8 @@ Safe change route: Reduce one declared responsibility in its owning module, run
|
|
|
135
135
|
- `.github/workflows/self-build-verify.yml`
|
|
136
136
|
- `.github/workflows/self-release-promote.yml`
|
|
137
137
|
- `.github/workflows/.release-binary-assets.yml`
|
|
138
|
+
- `.github/workflows/public-ops-dev-auto-merge.yml`
|
|
139
|
+
- `tests/release-topology.test.mjs`
|
|
138
140
|
|
|
139
141
|
## action-process-runtime
|
|
140
142
|
|
|
@@ -439,6 +441,38 @@ Owner: Buildchain build signing transactions maintainers
|
|
|
439
441
|
|
|
440
442
|
- `node --test tests/signing-authority-transactions.test.mjs tests/native-artifact-signing-authority.test.mjs`
|
|
441
443
|
|
|
444
|
+
## business-attempt-journal
|
|
445
|
+
|
|
446
|
+
Owner: Buildchain pipeline maintainers
|
|
447
|
+
|
|
448
|
+
### Implementation
|
|
449
|
+
|
|
450
|
+
- `packages/core/workflow/attempt/identity.js`
|
|
451
|
+
- `packages/core/workflow/attempt/materials.js`
|
|
452
|
+
- `packages/core/workflow/attempt/reader-entry.js`
|
|
453
|
+
- `packages/core/workflow/attempt/reader.js`
|
|
454
|
+
- `packages/core/workflow/attempt/records.js`
|
|
455
|
+
- `packages/core/workflow/attempt/store.js`
|
|
456
|
+
|
|
457
|
+
### Contracts
|
|
458
|
+
|
|
459
|
+
- `architecture/decisions/0006-business-attempt-journal.md`
|
|
460
|
+
|
|
461
|
+
### Tests
|
|
462
|
+
|
|
463
|
+
- `tests/business-attempt-materials.test.mjs`
|
|
464
|
+
- `tests/business-attempt-store.test.mjs`
|
|
465
|
+
- `tests/business-attempt.test.mjs`
|
|
466
|
+
|
|
467
|
+
### Generated outputs
|
|
468
|
+
|
|
469
|
+
- `dist/readers/business-attempt.cjs`
|
|
470
|
+
|
|
471
|
+
### Minimal validation
|
|
472
|
+
|
|
473
|
+
- `node --test tests/business-attempt*.test.mjs`
|
|
474
|
+
- `node scripts/build-release-discussion-reader.mjs --check`
|
|
475
|
+
|
|
442
476
|
## cli-capability-adapters
|
|
443
477
|
|
|
444
478
|
Owner: Buildchain CLI maintainers
|
|
@@ -1006,6 +1040,206 @@ Owner: Buildchain architecture maintainers
|
|
|
1006
1040
|
|
|
1007
1041
|
- `node --test tests/internal-architecture.test.mjs tests/maintainability.test.mjs tests/maintainability-governance.test.mjs`
|
|
1008
1042
|
|
|
1043
|
+
## minimal-consumer-contract
|
|
1044
|
+
|
|
1045
|
+
Owner: Buildchain consumer contract maintainers
|
|
1046
|
+
|
|
1047
|
+
### Implementation
|
|
1048
|
+
|
|
1049
|
+
- `packages/core/consumer/contract/entries.js`
|
|
1050
|
+
- `packages/core/consumer/contract/examples.js`
|
|
1051
|
+
- `packages/core/consumer/contract/identity.js`
|
|
1052
|
+
- `packages/core/consumer/contract/inspection.js`
|
|
1053
|
+
- `packages/core/consumer/contract/plan.js`
|
|
1054
|
+
- `packages/core/consumer/contract/products.js`
|
|
1055
|
+
- `packages/core/consumer/contract/shape.js`
|
|
1056
|
+
- `scripts/generate-minimal-consumer-contract.mjs`
|
|
1057
|
+
|
|
1058
|
+
### Contracts
|
|
1059
|
+
|
|
1060
|
+
- `architecture/decisions/0005-minimal-consumer-contract.md`
|
|
1061
|
+
|
|
1062
|
+
### Tests
|
|
1063
|
+
|
|
1064
|
+
- `tests/minimal-consumer-contract.test.mjs`
|
|
1065
|
+
|
|
1066
|
+
### Generated outputs
|
|
1067
|
+
|
|
1068
|
+
- `architecture/minimal-consumer-migration.json`
|
|
1069
|
+
- `templates/minimal-consumer`
|
|
1070
|
+
|
|
1071
|
+
### Minimal validation
|
|
1072
|
+
|
|
1073
|
+
- `node --test tests/minimal-consumer-contract.test.mjs`
|
|
1074
|
+
- `node scripts/generate-minimal-consumer-contract.mjs --check`
|
|
1075
|
+
|
|
1076
|
+
## minimal-consumer-pipeline
|
|
1077
|
+
|
|
1078
|
+
Owner: Buildchain pipeline maintainers
|
|
1079
|
+
|
|
1080
|
+
### Implementation
|
|
1081
|
+
|
|
1082
|
+
- `packages/core/providers/github/attempt-index.js`
|
|
1083
|
+
- `packages/core/providers/github/attempt-journal.js`
|
|
1084
|
+
- `packages/core/providers/github/pipeline-checkout.js`
|
|
1085
|
+
- `packages/core/providers/github/pipeline-events.js`
|
|
1086
|
+
- `packages/core/providers/github/pipeline-integration.js`
|
|
1087
|
+
- `packages/core/providers/github/pipeline-policy.js`
|
|
1088
|
+
- `packages/core/providers/github/pipeline-run-entry.js`
|
|
1089
|
+
- `packages/core/providers/github/pipeline-runs.js`
|
|
1090
|
+
- `packages/core/providers/github/pipeline-source.js`
|
|
1091
|
+
- `packages/core/providers/github/pipeline-worker.js`
|
|
1092
|
+
- `packages/core/publication/pipeline/actions.js`
|
|
1093
|
+
- `packages/core/publication/pipeline/apply.js`
|
|
1094
|
+
- `packages/core/publication/pipeline/build-segments.js`
|
|
1095
|
+
- `packages/core/publication/pipeline/capsules.js`
|
|
1096
|
+
- `packages/core/publication/pipeline/context.js`
|
|
1097
|
+
- `packages/core/publication/pipeline/development-anchor.js`
|
|
1098
|
+
- `packages/core/publication/pipeline/development-current.js`
|
|
1099
|
+
- `packages/core/publication/pipeline/development-pr.js`
|
|
1100
|
+
- `packages/core/publication/pipeline/development-proof.js`
|
|
1101
|
+
- `packages/core/publication/pipeline/development-transition.js`
|
|
1102
|
+
- `packages/core/publication/pipeline/distribution.js`
|
|
1103
|
+
- `packages/core/publication/pipeline/documents.js`
|
|
1104
|
+
- `packages/core/publication/pipeline/effects.js`
|
|
1105
|
+
- `packages/core/publication/pipeline/files.js`
|
|
1106
|
+
- `packages/core/publication/pipeline/imported-materials.js`
|
|
1107
|
+
- `packages/core/publication/pipeline/journal.js`
|
|
1108
|
+
- `packages/core/publication/pipeline/next-development.js`
|
|
1109
|
+
- `packages/core/publication/pipeline/pack.js`
|
|
1110
|
+
- `packages/core/publication/pipeline/package-policy.js`
|
|
1111
|
+
- `packages/core/publication/pipeline/plan.js`
|
|
1112
|
+
- `packages/core/publication/pipeline/prepare.js`
|
|
1113
|
+
- `packages/core/publication/pipeline/qualification.js`
|
|
1114
|
+
- `packages/core/publication/pipeline/qualify.js`
|
|
1115
|
+
- `packages/core/publication/pipeline/recovery-admission.js`
|
|
1116
|
+
- `packages/core/publication/pipeline/recovery-build-download.js`
|
|
1117
|
+
- `packages/core/publication/pipeline/recovery-build-plan.js`
|
|
1118
|
+
- `packages/core/publication/pipeline/recovery-build-readback.js`
|
|
1119
|
+
- `packages/core/publication/pipeline/recovery-capsules.js`
|
|
1120
|
+
- `packages/core/publication/pipeline/recovery-import.js`
|
|
1121
|
+
- `packages/core/publication/pipeline/recovery-inspection.js`
|
|
1122
|
+
- `packages/core/publication/pipeline/recovery-materials.js`
|
|
1123
|
+
- `packages/core/publication/pipeline/recovery-plan.js`
|
|
1124
|
+
- `packages/core/publication/pipeline/recovery-prepare.js`
|
|
1125
|
+
- `packages/core/publication/pipeline/recovery-qualification.js`
|
|
1126
|
+
- `packages/core/publication/pipeline/recovery-readback.js`
|
|
1127
|
+
- `packages/core/publication/pipeline/recovery-signing.js`
|
|
1128
|
+
- `packages/core/publication/pipeline/sealed-products.js`
|
|
1129
|
+
- `packages/core/publication/pipeline/settle.js`
|
|
1130
|
+
- `packages/core/publication/pipeline/signing.js`
|
|
1131
|
+
- `packages/core/publication/pipeline/source-plan.js`
|
|
1132
|
+
- `packages/core/publication/pipeline/version.js`
|
|
1133
|
+
- `packages/core/workflow/attempt/journal.js`
|
|
1134
|
+
- `packages/core/workflow/commands/pipeline-build.mjs`
|
|
1135
|
+
- `packages/core/workflow/pipeline/action-output.js`
|
|
1136
|
+
- `packages/core/workflow/pipeline/actions.js`
|
|
1137
|
+
- `packages/core/workflow/pipeline/build-control.js`
|
|
1138
|
+
- `packages/core/workflow/pipeline/build-evidence.js`
|
|
1139
|
+
- `packages/core/workflow/pipeline/build-qualification.js`
|
|
1140
|
+
- `packages/core/workflow/pipeline/build-result.js`
|
|
1141
|
+
- `packages/core/workflow/pipeline/build.js`
|
|
1142
|
+
- `packages/core/workflow/pipeline/cancellation.js`
|
|
1143
|
+
- `packages/core/workflow/pipeline/channel-control.js`
|
|
1144
|
+
- `packages/core/workflow/pipeline/controller.js`
|
|
1145
|
+
- `packages/core/workflow/pipeline/delivery-control.js`
|
|
1146
|
+
- `packages/core/workflow/pipeline/delivery-observation.js`
|
|
1147
|
+
- `packages/core/workflow/pipeline/delivery-request.js`
|
|
1148
|
+
- `packages/core/workflow/pipeline/events.js`
|
|
1149
|
+
- `packages/core/workflow/pipeline/fence.js`
|
|
1150
|
+
- `packages/core/workflow/pipeline/group-control.js`
|
|
1151
|
+
- `packages/core/workflow/pipeline/guard-build.js`
|
|
1152
|
+
- `packages/core/workflow/pipeline/guard.js`
|
|
1153
|
+
- `packages/core/workflow/pipeline/host.js`
|
|
1154
|
+
- `packages/core/workflow/pipeline/materials.js`
|
|
1155
|
+
- `packages/core/workflow/pipeline/notifications.js`
|
|
1156
|
+
- `packages/core/workflow/pipeline/parent-notification.js`
|
|
1157
|
+
- `packages/core/workflow/pipeline/platforms.js`
|
|
1158
|
+
- `packages/core/workflow/pipeline/progress.js`
|
|
1159
|
+
- `packages/core/workflow/pipeline/projection.js`
|
|
1160
|
+
- `packages/core/workflow/pipeline/reconcile.js`
|
|
1161
|
+
- `packages/core/workflow/pipeline/recovery-action.js`
|
|
1162
|
+
- `packages/core/workflow/pipeline/recovery-admission.js`
|
|
1163
|
+
- `packages/core/workflow/pipeline/recovery-build-control.js`
|
|
1164
|
+
- `packages/core/workflow/pipeline/recovery-build-evidence.js`
|
|
1165
|
+
- `packages/core/workflow/pipeline/recovery-build.js`
|
|
1166
|
+
- `packages/core/workflow/pipeline/recovery-controller.js`
|
|
1167
|
+
- `packages/core/workflow/pipeline/recovery-integration.js`
|
|
1168
|
+
- `packages/core/workflow/pipeline/recovery-merge-proof.js`
|
|
1169
|
+
- `packages/core/workflow/pipeline/recovery-ownership-settlement.js`
|
|
1170
|
+
- `packages/core/workflow/pipeline/recovery-ownership.js`
|
|
1171
|
+
- `packages/core/workflow/pipeline/recovery-plan.js`
|
|
1172
|
+
- `packages/core/workflow/pipeline/recovery-runtime.js`
|
|
1173
|
+
- `packages/core/workflow/pipeline/recovery-session.js`
|
|
1174
|
+
- `packages/core/workflow/pipeline/recovery-transition.js`
|
|
1175
|
+
- `packages/core/workflow/pipeline/recovery-unrecorded-build.js`
|
|
1176
|
+
- `packages/core/workflow/pipeline/runtime-source.js`
|
|
1177
|
+
- `packages/core/workflow/pipeline/selection.js`
|
|
1178
|
+
- `packages/core/workflow/pipeline/session.js`
|
|
1179
|
+
- `packages/core/workflow/pipeline/settlement.js`
|
|
1180
|
+
- `packages/core/workflow/pipeline/wake.js`
|
|
1181
|
+
- `packages/core/workflow/pipeline/web-status.js`
|
|
1182
|
+
|
|
1183
|
+
### Contracts
|
|
1184
|
+
|
|
1185
|
+
- `architecture/decisions/0007-hosted-pipeline-controller.md`
|
|
1186
|
+
|
|
1187
|
+
### Tests
|
|
1188
|
+
|
|
1189
|
+
- `tests/business-attempt-journal.test.mjs`
|
|
1190
|
+
- `tests/github-attempt-journal.test.mjs`
|
|
1191
|
+
- `tests/pipeline-build-qualification.test.mjs`
|
|
1192
|
+
- `tests/pipeline-build.test.mjs`
|
|
1193
|
+
- `tests/pipeline-cancellation.test.mjs`
|
|
1194
|
+
- `tests/pipeline-channel.test.mjs`
|
|
1195
|
+
- `tests/pipeline-controller.test.mjs`
|
|
1196
|
+
- `tests/pipeline-delivery-request.test.mjs`
|
|
1197
|
+
- `tests/pipeline-distribution.test.mjs`
|
|
1198
|
+
- `tests/pipeline-events.test.mjs`
|
|
1199
|
+
- `tests/pipeline-fence.test.mjs`
|
|
1200
|
+
- `tests/pipeline-guard.test.mjs`
|
|
1201
|
+
- `tests/pipeline-index.test.mjs`
|
|
1202
|
+
- `tests/pipeline-integration.test.mjs`
|
|
1203
|
+
- `tests/pipeline-next-development.test.mjs`
|
|
1204
|
+
- `tests/pipeline-npm-channel.test.mjs`
|
|
1205
|
+
- `tests/pipeline-policy.test.mjs`
|
|
1206
|
+
- `tests/pipeline-progress.test.mjs`
|
|
1207
|
+
- `tests/pipeline-projection.test.mjs`
|
|
1208
|
+
- `tests/pipeline-publication-artifacts.test.mjs`
|
|
1209
|
+
- `tests/pipeline-publication-effects.test.mjs`
|
|
1210
|
+
- `tests/pipeline-publication-journal.test.mjs`
|
|
1211
|
+
- `tests/pipeline-publication-pack.test.mjs`
|
|
1212
|
+
- `tests/pipeline-publication-plan.test.mjs`
|
|
1213
|
+
- `tests/pipeline-publication-providers.test.mjs`
|
|
1214
|
+
- `tests/pipeline-publication-recovery-admission.test.mjs`
|
|
1215
|
+
- `tests/pipeline-publication-recovery-apply.test.mjs`
|
|
1216
|
+
- `tests/pipeline-publication-recovery-build.test.mjs`
|
|
1217
|
+
- `tests/pipeline-publication-recovery-signing.test.mjs`
|
|
1218
|
+
- `tests/pipeline-publication-version.test.mjs`
|
|
1219
|
+
- `tests/pipeline-reconcile.test.mjs`
|
|
1220
|
+
- `tests/pipeline-recovery-admission.test.mjs`
|
|
1221
|
+
- `tests/pipeline-recovery-build.test.mjs`
|
|
1222
|
+
- `tests/pipeline-recovery-controller.test.mjs`
|
|
1223
|
+
- `tests/pipeline-recovery-delivery.test.mjs`
|
|
1224
|
+
- `tests/pipeline-recovery-interruption.test.mjs`
|
|
1225
|
+
- `tests/pipeline-recovery-ownership.test.mjs`
|
|
1226
|
+
- `tests/pipeline-recovery-runtime-continuation.test.mjs`
|
|
1227
|
+
- `tests/pipeline-recovery-session.test.mjs`
|
|
1228
|
+
- `tests/pipeline-runs.test.mjs`
|
|
1229
|
+
- `tests/pipeline-runtime.test.mjs`
|
|
1230
|
+
- `tests/pipeline-settlement.test.mjs`
|
|
1231
|
+
- `tests/pipeline-source.test.mjs`
|
|
1232
|
+
- `tests/pipeline-web-status.test.mjs`
|
|
1233
|
+
- `tests/pipeline-worker.test.mjs`
|
|
1234
|
+
|
|
1235
|
+
### Generated outputs
|
|
1236
|
+
|
|
1237
|
+
- None.
|
|
1238
|
+
|
|
1239
|
+
### Minimal validation
|
|
1240
|
+
|
|
1241
|
+
- `node --test tests/pipeline-*.test.mjs tests/business-attempt-journal.test.mjs tests/github-attempt-journal.test.mjs`
|
|
1242
|
+
|
|
1009
1243
|
## npm-publication-transaction
|
|
1010
1244
|
|
|
1011
1245
|
Owner: Buildchain npm publication transaction maintainers
|
|
@@ -1998,9 +2232,11 @@ Owner: Buildchain runtime maintainers
|
|
|
1998
2232
|
|
|
1999
2233
|
- `packages/core/runtime/entry/actions.js`
|
|
2000
2234
|
- `packages/core/runtime/entry/activation.js`
|
|
2235
|
+
- `packages/core/runtime/entry/attempt.js`
|
|
2001
2236
|
- `packages/core/runtime/entry/github.js`
|
|
2002
2237
|
- `packages/core/runtime/entry/recovery.js`
|
|
2003
2238
|
- `packages/core/runtime/entry/selection.js`
|
|
2239
|
+
- `packages/core/runtime/entry/source.js`
|
|
2004
2240
|
- `scripts/check-runtime-entry.mjs`
|
|
2005
2241
|
|
|
2006
2242
|
### Contracts
|
|
@@ -2010,10 +2246,11 @@ Owner: Buildchain runtime maintainers
|
|
|
2010
2246
|
|
|
2011
2247
|
### Tests
|
|
2012
2248
|
|
|
2013
|
-
- `tests/runtime-
|
|
2249
|
+
- `tests/pipeline-recovery-runtime-continuation.test.mjs`
|
|
2014
2250
|
- `tests/runtime-entry-activation.test.mjs`
|
|
2015
|
-
- `tests/runtime-entry-provider.test.mjs`
|
|
2016
2251
|
- `tests/runtime-entry-architecture.test.mjs`
|
|
2252
|
+
- `tests/runtime-entry-provider.test.mjs`
|
|
2253
|
+
- `tests/runtime-entry-selection.test.mjs`
|
|
2017
2254
|
|
|
2018
2255
|
### Generated outputs
|
|
2019
2256
|
|
|
@@ -2563,6 +2563,295 @@
|
|
|
2563
2563
|
"expectedContributionSeconds": 0,
|
|
2564
2564
|
"rationale": "Current 4.1 capability node. Budget uses the declared job timeout or the conservative six-hour provider ceiling; it is not a measured latency or a new claim of required-check authority."
|
|
2565
2565
|
}
|
|
2566
|
+
},
|
|
2567
|
+
{
|
|
2568
|
+
"laneId": ".github/workflows/.ops-pipeline-delivery.yml#delivery",
|
|
2569
|
+
"authorityClass": "merge-critical-admission",
|
|
2570
|
+
"triggerClass": "reusable",
|
|
2571
|
+
"concurrencyPolicy": {
|
|
2572
|
+
"mode": "none",
|
|
2573
|
+
"cancelInProgress": false
|
|
2574
|
+
},
|
|
2575
|
+
"expectedRunnerMinutes": 360,
|
|
2576
|
+
"cancellationBehavior": "finish-started",
|
|
2577
|
+
"sloImpact": {
|
|
2578
|
+
"mergeCritical": true,
|
|
2579
|
+
"metric": "minimal pipeline bounded hosted execution",
|
|
2580
|
+
"expectedContributionSeconds": 21600,
|
|
2581
|
+
"rationale": "Owned runtime, metadata or product job boundary. Product matrix uses only declared platforms; native Warrant transfer waits for exact provider terminality. This is a conservative timeout budget, not measured latency."
|
|
2582
|
+
}
|
|
2583
|
+
},
|
|
2584
|
+
{
|
|
2585
|
+
"laneId": ".github/workflows/public-ops-pipeline.yml#runtime",
|
|
2586
|
+
"authorityClass": "evidence",
|
|
2587
|
+
"triggerClass": "reusable",
|
|
2588
|
+
"concurrencyPolicy": {
|
|
2589
|
+
"mode": "none",
|
|
2590
|
+
"cancelInProgress": false
|
|
2591
|
+
},
|
|
2592
|
+
"expectedRunnerMinutes": 5,
|
|
2593
|
+
"cancellationBehavior": "finish-started",
|
|
2594
|
+
"sloImpact": {
|
|
2595
|
+
"mergeCritical": false,
|
|
2596
|
+
"metric": "minimal pipeline bounded hosted execution",
|
|
2597
|
+
"expectedContributionSeconds": 300,
|
|
2598
|
+
"rationale": "Owned runtime, metadata or product job boundary. Product matrix uses only declared platforms; native Warrant transfer waits for exact provider terminality. This is a conservative timeout budget, not measured latency."
|
|
2599
|
+
}
|
|
2600
|
+
},
|
|
2601
|
+
{
|
|
2602
|
+
"laneId": ".github/workflows/public-ops-pipeline.yml#control",
|
|
2603
|
+
"authorityClass": "merge-critical-admission",
|
|
2604
|
+
"triggerClass": "reusable",
|
|
2605
|
+
"concurrencyPolicy": {
|
|
2606
|
+
"mode": "none",
|
|
2607
|
+
"cancelInProgress": false
|
|
2608
|
+
},
|
|
2609
|
+
"expectedRunnerMinutes": 20,
|
|
2610
|
+
"cancellationBehavior": "finish-started",
|
|
2611
|
+
"sloImpact": {
|
|
2612
|
+
"mergeCritical": true,
|
|
2613
|
+
"metric": "minimal pipeline bounded hosted execution",
|
|
2614
|
+
"expectedContributionSeconds": 1200,
|
|
2615
|
+
"rationale": "Owned runtime, metadata or product job boundary. Product matrix uses only declared platforms; native Warrant transfer waits for exact provider terminality. This is a conservative timeout budget, not measured latency."
|
|
2616
|
+
}
|
|
2617
|
+
},
|
|
2618
|
+
{
|
|
2619
|
+
"laneId": ".github/workflows/.ops-pipeline-execute.yml#build",
|
|
2620
|
+
"authorityClass": "merge-critical-required",
|
|
2621
|
+
"triggerClass": "reusable",
|
|
2622
|
+
"concurrencyPolicy": {
|
|
2623
|
+
"mode": "none",
|
|
2624
|
+
"cancelInProgress": false
|
|
2625
|
+
},
|
|
2626
|
+
"expectedRunnerMinutes": 60,
|
|
2627
|
+
"cancellationBehavior": "finish-started",
|
|
2628
|
+
"sloImpact": {
|
|
2629
|
+
"mergeCritical": true,
|
|
2630
|
+
"metric": "minimal pipeline bounded hosted execution",
|
|
2631
|
+
"expectedContributionSeconds": 3600,
|
|
2632
|
+
"rationale": "Owned runtime, metadata or product job boundary. Product matrix uses only declared platforms; native Warrant transfer waits for exact provider terminality. This is a conservative timeout budget, not measured latency."
|
|
2633
|
+
}
|
|
2634
|
+
},
|
|
2635
|
+
{
|
|
2636
|
+
"laneId": ".github/workflows/.ops-pipeline-execute.yml#record-build",
|
|
2637
|
+
"authorityClass": "merge-critical-required",
|
|
2638
|
+
"triggerClass": "reusable",
|
|
2639
|
+
"concurrencyPolicy": {
|
|
2640
|
+
"mode": "none",
|
|
2641
|
+
"cancelInProgress": false
|
|
2642
|
+
},
|
|
2643
|
+
"expectedRunnerMinutes": 15,
|
|
2644
|
+
"cancellationBehavior": "finish-started",
|
|
2645
|
+
"sloImpact": {
|
|
2646
|
+
"mergeCritical": true,
|
|
2647
|
+
"metric": "minimal pipeline bounded hosted execution",
|
|
2648
|
+
"expectedContributionSeconds": 900,
|
|
2649
|
+
"rationale": "Owned runtime, metadata or product job boundary. Product matrix uses only declared platforms; native Warrant transfer waits for exact provider terminality. This is a conservative timeout budget, not measured latency."
|
|
2650
|
+
}
|
|
2651
|
+
},
|
|
2652
|
+
{
|
|
2653
|
+
"laneId": ".github/workflows/.ops-pipeline-execute.yml#delivery",
|
|
2654
|
+
"authorityClass": "merge-critical-admission",
|
|
2655
|
+
"triggerClass": "reusable",
|
|
2656
|
+
"concurrencyPolicy": {
|
|
2657
|
+
"mode": "none",
|
|
2658
|
+
"cancelInProgress": false
|
|
2659
|
+
},
|
|
2660
|
+
"expectedRunnerMinutes": 360,
|
|
2661
|
+
"cancellationBehavior": "finish-started",
|
|
2662
|
+
"sloImpact": {
|
|
2663
|
+
"mergeCritical": true,
|
|
2664
|
+
"metric": "minimal pipeline bounded hosted execution",
|
|
2665
|
+
"expectedContributionSeconds": 21600,
|
|
2666
|
+
"rationale": "Owned runtime, metadata or product job boundary. Product matrix uses only declared platforms; native Warrant transfer waits for exact provider terminality. This is a conservative timeout budget, not measured latency."
|
|
2667
|
+
}
|
|
2668
|
+
},
|
|
2669
|
+
{
|
|
2670
|
+
"laneId": ".github/workflows/.ops-pipeline-execute.yml#record-delivery",
|
|
2671
|
+
"authorityClass": "evidence",
|
|
2672
|
+
"triggerClass": "reusable",
|
|
2673
|
+
"concurrencyPolicy": {
|
|
2674
|
+
"mode": "none",
|
|
2675
|
+
"cancelInProgress": false
|
|
2676
|
+
},
|
|
2677
|
+
"expectedRunnerMinutes": 5,
|
|
2678
|
+
"cancellationBehavior": "finish-started",
|
|
2679
|
+
"sloImpact": {
|
|
2680
|
+
"mergeCritical": false,
|
|
2681
|
+
"metric": "minimal pipeline bounded hosted execution",
|
|
2682
|
+
"expectedContributionSeconds": 300,
|
|
2683
|
+
"rationale": "Owned runtime, metadata or product job boundary. Product matrix uses only declared platforms; native Warrant transfer waits for exact provider terminality. This is a conservative timeout budget, not measured latency."
|
|
2684
|
+
}
|
|
2685
|
+
},
|
|
2686
|
+
{
|
|
2687
|
+
"laneId": ".github/workflows/.release-pipeline-products.yml#prepare",
|
|
2688
|
+
"authorityClass": "evidence",
|
|
2689
|
+
"triggerClass": "reusable",
|
|
2690
|
+
"concurrencyPolicy": {
|
|
2691
|
+
"mode": "ref-scoped",
|
|
2692
|
+
"cancelInProgress": false
|
|
2693
|
+
},
|
|
2694
|
+
"expectedRunnerMinutes": 15,
|
|
2695
|
+
"cancellationBehavior": "finish-started",
|
|
2696
|
+
"sloImpact": {
|
|
2697
|
+
"mergeCritical": false,
|
|
2698
|
+
"metric": "declared product publication and retained follow-ups",
|
|
2699
|
+
"expectedContributionSeconds": 900,
|
|
2700
|
+
"rationale": "Post-merge product publication serializes provider writers per repository. At most five declared hosted platforms each have a sixty-minute build limit; independent signing and publisher jobs have explicit timeouts. These are conservative bounds, not measured latency."
|
|
2701
|
+
}
|
|
2702
|
+
},
|
|
2703
|
+
{
|
|
2704
|
+
"laneId": ".github/workflows/.release-pipeline-products.yml#build",
|
|
2705
|
+
"authorityClass": "evidence",
|
|
2706
|
+
"triggerClass": "reusable",
|
|
2707
|
+
"concurrencyPolicy": {
|
|
2708
|
+
"mode": "ref-scoped",
|
|
2709
|
+
"cancelInProgress": false
|
|
2710
|
+
},
|
|
2711
|
+
"expectedRunnerMinutes": 300,
|
|
2712
|
+
"cancellationBehavior": "finish-started",
|
|
2713
|
+
"sloImpact": {
|
|
2714
|
+
"mergeCritical": false,
|
|
2715
|
+
"metric": "declared product publication and retained follow-ups",
|
|
2716
|
+
"expectedContributionSeconds": 18000,
|
|
2717
|
+
"rationale": "Post-merge product publication serializes provider writers per repository. At most five declared hosted platforms each have a sixty-minute build limit; independent signing and publisher jobs have explicit timeouts. These are conservative bounds, not measured latency."
|
|
2718
|
+
}
|
|
2719
|
+
},
|
|
2720
|
+
{
|
|
2721
|
+
"laneId": ".github/workflows/.release-pipeline-products.yml#qualify",
|
|
2722
|
+
"authorityClass": "evidence",
|
|
2723
|
+
"triggerClass": "reusable",
|
|
2724
|
+
"concurrencyPolicy": {
|
|
2725
|
+
"mode": "ref-scoped",
|
|
2726
|
+
"cancelInProgress": false
|
|
2727
|
+
},
|
|
2728
|
+
"expectedRunnerMinutes": 20,
|
|
2729
|
+
"cancellationBehavior": "finish-started",
|
|
2730
|
+
"sloImpact": {
|
|
2731
|
+
"mergeCritical": false,
|
|
2732
|
+
"metric": "declared product publication and retained follow-ups",
|
|
2733
|
+
"expectedContributionSeconds": 1200,
|
|
2734
|
+
"rationale": "Post-merge product publication serializes provider writers per repository. At most five declared hosted platforms each have a sixty-minute build limit; independent signing and publisher jobs have explicit timeouts. These are conservative bounds, not measured latency."
|
|
2735
|
+
}
|
|
2736
|
+
},
|
|
2737
|
+
{
|
|
2738
|
+
"laneId": ".github/workflows/.release-pipeline-products.yml#apply",
|
|
2739
|
+
"authorityClass": "governed-delegation",
|
|
2740
|
+
"triggerClass": "reusable",
|
|
2741
|
+
"concurrencyPolicy": {
|
|
2742
|
+
"mode": "ref-scoped",
|
|
2743
|
+
"cancelInProgress": false
|
|
2744
|
+
},
|
|
2745
|
+
"expectedRunnerMinutes": 30,
|
|
2746
|
+
"cancellationBehavior": "finish-started",
|
|
2747
|
+
"sloImpact": {
|
|
2748
|
+
"mergeCritical": false,
|
|
2749
|
+
"metric": "declared product publication and retained follow-ups",
|
|
2750
|
+
"expectedContributionSeconds": 1800,
|
|
2751
|
+
"rationale": "Post-merge product publication serializes provider writers per repository. At most five declared hosted platforms each have a sixty-minute build limit; independent signing and publisher jobs have explicit timeouts. These are conservative bounds, not measured latency."
|
|
2752
|
+
}
|
|
2753
|
+
},
|
|
2754
|
+
{
|
|
2755
|
+
"laneId": ".github/workflows/.release-pipeline-products.yml#settle",
|
|
2756
|
+
"authorityClass": "governed-delegation",
|
|
2757
|
+
"triggerClass": "reusable",
|
|
2758
|
+
"concurrencyPolicy": {
|
|
2759
|
+
"mode": "ref-scoped",
|
|
2760
|
+
"cancelInProgress": false
|
|
2761
|
+
},
|
|
2762
|
+
"expectedRunnerMinutes": 20,
|
|
2763
|
+
"cancellationBehavior": "finish-started",
|
|
2764
|
+
"sloImpact": {
|
|
2765
|
+
"mergeCritical": false,
|
|
2766
|
+
"metric": "declared product publication and retained follow-ups",
|
|
2767
|
+
"expectedContributionSeconds": 1200,
|
|
2768
|
+
"rationale": "Post-merge product publication serializes provider writers per repository. At most five declared hosted platforms each have a sixty-minute build limit; independent signing and publisher jobs have explicit timeouts. These are conservative bounds, not measured latency."
|
|
2769
|
+
}
|
|
2770
|
+
},
|
|
2771
|
+
{
|
|
2772
|
+
"laneId": ".github/workflows/.ops-pipeline-execute.yml#publication",
|
|
2773
|
+
"authorityClass": "governed-delegation",
|
|
2774
|
+
"triggerClass": "reusable",
|
|
2775
|
+
"concurrencyPolicy": {
|
|
2776
|
+
"mode": "none",
|
|
2777
|
+
"cancelInProgress": false
|
|
2778
|
+
},
|
|
2779
|
+
"expectedRunnerMinutes": 385,
|
|
2780
|
+
"cancellationBehavior": "finish-started",
|
|
2781
|
+
"sloImpact": {
|
|
2782
|
+
"mergeCritical": false,
|
|
2783
|
+
"metric": "declared product publication and retained follow-ups",
|
|
2784
|
+
"expectedContributionSeconds": 23100,
|
|
2785
|
+
"rationale": "Post-merge product publication serializes provider writers per repository. At most five declared hosted platforms each have a sixty-minute build limit; independent signing and publisher jobs have explicit timeouts. These are conservative bounds, not measured latency."
|
|
2786
|
+
}
|
|
2787
|
+
},
|
|
2788
|
+
{
|
|
2789
|
+
"laneId": ".github/workflows/public-ops-recover.yml#runtime",
|
|
2790
|
+
"authorityClass": "evidence",
|
|
2791
|
+
"triggerClass": "reusable",
|
|
2792
|
+
"concurrencyPolicy": {
|
|
2793
|
+
"mode": "none",
|
|
2794
|
+
"cancelInProgress": false
|
|
2795
|
+
},
|
|
2796
|
+
"expectedRunnerMinutes": 5,
|
|
2797
|
+
"cancellationBehavior": "finish-started",
|
|
2798
|
+
"sloImpact": {
|
|
2799
|
+
"mergeCritical": false,
|
|
2800
|
+
"metric": "minimal pipeline bounded hosted execution",
|
|
2801
|
+
"expectedContributionSeconds": 300,
|
|
2802
|
+
"rationale": "Owned runtime, metadata or product job boundary. Product matrix uses only declared platforms; native Warrant transfer waits for exact provider terminality. This is a conservative timeout budget, not measured latency."
|
|
2803
|
+
}
|
|
2804
|
+
},
|
|
2805
|
+
{
|
|
2806
|
+
"laneId": ".github/workflows/public-ops-recover.yml#control",
|
|
2807
|
+
"authorityClass": "merge-critical-admission",
|
|
2808
|
+
"triggerClass": "reusable",
|
|
2809
|
+
"concurrencyPolicy": {
|
|
2810
|
+
"mode": "none",
|
|
2811
|
+
"cancelInProgress": false
|
|
2812
|
+
},
|
|
2813
|
+
"expectedRunnerMinutes": 20,
|
|
2814
|
+
"cancellationBehavior": "finish-started",
|
|
2815
|
+
"sloImpact": {
|
|
2816
|
+
"mergeCritical": true,
|
|
2817
|
+
"metric": "minimal pipeline bounded hosted execution",
|
|
2818
|
+
"expectedContributionSeconds": 1200,
|
|
2819
|
+
"rationale": "Owned runtime, metadata or product job boundary. Product matrix uses only declared platforms; native Warrant transfer waits for exact provider terminality. This is a conservative timeout budget, not measured latency."
|
|
2820
|
+
}
|
|
2821
|
+
},
|
|
2822
|
+
{
|
|
2823
|
+
"laneId": ".github/workflows/public-ops-pipeline.yml#execute",
|
|
2824
|
+
"authorityClass": "governed-delegation",
|
|
2825
|
+
"triggerClass": "reusable",
|
|
2826
|
+
"concurrencyPolicy": {
|
|
2827
|
+
"mode": "none",
|
|
2828
|
+
"cancelInProgress": false
|
|
2829
|
+
},
|
|
2830
|
+
"expectedRunnerMinutes": 825,
|
|
2831
|
+
"cancellationBehavior": "finish-started",
|
|
2832
|
+
"sloImpact": {
|
|
2833
|
+
"mergeCritical": false,
|
|
2834
|
+
"metric": "shared normal or recovery execution timeout bound",
|
|
2835
|
+
"expectedContributionSeconds": 49500,
|
|
2836
|
+
"rationale": "Delegates to the same isolated product, native delivery and publication jobs. Recovery schedules only qualified missing work; this inherited conservative timeout sum is not measured latency or a new parallel lane family."
|
|
2837
|
+
}
|
|
2838
|
+
},
|
|
2839
|
+
{
|
|
2840
|
+
"laneId": ".github/workflows/public-ops-recover.yml#execute",
|
|
2841
|
+
"authorityClass": "governed-delegation",
|
|
2842
|
+
"triggerClass": "reusable",
|
|
2843
|
+
"concurrencyPolicy": {
|
|
2844
|
+
"mode": "none",
|
|
2845
|
+
"cancelInProgress": false
|
|
2846
|
+
},
|
|
2847
|
+
"expectedRunnerMinutes": 825,
|
|
2848
|
+
"cancellationBehavior": "finish-started",
|
|
2849
|
+
"sloImpact": {
|
|
2850
|
+
"mergeCritical": false,
|
|
2851
|
+
"metric": "shared normal or recovery execution timeout bound",
|
|
2852
|
+
"expectedContributionSeconds": 49500,
|
|
2853
|
+
"rationale": "Delegates to the same isolated product, native delivery and publication jobs. Recovery schedules only qualified missing work; this inherited conservative timeout sum is not measured latency or a new parallel lane family."
|
|
2854
|
+
}
|
|
2566
2855
|
}
|
|
2567
2856
|
],
|
|
2568
2857
|
"declarationFamilies": [
|