@kici-dev/orchestrator 0.17.0 → 0.18.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 (589) hide show
  1. package/dist/agent/agent-version.d.ts +12 -21
  2. package/dist/agent/dispatcher.d.ts +283 -437
  3. package/dist/agent/host-roster-reaper.d.ts +8 -10
  4. package/dist/agent/host-roster.d.ts +77 -100
  5. package/dist/agent/ownership-refusal.d.ts +3 -5
  6. package/dist/agent/ownership-tracker.d.ts +42 -76
  7. package/dist/agent/registry.d.ts +121 -233
  8. package/dist/agent/token-store.d.ts +34 -77
  9. package/dist/agent-packaging/availability.d.ts +6 -9
  10. package/dist/agent-packaging/download.d.ts +6 -9
  11. package/dist/agent-packaging/install-closure.d.ts +9 -12
  12. package/dist/agent-packaging/node-binary.d.ts +6 -10
  13. package/dist/agent-packaging/node-runtime-members.d.ts +3 -5
  14. package/dist/agent-packaging/refresh.d.ts +12 -16
  15. package/dist/agent-packaging/store.d.ts +5 -6
  16. package/dist/agent-packaging/upload.d.ts +3 -4
  17. package/dist/app.d.ts +0 -3
  18. package/dist/approvals/apply-decision.d.ts +35 -52
  19. package/dist/approvals/approval-resolver.d.ts +11 -23
  20. package/dist/approvals/held-run-release-wiring.d.ts +14 -21
  21. package/dist/approvals/independent-wiring.d.ts +13 -20
  22. package/dist/approvals/resume-router.d.ts +1 -1
  23. package/dist/approvals/step-approval-bridge.d.ts +11 -21
  24. package/dist/approvals/triggerer-subject.d.ts +8 -10
  25. package/dist/artifacts/artifact-store.d.ts +55 -95
  26. package/dist/artifacts/failure-messages.d.ts +15 -20
  27. package/dist/audit/access-log.d.ts +27 -45
  28. package/dist/audit/sampling-rate-limiter.d.ts +11 -23
  29. package/dist/cache/agent-job-failed-error.d.ts +2 -3
  30. package/dist/cache/build-coordinator.d.ts +5 -28
  31. package/dist/cache/cache-upload-settle.d.ts +11 -11
  32. package/dist/cache/dep-cache.d.ts +32 -60
  33. package/dist/cache/dispatch-cache-ref-tracker.d.ts +15 -23
  34. package/dist/cache/global-eval-round-cache.d.ts +33 -41
  35. package/dist/cache/pending-builds.d.ts +2 -6
  36. package/dist/cache/pending-dynamics.d.ts +2 -7
  37. package/dist/cache/pending-global-evals.d.ts +9 -12
  38. package/dist/cache/pending-inits.d.ts +11 -22
  39. package/dist/cache/pending-precursor-db-watcher.d.ts +24 -32
  40. package/dist/cache/pending-tracker.d.ts +17 -45
  41. package/dist/cache/precursor-result.d.ts +17 -30
  42. package/dist/cache/source-cache.d.ts +36 -65
  43. package/dist/cache/user-cache.d.ts +21 -25
  44. package/dist/cancel/cancel-held-run.d.ts +13 -16
  45. package/dist/cancel/cancel-route-answer.d.ts +1 -2
  46. package/dist/cancel/cancel-run.d.ts +26 -50
  47. package/dist/cancel/dashboard-cancel-handler.d.ts +2 -2
  48. package/dist/cancel/peer-job-cancel.d.ts +11 -14
  49. package/dist/cancel/sweep-stuck-cancelling.d.ts +9 -13
  50. package/dist/cli/api-client.d.ts +25 -76
  51. package/dist/cli/commands/access-log.d.ts +4 -24
  52. package/dist/cli/commands/agent-package.d.ts +7 -15
  53. package/dist/cli/commands/agent-service/agent-env.d.ts +3 -6
  54. package/dist/cli/commands/agent-service/index.d.ts +4 -10
  55. package/dist/cli/commands/agent-service/install.d.ts +4 -11
  56. package/dist/cli/commands/agent-service/status.d.ts +4 -9
  57. package/dist/cli/commands/agent-service/upgrade.d.ts +4 -16
  58. package/dist/cli/commands/agent.d.ts +12 -25
  59. package/dist/cli/commands/api-key.d.ts +5 -12
  60. package/dist/cli/commands/attestations-list.d.ts +7 -17
  61. package/dist/cli/commands/attestations-retry.d.ts +5 -11
  62. package/dist/cli/commands/attestations-reverify.d.ts +4 -5
  63. package/dist/cli/commands/attestations.d.ts +3 -8
  64. package/dist/cli/commands/audit.d.ts +1 -5
  65. package/dist/cli/commands/backend.d.ts +2 -11
  66. package/dist/cli/commands/check-run.d.ts +7 -18
  67. package/dist/cli/commands/cluster-name.d.ts +5 -12
  68. package/dist/cli/commands/cluster-settings.d.ts +28 -53
  69. package/dist/cli/commands/cold-store.d.ts +7 -15
  70. package/dist/cli/commands/config.d.ts +9 -20
  71. package/dist/cli/commands/context.d.ts +8 -20
  72. package/dist/cli/commands/dashboard-encryption-key.d.ts +9 -14
  73. package/dist/cli/commands/db-backup.d.ts +17 -32
  74. package/dist/cli/commands/db.d.ts +3 -4
  75. package/dist/cli/commands/debug-bundle.d.ts +3 -10
  76. package/dist/cli/commands/diagnose.d.ts +3 -14
  77. package/dist/cli/commands/event-dlq.d.ts +4 -12
  78. package/dist/cli/commands/event-log.d.ts +2 -20
  79. package/dist/cli/commands/execution.d.ts +3 -9
  80. package/dist/cli/commands/firecracker/index.d.ts +3 -6
  81. package/dist/cli/commands/held-run.d.ts +23 -37
  82. package/dist/cli/commands/host.d.ts +4 -11
  83. package/dist/cli/commands/inspect-bundle.d.ts +3 -11
  84. package/dist/cli/commands/local-hook.d.ts +2 -10
  85. package/dist/cli/commands/local-trigger.d.ts +2 -2
  86. package/dist/cli/commands/orchestrator-service/drain.d.ts +3 -6
  87. package/dist/cli/commands/orchestrator-service/index.d.ts +6 -14
  88. package/dist/cli/commands/orchestrator-service/install-env.d.ts +25 -49
  89. package/dist/cli/commands/orchestrator-service/install.d.ts +2 -5
  90. package/dist/cli/commands/orchestrator-service/status.d.ts +10 -22
  91. package/dist/cli/commands/orchestrator-service/upgrade.d.ts +6 -15
  92. package/dist/cli/commands/org-settings.d.ts +5 -11
  93. package/dist/cli/commands/peer.d.ts +5 -10
  94. package/dist/cli/commands/queue.d.ts +3 -9
  95. package/dist/cli/commands/registration.d.ts +4 -8
  96. package/dist/cli/commands/remote-source.d.ts +6 -12
  97. package/dist/cli/commands/rotate.d.ts +1 -5
  98. package/dist/cli/commands/runs.d.ts +1 -30
  99. package/dist/cli/commands/scaler.d.ts +5 -12
  100. package/dist/cli/commands/secret.d.ts +1 -9
  101. package/dist/cli/commands/service-health.d.ts +5 -10
  102. package/dist/cli/commands/shared/admin-cli-access-log.d.ts +10 -19
  103. package/dist/cli/commands/shared/bare-metal-binary-check.d.ts +86 -0
  104. package/dist/cli/commands/shared/cli-action.d.ts +1 -4
  105. package/dist/cli/commands/shared/confirm.d.ts +5 -10
  106. package/dist/cli/commands/shared/db.d.ts +1 -12
  107. package/dist/cli/commands/shared/env-file-mode.d.ts +6 -9
  108. package/dist/cli/commands/shared/secret-input.d.ts +7 -21
  109. package/dist/cli/commands/shared/service-verbs.d.ts +6 -12
  110. package/dist/cli/commands/shared/unbound-context-warning.d.ts +2 -4
  111. package/dist/cli/commands/shared/upgrade-hooks.d.ts +7 -16
  112. package/dist/cli/commands/shared/upgrade-safety.d.ts +20 -31
  113. package/dist/cli/commands/shared/versioned-upgrade.d.ts +83 -161
  114. package/dist/cli/commands/signing-key.d.ts +4 -9
  115. package/dist/cli/commands/source-manifest.d.ts +11 -14
  116. package/dist/cli/commands/source.d.ts +7 -32
  117. package/dist/cli/commands/token.d.ts +4 -15
  118. package/dist/cli/commands/trust-policy.d.ts +35 -88
  119. package/dist/cli/commands/variable.d.ts +3 -5
  120. package/dist/cli/commands/workflow.d.ts +3 -24
  121. package/dist/cli/join.d.ts +3 -6
  122. package/dist/cli/kici-admin.d.ts +11 -29
  123. package/dist/cli/lazy-deps/cache.d.ts +1 -14
  124. package/dist/cli/lazy-deps/downloader.d.ts +4 -27
  125. package/dist/cli/lazy-deps/registry.d.ts +5 -25
  126. package/dist/cli/local-github-ingress-url.d.ts +5 -7
  127. package/dist/cli/loopback-callback.d.ts +6 -7
  128. package/dist/cli/open-browser.d.ts +4 -8
  129. package/dist/cli/root-option-routing.d.ts +17 -29
  130. package/dist/cli/service/backup-timer.d.ts +16 -39
  131. package/dist/cli/service/compose-path.d.ts +3 -7
  132. package/dist/cli/service/compose.d.ts +12 -30
  133. package/dist/cli/service/deploy-env.d.ts +6 -18
  134. package/dist/cli/service/entrypoint.d.ts +14 -25
  135. package/dist/cli/service/env-assignment.d.ts +6 -17
  136. package/dist/cli/service/image-digests.d.ts +6 -15
  137. package/dist/cli/service/index.d.ts +2 -18
  138. package/dist/cli/service/instance/index-file.d.ts +9 -16
  139. package/dist/cli/service/instance/manifest.d.ts +33 -59
  140. package/dist/cli/service/instance/resolve.d.ts +32 -68
  141. package/dist/cli/service/instance/types.d.ts +12 -29
  142. package/dist/cli/service/launchd.d.ts +29 -60
  143. package/dist/cli/service/platform-detect.d.ts +13 -68
  144. package/dist/cli/service/privilege.d.ts +12 -25
  145. package/dist/cli/service/shutdown-grace.d.ts +11 -20
  146. package/dist/cli/service/systemd.d.ts +7 -20
  147. package/dist/cli/service/types.d.ts +63 -114
  148. package/dist/cli/service/windows-acl.d.ts +14 -21
  149. package/dist/cli/service/windows-env-file.d.ts +10 -28
  150. package/dist/cli/service/windows.d.ts +15 -31
  151. package/dist/cli/webhook-url-notes.d.ts +4 -6
  152. package/dist/cli/wizard/agent-wizard.d.ts +3 -14
  153. package/dist/cli/wizard/orchestrator-wizard.d.ts +12 -37
  154. package/dist/cli/wizard/prompts.d.ts +6 -16
  155. package/dist/cli.js +4568 -6571
  156. package/dist/cluster/cluster-identity.d.ts +20 -32
  157. package/dist/cluster/cluster-settings-reader.d.ts +50 -77
  158. package/dist/cluster/coordinator-credential.d.ts +4 -5
  159. package/dist/cluster/coordinator.d.ts +76 -148
  160. package/dist/cluster/health-api.d.ts +2 -10
  161. package/dist/cluster/index.d.ts +1 -6
  162. package/dist/cluster/instance-heartbeat.d.ts +26 -42
  163. package/dist/cluster/join-client.d.ts +4 -7
  164. package/dist/cluster/join-handler.d.ts +3 -7
  165. package/dist/cluster/join-token.d.ts +13 -27
  166. package/dist/cluster/leader-gated-scheduler.d.ts +8 -17
  167. package/dist/cluster/orphan-recovery.d.ts +13 -35
  168. package/dist/cluster/peer-auth-coordinator.d.ts +2 -8
  169. package/dist/cluster/peer-client.d.ts +46 -76
  170. package/dist/cluster/peer-credentials.d.ts +24 -70
  171. package/dist/cluster/peer-crypto.d.ts +5 -26
  172. package/dist/cluster/peer-forget.d.ts +3 -3
  173. package/dist/cluster/peer-handler.d.ts +47 -71
  174. package/dist/cluster/peer-registry.d.ts +37 -106
  175. package/dist/cluster/plan-headroom-store.d.ts +4 -6
  176. package/dist/cluster/raft-state.d.ts +4 -13
  177. package/dist/cluster/raft.d.ts +18 -53
  178. package/dist/cluster/reconcile-identity.d.ts +8 -11
  179. package/dist/cluster/rerouted-job-guard.d.ts +7 -11
  180. package/dist/cluster/verified-issuer.d.ts +2 -3
  181. package/dist/cluster/worker-cluster-settings.d.ts +7 -10
  182. package/dist/cluster/worker-eviction.d.ts +16 -26
  183. package/dist/cold-store/load-access-log-range.d.ts +15 -31
  184. package/dist/cold-store/load-event-log-range.d.ts +13 -27
  185. package/dist/cold-store/load-secret-audit-log-range.d.ts +8 -12
  186. package/dist/cold-store/orchestrator-cold-store.d.ts +8 -28
  187. package/dist/cold-store/tables/access-log.d.ts +12 -14
  188. package/dist/cold-store/tables/event-log.d.ts +4 -8
  189. package/dist/cold-store/tables/execution-runs.d.ts +6 -11
  190. package/dist/cold-store/tables/secret-audit-log.d.ts +5 -12
  191. package/dist/concurrency/dispatch-next-queued.d.ts +13 -25
  192. package/dist/concurrency/queue-manager.d.ts +22 -54
  193. package/dist/concurrency/waiters.d.ts +15 -31
  194. package/dist/config/encryption.d.ts +0 -2
  195. package/dist/config/loader.d.ts +0 -1
  196. package/dist/config/reload.d.ts +0 -6
  197. package/dist/config/resolver.d.ts +0 -4
  198. package/dist/config/shared-store.d.ts +0 -2
  199. package/dist/config/types.d.ts +0 -3
  200. package/dist/content-requirements-cache.d.ts +0 -1
  201. package/dist/contexts/context-store.d.ts +0 -2
  202. package/dist/contexts/held-runs.d.ts +0 -2
  203. package/dist/contexts/variable-store.d.ts +0 -2
  204. package/dist/dashboard/attestation-filters.d.ts +13 -18
  205. package/dist/dashboard/handler.d.ts +143 -307
  206. package/dist/db/client.d.ts +2 -6
  207. package/dist/db/deferred-index-build.d.ts +8 -10
  208. package/dist/db/deferred-indexes.d.ts +15 -22
  209. package/dist/db/migration-provider.d.ts +2 -4
  210. package/dist/db/migration-test-harness.d.ts +26 -44
  211. package/dist/db/migrations/001_initial.d.ts +1 -4
  212. package/dist/db/migrations/002_config_versions_key_version.d.ts +5 -8
  213. package/dist/db/migrations/003_access_log.d.ts +10 -15
  214. package/dist/db/migrations/004_rename_bundle_to_source.d.ts +7 -9
  215. package/dist/db/migrations/005_cold_store_chunk_counter.d.ts +4 -10
  216. package/dist/db/migrations/006_runs_jobs_steps_archived_at.d.ts +9 -29
  217. package/dist/db/migrations/007_audit_logs_archived_at.d.ts +11 -30
  218. package/dist/db/migrations/008_event_log_archived_at.d.ts +14 -29
  219. package/dist/db/migrations/009_access_log_trigram.d.ts +4 -8
  220. package/dist/db/migrations/010_cold_store_chunks.d.ts +16 -26
  221. package/dist/db/migrations/011_drop_source_secrets_notify.d.ts +6 -14
  222. package/dist/db/migrations/012_peer_credentials_active_uniq.d.ts +9 -14
  223. package/dist/db/migrations/013_execution_log_bytes.d.ts +5 -13
  224. package/dist/db/migrations/014_kici_events_lease_retry.d.ts +14 -27
  225. package/dist/db/migrations/015_org_settings_customer_scoped.d.ts +12 -17
  226. package/dist/db/migrations/016_org_settings_allow_http_npm.d.ts +4 -6
  227. package/dist/db/migrations/019_generic_sources_change_notify.d.ts +13 -17
  228. package/dist/db/migrations/020_org_settings_dashboard_write_policy.d.ts +5 -8
  229. package/dist/db/migrations/021_check_run_tracking.d.ts +5 -17
  230. package/dist/db/migrations/022_scaler_manager_state.d.ts +10 -20
  231. package/dist/db/migrations/023_dispatch_queue_recovery_deadline.d.ts +7 -18
  232. package/dist/db/migrations/024_dispatch_queue_provisioning_error.d.ts +5 -11
  233. package/dist/db/migrations/025_init_failure.d.ts +5 -9
  234. package/dist/db/migrations/027_workflow_timeout.d.ts +5 -13
  235. package/dist/db/migrations/029_dispatch_queue_attempts.d.ts +4 -10
  236. package/dist/db/migrations/030_held_runs_env_set_null.d.ts +5 -6
  237. package/dist/db/migrations/031_dispatch_queue_ack_deadline.d.ts +6 -12
  238. package/dist/db/migrations/033_org_settings_approval.d.ts +7 -10
  239. package/dist/db/migrations/034_held_runs_generalize.d.ts +10 -18
  240. package/dist/db/migrations/035_pending_workflow_contexts.d.ts +4 -5
  241. package/dist/db/migrations/037_generic_sources_provider_type_local.d.ts +5 -6
  242. package/dist/db/migrations/038_remote_sources.d.ts +5 -7
  243. package/dist/db/migrations/045_host_properties.d.ts +5 -9
  244. package/dist/db/migrations/046_join_token_consumed_by_instance.d.ts +5 -10
  245. package/dist/db/migrations/048_host_reboot_pending.d.ts +6 -12
  246. package/dist/db/migrations/049_held_runs_payload.d.ts +3 -8
  247. package/dist/db/migrations/050_sources_slug.d.ts +4 -5
  248. package/dist/db/migrations/051_binding_host_pattern.d.ts +7 -10
  249. package/dist/db/migrations/052_host_reach_metadata.d.ts +8 -11
  250. package/dist/db/migrations/053_agent_token_single_use.d.ts +6 -10
  251. package/dist/db/migrations/054_local_working_tree.d.ts +4 -6
  252. package/dist/db/migrations/055_agent_token_mandatory_labels.d.ts +6 -11
  253. package/dist/db/migrations/056_execution_jobs_environments.d.ts +4 -11
  254. package/dist/db/migrations/064_execution_jobs_skipped_environments.d.ts +6 -9
  255. package/dist/db/migrations/065_pending_attestations.d.ts +9 -12
  256. package/dist/db/migrations/066_pending_attestations_rejected.d.ts +4 -7
  257. package/dist/db/migrations/068_request_idempotency.d.ts +7 -9
  258. package/dist/db/migrations/069_reroute_tunables.d.ts +6 -14
  259. package/dist/db/migrations/071_batch_accumulation.d.ts +8 -16
  260. package/dist/db/migrations/072_dispatch_queue_run_id_index.d.ts +3 -9
  261. package/dist/db/migrations/074_normalize_zero_concurrency_limit.d.ts +4 -7
  262. package/dist/db/migrations/076_artifacts.d.ts +7 -8
  263. package/dist/db/migrations/078_org_settings_backup_staleness.d.ts +3 -6
  264. package/dist/db/migrations/079_org_settings_scaler_spawn_timeout.d.ts +4 -8
  265. package/dist/db/migrations/080_cluster_settings.d.ts +6 -10
  266. package/dist/db/migrations/081_org_settings_queue_timeout.d.ts +7 -11
  267. package/dist/db/migrations/082_host_s3_reachable.d.ts +5 -10
  268. package/dist/db/migrations/083_org_settings_artifact_caps.d.ts +6 -8
  269. package/dist/db/migrations/084_orchestrator_signing_keys.d.ts +8 -13
  270. package/dist/db/migrations/085_cluster_settings_reroute_flap_grace_ms.d.ts +4 -5
  271. package/dist/db/migrations/086_cluster_settings_max_fanout_hosts.d.ts +3 -3
  272. package/dist/db/migrations/087_cluster_settings_event_router_rate_limit.d.ts +5 -3
  273. package/dist/db/migrations/088_cluster_settings_cache_max_tarball_bytes.d.ts +3 -3
  274. package/dist/db/migrations/089_cluster_settings_cache_ttl_days.d.ts +3 -5
  275. package/dist/db/migrations/090_cluster_settings_concurrency_wait_timeout_ms.d.ts +3 -6
  276. package/dist/db/migrations/091_cluster_settings_agent_token_ttl_ms.d.ts +3 -6
  277. package/dist/db/migrations/092_cluster_settings_version.d.ts +5 -9
  278. package/dist/db/migrations/094_dashboard_encryption_keys.d.ts +9 -14
  279. package/dist/db/migrations/095_dashboard_write_policy_tristate.d.ts +2 -6
  280. package/dist/db/migrations/099_cluster_settings_dashboard_verified_issuer.d.ts +8 -11
  281. package/dist/db/migrations/101_contexts_hold_expiry_drop_default.d.ts +9 -15
  282. package/dist/db/migrations/102_dispatch_queue_agent_id.d.ts +6 -11
  283. package/dist/db/migrations/103_cluster_settings_ownership_db_check_timeout_ms.d.ts +6 -12
  284. package/dist/db/migrations/104_check_run_terminal_sent.d.ts +8 -14
  285. package/dist/db/migrations/105_org_trust_policy.d.ts +5 -7
  286. package/dist/db/migrations/106_cluster_settings_check_run_tracking_ttl_days.d.ts +4 -12
  287. package/dist/db/migrations/107_check_run_tracking_updated_at_index.d.ts +8 -14
  288. package/dist/db/migrations/113_execution_runs_workflow_repo_index.d.ts +10 -19
  289. package/dist/db/migrations/115_global_workflows_cluster_switch.d.ts +2 -3
  290. package/dist/db/migrations/121_org_settings_allow_untrusted_dockerfile_builds.d.ts +7 -8
  291. package/dist/db/migrations/122_host_roster_scaler_managed.d.ts +9 -16
  292. package/dist/db/migrations/123_workflow_registrations_default_branch.d.ts +8 -16
  293. package/dist/db/migrations/125_org_trust_directory.d.ts +13 -21
  294. package/dist/db/migrations/126_held_runs_posted_pending_check.d.ts +10 -16
  295. package/dist/db/migrations/127_org_trust_policy_approval_expiry_seconds.d.ts +8 -16
  296. package/dist/db/migrations/128_execution_runs_global_eval_round.d.ts +6 -11
  297. package/dist/db/migrations/129_execution_runs_dispatch_routing_key.d.ts +8 -11
  298. package/dist/db/migrations/130_scaler_provision_outcomes.d.ts +13 -20
  299. package/dist/db/migrations/131_execution_jobs_git_credentials.d.ts +12 -22
  300. package/dist/db/migrations/132_execution_runs_trigger_event.d.ts +6 -16
  301. package/dist/db/migrations/133_dispatch_queue_source_tar_digest.d.ts +6 -9
  302. package/dist/db/migrations/140_dispatch_queue_canonical_labels.d.ts +22 -40
  303. package/dist/db/migrations/143_execution_jobs_precursor_result.d.ts +9 -18
  304. package/dist/db/migrations/144_execution_runs_registration_window.d.ts +12 -20
  305. package/dist/db/migrations/147_sealed_job_secrets.d.ts +5 -9
  306. package/dist/db/migrations/148_cluster_settings_sealed_secrets_retry_backoff_ms.d.ts +7 -13
  307. package/dist/db/migrations/150_execution_runs_status_epoch.d.ts +6 -11
  308. package/dist/db/migrations/152_org_settings_cache_upload_settle_timeout.d.ts +5 -8
  309. package/dist/db/migrations/157_host_roster_identity_source.d.ts +9 -13
  310. package/dist/db/migrations/159_org_id_widen_to_source_width.d.ts +5 -0
  311. package/dist/db/migrator.d.ts +17 -25
  312. package/dist/db/notify-listener.d.ts +8 -11
  313. package/dist/db/repos/dashboard-encryption-keys-repo.d.ts +9 -10
  314. package/dist/db/synthetic-job-ids.d.ts +6 -8
  315. package/dist/db/types.d.ts +531 -1058
  316. package/dist/deployment/deployment-identity.d.ts +42 -60
  317. package/dist/diagnostics/bundle-reader.d.ts +3 -15
  318. package/dist/diagnostics/bundle-writer.d.ts +5 -12
  319. package/dist/diagnostics/checks/agents.d.ts +1 -7
  320. package/dist/diagnostics/checks/backup.d.ts +7 -10
  321. package/dist/diagnostics/checks/certs.d.ts +1 -6
  322. package/dist/diagnostics/checks/config.d.ts +2 -5
  323. package/dist/diagnostics/checks/db.d.ts +1 -1
  324. package/dist/diagnostics/checks/disk.d.ts +1 -6
  325. package/dist/diagnostics/checks/firecracker-network.d.ts +3 -3
  326. package/dist/diagnostics/checks/index.d.ts +0 -6
  327. package/dist/diagnostics/checks/retention.d.ts +3 -6
  328. package/dist/diagnostics/checks/scaler.d.ts +3 -7
  329. package/dist/diagnostics/checks/ws.d.ts +1 -6
  330. package/dist/diagnostics/fleet-collector.d.ts +11 -14
  331. package/dist/diagnostics/fleet-constants.d.ts +1 -3
  332. package/dist/diagnostics/fleet-selection.d.ts +3 -7
  333. package/dist/diagnostics/fleet-topology.d.ts +2 -6
  334. package/dist/diagnostics/fleet-wiring.d.ts +6 -12
  335. package/dist/diagnostics/index.d.ts +0 -5
  336. package/dist/diagnostics/runner.d.ts +4 -8
  337. package/dist/diagnostics/types.d.ts +10 -21
  338. package/dist/drain/drain-controller.d.ts +16 -22
  339. package/dist/entry-helpers.d.ts +0 -2
  340. package/dist/events/circuit-breaker.d.ts +0 -3
  341. package/dist/events/event-router.d.ts +1 -2
  342. package/dist/events/event-store.d.ts +0 -9
  343. package/dist/events/trust-store.d.ts +0 -3
  344. package/dist/events/types.d.ts +0 -9
  345. package/dist/firecracker/host-network.d.ts +24 -30
  346. package/dist/firecracker/net-interfaces.d.ts +4 -7
  347. package/dist/helpers/rate-limiter.d.ts +0 -1
  348. package/dist/index.js +240 -482
  349. package/dist/metrics/agent-metrics-aggregator.d.ts +24 -67
  350. package/dist/metrics/metrics-reporter.d.ts +4 -13
  351. package/dist/metrics/prometheus.d.ts +47 -81
  352. package/dist/orchestrator-core.d.ts +3 -7
  353. package/dist/pipeline/content-filter.d.ts +20 -30
  354. package/dist/pipeline/cross-source-tally.d.ts +7 -8
  355. package/dist/pipeline/decorating-secret-resolver.d.ts +4 -8
  356. package/dist/pipeline/degraded-reason.d.ts +3 -4
  357. package/dist/pipeline/direct-ingress-deps.d.ts +15 -24
  358. package/dist/pipeline/dispatch-matched-workflow.d.ts +289 -525
  359. package/dist/pipeline/flatten-lock-steps.d.ts +4 -6
  360. package/dist/pipeline/global-dispatch-identity.d.ts +5 -10
  361. package/dist/pipeline/global-eval-round.d.ts +65 -151
  362. package/dist/pipeline/global-round-hold.d.ts +5 -7
  363. package/dist/pipeline/held-context-data.d.ts +5 -8
  364. package/dist/pipeline/held-round-registrations.d.ts +8 -11
  365. package/dist/pipeline/install-gate.d.ts +15 -25
  366. package/dist/pipeline/install-secrets-resolver.d.ts +24 -34
  367. package/dist/pipeline/internal-event-pipeline.d.ts +45 -62
  368. package/dist/pipeline/invoke-gate.d.ts +27 -40
  369. package/dist/pipeline/job-contexts.d.ts +19 -36
  370. package/dist/pipeline/manual-schedule.d.ts +7 -13
  371. package/dist/pipeline/needs-scheduler.d.ts +29 -46
  372. package/dist/pipeline/pending-workflow-context.d.ts +14 -28
  373. package/dist/pipeline/process-webhook.d.ts +88 -123
  374. package/dist/pipeline/processor.d.ts +209 -355
  375. package/dist/pipeline/remote-source-store.d.ts +5 -8
  376. package/dist/pipeline/request-idempotency.d.ts +10 -13
  377. package/dist/pipeline/rerun-global.d.ts +6 -7
  378. package/dist/pipeline/rerun-inputs.d.ts +23 -37
  379. package/dist/pipeline/rerun.d.ts +34 -57
  380. package/dist/pipeline/resolve-sandbox-grant.d.ts +5 -10
  381. package/dist/pipeline/resume-workflow.d.ts +28 -34
  382. package/dist/pipeline/route-or-dispatch-jobs.d.ts +19 -30
  383. package/dist/pipeline/run-event-context.d.ts +16 -21
  384. package/dist/pipeline/sandbox-allowlist-reader.d.ts +7 -11
  385. package/dist/pipeline/security-hold-check.d.ts +56 -80
  386. package/dist/pipeline/test-pipeline.d.ts +20 -46
  387. package/dist/pipeline/unbound-job-context.d.ts +6 -9
  388. package/dist/pipeline/undispatched-hold-checks.d.ts +4 -6
  389. package/dist/pipeline/wave-scheduler.d.ts +15 -22
  390. package/dist/pipeline/webhook-payload-store.d.ts +3 -10
  391. package/dist/pipeline/workflow-lock-at-sha.d.ts +14 -20
  392. package/dist/policy/dashboard-write-policy.d.ts +1 -1
  393. package/dist/provider-registry.d.ts +0 -19
  394. package/dist/providers/generic/index.d.ts +0 -2
  395. package/dist/providers/generic/normalizer.d.ts +0 -1
  396. package/dist/providers/generic/verification.d.ts +0 -8
  397. package/dist/providers/github/auth.d.ts +0 -1
  398. package/dist/providers/github/changed-files.d.ts +2 -1
  399. package/dist/providers/github/file-contents.d.ts +0 -4
  400. package/dist/providers/github/lock-file.d.ts +0 -4
  401. package/dist/providers/github/normalizer.d.ts +1 -9
  402. package/dist/providers/local/index.d.ts +1 -2
  403. package/dist/providers/local/lock-file-fetcher.d.ts +0 -4
  404. package/dist/providers/local/normalizer.d.ts +0 -10
  405. package/dist/providers/local/repo-url-builder.d.ts +0 -2
  406. package/dist/providers/universal-git/clone-token.d.ts +0 -2
  407. package/dist/providers/universal-git/lock-file.d.ts +0 -2
  408. package/dist/providers/universal-git/normalizer.d.ts +0 -2
  409. package/dist/queue/bootstrap.d.ts +3 -15
  410. package/dist/queue/cleanup.d.ts +29 -50
  411. package/dist/queue/depth-refresher.d.ts +21 -39
  412. package/dist/queue/job-queue.d.ts +112 -163
  413. package/dist/queue/retention.d.ts +23 -36
  414. package/dist/queue/scheduled-job.d.ts +17 -39
  415. package/dist/queue/terminalize-unroutable.d.ts +16 -18
  416. package/dist/queue/unroutable-probe.d.ts +15 -22
  417. package/dist/registration/extractor.d.ts +0 -6
  418. package/dist/registration/registration-index.d.ts +0 -6
  419. package/dist/registration/registration-store.d.ts +0 -9
  420. package/dist/reporting/agent-failure-category.d.ts +3 -5
  421. package/dist/reporting/check-run-reporter.d.ts +142 -316
  422. package/dist/reporting/check-run-summary.d.ts +16 -35
  423. package/dist/reporting/check-run-tracking-store.d.ts +54 -107
  424. package/dist/reporting/execution-tracker.d.ts +356 -526
  425. package/dist/reporting/fs-log-storage.d.ts +31 -33
  426. package/dist/reporting/job-check-run-completion.d.ts +14 -22
  427. package/dist/reporting/log-chunk-sink.d.ts +11 -16
  428. package/dist/reporting/log-pull-handler.d.ts +4 -13
  429. package/dist/reporting/log-retention.d.ts +3 -4
  430. package/dist/reporting/log-storage.d.ts +24 -52
  431. package/dist/reporting/log-writer.d.ts +28 -56
  432. package/dist/reporting/peer-log-normalize.d.ts +4 -8
  433. package/dist/reporting/run-aggregator.d.ts +6 -11
  434. package/dist/reporting/run-summary-fields.d.ts +5 -8
  435. package/dist/reporting/s3-log-storage.d.ts +31 -50
  436. package/dist/reporting/step-display-order.d.ts +11 -21
  437. package/dist/reporting/step-log-buffer.d.ts +7 -28
  438. package/dist/reporting/step-log-reader.d.ts +11 -19
  439. package/dist/routes/admin-access-log.d.ts +4 -6
  440. package/dist/routes/admin-auth.d.ts +17 -38
  441. package/dist/routes/admin-backends.d.ts +3 -14
  442. package/dist/routes/admin-cluster-name.d.ts +13 -21
  443. package/dist/routes/admin-cluster-settings.d.ts +6 -9
  444. package/dist/routes/admin-config.d.ts +7 -19
  445. package/dist/routes/admin-contexts.d.ts +6 -13
  446. package/dist/routes/admin-db.d.ts +5 -10
  447. package/dist/routes/admin-event-dlq.d.ts +3 -5
  448. package/dist/routes/admin-event-inspect.d.ts +3 -4
  449. package/dist/routes/admin-event-log.d.ts +3 -7
  450. package/dist/routes/admin-events.d.ts +16 -30
  451. package/dist/routes/admin-held-runs.d.ts +52 -76
  452. package/dist/routes/admin-maintenance.d.ts +3 -6
  453. package/dist/routes/admin-orchestrator-drain.d.ts +0 -2
  454. package/dist/routes/admin-org-settings.d.ts +8 -14
  455. package/dist/routes/admin-peer-forget.d.ts +0 -1
  456. package/dist/routes/admin-queue-execution.d.ts +3 -3
  457. package/dist/routes/admin-registrations.d.ts +3 -12
  458. package/dist/routes/admin-runs.d.ts +16 -29
  459. package/dist/routes/admin-scaler-orphans.d.ts +4 -4
  460. package/dist/routes/admin-scaler-reload.d.ts +5 -8
  461. package/dist/routes/admin-scheduled-jobs.d.ts +3 -4
  462. package/dist/routes/admin-sources.d.ts +20 -29
  463. package/dist/routes/admin-trust-policy.d.ts +31 -48
  464. package/dist/routes/admin.d.ts +67 -94
  465. package/dist/routes/caller-identity.d.ts +5 -12
  466. package/dist/routes/capabilities.d.ts +8 -13
  467. package/dist/routes/diagnostics.d.ts +2 -10
  468. package/dist/routes/fleet.d.ts +1 -2
  469. package/dist/routes/github-webhook.d.ts +2 -5
  470. package/dist/routes/health.d.ts +6 -19
  471. package/dist/routes/provenance-oidc.d.ts +3 -3
  472. package/dist/routes/uploads.d.ts +5 -11
  473. package/dist/routes/webhooks.d.ts +2 -24
  474. package/dist/scaler/agent-binary-location.d.ts +77 -0
  475. package/dist/scaler/agent-fit.d.ts +2 -2
  476. package/dist/scaler/backend-factory.d.ts +10 -18
  477. package/dist/scaler/bare-metal-backend.d.ts +28 -45
  478. package/dist/scaler/claim-store.d.ts +20 -43
  479. package/dist/scaler/config.d.ts +10 -37
  480. package/dist/scaler/container-backend.d.ts +22 -35
  481. package/dist/scaler/container-hostconfig.d.ts +10 -16
  482. package/dist/scaler/container-routing.d.ts +10 -13
  483. package/dist/scaler/disk-guard.d.ts +2 -3
  484. package/dist/scaler/event-backend.d.ts +33 -58
  485. package/dist/scaler/event-provision-reaper.d.ts +61 -84
  486. package/dist/scaler/failure-tracker.d.ts +6 -13
  487. package/dist/scaler/file-tail.d.ts +6 -19
  488. package/dist/scaler/firecracker-api.d.ts +19 -63
  489. package/dist/scaler/firecracker-backend.d.ts +142 -258
  490. package/dist/scaler/host-access.d.ts +7 -10
  491. package/dist/scaler/index.d.ts +3 -6
  492. package/dist/scaler/ip-allocator.d.ts +30 -82
  493. package/dist/scaler/label-matcher.d.ts +14 -35
  494. package/dist/scaler/log-forwarder.d.ts +6 -25
  495. package/dist/scaler/machine-ledger.d.ts +39 -86
  496. package/dist/scaler/manager.d.ts +517 -787
  497. package/dist/scaler/pending-scale-sweeper.d.ts +8 -11
  498. package/dist/scaler/reap-orphans.d.ts +8 -12
  499. package/dist/scaler/resolve-container-auth.d.ts +12 -21
  500. package/dist/scaler/scaler-events.d.ts +2 -5
  501. package/dist/scaler/scaler-state-store.d.ts +127 -189
  502. package/dist/scaler/spawn-errors.d.ts +1 -4
  503. package/dist/scaler/startup-orphan-sweep.d.ts +3 -4
  504. package/dist/scaler/startup-tools-check.d.ts +21 -0
  505. package/dist/scaler/types.d.ts +142 -255
  506. package/dist/scaler/vm-job-bindings.d.ts +5 -9
  507. package/dist/scaler/warm-pool.d.ts +46 -93
  508. package/dist/secrets/audit-logger.d.ts +0 -3
  509. package/dist/secrets/backend-health.d.ts +0 -9
  510. package/dist/secrets/backend-registry.d.ts +0 -9
  511. package/dist/secrets/cleanup.d.ts +0 -1
  512. package/dist/secrets/config.d.ts +0 -3
  513. package/dist/secrets/ephemeral-keys.d.ts +0 -3
  514. package/dist/secrets/pg-secret-store.d.ts +0 -3
  515. package/dist/secrets/rbac.d.ts +0 -6
  516. package/dist/secrets/secret-output-store.d.ts +0 -6
  517. package/dist/secrets/secret-resolver.d.ts +2 -6
  518. package/dist/secrets/token-manager.d.ts +0 -4
  519. package/dist/secrets/vault-secret-store.d.ts +0 -13
  520. package/dist/security/comment-handler.d.ts +0 -2
  521. package/dist/security/workflow-diff.d.ts +1 -1
  522. package/dist/server.js +7500 -12629
  523. package/dist/sources/source-manager.d.ts +0 -3
  524. package/dist/sources/source-store.d.ts +0 -9
  525. package/dist/sources/source-validator.d.ts +0 -3
  526. package/dist/stale-detector/all-terminal-runs.d.ts +8 -11
  527. package/dist/stale-detector/gate-deadline-detector.d.ts +14 -19
  528. package/dist/stale-detector/reboot-deadline-sweep.d.ts +7 -11
  529. package/dist/stale-detector/stale-dispatch-candidates.d.ts +13 -20
  530. package/dist/stale-detector/stale-run-detector.d.ts +74 -121
  531. package/dist/stale-detector/workflow-deadline-detector.d.ts +15 -43
  532. package/dist/standalone.js +7141 -11957
  533. package/dist/storage/blob-routes.d.ts +10 -19
  534. package/dist/storage/filesystem.d.ts +19 -29
  535. package/dist/storage/index.d.ts +2 -10
  536. package/dist/storage/key-discriminator.d.ts +8 -10
  537. package/dist/storage/loopback-guard.d.ts +27 -45
  538. package/dist/storage/s3.d.ts +25 -52
  539. package/dist/storage/sign-url.d.ts +7 -22
  540. package/dist/storage/types.d.ts +44 -70
  541. package/dist/webhook/event-log.d.ts +0 -2
  542. package/dist/webhook/generic-sources.d.ts +0 -21
  543. package/dist/webhook/ingest-admission.d.ts +0 -1
  544. package/dist/webhook/relay-buffer.d.ts +2 -2
  545. package/dist/webhook/verify-inbound.d.ts +0 -1
  546. package/dist/worker/in-memory-execution-tracker.d.ts +9 -31
  547. package/dist/worker/in-memory-job-queue.d.ts +32 -72
  548. package/dist/worker/peer-outbox.d.ts +5 -8
  549. package/dist/worker/reroute-dispatch.d.ts +4 -6
  550. package/dist/worker/static-agent-token-store.d.ts +6 -27
  551. package/dist/worker/worker-outbox-relay.d.ts +2 -2
  552. package/dist/worker/worker-status.d.ts +3 -20
  553. package/dist/ws/agent-api-registry.d.ts +8 -27
  554. package/dist/ws/agent-handler.d.ts +63 -110
  555. package/dist/ws/agent-heartbeat.d.ts +5 -12
  556. package/dist/ws/bringup-api.d.ts +31 -38
  557. package/dist/ws/dashboard-backends-handler.d.ts +12 -22
  558. package/dist/ws/dashboard-context-handler.d.ts +37 -80
  559. package/dist/ws/dashboard-diagnostics-handler.d.ts +8 -25
  560. package/dist/ws/dashboard-dispatch-guard.d.ts +3 -4
  561. package/dist/ws/dashboard-fleet-handler.d.ts +9 -13
  562. package/dist/ws/dashboard-fleet-write-handler.d.ts +7 -21
  563. package/dist/ws/dashboard-global-workflows-handler.d.ts +22 -44
  564. package/dist/ws/dashboard-registrations-handler.d.ts +10 -27
  565. package/dist/ws/dashboard-run-state-handler.d.ts +10 -13
  566. package/dist/ws/event-buffer.d.ts +3 -6
  567. package/dist/ws/execution-status-frame.d.ts +7 -10
  568. package/dist/ws/failure-messages.d.ts +9 -14
  569. package/dist/ws/fleet-agent-collector.d.ts +6 -12
  570. package/dist/ws/fleet-runs-on-all.d.ts +1 -6
  571. package/dist/ws/git-credential-relay.d.ts +12 -20
  572. package/dist/ws/inventory-api.d.ts +4 -5
  573. package/dist/ws/observer-registry.d.ts +14 -59
  574. package/dist/ws/ownership-gate.d.ts +1 -1
  575. package/dist/ws/platform-client.d.ts +21 -30
  576. package/dist/ws/replay-chunker.d.ts +7 -10
  577. package/dist/ws/server-options.d.ts +5 -9
  578. package/dist/ws/test-relay-handlers.d.ts +36 -60
  579. package/installer-image-digests.json +3 -3
  580. package/package.json +6 -5
  581. package/sbom.spdx.json +53 -53
  582. package/dist/__test-helpers__/fake-scaler-state-store.d.ts +0 -24
  583. package/dist/__test-helpers__/mock-db-query.d.ts +0 -129
  584. package/dist/__test-helpers__/mock-db.d.ts +0 -134
  585. package/dist/__test-helpers__/mock-ws.d.ts +0 -13
  586. package/dist/__test-helpers__/peer-mutual-auth.d.ts +0 -42
  587. package/dist/__test-helpers__/scratch-db.d.ts +0 -16
  588. package/dist/__test-helpers__/test-db.d.ts +0 -34
  589. package/dist/pipeline/dispatch-matched-workflow.test-helpers.d.ts +0 -121
