@kici-dev/engine 0.6.1 → 0.7.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 (56) hide show
  1. package/dist/audit/access-log-policy.js +1 -0
  2. package/dist/audit/retention-policy.js +2 -0
  3. package/dist/billing/subscription-status.d.ts +38 -0
  4. package/dist/billing/subscription-status.js +63 -0
  5. package/dist/context/host-match.d.ts +25 -2
  6. package/dist/context/host-match.js +29 -7
  7. package/dist/index.d.ts +6 -1
  8. package/dist/index.js +10 -5
  9. package/dist/labels/compile.d.ts +3 -1
  10. package/dist/labels/compile.js +10 -5
  11. package/dist/labels-canonical.d.ts +36 -0
  12. package/dist/labels-canonical.js +21 -0
  13. package/dist/labels-match.d.ts +38 -7
  14. package/dist/labels-match.js +45 -9
  15. package/dist/metrics/catalog-policy.js +6 -1
  16. package/dist/metrics/metric-catalog.generated.d.ts +97 -2
  17. package/dist/metrics/metric-catalog.generated.js +116 -2
  18. package/dist/protocol/dashboard-write-operations.d.ts +17 -0
  19. package/dist/protocol/dashboard-write-operations.js +20 -3
  20. package/dist/protocol/messages/access-log.d.ts +5 -0
  21. package/dist/protocol/messages/access-log.js +1 -0
  22. package/dist/protocol/messages/config-paths.d.ts +20 -0
  23. package/dist/protocol/messages/config-paths.js +27 -0
  24. package/dist/protocol/messages/dashboard.d.ts +134 -0
  25. package/dist/protocol/messages/dashboard.js +68 -1
  26. package/dist/protocol/messages/event-log.d.ts +6 -0
  27. package/dist/protocol/messages/event-log.js +6 -0
  28. package/dist/protocol/messages/orchestrator-agent.d.ts +32 -0
  29. package/dist/protocol/messages/orchestrator-agent.js +52 -5
  30. package/dist/protocol/messages/peer.d.ts +3 -0
  31. package/dist/protocol/messages/peer.js +6 -1
  32. package/dist/protocol/messages/platform-orchestrator.d.ts +36 -0
  33. package/dist/protocol/messages/source-registration.d.ts +5 -0
  34. package/dist/protocol/messages/source-registration.js +8 -0
  35. package/dist/provenance/id-token-event-claims.d.ts +142 -0
  36. package/dist/provenance/id-token-event-claims.js +113 -0
  37. package/dist/provenance/statement-hash.d.ts +14 -5
  38. package/dist/provenance/statement-hash.js +14 -5
  39. package/dist/provenance/verify.d.ts +21 -0
  40. package/dist/provenance/verify.js +26 -16
  41. package/dist/regex-flags.d.ts +32 -0
  42. package/dist/regex-flags.js +43 -0
  43. package/dist/trigger/compiled-matchers.d.ts +9 -2
  44. package/dist/trigger/compiled-matchers.js +14 -5
  45. package/dist/trigger/decision-trace.d.ts +1 -1
  46. package/dist/trigger/decision-trace.js +1 -1
  47. package/dist/trigger/text-match.d.ts +8 -3
  48. package/dist/trigger/text-match.js +11 -5
  49. package/dist/trigger/trigger-event-type.d.ts +16 -0
  50. package/dist/trigger/trigger-event-type.js +25 -1
  51. package/dist/trigger/types.d.ts +55 -4
  52. package/dist/trigger/types.js +5 -1
  53. package/dist/ws/close-codes.d.ts +8 -0
  54. package/dist/ws/close-codes.js +9 -1
  55. package/package.json +1 -1
  56. package/sbom.spdx.json +5 -5