@@ -1,29 +1,21 @@
1
1
  import { type Kysely } from 'kysely';
2
2
  /**
3
- * Create `org_trust_directory` — the orchestrator's cache of the Platform-owned
4
- * approval directory pushed alongside the policy on `trust_policy.update`:
5
- * identity links, per-member CI trust levels, and team memberships.
3
+ * Create `org_trust_directory`: the orchestrator's cache of the Platform-owned approval directory
4
+ * pushed with the policy on `trust_policy.update` — identity links, per-member CI trust levels
5
+ * and team memberships.
6
6
  *
7
- * A sibling of `org_trust_policy` rather than more columns on it: the policy is
8
- * four scalar switches, while these three are structured documents the Platform
9
- * replaces wholesale on every push — `identity_links` and `team_memberships`
10
- * are arrays, `member_ci_trust` is a user-id-keyed map — so they are stored as
11
- * JSONB.
7
+ * A sibling of `org_trust_policy`, not more columns on it: the policy is scalar switches, while
8
+ * these are structured documents the Platform replaces wholesale on every push (arrays, and a
9
+ * user-id-keyed map for `member_ci_trust`), stored as JSONB.
12
10
  *
13
- * Persisting rather than holding them only in memory is what lets
14
- * `/kici approve` authorize a commenter after a restart. Without a cached
15
- * directory the orchestrator cannot map a comment author onto a KiCI user at
16
- * all until the Platform's next push lands, so every approval is refused in the
17
- * meantime.
11
+ * Persisting it lets `/kici approve` authorize a commenter after a restart; without it the
12
+ * orchestrator cannot map a comment author to a KiCI user, and refuses every approval, until the
13
+ * next Platform push.
18
14
  *
19
- * Wherever a Platform is attached it is the only writer of this row. An
20
- * independent orchestrator has no Platform, so there the operator writes it
21
- * through `kici-admin trust-policy directory-set`. The two are mutually
22
- * exclusive — the admin route refuses the local write on any Platform-attached
23
- * orchestrator — so a deployment still only ever has one writer, and there is
24
- * no counterpart to `org_trust_policy.source` to record which it was.
25
- *
26
- * Idempotent: guarded by IF NOT EXISTS, so a re-run is a no-op.
15
+ * A Platform-attached orchestrator's only writer is the Platform; an independent one's is the
16
+ * operator, via `kici-admin trust-policy directory-set`. The admin route refuses the local write
17
+ * when a Platform is attached, so there is one writer and no counterpart to
18
+ * `org_trust_policy.source`. Idempotent (IF NOT EXISTS).
27
19
  */
28
20
  export declare function up(db: Kysely<unknown>): Promise<void>;
29
21
  export declare function down(db: Kysely<unknown>): Promise<void>;
@@ -3,25 +3,19 @@ import { type Kysely } from 'kysely';
3
3
  * Add `held_runs.posted_pending_check boolean` — whether this hold's pending
4
4
  * `KiCI Security` check actually reached the provider.
5
5
  *
6
- * `postCheckStatus` CREATES the named check run when it finds none, so
7
- * terminalizing a check the hold never posted does not close anything: it puts
8
- * a completed `KiCI Security` run on a commit that had none. Whether a hold
9
- * posted one was derived from the row's SHAPE, which answers what the code
10
- * INTENDED — a post that the provider refused, or that no check poster was in
11
- * reach to attempt, leaves a shape that says "posted" and a commit that has
12
- * nothing. The column records what happened instead of what was meant.
6
+ * `postCheckStatus` CREATES the named check run when it finds none, so terminalizing a check
7
+ * the hold never posted fabricates a completed `KiCI Security` run. The row's SHAPE only says
8
+ * what the code intended: a refused post, or one no check poster could attempt, still reads
9
+ * "posted". This column records what happened.
13
10
  *
14
- * Nullable, with no default, and the three values are distinct:
11
+ * Nullable, no default:
15
12
  *