@@ -16,6 +16,8 @@ const MetricNames = {
16
16
  KICI_AGENT_STEP_DURATION_SECONDS: "kici_agent_step_duration_seconds",
17
17
  KICI_AGENT_STEPS_TOTAL: "kici_agent_steps_total",
18
18
  KICI_BILLING_EMAIL_SEND_TOTAL: "kici_billing_email_send_total",
19
+ KICI_BILLING_RECONCILE_CORRECTIONS_TOTAL: "kici_billing_reconcile_corrections_total",
20
+ KICI_BILLING_RECONCILE_ERRORS_TOTAL: "kici_billing_reconcile_errors_total",
19
21
  KICI_BUILD_JOBS_TOTAL: "kici_build_jobs_total",
20
22
  KICI_CACHE_HITS_TOTAL: "kici_cache_hits_total",
21
23
  KICI_CACHE_MISSES_TOTAL: "kici_cache_misses_total",
@@ -33,11 +35,15 @@ const MetricNames = {
33
35
  KICI_ORCH_CHECK_RUN_TRACKING_ROWS_PRUNED_TOTAL: "kici_orch_check_run_tracking_rows_pruned_total",
34
36
  KICI_ORCH_CONFIG_RELOAD_TOTAL: "kici_orch_config_reload_total",
35
37
  KICI_ORCH_CONFIG_VERSION: "kici_orch_config_version",
38
+ KICI_ORCH_CONTAINER_REGISTRY_AUTH_CONTRIBUTOR_STRIPPED_TOTAL: "kici_orch_container_registry_auth_contributor_stripped_total",
36
39
  KICI_ORCH_DB_COLLATION_DRIFT: "kici_orch_db_collation_drift",
37
40
  KICI_ORCH_DECLARED_HOSTS_UNREACHABLE: "kici_orch_declared_hosts_unreachable",
38
41
  KICI_ORCH_DEDUP_HITS_TOTAL: "kici_orch_dedup_hits_total",
42
+ KICI_ORCH_DEFERRED_ATTESTATION_REJECTED_TOTAL: "kici_orch_deferred_attestation_rejected_total",
43
+ KICI_ORCH_DEFERRED_INDEX_BUILDS_TOTAL: "kici_orch_deferred_index_builds_total",
39
44
  KICI_ORCH_DEP_CACHE_HITS_TOTAL: "kici_orch_dep_cache_hits_total",
40
45
  KICI_ORCH_DEP_CACHE_MISSES_TOTAL: "kici_orch_dep_cache_misses_total",
46
+ KICI_ORCH_DISPATCH_OWNERSHIP_SKIPPED_TOTAL: "kici_orch_dispatch_ownership_skipped_total",
41
47
  KICI_ORCH_DISPATCH_QUEUE_DEPTH: "kici_orch_dispatch_queue_depth",
42
48
  KICI_ORCH_DISPATCH_QUEUE_DEPTH_BY_LABEL: "kici_orch_dispatch_queue_depth_by_label",
43
49
  KICI_ORCH_DISPATCH_QUEUE_ROWS_PRUNED_TOTAL: "kici_orch_dispatch_queue_rows_pruned_total",
@@ -48,6 +54,7 @@ const MetricNames = {
48
54
  KICI_ORCH_EVENT_DLQ_TOTAL: "kici_orch_event_dlq_total",
49
55
  KICI_ORCH_EVENT_LEASE_EXPIRATIONS_TOTAL: "kici_orch_event_lease_expirations_total",
50
56
  KICI_ORCH_EVENT_RETRY_TOTAL: "kici_orch_event_retry_total",
57
+ KICI_ORCH_EXCESS_CONNECTIONS_CLOSED_TOTAL: "kici_orch_excess_connections_closed_total",
51
58
  KICI_ORCH_EXECUTION_DURATION_SECONDS: "kici_orch_execution_duration_seconds",
52
59
  KICI_ORCH_EXECUTIONS_TOTAL: "kici_orch_executions_total",
53
60
  KICI_ORCH_FORK_EVENTS_IGNORED_TOTAL: "kici_orch_fork_events_ignored_total",
@@ -70,6 +77,7 @@ const MetricNames = {
70
77
  KICI_ORCH_INGEST_OVERFLOW_CAPTURED_TOTAL: "kici_orch_ingest_overflow_captured_total",
71
78
  KICI_ORCH_INGEST_OVERFLOW_DROPPED_TOTAL: "kici_orch_ingest_overflow_dropped_total",
72
79
  KICI_ORCH_INGEST_OVERFLOW_MAX: "kici_orch_ingest_overflow_max",
80
+ KICI_ORCH_INGEST_OVERFLOW_REPLAY_REFUSED_TOTAL: "kici_orch_ingest_overflow_replay_refused_total",
73
81
  KICI_ORCH_INGEST_OVERFLOW_REPLAYED_TOTAL: "kici_orch_ingest_overflow_replayed_total",
74
82
  KICI_ORCH_INGEST_QUEUE_DEPTH: "kici_orch_ingest_queue_depth",
75
83
  KICI_ORCH_INGEST_SHED_TOTAL: "kici_orch_ingest_shed_total",
@@ -85,10 +93,14 @@ const MetricNames = {
85
93
  KICI_ORCH_JOB_RUNS_TOTAL: "kici_orch_job_runs_total",
86
94
  KICI_ORCH_LOG_BYTES_STORED_TOTAL: "kici_orch_log_bytes_stored_total",
87
95
  KICI_ORCH_LOG_CHUNKS_RECEIVED_TOTAL: "kici_orch_log_chunks_received_total",
96
+ KICI_ORCH_NON_MONOTONIC_JOB_STATUS_WRITES_TOTAL: "kici_orch_non_monotonic_job_status_writes_total",
88
97
  KICI_ORCH_PENDING_ATTESTATION_OLDEST_AGE_SECONDS: "kici_orch_pending_attestation_oldest_age_seconds",
89
98
  KICI_ORCH_PENDING_ATTESTATIONS_CURRENT: "kici_orch_pending_attestations_current",
99
+ KICI_ORCH_PG_LISTEN_CONNECTED: "kici_orch_pg_listen_connected",
100
+ KICI_ORCH_PG_LISTEN_RECONNECTS_TOTAL: "kici_orch_pg_listen_reconnects_total",
90
101
  KICI_ORCH_PG_POOL_CLIENT_ERRORS_TOTAL: "kici_orch_pg_pool_client_errors_total",
91
102
  KICI_ORCH_REJECTED_ATTESTATIONS_CURRENT: "kici_orch_rejected_attestations_current",
103
+ KICI_ORCH_RETENTION_ROWS_DELETED_TOTAL: "kici_orch_retention_rows_deleted_total",
92
104
  KICI_ORCH_SCALER_ADOPTION_LOOKUP_FAILURES_TOTAL: "kici_orch_scaler_adoption_lookup_failures_total",
93
105
  KICI_ORCH_SCALER_CAP_LOCK_FAILURES_TOTAL: "kici_orch_scaler_cap_lock_failures_total",
94
106
  KICI_ORCH_SCALER_CONFIG_RELOADS_TOTAL: "kici_orch_scaler_config_reloads_total",
@@ -117,6 +129,7 @@ const MetricNames = {
117
129
  KICI_ORCH_STEP_LOGS_PRUNED_TOTAL: "kici_orch_step_logs_pruned_total",
118
130
  KICI_ORCH_STEPS_TOTAL: "kici_orch_steps_total",
119
131
  KICI_ORCH_TRIGGER_MATCH_DURATION_SECONDS: "kici_orch_trigger_match_duration_seconds",
132
+ KICI_ORCH_TRUST_DIRECTORY_AGE_SECONDS: "kici_orch_trust_directory_age_seconds",
120
133
  KICI_ORCH_TRUST_MATCH_REFUSED_NO_ID_TOTAL: "kici_orch_trust_match_refused_no_id_total",
121
134
  KICI_ORCH_TRUST_POLICY_DECISIONS_TOTAL: "kici_orch_trust_policy_decisions_total",
122
135
  KICI_ORCH_UNROUTABLE_FAST_FAILED_TOTAL: "kici_orch_unroutable_fast_failed_total",
@@ -172,20 +185,24 @@ const MetricNames = {
172
185
  KICI_PLATFORM_RELAY_BREAKER_TRIPS_TOTAL: "kici_platform_relay_breaker_trips_total",
173
186
  KICI_PLATFORM_RELAY_REQUEST_DURATION_MS: "kici_platform_relay_request_duration_ms",
174
187
  KICI_PLATFORM_RELAY_REQUEST_OUTCOME_TOTAL: "kici_platform_relay_request_outcome_total",
188
+ KICI_PLATFORM_RETENTION_ROWS_DELETED_TOTAL: "kici_platform_retention_rows_deleted_total",
175
189
  KICI_PLATFORM_RUN_RECONCILE_DEFERRED_TOTAL: "kici_platform_run_reconcile_deferred_total",
176
190
  KICI_PLATFORM_RUN_RECONCILE_RECONCILED_TOTAL: "kici_platform_run_reconcile_reconciled_total",
177
191
  KICI_PLATFORM_RUN_RECONCILE_SKIPPED_TOTAL: "kici_platform_run_reconcile_skipped_total",
192
+ KICI_PLATFORM_STALE_ORCH_SKIPPED_RECONNECTED_TOTAL: "kici_platform_stale_orch_skipped_reconnected_total",
178
193
  KICI_PLATFORM_STALE_ORCHESTRATORS_TOTAL: "kici_platform_stale_orchestrators_total",
179
194
  KICI_PLATFORM_STALE_PLATFORM_CONNECTIONS_EVICTED_TOTAL: "kici_platform_stale_platform_connections_evicted_total",
180
195
  KICI_PLATFORM_STALE_RUNS_FAILED_TOTAL: "kici_platform_stale_runs_failed_total",
181
196
  KICI_PLATFORM_STEP_STATUS_FORWARDS_TOTAL: "kici_platform_step_status_forwards_total",
182
197
  KICI_PLATFORM_SUPPORT_SESSIONS_SWEPT_TOTAL: "kici_platform_support_sessions_swept_total",
198
+ KICI_PLATFORM_WORKER_REPORT_COLLAPSE_TOTAL: "kici_platform_worker_report_collapse_total",
183
199
  KICI_PLATFORM_WS_ORG_RATE_LIMITED_TOTAL: "kici_platform_ws_org_rate_limited_total",
184
200
  KICI_PLATFORM_WS_SLOW_CONSUMER_TERMINATED_TOTAL: "kici_platform_ws_slow_consumer_terminated_total",
185
201
  KICI_RBAC_PERMS_CACHE_HITS_TOTAL: "kici_rbac_perms_cache_hits_total",
186
202
  KICI_RBAC_PERMS_CACHE_MISSES_TOTAL: "kici_rbac_perms_cache_misses_total",
187
203
  KICI_READ_RATE_LIMIT_REJECTED_TOTAL: "kici_read_rate_limit_rejected_total",
188
204
  KICI_REGISTRATIONS_TOTAL: "kici_registrations_total",
205
+ KICI_STRIPE_WEBHOOK_FAILURES_TOTAL: "kici_stripe_webhook_failures_total",
189
206
  KICI_UNIVERSAL_GIT_REGISTRATION_ERRORS_TOTAL: "kici_universal_git_registration_errors_total",
190
207
  KICI_USER_REGISTRATION_NOTIFY_TOTAL: "kici_user_registration_notify_total",
191
208
  KICI_VALKEY_CONNECTION_STATUS: "kici_valkey_connection_status",
@@ -195,6 +212,7 @@ const MetricNames = {
195
212
  KICI_WEBHOOK_BUFFER_BYTES: "kici_webhook_buffer_bytes",
196
213
  KICI_WEBHOOK_BUFFER_DEPTH: "kici_webhook_buffer_depth",
197
214
  KICI_WEBHOOK_BUFFER_OLDEST_AGE_SECONDS: "kici_webhook_buffer_oldest_age_seconds",
215
+ KICI_WEBHOOK_INGRESS_RATE_LIMITED_TOTAL: "kici_webhook_ingress_rate_limited_total",
198
216
  KICI_WEBHOOK_NO_ORCH_TOTAL: "kici_webhook_no_orch_total",
199
217
  KICI_WEBHOOK_PG_BREAKER_STATE: "kici_webhook_pg_breaker_state",
200
218
  KICI_WEBHOOK_PG_BREAKER_TRANSITIONS_TOTAL: "kici_webhook_pg_breaker_transitions_total",
@@ -211,6 +229,7 @@ const MetricNames = {
211
229
  KICI_WS_MESSAGES_SENT_TOTAL: "kici_ws_messages_sent_total",
212
230
  KICI_WS_NACK_RECEIVED_TOTAL: "kici_ws_nack_received_total",
213
231
  KICI_WS_RELAY_ATTEMPTS_TOTAL: "kici_ws_relay_attempts_total",
232
+ KICI_WS_RELAY_BODY_OVERSIZE_TOTAL: "kici_ws_relay_body_oversize_total",
214
233
  KICI_WS_RELAY_DURATION_SECONDS: "kici_ws_relay_duration_seconds",
215
234
  KICI_WS_UNSUPPORTED_MESSAGE_SENT_TOTAL: "kici_ws_unsupported_message_sent_total",
216
235
  NODEJS_EVENTLOOP_DELAY_MAX: "nodejs.eventloop.delay.max",
@@ -245,6 +264,8 @@ const MetricLabels = {
245
264
  KICI_AGENT_STEP_DURATION_SECONDS: ["scaler"],
246
265
  KICI_AGENT_STEPS_TOTAL: ["status", "scaler"],
247
266
  KICI_BILLING_EMAIL_SEND_TOTAL: ["kind", "status"],
267
+ KICI_BILLING_RECONCILE_CORRECTIONS_TOTAL: ["direction"],
268
+ KICI_BILLING_RECONCILE_ERRORS_TOTAL: [],
248
269
  KICI_BUILD_JOBS_TOTAL: [],
249
270
  KICI_CACHE_HITS_TOTAL: ["cache_type"],
250
271
  KICI_CACHE_MISSES_TOTAL: ["cache_type"],
@@ -262,11 +283,15 @@ const MetricLabels = {
262
283
  KICI_ORCH_CHECK_RUN_TRACKING_ROWS_PRUNED_TOTAL: [],
263
284
  KICI_ORCH_CONFIG_RELOAD_TOTAL: ["result", "source"],
264
285
  KICI_ORCH_CONFIG_VERSION: [],
286
+ KICI_ORCH_CONTAINER_REGISTRY_AUTH_CONTRIBUTOR_STRIPPED_TOTAL: ["trust_tier"],
265
287
  KICI_ORCH_DB_COLLATION_DRIFT: ["database"],
266
288
  KICI_ORCH_DECLARED_HOSTS_UNREACHABLE: [],
267
289
  KICI_ORCH_DEDUP_HITS_TOTAL: [],
290
+ KICI_ORCH_DEFERRED_ATTESTATION_REJECTED_TOTAL: ["reason"],
291
+ KICI_ORCH_DEFERRED_INDEX_BUILDS_TOTAL: ["name", "outcome"],
268
292
  KICI_ORCH_DEP_CACHE_HITS_TOTAL: [],
269
293
  KICI_ORCH_DEP_CACHE_MISSES_TOTAL: [],
294
+ KICI_ORCH_DISPATCH_OWNERSHIP_SKIPPED_TOTAL: ["action", "reason"],
270
295
  KICI_ORCH_DISPATCH_QUEUE_DEPTH: ["status"],
271
296
  KICI_ORCH_DISPATCH_QUEUE_DEPTH_BY_LABEL: ["status", "label"],
272
297
  KICI_ORCH_DISPATCH_QUEUE_ROWS_PRUNED_TOTAL: [],
@@ -277,6 +302,7 @@ const MetricLabels = {
277
302
  KICI_ORCH_EVENT_DLQ_TOTAL: ["event_name", "reason"],
278
303
  KICI_ORCH_EVENT_LEASE_EXPIRATIONS_TOTAL: [],
279
304
  KICI_ORCH_EVENT_RETRY_TOTAL: ["event_name"],
305
+ KICI_ORCH_EXCESS_CONNECTIONS_CLOSED_TOTAL: ["org_id"],
280
306
  KICI_ORCH_EXECUTION_DURATION_SECONDS: [],
281
307
  KICI_ORCH_EXECUTIONS_TOTAL: ["status"],
282
308
  KICI_ORCH_FORK_EVENTS_IGNORED_TOTAL: ["provider"],
@@ -299,6 +325,7 @@ const MetricLabels = {
299
325
  KICI_ORCH_INGEST_OVERFLOW_CAPTURED_TOTAL: [],
300
326
  KICI_ORCH_INGEST_OVERFLOW_DROPPED_TOTAL: [],
301
327
  KICI_ORCH_INGEST_OVERFLOW_MAX: [],
328
+ KICI_ORCH_INGEST_OVERFLOW_REPLAY_REFUSED_TOTAL: [],
302
329
  KICI_ORCH_INGEST_OVERFLOW_REPLAYED_TOTAL: [],
303
330
  KICI_ORCH_INGEST_QUEUE_DEPTH: [],
304
331
  KICI_ORCH_INGEST_SHED_TOTAL: ["reason"],
@@ -318,10 +345,14 @@ const MetricLabels = {
318
345
  KICI_ORCH_JOB_RUNS_TOTAL: ["job", "result"],
319
346
  KICI_ORCH_LOG_BYTES_STORED_TOTAL: ["source"],
320
347
  KICI_ORCH_LOG_CHUNKS_RECEIVED_TOTAL: ["source"],
348
+ KICI_ORCH_NON_MONOTONIC_JOB_STATUS_WRITES_TOTAL: ["rejected_status"],
321
349
  KICI_ORCH_PENDING_ATTESTATION_OLDEST_AGE_SECONDS: [],
322
350
  KICI_ORCH_PENDING_ATTESTATIONS_CURRENT: [],
351
+ KICI_ORCH_PG_LISTEN_CONNECTED: ["channel"],
352
+ KICI_ORCH_PG_LISTEN_RECONNECTS_TOTAL: ["channel"],
323
353
  KICI_ORCH_PG_POOL_CLIENT_ERRORS_TOTAL: ["source"],
324
354
  KICI_ORCH_REJECTED_ATTESTATIONS_CURRENT: [],
355
+ KICI_ORCH_RETENTION_ROWS_DELETED_TOTAL: ["table"],
325
356
  KICI_ORCH_SCALER_ADOPTION_LOOKUP_FAILURES_TOTAL: [],
326
357
  KICI_ORCH_SCALER_CAP_LOCK_FAILURES_TOTAL: ["reason"],
327
358
  KICI_ORCH_SCALER_CONFIG_RELOADS_TOTAL: ["result"],
@@ -358,6 +389,7 @@ const MetricLabels = {
358
389
  KICI_ORCH_STEP_LOGS_PRUNED_TOTAL: [],
359
390
  KICI_ORCH_STEPS_TOTAL: ["status"],
360
391
  KICI_ORCH_TRIGGER_MATCH_DURATION_SECONDS: [],
392
+ KICI_ORCH_TRUST_DIRECTORY_AGE_SECONDS: [],
361
393
  KICI_ORCH_TRUST_MATCH_REFUSED_NO_ID_TOTAL: ["reason"],
362
394
  KICI_ORCH_TRUST_POLICY_DECISIONS_TOTAL: ["arm", "action"],
363
395
  KICI_ORCH_UNROUTABLE_FAST_FAILED_TOTAL: [],
@@ -413,20 +445,24 @@ const MetricLabels = {
413
445
  KICI_PLATFORM_RELAY_BREAKER_TRIPS_TOTAL: ["clusterName", "connectionId"],
414
446
  KICI_PLATFORM_RELAY_REQUEST_DURATION_MS: ["kind"],
415
447
  KICI_PLATFORM_RELAY_REQUEST_OUTCOME_TOTAL: ["outcome", "kind"],
448
+ KICI_PLATFORM_RETENTION_ROWS_DELETED_TOTAL: ["table"],
416
449
  KICI_PLATFORM_RUN_RECONCILE_DEFERRED_TOTAL: [],
417
450
  KICI_PLATFORM_RUN_RECONCILE_RECONCILED_TOTAL: [],
418
451
  KICI_PLATFORM_RUN_RECONCILE_SKIPPED_TOTAL: [],
452
+ KICI_PLATFORM_STALE_ORCH_SKIPPED_RECONNECTED_TOTAL: [],
419
453
  KICI_PLATFORM_STALE_ORCHESTRATORS_TOTAL: [],
420
454
  KICI_PLATFORM_STALE_PLATFORM_CONNECTIONS_EVICTED_TOTAL: ["org_id"],
421
455
  KICI_PLATFORM_STALE_RUNS_FAILED_TOTAL: [],
422
456
  KICI_PLATFORM_STEP_STATUS_FORWARDS_TOTAL: ["state"],
423
457
  KICI_PLATFORM_SUPPORT_SESSIONS_SWEPT_TOTAL: ["close_kind"],
458
+ KICI_PLATFORM_WORKER_REPORT_COLLAPSE_TOTAL: ["org_id"],
424
459
  KICI_PLATFORM_WS_ORG_RATE_LIMITED_TOTAL: ["org_id"],
425
460
  KICI_PLATFORM_WS_SLOW_CONSUMER_TERMINATED_TOTAL: [],
426
461
  KICI_RBAC_PERMS_CACHE_HITS_TOTAL: [],
427
462
  KICI_RBAC_PERMS_CACHE_MISSES_TOTAL: [],
428
463
  KICI_READ_RATE_LIMIT_REJECTED_TOTAL: ["scope"],
429
464
  KICI_REGISTRATIONS_TOTAL: [],
465
+ KICI_STRIPE_WEBHOOK_FAILURES_TOTAL: ["event_type"],
430
466
  KICI_UNIVERSAL_GIT_REGISTRATION_ERRORS_TOTAL: ["reason"],
431
467
  KICI_USER_REGISTRATION_NOTIFY_TOTAL: ["result"],
432
468
  KICI_VALKEY_CONNECTION_STATUS: ["role"],
@@ -436,6 +472,7 @@ const MetricLabels = {
436
472
  KICI_WEBHOOK_BUFFER_BYTES: [],
437
473
  KICI_WEBHOOK_BUFFER_DEPTH: [],
438
474
  KICI_WEBHOOK_BUFFER_OLDEST_AGE_SECONDS: [],
475
+ KICI_WEBHOOK_INGRESS_RATE_LIMITED_TOTAL: ["scope"],
439
476
  KICI_WEBHOOK_NO_ORCH_TOTAL: ["outcome", "org_id"],
440
477
  KICI_WEBHOOK_PG_BREAKER_STATE: [],
441
478
  KICI_WEBHOOK_PG_BREAKER_TRANSITIONS_TOTAL: [],
@@ -456,6 +493,7 @@ const MetricLabels = {
456
493
  KICI_WS_MESSAGES_SENT_TOTAL: ["type"],
457
494
  KICI_WS_NACK_RECEIVED_TOTAL: [],
458
495
  KICI_WS_RELAY_ATTEMPTS_TOTAL: ["status"],
496
+ KICI_WS_RELAY_BODY_OVERSIZE_TOTAL: ["routing_key"],
459
497
  KICI_WS_RELAY_DURATION_SECONDS: ["status"],
460
498
  KICI_WS_UNSUPPORTED_MESSAGE_SENT_TOTAL: [],
461
499
  NODEJS_EVENTLOOP_DELAY_MAX: ["scaler"],
@@ -490,6 +528,8 @@ const MetricKind = {
490
528
  KICI_AGENT_STEP_DURATION_SECONDS: "histogram",
491
529
  KICI_AGENT_STEPS_TOTAL: "counter",
492
530
  KICI_BILLING_EMAIL_SEND_TOTAL: "counter",
531
+ KICI_BILLING_RECONCILE_CORRECTIONS_TOTAL: "counter",
532
+ KICI_BILLING_RECONCILE_ERRORS_TOTAL: "counter",
493
533
  KICI_BUILD_JOBS_TOTAL: "counter",
494
534
  KICI_CACHE_HITS_TOTAL: "counter",
495
535
  KICI_CACHE_MISSES_TOTAL: "counter",
@@ -507,11 +547,15 @@ const MetricKind = {
507
547
  KICI_ORCH_CHECK_RUN_TRACKING_ROWS_PRUNED_TOTAL: "counter",
508
548
  KICI_ORCH_CONFIG_RELOAD_TOTAL: "counter",
509
549
  KICI_ORCH_CONFIG_VERSION: "observableGauge",
550
+ KICI_ORCH_CONTAINER_REGISTRY_AUTH_CONTRIBUTOR_STRIPPED_TOTAL: "counter",
510
551
  KICI_ORCH_DB_COLLATION_DRIFT: "observableGauge",
511
552
  KICI_ORCH_DECLARED_HOSTS_UNREACHABLE: "observableGauge",
512
553
  KICI_ORCH_DEDUP_HITS_TOTAL: "counter",
554
+ KICI_ORCH_DEFERRED_ATTESTATION_REJECTED_TOTAL: "counter",
555
+ KICI_ORCH_DEFERRED_INDEX_BUILDS_TOTAL: "counter",
513
556
  KICI_ORCH_DEP_CACHE_HITS_TOTAL: "counter",
514
557
  KICI_ORCH_DEP_CACHE_MISSES_TOTAL: "counter",
558
+ KICI_ORCH_DISPATCH_OWNERSHIP_SKIPPED_TOTAL: "counter",
515
559
  KICI_ORCH_DISPATCH_QUEUE_DEPTH: "observableGauge",
516
560
  KICI_ORCH_DISPATCH_QUEUE_DEPTH_BY_LABEL: "observableGauge",
517
561
  KICI_ORCH_DISPATCH_QUEUE_ROWS_PRUNED_TOTAL: "counter",
@@ -522,6 +566,7 @@ const MetricKind = {
522
566
  KICI_ORCH_EVENT_DLQ_TOTAL: "counter",
523
567
  KICI_ORCH_EVENT_LEASE_EXPIRATIONS_TOTAL: "counter",
524
568
  KICI_ORCH_EVENT_RETRY_TOTAL: "counter",
569
+ KICI_ORCH_EXCESS_CONNECTIONS_CLOSED_TOTAL: "counter",
525
570
  KICI_ORCH_EXECUTION_DURATION_SECONDS: "histogram",
526
571
  KICI_ORCH_EXECUTIONS_TOTAL: "counter",
527
572
  KICI_ORCH_FORK_EVENTS_IGNORED_TOTAL: "counter",
@@ -544,6 +589,7 @@ const MetricKind = {
544
589
  KICI_ORCH_INGEST_OVERFLOW_CAPTURED_TOTAL: "counter",
545
590
  KICI_ORCH_INGEST_OVERFLOW_DROPPED_TOTAL: "counter",
546
591
  KICI_ORCH_INGEST_OVERFLOW_MAX: "observableGauge",
592
+ KICI_ORCH_INGEST_OVERFLOW_REPLAY_REFUSED_TOTAL: "counter",
547
593
  KICI_ORCH_INGEST_OVERFLOW_REPLAYED_TOTAL: "counter",
548
594
  KICI_ORCH_INGEST_QUEUE_DEPTH: "observableGauge",
549
595
  KICI_ORCH_INGEST_SHED_TOTAL: "counter",
@@ -559,10 +605,14 @@ const MetricKind = {
559
605
  KICI_ORCH_JOB_RUNS_TOTAL: "counter",
560
606
  KICI_ORCH_LOG_BYTES_STORED_TOTAL: "counter",
561
607
  KICI_ORCH_LOG_CHUNKS_RECEIVED_TOTAL: "counter",
608
+ KICI_ORCH_NON_MONOTONIC_JOB_STATUS_WRITES_TOTAL: "counter",
562
609
  KICI_ORCH_PENDING_ATTESTATION_OLDEST_AGE_SECONDS: "observableGauge",
563
610
  KICI_ORCH_PENDING_ATTESTATIONS_CURRENT: "observableGauge",
611
+ KICI_ORCH_PG_LISTEN_CONNECTED: "observableGauge",
612
+ KICI_ORCH_PG_LISTEN_RECONNECTS_TOTAL: "counter",
564
613
  KICI_ORCH_PG_POOL_CLIENT_ERRORS_TOTAL: "counter",
565
614
  KICI_ORCH_REJECTED_ATTESTATIONS_CURRENT: "observableGauge",
615
+ KICI_ORCH_RETENTION_ROWS_DELETED_TOTAL: "counter",
566
616
  KICI_ORCH_SCALER_ADOPTION_LOOKUP_FAILURES_TOTAL: "counter",
567
617
  KICI_ORCH_SCALER_CAP_LOCK_FAILURES_TOTAL: "counter",
568
618
  KICI_ORCH_SCALER_CONFIG_RELOADS_TOTAL: "counter",
@@ -591,6 +641,7 @@ const MetricKind = {
591
641
  KICI_ORCH_STEP_LOGS_PRUNED_TOTAL: "counter",
592
642
  KICI_ORCH_STEPS_TOTAL: "counter",
593
643
  KICI_ORCH_TRIGGER_MATCH_DURATION_SECONDS: "histogram",
644
+ KICI_ORCH_TRUST_DIRECTORY_AGE_SECONDS: "observableGauge",
594
645
  KICI_ORCH_TRUST_MATCH_REFUSED_NO_ID_TOTAL: "counter",
595
646
  KICI_ORCH_TRUST_POLICY_DECISIONS_TOTAL: "counter",
596
647
  KICI_ORCH_UNROUTABLE_FAST_FAILED_TOTAL: "counter",
@@ -646,20 +697,24 @@ const MetricKind = {
646
697
  KICI_PLATFORM_RELAY_BREAKER_TRIPS_TOTAL: "counter",
647
698
  KICI_PLATFORM_RELAY_REQUEST_DURATION_MS: "histogram",
648
699
  KICI_PLATFORM_RELAY_REQUEST_OUTCOME_TOTAL: "counter",
700
+ KICI_PLATFORM_RETENTION_ROWS_DELETED_TOTAL: "counter",
649
701
  KICI_PLATFORM_RUN_RECONCILE_DEFERRED_TOTAL: "counter",
650
702
  KICI_PLATFORM_RUN_RECONCILE_RECONCILED_TOTAL: "counter",
651
703
  KICI_PLATFORM_RUN_RECONCILE_SKIPPED_TOTAL: "counter",
704
+ KICI_PLATFORM_STALE_ORCH_SKIPPED_RECONNECTED_TOTAL: "counter",
652
705
  KICI_PLATFORM_STALE_ORCHESTRATORS_TOTAL: "counter",
653
706
  KICI_PLATFORM_STALE_PLATFORM_CONNECTIONS_EVICTED_TOTAL: "counter",
654
707
  KICI_PLATFORM_STALE_RUNS_FAILED_TOTAL: "counter",
655
708
  KICI_PLATFORM_STEP_STATUS_FORWARDS_TOTAL: "counter",
656
709
  KICI_PLATFORM_SUPPORT_SESSIONS_SWEPT_TOTAL: "counter",
710
+ KICI_PLATFORM_WORKER_REPORT_COLLAPSE_TOTAL: "counter",
657
711
  KICI_PLATFORM_WS_ORG_RATE_LIMITED_TOTAL: "counter",
658
712
  KICI_PLATFORM_WS_SLOW_CONSUMER_TERMINATED_TOTAL: "counter",
659
713
  KICI_RBAC_PERMS_CACHE_HITS_TOTAL: "counter",
660
714
  KICI_RBAC_PERMS_CACHE_MISSES_TOTAL: "counter",
661
715
  KICI_READ_RATE_LIMIT_REJECTED_TOTAL: "counter",
662
716
  KICI_REGISTRATIONS_TOTAL: "counter",
717
+ KICI_STRIPE_WEBHOOK_FAILURES_TOTAL: "counter",
663
718
  KICI_UNIVERSAL_GIT_REGISTRATION_ERRORS_TOTAL: "counter",
664
719
  KICI_USER_REGISTRATION_NOTIFY_TOTAL: "counter",
665
720
  KICI_VALKEY_CONNECTION_STATUS: "observableGauge",
@@ -669,6 +724,7 @@ const MetricKind = {
669
724
  KICI_WEBHOOK_BUFFER_BYTES: "observableGauge",
670
725
  KICI_WEBHOOK_BUFFER_DEPTH: "observableGauge",
671
726
  KICI_WEBHOOK_BUFFER_OLDEST_AGE_SECONDS: "observableGauge",
727
+ KICI_WEBHOOK_INGRESS_RATE_LIMITED_TOTAL: "counter",
672
728
  KICI_WEBHOOK_NO_ORCH_TOTAL: "counter",
673
729
  KICI_WEBHOOK_PG_BREAKER_STATE: "observableGauge",
674
730
  KICI_WEBHOOK_PG_BREAKER_TRANSITIONS_TOTAL: "counter",
@@ -685,6 +741,7 @@ const MetricKind = {
685
741
  KICI_WS_MESSAGES_SENT_TOTAL: "counter",
686
742
  KICI_WS_NACK_RECEIVED_TOTAL: "counter",
687
743
  KICI_WS_RELAY_ATTEMPTS_TOTAL: "counter",
744
+ KICI_WS_RELAY_BODY_OVERSIZE_TOTAL: "counter",
688
745
  KICI_WS_RELAY_DURATION_SECONDS: "histogram",
689
746
  KICI_WS_UNSUPPORTED_MESSAGE_SENT_TOTAL: "counter",
690
747
  NODEJS_EVENTLOOP_DELAY_MAX: "gauge",
@@ -719,6 +776,8 @@ const MetricDescription = {
719
776
  KICI_AGENT_STEP_DURATION_SECONDS: "Step execution duration in seconds",
720
777
  KICI_AGENT_STEPS_TOTAL: "Total number of completed steps",
721
778
  KICI_BILLING_EMAIL_SEND_TOTAL: "Billing emails sent, by kind and status",
779
+ KICI_BILLING_RECONCILE_CORRECTIONS_TOTAL: "Total entitlement corrections applied by the billing reconcile job",
780
+ KICI_BILLING_RECONCILE_ERRORS_TOTAL: "Total orgs the billing reconcile job could not resolve against Stripe",
722
781
  KICI_BUILD_JOBS_TOTAL: "Total build jobs dispatched",
723
782
  KICI_CACHE_HITS_TOTAL: "Total cache hits by type",
724
783
  KICI_CACHE_MISSES_TOTAL: "Total cache misses by type",
@@ -736,11 +795,15 @@ const MetricDescription = {
736
795
  KICI_ORCH_CHECK_RUN_TRACKING_ROWS_PRUNED_TOTAL: "check_run_tracking rows deleted by the retention sweep",
737
796
  KICI_ORCH_CONFIG_RELOAD_TOTAL: "Total number of config reload operations",
738
797
  KICI_ORCH_CONFIG_VERSION: "Current shared config version number",
798
+ KICI_ORCH_CONTAINER_REGISTRY_AUTH_CONTRIBUTOR_STRIPPED_TOTAL: "Job dispatches where container-registry credentials were withheld because the contributor tier was not `trusted`",
739
799
  KICI_ORCH_DB_COLLATION_DRIFT: "1 when the orchestrator DB stamped collation version differs from the running libc (text indexes may silently miss present rows); 0 when consistent.",
740
800
  KICI_ORCH_DECLARED_HOSTS_UNREACHABLE: "Number of declared (static) roster hosts currently unreachable",
741
801
  KICI_ORCH_DEDUP_HITS_TOTAL: "Total number of deduplication cache hits",
802
+ KICI_ORCH_DEFERRED_ATTESTATION_REJECTED_TOTAL: "Deferred provenance attestations refused at capture because the frozen statement did not check out against the orchestrator run row.",
803
+ KICI_ORCH_DEFERRED_INDEX_BUILDS_TOTAL: "Total post-boot deferred index builds by outcome",
742
804
  KICI_ORCH_DEP_CACHE_HITS_TOTAL: "Total number of dep cache hits",
743
805
  KICI_ORCH_DEP_CACHE_MISSES_TOTAL: "Total number of dep cache misses",
806
+ KICI_ORCH_DISPATCH_OWNERSHIP_SKIPPED_TOTAL: "Dispatch-queue actions skipped because the row is owned elsewhere or already resolved",
744
807
  KICI_ORCH_DISPATCH_QUEUE_DEPTH: "Current dispatch_queue depth per status (pending, dispatched)",
745
808
  KICI_ORCH_DISPATCH_QUEUE_DEPTH_BY_LABEL: "Current pending dispatch_queue depth per runs_on label (multi-label jobs fan out)",
746
809
  KICI_ORCH_DISPATCH_QUEUE_ROWS_PRUNED_TOTAL: "Terminal dispatch_queue rows deleted by the retention sweep",
@@ -751,6 +814,7 @@ const MetricDescription = {
751
814
  KICI_ORCH_EVENT_DLQ_TOTAL: "Internal events moved to the DLQ after exhausting retries",
752
815
  KICI_ORCH_EVENT_LEASE_EXPIRATIONS_TOTAL: "Dispatch leases that timed out before the holding node finalised them (signals node crash mid-dispatch)",
753
816
  KICI_ORCH_EVENT_RETRY_TOTAL: "Internal-event dispatch failures that triggered a retry (lease released, next_retry_at scheduled)",
817
+ KICI_ORCH_EXCESS_CONNECTIONS_CLOSED_TOTAL: "Total orchestrator connections closed for exceeding the org orchestrator cap",
754
818
  KICI_ORCH_EXECUTION_DURATION_SECONDS: "Duration of execution runs in seconds",
755
819
  KICI_ORCH_EXECUTIONS_TOTAL: "Total number of execution runs",
756
820
  KICI_ORCH_FORK_EVENTS_IGNORED_TOTAL: "Total fork pull-request events dropped by the org fork policy",
@@ -771,8 +835,9 @@ const MetricDescription = {
771
835
  KICI_ORCH_INGEST_ORG_MAX_CONCURRENCY: "Configured per-org fairness cap cluster default P (KICI_INGEST_ORG_MAX_CONCURRENCY)",
772
836
  KICI_ORCH_INGEST_OVERFLOW_BUFFERED: "Current webhook-ingest overflow buffer depth (buffered rows awaiting replay)",
773
837
  KICI_ORCH_INGEST_OVERFLOW_CAPTURED_TOTAL: "Total shed webhook-ingest deliveries captured into the durable overflow buffer",
774
- KICI_ORCH_INGEST_OVERFLOW_DROPPED_TOTAL: "Total overflow-buffered deliveries permanently dropped. Labels: reason (cap_full|max_attempts)",
838
+ KICI_ORCH_INGEST_OVERFLOW_DROPPED_TOTAL: "Total overflow-buffered deliveries permanently dropped. Labels: reason (cap_full|max_attempts|max_age)",
775
839
  KICI_ORCH_INGEST_OVERFLOW_MAX: "Configured overflow buffer row cap (KICI_INGEST_OVERFLOW_MAX)",
840
+ KICI_ORCH_INGEST_OVERFLOW_REPLAY_REFUSED_TOTAL: "Total overflow replay reservations refused by the admission controller (the row stays buffered and costs no attempt). Labels: reason (loop_overload|queue_full)",
776
841
  KICI_ORCH_INGEST_OVERFLOW_REPLAYED_TOTAL: "Total overflow-buffered deliveries successfully replayed through normal ingest",
777
842
  KICI_ORCH_INGEST_QUEUE_DEPTH: "Current webhook ingest admission queue depth (HTTP direct ingress)",
778
843
  KICI_ORCH_INGEST_SHED_TOTAL: "Webhook ingest admissions shed by the admission controller. Labels: reason (loop_overload|codel_drop|queue_full|max_sojourn)",
@@ -788,10 +853,14 @@ const MetricDescription = {
788
853
  KICI_ORCH_JOB_RUNS_TOTAL: "Scheduled job run outcomes, by job and result (success/failure)",
789
854
  KICI_ORCH_LOG_BYTES_STORED_TOTAL: "Total bytes of log data written to storage",
790
855
  KICI_ORCH_LOG_CHUNKS_RECEIVED_TOTAL: "Total number of log chunks received from agents",
856
+ KICI_ORCH_NON_MONOTONIC_JOB_STATUS_WRITES_TOTAL: "execution_jobs status writes rejected because the terminal row contradicts the frame",
791
857
  KICI_ORCH_PENDING_ATTESTATION_OLDEST_AGE_SECONDS: "Age of the oldest deferred attestation in the outbox",
792
858
  KICI_ORCH_PENDING_ATTESTATIONS_CURRENT: "Deferred attestations awaiting a later mint",
859
+ KICI_ORCH_PG_LISTEN_CONNECTED: "1 when the LISTEN subscription on this channel holds a live connection",
860
+ KICI_ORCH_PG_LISTEN_RECONNECTS_TOTAL: "Total LISTEN subscriptions re-established after a connection loss",
793
861
  KICI_ORCH_PG_POOL_CLIENT_ERRORS_TOTAL: "Total pg connection errors absorbed without a process restart",
794
862
  KICI_ORCH_REJECTED_ATTESTATIONS_CURRENT: "Deferred attestations permanently rejected (run/job absent on Platform); terminal, re-attempted only via kici-admin attestations retry --include-rejected",
863
+ KICI_ORCH_RETENTION_ROWS_DELETED_TOTAL: "Total rows deleted by the database retention sweep, by table",
795
864
  KICI_ORCH_SCALER_ADOPTION_LOOKUP_FAILURES_TOTAL: "Cumulative event-scaler spawn-record adoption lookups that failed with a store error.",
796
865
  KICI_ORCH_SCALER_CAP_LOCK_FAILURES_TOTAL: "Total event-scaler cluster-wide cap checks that failed, refusing their spawn without evaluating the cap. A rising rate means event autoscaling is not running; read reason to tell a stalled database from a contended lock.",
797
866
  KICI_ORCH_SCALER_CONFIG_RELOADS_TOTAL: "Total number of scaler config reload operations",
@@ -820,6 +889,7 @@ const MetricDescription = {
820
889
  KICI_ORCH_STEP_LOGS_PRUNED_TOTAL: "Step-log objects deleted by the retention sweep",
821
890
  KICI_ORCH_STEPS_TOTAL: "Total number of steps executed",
822
891
  KICI_ORCH_TRIGGER_MATCH_DURATION_SECONDS: "Duration of trigger matching operations in seconds",
892
+ KICI_ORCH_TRUST_DIRECTORY_AGE_SECONDS: "Seconds since the approval directory /kici approve is authorized against was last refreshed",
823
893
  KICI_ORCH_TRUST_MATCH_REFUSED_NO_ID_TOTAL: "Trust-resolution attempts refused because the provider numeric id was missing or did not match",
824
894
  KICI_ORCH_TRUST_POLICY_DECISIONS_TOTAL: "Total org trust-policy gate decisions by arm and action",
825
895
  KICI_ORCH_UNROUTABLE_FAST_FAILED_TOTAL: "Jobs terminalized as unroutable by the fast-fail probe (not the queue timeout)",
@@ -841,7 +911,7 @@ const MetricDescription = {
841
911
  KICI_PLATFORM_COORDINATOR_POOL_SIZE: "Coordinator pool size per routing key",
842
912
  KICI_PLATFORM_COORDINATOR_STALE_ENTRIES: "Stale (non-OPEN socket) coordinator entries in the pool per routing key",
843
913
  KICI_PLATFORM_COORDINATOR_ZOMBIE_ENTRIES_TOTAL: "Zombie (non-OPEN) coordinator entries encountered during relay selection",
844
- KICI_PLATFORM_CROSS_TENANT_REJECTIONS_TOTAL: "Total cross-tenant WS messages rejected by the Platform (security invariant). Labels: reason.",
914
+ KICI_PLATFORM_CROSS_TENANT_REJECTIONS_TOTAL: "Total cross-tenant events rejected or flagged by the Platform, on the WS plane and the webhook ingest (security invariant). Labels: reason.",
845
915
  KICI_PLATFORM_DASHBOARD_PROXY_DURATION_SECONDS: "Dashboard proxy request round-trip duration in seconds",
846
916
  KICI_PLATFORM_DASHBOARD_PROXY_PENDING: "In-flight dashboard proxy requests (Platform → orchestrator)",
847
917
  KICI_PLATFORM_DASHBOARD_PROXY_REQUESTS_TOTAL: "Total dashboard proxy requests by terminal outcome",
@@ -875,20 +945,24 @@ const MetricDescription = {
875
945
  KICI_PLATFORM_RELAY_BREAKER_TRIPS_TOTAL: "Relay circuit-breaker open transitions per coordinator",
876
946
  KICI_PLATFORM_RELAY_REQUEST_DURATION_MS: "End-to-end dashboard-proxy relay latency incl. failover, in ms",
877
947
  KICI_PLATFORM_RELAY_REQUEST_OUTCOME_TOTAL: "Dashboard-proxy relay request outcomes (incl. sibling failover)",
948
+ KICI_PLATFORM_RETENTION_ROWS_DELETED_TOTAL: "Rows deleted by the retention-purge sweep, labelled by table",
878
949
  KICI_PLATFORM_RUN_RECONCILE_DEFERRED_TOTAL: "Total run-mirror reconcile rows placed into backoff cooldown this cycle (unchanged status, or unreachable/null — deferred so they neither starve the batch nor are re-pulled every tick)",
879
950
  KICI_PLATFORM_RUN_RECONCILE_RECONCILED_TOTAL: "Total stuck non-terminal run mirrors whose status actually changed when pulled from an alive orchestrator (recovered drops), not merely re-polled",
880
951
  KICI_PLATFORM_RUN_RECONCILE_SKIPPED_TOTAL: "Total run-mirror reconcile attempts skipped (orchestrator unreachable or no run state returned)",
952
+ KICI_PLATFORM_STALE_ORCH_SKIPPED_RECONNECTED_TOTAL: "Stale-orchestrator scans skipped because the DB shows the orchestrator connected elsewhere in the fleet",
881
953
  KICI_PLATFORM_STALE_ORCHESTRATORS_TOTAL: "Total orchestrators detected as permanently disconnected",
882
954
  KICI_PLATFORM_STALE_PLATFORM_CONNECTIONS_EVICTED_TOTAL: "platform_connections rows evicted by source.register DB dedup (same-instance reconnect path)",
883
955
  KICI_PLATFORM_STALE_RUNS_FAILED_TOTAL: "Total execution runs failed due to orchestrator staleness",
884
956
  KICI_PLATFORM_STEP_STATUS_FORWARDS_TOTAL: "Total step status forwards received",
885
957
  KICI_PLATFORM_SUPPORT_SESSIONS_SWEPT_TOTAL: "Total support-session activations closed by the janitor sweep",
958
+ KICI_PLATFORM_WORKER_REPORT_COLLAPSE_TOTAL: "Coordinators whose reported worker count collapsed away from its own peak",
886
959
  KICI_PLATFORM_WS_ORG_RATE_LIMITED_TOTAL: "Inbound orchestrator messages dropped by the per-org aggregate WS rate limit",
887
960
  KICI_PLATFORM_WS_SLOW_CONSUMER_TERMINATED_TOTAL: "Total browser WS connections terminated for exceeding the send-buffer watermark",
888
961
  KICI_RBAC_PERMS_CACHE_HITS_TOTAL: "Effective-permissions cache hits",
889
962
  KICI_RBAC_PERMS_CACHE_MISSES_TOTAL: "Effective-permissions cache misses (recomputed from Postgres)",
890
963
  KICI_READ_RATE_LIMIT_REJECTED_TOTAL: "Read-route requests rejected by the protective token bucket, by scope",
891
964
  KICI_REGISTRATIONS_TOTAL: "Total user registrations (new personal orgs created on first login)",
965
+ KICI_STRIPE_WEBHOOK_FAILURES_TOTAL: "Total Stripe webhook events whose handler failed and rolled back",
892
966
  KICI_UNIVERSAL_GIT_REGISTRATION_ERRORS_TOTAL: "Errors encountered while registering universal-git provider bundles",
893
967
  KICI_USER_REGISTRATION_NOTIFY_TOTAL: "New-user Telegram notifications by result (sent|failed)",
894
968
  KICI_VALKEY_CONNECTION_STATUS: "Valkey connection status per role (1=connected, 0=disconnected)",
@@ -898,6 +972,7 @@ const MetricDescription = {
898
972
  KICI_WEBHOOK_BUFFER_BYTES: "Total buffered webhook bytes (global Valkey counter)",
899
973
  KICI_WEBHOOK_BUFFER_DEPTH: "Buffered webhook count per org",
900
974
  KICI_WEBHOOK_BUFFER_OLDEST_AGE_SECONDS: "Age of the oldest buffered webhook per org, in seconds",
975
+ KICI_WEBHOOK_INGRESS_RATE_LIMITED_TOTAL: "Webhook ingress requests rejected by the protective token bucket, by scope",
901
976
  KICI_WEBHOOK_NO_ORCH_TOTAL: "Webhooks handled by the no-orchestrator buffer, by outcome",
902
977
  KICI_WEBHOOK_PG_BREAKER_STATE: "PG circuit-breaker state on this instance (0=closed,1=degraded,2=open)",
903
978
  KICI_WEBHOOK_PG_BREAKER_TRANSITIONS_TOTAL: "PG circuit-breaker state transitions",
@@ -914,6 +989,7 @@ const MetricDescription = {
914
989
  KICI_WS_MESSAGES_SENT_TOTAL: "Total messages sent to orchestrators",
915
990
  KICI_WS_NACK_RECEIVED_TOTAL: "NACKs received from an orchestrator for a message it could not process (version skew)",
916
991
  KICI_WS_RELAY_ATTEMPTS_TOTAL: "Total number of webhook relay attempts",
992
+ KICI_WS_RELAY_BODY_OVERSIZE_TOTAL: "Cross-instance relay notifications refused for exceeding the pub/sub payload size guard",
917
993
  KICI_WS_RELAY_DURATION_SECONDS: "Duration of webhook relay operations in seconds",
918
994
  KICI_WS_UNSUPPORTED_MESSAGE_SENT_TOTAL: "NACKs sent to an orchestrator for an unrecognized inbound message type (version skew)",
919
995
  NODEJS_EVENTLOOP_DELAY_MAX: "Event loop maximum delay",
@@ -955,6 +1031,8 @@ const MetricService = {
955
1031
  KICI_AGENT_STEP_DURATION_SECONDS: "agent",
956
1032
  KICI_AGENT_STEPS_TOTAL: "agent",
957
1033
  KICI_BILLING_EMAIL_SEND_TOTAL: "platform",
1034
+ KICI_BILLING_RECONCILE_CORRECTIONS_TOTAL: "platform",
1035
+ KICI_BILLING_RECONCILE_ERRORS_TOTAL: "platform",
958
1036
  KICI_BUILD_JOBS_TOTAL: "platform",
959
1037
  KICI_CACHE_HITS_TOTAL: "platform",
960
1038
  KICI_CACHE_MISSES_TOTAL: "platform",
@@ -972,11 +1050,15 @@ const MetricService = {
972
1050
  KICI_ORCH_CHECK_RUN_TRACKING_ROWS_PRUNED_TOTAL: "orchestrator",
973
1051
  KICI_ORCH_CONFIG_RELOAD_TOTAL: "orchestrator",
974
1052
  KICI_ORCH_CONFIG_VERSION: "orchestrator",
1053
+ KICI_ORCH_CONTAINER_REGISTRY_AUTH_CONTRIBUTOR_STRIPPED_TOTAL: "orchestrator",
975
1054
  KICI_ORCH_DB_COLLATION_DRIFT: "orchestrator",
976
1055
  KICI_ORCH_DECLARED_HOSTS_UNREACHABLE: "orchestrator",
977
1056
  KICI_ORCH_DEDUP_HITS_TOTAL: "orchestrator",
1057
+ KICI_ORCH_DEFERRED_ATTESTATION_REJECTED_TOTAL: "orchestrator",
1058
+ KICI_ORCH_DEFERRED_INDEX_BUILDS_TOTAL: "orchestrator",
978
1059
  KICI_ORCH_DEP_CACHE_HITS_TOTAL: "orchestrator",
979
1060
  KICI_ORCH_DEP_CACHE_MISSES_TOTAL: "orchestrator",
1061
+ KICI_ORCH_DISPATCH_OWNERSHIP_SKIPPED_TOTAL: "orchestrator",
980
1062
  KICI_ORCH_DISPATCH_QUEUE_DEPTH: "orchestrator",
981
1063
  KICI_ORCH_DISPATCH_QUEUE_DEPTH_BY_LABEL: "orchestrator",
982
1064
  KICI_ORCH_DISPATCH_QUEUE_ROWS_PRUNED_TOTAL: "orchestrator",
@@ -987,6 +1069,7 @@ const MetricService = {
987
1069
  KICI_ORCH_EVENT_DLQ_TOTAL: "orchestrator",
988
1070
  KICI_ORCH_EVENT_LEASE_EXPIRATIONS_TOTAL: "orchestrator",
989
1071
  KICI_ORCH_EVENT_RETRY_TOTAL: "orchestrator",
1072
+ KICI_ORCH_EXCESS_CONNECTIONS_CLOSED_TOTAL: "platform",
990
1073
  KICI_ORCH_EXECUTION_DURATION_SECONDS: "orchestrator",
991
1074
  KICI_ORCH_EXECUTIONS_TOTAL: "orchestrator",
992
1075
  KICI_ORCH_FORK_EVENTS_IGNORED_TOTAL: "orchestrator",
@@ -1009,6 +1092,7 @@ const MetricService = {
1009
1092
  KICI_ORCH_INGEST_OVERFLOW_CAPTURED_TOTAL: "orchestrator",
1010
1093
  KICI_ORCH_INGEST_OVERFLOW_DROPPED_TOTAL: "orchestrator",
1011
1094
  KICI_ORCH_INGEST_OVERFLOW_MAX: "orchestrator",
1095
+ KICI_ORCH_INGEST_OVERFLOW_REPLAY_REFUSED_TOTAL: "orchestrator",
1012
1096
  KICI_ORCH_INGEST_OVERFLOW_REPLAYED_TOTAL: "orchestrator",
1013
1097
  KICI_ORCH_INGEST_QUEUE_DEPTH: "orchestrator",
1014
1098
  KICI_ORCH_INGEST_SHED_TOTAL: "orchestrator",
@@ -1024,10 +1108,14 @@ const MetricService = {
1024
1108
  KICI_ORCH_JOB_RUNS_TOTAL: "orchestrator",
1025
1109
  KICI_ORCH_LOG_BYTES_STORED_TOTAL: "orchestrator",
1026
1110
  KICI_ORCH_LOG_CHUNKS_RECEIVED_TOTAL: "orchestrator",
1111
+ KICI_ORCH_NON_MONOTONIC_JOB_STATUS_WRITES_TOTAL: "orchestrator",
1027
1112
  KICI_ORCH_PENDING_ATTESTATION_OLDEST_AGE_SECONDS: "orchestrator",
1028
1113
  KICI_ORCH_PENDING_ATTESTATIONS_CURRENT: "orchestrator",
1114
+ KICI_ORCH_PG_LISTEN_CONNECTED: "orchestrator",
1115
+ KICI_ORCH_PG_LISTEN_RECONNECTS_TOTAL: "orchestrator",
1029
1116
  KICI_ORCH_PG_POOL_CLIENT_ERRORS_TOTAL: "orchestrator",
1030
1117
  KICI_ORCH_REJECTED_ATTESTATIONS_CURRENT: "orchestrator",
1118
+ KICI_ORCH_RETENTION_ROWS_DELETED_TOTAL: "orchestrator",
1031
1119
  KICI_ORCH_SCALER_ADOPTION_LOOKUP_FAILURES_TOTAL: "orchestrator",
1032
1120
  KICI_ORCH_SCALER_CAP_LOCK_FAILURES_TOTAL: "orchestrator",
1033
1121
  KICI_ORCH_SCALER_CONFIG_RELOADS_TOTAL: "orchestrator",
@@ -1056,6 +1144,7 @@ const MetricService = {
1056
1144
  KICI_ORCH_STEP_LOGS_PRUNED_TOTAL: "orchestrator",
1057
1145
  KICI_ORCH_STEPS_TOTAL: "orchestrator",
1058
1146
  KICI_ORCH_TRIGGER_MATCH_DURATION_SECONDS: "orchestrator",
1147
+ KICI_ORCH_TRUST_DIRECTORY_AGE_SECONDS: "orchestrator",
1059
1148
  KICI_ORCH_TRUST_MATCH_REFUSED_NO_ID_TOTAL: "orchestrator",
1060
1149
  KICI_ORCH_TRUST_POLICY_DECISIONS_TOTAL: "orchestrator",
1061
1150
  KICI_ORCH_UNROUTABLE_FAST_FAILED_TOTAL: "orchestrator",
@@ -1111,20 +1200,24 @@ const MetricService = {
1111
1200
  KICI_PLATFORM_RELAY_BREAKER_TRIPS_TOTAL: "platform",
1112
1201
  KICI_PLATFORM_RELAY_REQUEST_DURATION_MS: "platform",
1113
1202
  KICI_PLATFORM_RELAY_REQUEST_OUTCOME_TOTAL: "platform",
1203
+ KICI_PLATFORM_RETENTION_ROWS_DELETED_TOTAL: "platform",
1114
1204
  KICI_PLATFORM_RUN_RECONCILE_DEFERRED_TOTAL: "platform",
1115
1205
  KICI_PLATFORM_RUN_RECONCILE_RECONCILED_TOTAL: "platform",
1116
1206
  KICI_PLATFORM_RUN_RECONCILE_SKIPPED_TOTAL: "platform",
1207
+ KICI_PLATFORM_STALE_ORCH_SKIPPED_RECONNECTED_TOTAL: "platform",
1117
1208
  KICI_PLATFORM_STALE_ORCHESTRATORS_TOTAL: "platform",
1118
1209
  KICI_PLATFORM_STALE_PLATFORM_CONNECTIONS_EVICTED_TOTAL: "platform",
1119
1210
  KICI_PLATFORM_STALE_RUNS_FAILED_TOTAL: "platform",
1120
1211
  KICI_PLATFORM_STEP_STATUS_FORWARDS_TOTAL: "platform",
1121
1212
  KICI_PLATFORM_SUPPORT_SESSIONS_SWEPT_TOTAL: "platform",
1213
+ KICI_PLATFORM_WORKER_REPORT_COLLAPSE_TOTAL: "platform",
1122
1214
  KICI_PLATFORM_WS_ORG_RATE_LIMITED_TOTAL: "platform",
1123
1215
  KICI_PLATFORM_WS_SLOW_CONSUMER_TERMINATED_TOTAL: "platform",
1124
1216
  KICI_RBAC_PERMS_CACHE_HITS_TOTAL: "platform",
1125
1217
  KICI_RBAC_PERMS_CACHE_MISSES_TOTAL: "platform",
1126
1218
  KICI_READ_RATE_LIMIT_REJECTED_TOTAL: "platform",
1127
1219
  KICI_REGISTRATIONS_TOTAL: "platform",
1220
+ KICI_STRIPE_WEBHOOK_FAILURES_TOTAL: "platform",
1128
1221
  KICI_UNIVERSAL_GIT_REGISTRATION_ERRORS_TOTAL: "orchestrator",
1129
1222
  KICI_USER_REGISTRATION_NOTIFY_TOTAL: "platform",
1130
1223
  KICI_VALKEY_CONNECTION_STATUS: "platform",
@@ -1134,6 +1227,7 @@ const MetricService = {
1134
1227
  KICI_WEBHOOK_BUFFER_BYTES: "platform",
1135
1228
  KICI_WEBHOOK_BUFFER_DEPTH: "platform",
1136
1229
  KICI_WEBHOOK_BUFFER_OLDEST_AGE_SECONDS: "platform",
1230
+ KICI_WEBHOOK_INGRESS_RATE_LIMITED_TOTAL: "platform",
1137
1231
  KICI_WEBHOOK_NO_ORCH_TOTAL: "platform",
1138
1232
  KICI_WEBHOOK_PG_BREAKER_STATE: "platform",
1139
1233
  KICI_WEBHOOK_PG_BREAKER_TRANSITIONS_TOTAL: "platform",
@@ -1150,6 +1244,7 @@ const MetricService = {
1150
1244
  KICI_WS_MESSAGES_SENT_TOTAL: "platform",
1151
1245
  KICI_WS_NACK_RECEIVED_TOTAL: "platform",
1152
1246
  KICI_WS_RELAY_ATTEMPTS_TOTAL: "platform",
1247
+ KICI_WS_RELAY_BODY_OVERSIZE_TOTAL: "platform",
1153
1248
  KICI_WS_RELAY_DURATION_SECONDS: "platform",
1154
1249
  KICI_WS_UNSUPPORTED_MESSAGE_SENT_TOTAL: "platform",
1155
1250
  NODEJS_EVENTLOOP_DELAY_MAX: "runtime",
@@ -1185,6 +1280,8 @@ const ALL_METRIC_NAMES = [
1185
1280
  "kici_agent_step_duration_seconds",
1186
1281
  "kici_agent_steps_total",
1187
1282
  "kici_billing_email_send_total",
1283
+ "kici_billing_reconcile_corrections_total",
1284
+ "kici_billing_reconcile_errors_total",
1188
1285
  "kici_build_jobs_total",
1189
1286
  "kici_cache_hits_total",
1190
1287
  "kici_cache_misses_total",
@@ -1202,11 +1299,15 @@ const ALL_METRIC_NAMES = [
1202
1299
  "kici_orch_check_run_tracking_rows_pruned_total",
1203
1300
  "kici_orch_config_reload_total",
1204
1301
  "kici_orch_config_version",
1302
+ "kici_orch_container_registry_auth_contributor_stripped_total",
1205
1303
  "kici_orch_db_collation_drift",
1206
1304
  "kici_orch_declared_hosts_unreachable",
1207
1305
  "kici_orch_dedup_hits_total",
1306
+ "kici_orch_deferred_attestation_rejected_total",
1307
+ "kici_orch_deferred_index_builds_total",
1208
1308
  "kici_orch_dep_cache_hits_total",
1209
1309
  "kici_orch_dep_cache_misses_total",
1310
+ "kici_orch_dispatch_ownership_skipped_total",
1210
1311
  "kici_orch_dispatch_queue_depth",
1211
1312
  "kici_orch_dispatch_queue_depth_by_label",
1212
1313
  "kici_orch_dispatch_queue_rows_pruned_total",
@@ -1217,6 +1318,7 @@ const ALL_METRIC_NAMES = [
1217
1318
  "kici_orch_event_dlq_total",
1218
1319
  "kici_orch_event_lease_expirations_total",
1219
1320
  "kici_orch_event_retry_total",
1321
+ "kici_orch_excess_connections_closed_total",
1220
1322
  "kici_orch_execution_duration_seconds",
1221
1323
  "kici_orch_executions_total",
1222
1324
  "kici_orch_fork_events_ignored_total",
@@ -1239,6 +1341,7 @@ const ALL_METRIC_NAMES = [
1239
1341
  "kici_orch_ingest_overflow_captured_total",
1240
1342
  "kici_orch_ingest_overflow_dropped_total",
1241
1343
  "kici_orch_ingest_overflow_max",
1344
+ "kici_orch_ingest_overflow_replay_refused_total",
1242
1345
  "kici_orch_ingest_overflow_replayed_total",
1243
1346
  "kici_orch_ingest_queue_depth",
1244
1347
  "kici_orch_ingest_shed_total",
@@ -1254,10 +1357,14 @@ const ALL_METRIC_NAMES = [
1254
1357
  "kici_orch_job_runs_total",
1255
1358
  "kici_orch_log_bytes_stored_total",
1256
1359
  "kici_orch_log_chunks_received_total",
1360
+ "kici_orch_non_monotonic_job_status_writes_total",
1257
1361
  "kici_orch_pending_attestation_oldest_age_seconds",
1258
1362
  "kici_orch_pending_attestations_current",
1363
+ "kici_orch_pg_listen_connected",
1364
+ "kici_orch_pg_listen_reconnects_total",
1259
1365
  "kici_orch_pg_pool_client_errors_total",
1260
1366
  "kici_orch_rejected_attestations_current",
1367
+ "kici_orch_retention_rows_deleted_total",
1261
1368
  "kici_orch_scaler_adoption_lookup_failures_total",
1262
1369
  "kici_orch_scaler_cap_lock_failures_total",
1263
1370
  "kici_orch_scaler_config_reloads_total",
@@ -1286,6 +1393,7 @@ const ALL_METRIC_NAMES = [
1286
1393
  "kici_orch_step_logs_pruned_total",
1287
1394
  "kici_orch_steps_total",
1288
1395
  "kici_orch_trigger_match_duration_seconds",
1396
+ "kici_orch_trust_directory_age_seconds",
1289
1397
  "kici_orch_trust_match_refused_no_id_total",
1290
1398
  "kici_orch_trust_policy_decisions_total",
1291
1399
  "kici_orch_unroutable_fast_failed_total",
@@ -1341,20 +1449,24 @@ const ALL_METRIC_NAMES = [
1341
1449
  "kici_platform_relay_breaker_trips_total",
1342
1450
  "kici_platform_relay_request_duration_ms",
1343
1451
  "kici_platform_relay_request_outcome_total",
1452
+ "kici_platform_retention_rows_deleted_total",
1344
1453
  "kici_platform_run_reconcile_deferred_total",
1345
1454
  "kici_platform_run_reconcile_reconciled_total",
1346
1455
  "kici_platform_run_reconcile_skipped_total",
1456
+ "kici_platform_stale_orch_skipped_reconnected_total",
1347
1457
  "kici_platform_stale_orchestrators_total",
1348
1458
  "kici_platform_stale_platform_connections_evicted_total",
1349
1459
  "kici_platform_stale_runs_failed_total",
1350
1460
  "kici_platform_step_status_forwards_total",
1351
1461
  "kici_platform_support_sessions_swept_total",
1462
+ "kici_platform_worker_report_collapse_total",
1352
1463
  "kici_platform_ws_org_rate_limited_total",
1353
1464
  "kici_platform_ws_slow_consumer_terminated_total",
1354
1465
  "kici_rbac_perms_cache_hits_total",
1355
1466
  "kici_rbac_perms_cache_misses_total",
1356
1467
  "kici_read_rate_limit_rejected_total",
1357
1468
  "kici_registrations_total",
1469
+ "kici_stripe_webhook_failures_total",
1358
1470
  "kici_universal_git_registration_errors_total",
1359
1471
  "kici_user_registration_notify_total",
1360
1472
  "kici_valkey_connection_status",
@@ -1364,6 +1476,7 @@ const ALL_METRIC_NAMES = [
1364
1476
  "kici_webhook_buffer_bytes",
1365
1477
  "kici_webhook_buffer_depth",
1366
1478
  "kici_webhook_buffer_oldest_age_seconds",
1479
+ "kici_webhook_ingress_rate_limited_total",
1367
1480
  "kici_webhook_no_orch_total",
1368
1481
  "kici_webhook_pg_breaker_state",
1369
1482
  "kici_webhook_pg_breaker_transitions_total",
@@ -1380,6 +1493,7 @@ const ALL_METRIC_NAMES = [
1380
1493
  "kici_ws_messages_sent_total",
1381
1494
  "kici_ws_nack_received_total",
1382
1495
  "kici_ws_relay_attempts_total",
1496
+ "kici_ws_relay_body_oversize_total",
1383
1497
  "kici_ws_relay_duration_seconds",
1384
1498
  "kici_ws_unsupported_message_sent_total",
1385
1499
  "nodejs.eventloop.delay.max",
@@ -90,6 +90,23 @@ export interface DashboardWriteOperationDescriptor {
90
90
  readonly cliEquivalent: string;
91
91
  }
92
92
  export declare const DASHBOARD_WRITE_OPERATIONS: readonly DashboardWriteOperationDescriptor[];
93
+ /**
94
+ * The operations whose `cliEquivalent` answers only on an **independent**
95
+ * orchestrator.
96
+ *
97
+ * `kici-admin held-run approve` and `reject` refuse with a 409 wherever a
98
+ * Platform is attached, because the Platform's own held-run trust gate is the
99
+ * authority on who may answer a hold there. Every other operation's CLI
100
+ * equivalent works in any mode.
101
+ *
102
+ * That makes these two the only operations a Platform-attached orchestrator
103
+ * cannot move to the CLI layer: disabling one leaves no surface that can answer
104
+ * a context or reviewer hold, so the orchestrator refuses the write. This list
105
+ * is what the orchestrator's policy module and the `dashboard-writes` CLI
106
+ * render both read, so the refusal and the warning can never name different
107
+ * operations.
108
+ */
109
+ export declare const CLI_INDEPENDENT_ONLY_OPERATIONS: readonly DashboardWriteOperation[];
93
110
  /** O(1) lookup of a descriptor by operation name. */
94
111
  export declare const DASHBOARD_WRITE_OPERATIONS_BY_NAME: ReadonlyMap<DashboardWriteOperation, DashboardWriteOperationDescriptor>;
95
112
  /** O(1) lookup of a descriptor by wire-message type. */