16
- * - `true` — the post returned successfully. The hold owns the check.
17
- * - `false` — no post was attempted, or one was attempted and failed. Nothing
18
- * to terminalize; a settle would fabricate.
19
- * - `null` — the row predates this column, so nothing recorded either way. The
20
- * shape derivation still answers for it. A `false` DEFAULT would instead
21
- * declare every hold pending at deploy time un-posted and strand the checks
22
- * they really do have.
13
+ * - `true` — the post succeeded; the hold owns the check.
14
+ * - `false` — no post, or a failed one. Nothing to terminalize; a settle would fabricate.
15
+ * - `null` — the row predates this column; the shape derivation still answers for it. A `false`
16
+ * DEFAULT would mark every hold pending at deploy time un-posted and strand its real check.
23
17
  *
24
- * Idempotent: a re-run on a DB that already has the column is a no-op.
18
+ * Idempotent.
25
19
  */
26
20
  export declare function up(db: Kysely<unknown>): Promise<void>;
27
21
  export declare function down(db: Kysely<unknown>): Promise<void>;
@@ -2,24 +2,16 @@ import { type Kysely } from 'kysely';
2
2
  /**
3
3
  * Add `org_trust_policy.approval_expiry_seconds` (nullable INTEGER).
4
4
  *
5
- * The authoritative security-hold window, at the granularity the existing
6
- * `approval_expiry_hours` cannot express. Nullable rather than NOT NULL with a
7
- * default, and deliberately NOT backfilled: NULL means "no seconds value was
8
- * ever written", and every reader falls back to `approval_expiry_hours * 3600`
9
- * for such a row. A backfill would have to guess, and a NOT NULL default would
10
- * make a row written by an older build — which does not know the column —
11
- * silently claim the default window instead of the hours the operator set.
5
+ * The authoritative security-hold window, finer than `approval_expiry_hours` can express.
6
+ * Nullable and deliberately NOT backfilled: NULL means "no seconds value written", and readers
7
+ * fall back to `approval_expiry_hours * 3600`. A backfill would guess, and a NOT NULL default
8
+ * would make a row written by an older build silently claim the default window instead of the
9
+ * operator's hours. `contexts.hold_expiry_seconds` uses the same shape for the same reason.
12
10
  *
13
- * The same shape `contexts.hold_expiry_seconds` already uses for the same
14
- * reason: "null = unset, the default window applies".
11
+ * `approval_expiry_hours` stays: it is the only window an older peer reads and what a partial
12
+ * write supplies, and dropping it (NOT NULL, no default) would break a rollback outright.
15
13
  *
16
- * `approval_expiry_hours` is kept. It is not dead — it is still the only window
17
- * an older peer can read, and it is still what a partial write supplies — so
18
- * dropping it would be a destructive schema change against a protected surface
19
- * and would break a rollback outright (the column is NOT NULL with no default).
20
- *
21
- * Idempotent: guarded on column existence; a re-run on a DB that already has
22
- * the column is a no-op.
14
+ * Idempotent: guarded on column existence.
23
15
  */
24
16
  export declare function up(db: Kysely<unknown>): Promise<void>;
25
17
  export declare function down(db: Kysely<unknown>): Promise<void>;
@@ -4,19 +4,14 @@ import { type Kysely } from 'kysely';
4
4
  * the structural marker for a run row that records a global evaluation round
5
5
  * rather than a workflow.
6
6
  *
7
- * The re-run path must recognise such a run: re-running it re-executes the
8
- * evaluation, not a workflow. The only discriminator available to it otherwise
9
- * is the round job's `__globaleval__` name prefix, which a customer workflow
10
- * may carry — a name a customer chooses cannot decide which code path a re-run
11
- * takes. A column stamped where the round failure is recorded is
7
+ * Re-running such a run re-executes the evaluation, not a workflow. The only
8
+ * other discriminator is the round job's `__globaleval__` name prefix, which a
9
+ * customer workflow may carry, so a customer-chosen name would pick the re-run
10
+ * code path; a column stamped where the round failure is recorded is
12
11
  * collision-proof.
13
12
  *
14
- * `NOT NULL DEFAULT false` because the question has exactly two answers: every
15
- * pre-existing row is an ordinary run, and there is no third "unknown" reading
16
- * a null would carry.
17
- *
18
- * Idempotent: the add is guarded on existence and the drop uses IF EXISTS, so a
19
- * re-run is a no-op.
13
+ * `NOT NULL DEFAULT false`: every pre-existing row is an ordinary run, and no
14
+ * third "unknown" answer exists for a null to carry. Idempotent.
20
15
  */
21
16
  export declare function up(db: Kysely<unknown>): Promise<void>;
22
17
  export declare function down(db: Kysely<unknown>): Promise<void>;
@@ -3,18 +3,15 @@ import { type Kysely } from 'kysely';
3
3
  * Add `execution_runs.dispatch_routing_key TEXT NULL` — the source whose
4
4
  * credentials a run's `provider_context` actually holds.
5
5
  *
6
- * `routing_key` records the source the event ARRIVED on. For a cross-provider
7
- * global workflow those are two different sources: the lock file resolves
8
- * through another source's bundle, and `provider_context` is written from that
9
- * source's credentials. Anything that pairs the inbound routing key with the
10
- * stored context therefore hands one source's credentials to another source's
11
- * API client — the re-run of a failed evaluation round did exactly that, and
12
- * the resulting fetch either fails or reads the wrong tree.
6
+ * `routing_key` is the source the event ARRIVED on. For a cross-provider global
7
+ * workflow the lock file resolves through another source's bundle, whose
8
+ * credentials fill `provider_context`. Pairing the inbound routing key with that
9
+ * context hands one source's credentials to another's API client (as the re-run
10
+ * of a failed evaluation round did): the fetch fails or reads the wrong tree.
13
11
  *
14
- * Nullable, with no default: NULL means "the same source the event arrived on",
15
- * which is true of every run except a cross-provider dispatch and of every row
16
- * written before this column existed. A default would have to name a routing
17
- * key, and there is no cluster-wide one to name.
12
+ * Nullable, no default: NULL means the arrival source, true of every run except
13
+ * a cross-provider dispatch and of every older row. There is no cluster-wide
14
+ * routing key a default could name.
18
15
  *
19
16
  * Idempotent: the add is guarded on existence and the drop uses IF EXISTS, so a
20
17
  * re-run is a no-op.
@@ -2,30 +2,23 @@ import { type Kysely } from 'kysely';
2
2
  /**
3
3
  * Durable per-provision outcome, keyed by agent id.
4
4
  *
5
- * `scaler_spawning_agents` is deleted the moment a provision is torn down, so
6
- * its absence cannot tell "this provision was never adopted" from "this
7
- * provision was adopted and has since been torn down". The stale-spawn prune
8
- * has to separate exactly those two, because the first is a real external
9
- * provisioning failure every coordinator must back off on, and the second is a
10
- * healthy provision that must not be reported at all.
5
+ * A `scaler_spawning_agents` row is deleted at teardown, so its absence cannot separate "never
6
+ * adopted" (a real provisioning failure every coordinator must back off on) from "adopted, then
7
+ * torn down" (healthy; never reported). The stale-spawn prune needs exactly that split.
11
8
  *
12
- * This table carries the positive signal the spawn row cannot: the adoption is
13
- * written in the same transaction that stamps `adopted_by`, and it outlives the
14
- * spawn row's delete. Deliberately a separate table rather than a column on
15
- * `scaler_spawning_agents`: that row's delete is what the per-coordinator
16
- * provisioning backoff depends on, so it is left exactly as it is.
9
+ * The adoption is written in the same transaction that stamps `adopted_by` and outlives the
10
+ * spawn row. A separate table, not a column, because the per-coordinator provisioning backoff
11
+ * depends on the spawn row's delete.
17
12
  *
18
- * `adopted_*` and `condemned_*` are independent. A provision that was adopted
19
- * and later condemned by the reaper carries BOTH, and the condemn write never
20
- * touches the adoption columns — losing the adoption fact would restore the
21
- * misattribution this table exists to remove.
13
+ * `adopted_*` and `condemned_*` are independent: a provision adopted and later condemned
14
+ * carries BOTH, and the condemn write never touches the adoption columns, or the
15
+ * misattribution returns.
22
16
  *
23
- * Rows are purged by the leader-gated reaper once the spawn row is gone and the
24
- * retention floor has passed; see `ScalerStateStore.purgeProvisionOutcomes`.
17
+ * The leader-gated reaper purges rows once the spawn row is gone and the retention floor has
18
+ * passed (`ScalerStateStore.purgeProvisionOutcomes`).
25
19
  *
26
- * Idempotent: both statements are guarded by IF NOT EXISTS, so a re-run is a
27
- * no-op — including a re-run over a database that has the table but not the
28
- * index, which an existence probe over the table alone would skip.
20
+ * Idempotent: each statement is IF NOT EXISTS, covering a database with the table but not the
21
+ * index, which a table-existence probe would skip.
29
22
  */
30
23
  export declare function up(db: Kysely<unknown>): Promise<void>;
31
24
  export declare function down(db: Kysely<unknown>): Promise<void>;
@@ -1,29 +1,19 @@
1
1
  import { type Kysely } from 'kysely';
2
2
  /**
3
- * Add `execution_jobs.git_credentials JSONB NULL` — the `gitCredentials` map the
4
- * job's lock entry declared, as server truth the credential relay can read on
5
- * the hot path.
3
+ * Add `execution_jobs.git_credentials`: the job lock entry's `gitCredentials` map, as server
4
+ * truth the credential relay reads on the hot path. The relay runs on every git network
5
+ * operation, so it must not re-parse a lock file, and `execution_jobs` has no config column, so
6
+ * the declaration is written at dispatch.
6
7
  *
7
- * The relay is called on every git network operation, so it must not re-fetch
8
- * or re-parse a lock file to learn what a job is allowed to ask for. The
9
- * orchestrator persists no per-job lock entry (`execution_jobs` carries no
10
- * config column), so the declaration is written at dispatch and read back here.
8
+ * Values follow `LockJob.gitCredentials`: a `<name>Secret` field is a qualified
9
+ * `<context>:<key>` secret NAME; a `<name>Value` sibling carries material for a credential with
10
+ * no store entry. Stored verbatim as the declaration the relay compares requests against, not a
11
+ * secret store.
11
12
  *
12
- * Values follow `LockJob.gitCredentials`: a `<name>Secret` field is a secret
13
- * NAME in qualified `<context>:<key>` form, while its `<name>Value` sibling
14
- * carries material for a credential with no store entry to name. The column
15
- * stores whichever the lock declared, verbatim — it is the declaration the
16
- * relay compares a request against, not a secret store of its own.
17
- *
18
- * Nullable, with no default: NULL means "this job declared no git credentials",
19
- * which is true of nearly every job and of every row written before this column
20
- * existed. A default would have to name a declaration nobody made. The row is
21
- * written after the dispatch loop, so NULL also covers "not written yet" — the
22
- * relay resolves that ambiguity against the job's dispatch record rather than
23
- * reading it as a declaration (`git/job-context.ts`).
24
- *
25
- * Idempotent: the add is guarded on existence and the drop uses IF EXISTS, so a
26
- * re-run is a no-op.
13
+ * Nullable, no default: NULL means "declared no git credentials" (nearly every job, and every
14
+ * older row); a default would name a declaration nobody made. The row is written after the
15
+ * dispatch loop, so NULL also covers "not written yet", which the relay resolves against the
16
+ * job's dispatch record (`git/job-context.ts`). Idempotent.
27
17
  */
28
18
  export declare function up(db: Kysely<unknown>): Promise<void>;
29
19
  export declare function down(db: Kysely<unknown>): Promise<void>;
@@ -1,22 +1,12 @@
1
1
  import { type Kysely } from 'kysely';
2
2
  /**
3
- * Add `execution_runs.trigger_event TEXT NULL` — the event type that started
4
- * the run (`push`, `pr:open`, `schedule`, …).
3
+ * Add `execution_runs.trigger_event`: the event type that started the run (`push`, `pr:open`,
4
+ * `schedule`, …). The git credential relay evaluates a context's `triggerTypeFilters` against it,
5
+ * which needs the persisted value, not the tracker's in-memory copy.
5
6
  *
6
- * The tracker has always carried this value in memory and relayed it to the
7
- * dashboard, but never persisted it. The git credential relay needs it: it
8
- * evaluates a named context's protection rules against the run, and a context
9
- * may restrict which trigger types may use it (`triggerTypeFilters`). Without
10
- * the recorded value that rule cannot be evaluated at all.
11
- *
12
- * Nullable, with no default: a row written before this column existed has no
13
- * recorded trigger, and no cluster-wide value could stand in for one. A run
14
- * whose trigger is unknown fails a `triggerTypeFilters` rule closed, which is
15
- * the correct direction — a credential is withheld rather than granted on a
16
- * rule nobody could check.
17
- *
18
- * Idempotent: the add is guarded on existence and the drop uses IF EXISTS, so a
19
- * re-run is a no-op.
7
+ * Nullable, no default: an older row has no recorded trigger and no cluster-wide value can stand
8
+ * in. An unknown trigger fails a `triggerTypeFilters` rule closed, withholding the credential.
9
+ * Idempotent.
20
10
  */
21
11
  export declare function up(db: Kysely<unknown>): Promise<void>;
22
12
  export declare function down(db: Kysely<unknown>): Promise<void>;
@@ -4,16 +4,13 @@ import { type Kysely } from 'kysely';
4
4
  * tarball's own bytes, so the agent can verify what it downloaded before
5
5
  * extracting it.
6
6
  *
7
- * The neighbouring `source_tar_hash` column carries the workflow `contentHash`
8
- * despite its name, which is why the agent's restore path verified nothing: it
9
- * had no value to compare the bytes against. `deps_hash` next door has always
10
- * held its tarball's real digest, and this column is its source-side sibling.
7
+ * Despite its name, `source_tar_hash` carries the workflow `contentHash`, so the
8
+ * agent had no digest to check the bytes against. This is the source-side
9
+ * sibling of `deps_hash`, which holds its tarball's real digest.
11
10
  *
12
- * Nullable, with no default: NULL means "no digest known for this row", which
13
- * is true of every row written before the column existed and of any dispatch
14
- * whose source came from somewhere other than the content-addressed cache. The
15
- * agent treats NULL as "nothing to verify against" and restores unverified,
16
- * exactly as it did before — so an in-flight queue survives the upgrade.
11
+ * Nullable, no default: NULL means no digest is known (every older row, and any
12
+ * source not from the content-addressed cache). The agent then restores
13
+ * unverified, so an in-flight queue survives the upgrade.
17
14
  *
18
15
  * Idempotent: the add is guarded on existence and the drop uses IF EXISTS, so a
19
16
  * re-run is a no-op.
@@ -1,54 +1,36 @@
1
1
  import { type Kysely } from 'kysely';
2
2
  /**
3
- * Fold `dispatch_queue` label arrays to their canonical (trimmed, lowercase)
4
- * form.
3
+ * Fold `dispatch_queue` label arrays to their canonical (trimmed, lowercase) form.
5
4
  *
6
- * Label matching folds case, and every other label store folds on read.
7
- * `dispatch_queue` cannot: its comparison happens in SQL — the `@>` containment
8
- * prefilter and the `jsonb_array_elements_text` exclude check — so the SQL
9
- * filters rows before any JavaScript sees them. A row enqueued before labels
10
- * became case-insensitive carries whatever case the workflow author wrote, so
11
- * it would never again match a folded agent label set, and no read-side fold
12
- * could rescue it because the row is never selected in the first place. This
13
- * migration is what makes those rows reachable.
5
+ * Every other label store folds on read, but `dispatch_queue` compares in SQL (the `@>`
6
+ * prefilter and the `jsonb_array_elements_text` exclude check), filtering rows before any
7
+ * JavaScript sees them. A row enqueued before labels became case-insensitive would never match
8
+ * a folded agent label set again, and is never selected for a read-side fold to rescue.
14
9
  *
15
- * The fold mirrors `canonicalizeLabel` in `@kici-dev/engine` —
16
- * `btrim(lower(...))` against `raw.trim().toLowerCase()` — so a row this
17
- * migration rewrites holds the same bytes as the same labels enqueued today.
18
- * Lowercasing alone would strand a padded legacy label the same way a
19
- * mixed-case one is stranded, because the agent side trims.
10
+ * The fold mirrors `canonicalizeLabel` in `@kici-dev/engine` (`btrim(lower(...))` against
11
+ * `raw.trim().toLowerCase()`), so a rewritten row holds the same bytes as labels enqueued today.
12
+ * Lowercasing alone would strand a padded legacy label, because the agent side trims.
20
13
  *
21
- * `runs_on_patterns` / `exclude_patterns` are deliberately untouched: they hold
22
- * regex SOURCES, which cannot be lowercased without corrupting the pattern.
23
- * Those fold via the forced `i` flag applied when they are read.
14
+ * `runs_on_patterns` / `exclude_patterns` stay untouched: they hold regex SOURCES that
15
+ * lowercasing would corrupt, and fold via the forced `i` flag on read. The GIN index
16
+ * `idx_dispatch_queue_labels_gin` needs no change: only the values move.
24
17
  *
25
- * The GIN index `idx_dispatch_queue_labels_gin` needs no change — the query
26
- * shape is identical, only the values move.
18
+ * `COALESCE(jsonb_agg(...), '[]'::jsonb)` is unreachable as written and is defence in depth
19
+ * against the `EXISTS` guard being loosened. `jsonb_agg` over zero rows returns NULL, which would
20
+ * violate `runs_on_labels NOT NULL` and leave the drain nothing to walk on `exclude_labels`; zero
21
+ * rows needs an empty array, which the guard (an element differing from its folded form) never
22
+ * admits. A guard that admits an empty array makes the COALESCE load-bearing.
27
23
  *
28
- * `COALESCE(jsonb_agg(...), '[]'::jsonb)` is defence in depth against the
29
- * `EXISTS` guard below being loosened, and is unreachable as the statement
30
- * stands. `jsonb_agg` over zero rows does return NULL, and a NULL would violate
31
- * `runs_on_labels NOT NULL` and leave the drain's `jsonb_array_elements_text`
32
- * with nothing to walk on `exclude_labels` — but zero rows requires an empty
33
- * array, and an empty array can never satisfy a guard that demands an element
34
- * differing from its own folded form. Removing the guard, or replacing it with
35
- * one that admits an empty array, makes the COALESCE load-bearing immediately,
36
- * so it stays.
37
- *
38
- * Idempotent: each `UPDATE` selects only rows holding an element that is not
39
- * already its own canonical form, so a re-run touches nothing.
24
+ * Idempotent: each `UPDATE` selects only rows with a non-canonical element.
40
25
  */
41
26
  export declare function up(db: Kysely<unknown>): Promise<void>;
42
27
  /**
43
- * Irreversible by design: the original case is destroyed, so there is nothing
44
- * to restore. This is a data migration, not a schema change, so `down` leaves
45
- * the schema exactly as `up` found it and the no-op is the honest outcome
46
- * rather than a missing implementation.
28
+ * Irreversible by design: the original case is destroyed. As a data migration, `up` changed no
29
+ * schema, so the no-op is the honest `down`.
47
30
  *
48
- * Rolling the orchestrator back is briefly worse than never having migrated:
49
- * an old orchestrator compares an agent's labels verbatim against rows this
50
- * migration canonicalized, so a fleet whose configured labels are not already
51
- * lowercase strands those rows until they expire, drain, or are re-enqueued.
31
+ * Rolling the orchestrator back is briefly worse than never migrating: an old orchestrator
32
+ * compares agent labels verbatim against canonicalized rows, so a fleet with non-lowercase
33
+ * labels strands those rows until they expire, drain, or are re-enqueued.
52
34
  */
53
35
  export declare function down(): Promise<void>;
54
36
  //# sourceMappingURL=140_dispatch_queue_canonical_labels.d.ts.map
@@ -1,25 +1,16 @@
1
1
  import { type Kysely } from 'kysely';
2
2
  /**
3
- * Add `execution_jobs.precursor_result JSONB NULL` — the payload a precursor
4
- * job (source-pack build, init, dynamic eval) reports on its terminal
5
- * `job.status`, persisted so a coordinator other than the one whose agent ran
6
- * the job can read it back.
3
+ * Add `execution_jobs.precursor_result`: the payload a precursor job (source-pack build, init,
4
+ * dynamic eval) reports on its terminal `job.status`, readable by any coordinator.
7
5
  *
8
- * The dispatch queue is cluster-wide: a job one coordinator dispatched may be
9
- * claimed by an agent connected to a sibling coordinator. The sibling receives
10
- * the agent's terminal frame; the coordinator awaiting the job never does. The
11
- * shared row is the channel between them, and until this column existed the
12
- * row carried the status but not the result — a build's `buildComplete`
13
- * marker, an init's resolved fields, a dynamic eval's generated jobs — so the
14
- * awaiting coordinator waited out its build timeout on a build that had
15
- * succeeded.
6
+ * The dispatch queue is cluster-wide, so an agent on a sibling coordinator may run the job and
7
+ * receive its terminal frame, which the awaiting coordinator never sees. The shared row is their
8
+ * channel; without the result (a build's `buildComplete` marker, an init's resolved fields, a
9
+ * dynamic eval's generated jobs) the awaiting coordinator waited out its build timeout on a
10
+ * successful build.
16
11
  *
17
- * Nullable, with no default: NULL means "this job reported no precursor
18
- * payload", which is true of every ordinary job and of every row written
19
- * before this column existed.
20
- *
21
- * Idempotent: the add is guarded on existence and the drop uses IF EXISTS, so a
22
- * re-run is a no-op.
12
+ * Nullable, no default: NULL means "no precursor payload" (every ordinary job and older row).
13
+ * Idempotent.
23
14
  */
24
15
  export declare function up(db: Kysely<unknown>): Promise<void>;
25
16
  export declare function down(db: Kysely<unknown>): Promise<void>;
@@ -3,29 +3,21 @@ import { type Kysely } from 'kysely';
3
3
  * Add `execution_runs.registration_window_instance_id TEXT NULL` — the
4
4
  * coordinator whose dispatch pipeline still has jobs to register for this run.
5
5
  *
6
- * A run is registered before all of its jobs exist: with its source-pack build
7
- * job alone, or with no jobs at all ahead of its dispatch loop, and the real
8
- * jobs land only once the build finishes or every dispatch has returned. The
9
- * coordinator running that pipeline holds an in-memory token that keeps its
10
- * own completion check from finalizing the run on the jobs registered so far.
6
+ * A run is registered before all its jobs exist (with only its source-pack build job, or none
7
+ * ahead of its dispatch loop). The coordinator running that pipeline holds an in-memory token
8
+ * that stops its own completion check from finalizing the run early.
11
9
  *
12
- * The dispatch queue is cluster-wide, so a job may be claimed by an agent
13
- * connected to a sibling coordinator, and that sibling rehydrates the run from
14
- * the database when the agent reports on it. The sibling has no token, so
15
- * once the jobs it knows about are terminal it finalizes the run — on a build
16
- * job alone, that is a green run in which nothing ran. This column is the
17
- * token's durable form: the owner writes its instance id when it takes its
18
- * first token and clears it when it drops its last, and every finalization
19
- * path defers while the column names a live sibling.
10
+ * A sibling coordinator whose agent claims one of the jobs rehydrates the run from the DB with
11
+ * no token, and would finalize it once its known jobs are terminal: on a build job alone, a
12
+ * green run in which nothing ran. This column is the token's durable form: the owner writes
13
+ * its instance id on its first token and clears it on its last, and every finalization path
14
+ * defers while it names a live sibling.
20
15
  *
21
- * Nullable, with no default: NULL means "no coordinator has a registration
22
- * window open", which is true of every run whose owner released its window
23
- * and of every row written before this column existed. A dead holder's id
24
- * reads as no window at all — liveness comes from `cluster_instances`, the
25
- * same way the dispatch plane reads `dispatch_queue.owner_instance_id`.
16
+ * Nullable, no default: NULL means no registration window is open (including older rows). A
17
+ * dead holder's id reads as no window; liveness comes from `cluster_instances`, as for
18
+ * `dispatch_queue.owner_instance_id`.
26
19
  *
27
- * Idempotent: the add is guarded on existence and the drop uses IF EXISTS, so a
28
- * re-run is a no-op.
20
+ * Idempotent: the add is guarded on existence and the drop uses IF EXISTS.
29
21
  */
30
22
  export declare function up(db: Kysely<unknown>): Promise<void>;
31
23
  export declare function down(db: Kysely<unknown>): Promise<void>;
@@ -1,15 +1,11 @@
1
1
  import { type Kysely } from 'kysely';
2
2
  /**
3
- * Hold the secret fields of a stored job encrypted under the orchestrator
4
- * master key, beside the plain JSON column that keeps every other field.
3
+ * `sealed_secrets` holds a stored job's secret fields under the orchestrator master key, beside
4
+ * the plain JSON column (`dispatch_queue.job_config`, `pending_job_contexts.job_input`,
5
+ * `pending_workflow_contexts.context`) that keeps every other field.
5
6
  *
6
- * Adds a nullable `sealed_secrets text` column to the three tables a job waits
7
- * in: `dispatch_queue` (its `job_config`), `pending_job_contexts` (its
8
- * `job_input`), and `pending_workflow_contexts` (its `context`).
9
- *
10
- * Nullable and unbackfilled: NULL on every row written before this column
11
- * existed, and on every row an orchestrator without a master key writes. Such
12
- * a row keeps its secret fields in the plain column and reads back unchanged.
7
+ * Nullable and unbackfilled: NULL on older rows and on rows an orchestrator without a master
8
+ * key writes; such a row keeps its secrets in the plain column and reads back unchanged.
13
9
  *
14
10
  * Idempotent: each column is added only when missing.
15
11
  */
@@ -1,20 +1,14 @@
1
1
  import { type Kysely } from 'kysely';
2
2
  /**
3
- * Add `cluster_settings.sealed_secrets_retry_backoff_ms` (nullable bigint).
3
+ * How long a coordinator leaves a queued job alone after failing to open its sealed secrets
4
+ * (sealed under a master key it does not hold). During a rolling key rotation a coordinator
5
+ * holding the key can take the job in that window; each later re-claim spends a dispatch
6
+ * attempt, so a job no coordinator can open still fails.
4
7
  *
5
- * How long a coordinator leaves a queued job alone after it claimed the job and
6
- * could not open its sealed secrets: the job was sealed with a master key this
7
- * coordinator does not hold. During a rolling key rotation a coordinator that
8
- * holds the key can take the job in that window; after it, this coordinator can
9
- * claim the job again, and each claim spends another dispatch attempt, so a job
10
- * no coordinator can open still fails.
8
+ * On `cluster_settings` because every coordinator drains the same queue. NULL ⇒ the
9
+ * orchestrator's configured default.
11
10
  *
12
- * Cluster-global (every coordinator drains the same queue), so it lives on
13
- * `cluster_settings` rather than `org_settings`. NULL ⇒ the orchestrator's own
14
- * configured default applies.
15
- *
16
- * Idempotent: guarded on column existence; a re-run on a DB that already has the
17
- * column is a no-op.
11
+ * Idempotent: guarded on column existence.
18
12
  */
19
13
  export declare function up(db: Kysely<unknown>): Promise<void>;
20
14
  export declare function down(db: Kysely<unknown>): Promise<void>;
@@ -1,17 +1,12 @@
1
1
  import { type Kysely } from 'kysely';
2
2
  /**
3
- * Add `execution_runs.status_epoch` (integer, NOT NULL, default 0).
3
+ * Add `execution_runs.status_epoch`: the run's status generation. The tracker raises it each time
4
+ * a run leaves a terminal status (it failed before an already-dispatched job reported in, and
5
+ * continues). Every `execution.status` frame carries it, so the Platform keeps a finished run
6
+ * finished against a late non-terminal frame and still follows a real reopen.
4
7
  *
5
- * The run's status generation. It starts at 0, and the tracker raises it each
6
- * time a run leaves a terminal status: a run failed before a job it had already
7
- * dispatched reported in, and the run continues. Every `execution.status` frame
8
- * carries it, so the Platform can keep a finished run finished against a
9
- * non-terminal frame that arrives late, and still follow a real reopen.
10
- *
11
- * A constant default adds the column without rewriting the table, and every
12
- * existing row reads 0: none of them was reopened under this counter.
13
- *
14
- * Idempotent: guarded on the column's existence, so re-running is a no-op.
8
+ * The constant default 0 adds the column without a table rewrite; no existing row was reopened
9
+ * under this counter. Idempotent.
15
10
  */
16
11
  export declare function up(db: Kysely<unknown>): Promise<void>;
17
12
  export declare function down(db: Kysely<unknown>): Promise<void>;
@@ -1,14 +1,11 @@
1
1
  import { type Kysely } from 'kysely';
2
2
  /**
3
- * Add `org_settings.cache_upload_settle_timeout_ms BIGINT` (nullable).
3
+ * Per-org bound on how long a build job's `job.status success` waits for the cache publish
4
+ * (object metadata plus pointer) its agent reported just before it. NULL ⇒ cluster default
5
+ * (`KICI_CACHE_UPLOAD_SETTLE_TIMEOUT_MS`, 10s); 0 turns the wait off. Set via
6
+ * `kici-admin org-settings cache-upload-settle`.
4
7
  *
5
- * Per-org bound on how long a build job's `job.status success` waits for the
6
- * cache publish (object metadata plus pointer) its agent reported just before
7
- * it. NULL falls back to the cluster default
8
- * (`KICI_CACHE_UPLOAD_SETTLE_TIMEOUT_MS`, 10s); 0 turns the wait off. Operators
9
- * tune it via `kici-admin org-settings cache-upload-settle`.
10
- *
11
- * Idempotent: a re-run on a DB that already has the column is a no-op.
8
+ * Idempotent.
12
9
  */
13
10
  export declare function up(db: Kysely<unknown>): Promise<void>;
14
11
  export declare function down(db: Kysely<unknown>): Promise<void>;