{"ok":true,"service":"callcurb-lookup-api","environment":"production","buildVersion":"0.1.0","timestamp":"2026-06-09T18:21:27.869Z","uptimeSeconds":275255,"observability":{"window_minutes":15,"request_count":0,"request_rate_per_second":0,"last_request_at":null,"latency_ms":{"average":null,"p50":null,"p95":null,"p99":null,"max":null,"target_p95":30,"target_p99":80},"response_size_bytes":{"average":null,"p95":null,"max":null},"cache":{"cacheable_request_count":0,"hit_count":0,"mixed_count":0,"hit_rate":null},"status_codes":{"success_2xx":0,"client_error_4xx":0,"server_error_5xx":0},"top_errors":[],"key_validation_failures":{"count":0,"last_occurred_at":null},"buffered_rollups":{"started_at":"2026-06-06T13:53:51.773Z","totals":{"request_count":9,"average_latency_ms":17.11,"max_latency_ms":29,"last_request_at":"2026-06-09T16:46:12.201Z","methods":{"GET":9},"endpoints":{"/v1/lookup/{e164}":7,"/v1/*":2},"status_codes":{"404":9},"status_classes":{"success2xx":0,"clientError4xx":9,"serverError5xx":0},"cache_status":{"hit":0,"miss":0,"mixed":0,"bypass":9},"latency_histogram":[{"upperBoundMs":1,"label":"<=1","count":1},{"upperBoundMs":2,"label":"<=2","count":1},{"upperBoundMs":5,"label":"<=5","count":0},{"upperBoundMs":10,"label":"<=10","count":0},{"upperBoundMs":20,"label":"<=20","count":3},{"upperBoundMs":30,"label":"<=30","count":4},{"upperBoundMs":50,"label":"<=50","count":0},{"upperBoundMs":75,"label":"<=75","count":0},{"upperBoundMs":100,"label":"<=100","count":0},{"upperBoundMs":250,"label":"<=250","count":0},{"upperBoundMs":500,"label":"<=500","count":0},{"upperBoundMs":1000,"label":"<=1000","count":0},{"upperBoundMs":2000,"label":"<=2000","count":0},{"upperBoundMs":null,"label":"+Inf","count":0}]},"key_validation_failures":{"count":0,"last_occurred_at":null},"scylla_queries":{"total_count":0,"operations":[]},"resources":{"latest":{"capturedAt":"2026-06-09T18:20:54.485Z","processUptimeSeconds":275225,"rssMb":787.4,"heapUsedMb":355.3,"heapTotalMb":369.1,"externalMb":81.2,"hostMemoryUsedMb":22131.2,"hostMemoryTotalMb":31335.3,"loadAverage":[0.01,0.07,0.08],"cpuCount":8,"nodeVersion":"v22.22.2","platform":"linux/x64","pid":378380,"activeWorkerCount":4},"history":[]},"flush":{"export_path":"/var/lib/callcurb/lookup-api/lookup-api-observability-rollups.json","flush_interval_ms":5000,"resource_snapshot_interval_ms":30000,"pending_changes":0,"last_attempt_at":"2026-06-09T18:21:27.316Z","last_success_at":"2026-06-09T18:21:27.316Z","last_error":null}}},"worker_runtime":{"authority_snapshot":{"refreshIntervalMs":5000,"freshnessWindowMs":5000,"ageMs":275252536,"minAgeMs":188466618,"maxAgeMs":275252536,"staleWorkerCount":4,"workerCount":4,"lastLoadedAt":"2026-06-07T14:00:17.687Z","lastLoadedAtNewest":"2026-06-07T14:00:17.687Z","lastLoadedAtOldest":"2026-06-06T13:53:51.769Z","lastRefreshError":null,"lastRefreshErrorCount":0},"usage_queue":{"persistenceMode":"primary_ipc","queuedCount":0,"maxDepth":10000,"workersAtMaxDepth":0,"totalPersisted":1,"totalDropped":0,"totalRecovered":0,"totalShutdownFlushed":0,"lastPersistedAt":"2026-06-07T14:00:17.381Z","lastFlushStartedAt":"2026-06-09T18:21:23.083Z","lastFlushCompletedAt":"2026-06-09T18:21:23.083Z","lastFlushDurationMs":5000,"lastFlushBatchSize":2,"lastFlushError":"Timed out waiting for primary usage persistence ack for batch 378413-1781029278083-19371."},"cache":{"posture":"per_worker_lru","maxEntriesPerWorker":1000,"configuredWorkerCount":4,"estimatedClusterEntryCapacity":4000,"activeEntryCount":0,"approxValueBytes":0,"utilizationPercent":0,"totalEvictions":0,"totalExpiredOnRead":0,"lastSetAt":null},"workers":[{"workerId":1,"pid":378413,"capturedAt":"2026-06-09T18:21:24.305Z","requestCount":0,"requestRatePerSecond":0,"p95LatencyMs":null,"cacheEntryCount":0,"cacheApproxValueBytes":0,"usageQueuedCount":0,"usageDroppedTotal":0,"authorityAgeMs":275252536,"rssMb":195.7,"topErrors":[]},{"workerId":2,"pid":378414,"capturedAt":"2026-06-09T18:21:24.304Z","requestCount":0,"requestRatePerSecond":0,"p95LatencyMs":null,"cacheEntryCount":0,"cacheApproxValueBytes":0,"usageQueuedCount":0,"usageDroppedTotal":0,"authorityAgeMs":275252421,"rssMb":197.4,"topErrors":[]},{"workerId":3,"pid":378420,"capturedAt":"2026-06-09T18:21:24.304Z","requestCount":0,"requestRatePerSecond":0,"p95LatencyMs":null,"cacheEntryCount":0,"cacheApproxValueBytes":0,"usageQueuedCount":0,"usageDroppedTotal":0,"authorityAgeMs":275252427,"rssMb":198.1,"topErrors":[]},{"workerId":4,"pid":378426,"capturedAt":"2026-06-09T18:21:24.305Z","requestCount":0,"requestRatePerSecond":0,"p95LatencyMs":null,"cacheEntryCount":0,"cacheApproxValueBytes":0,"usageQueuedCount":0,"usageDroppedTotal":0,"authorityAgeMs":188466618,"rssMb":196.2,"topErrors":[]}]},"runtime_telemetry_source":"primary_coordinated","cache_posture":{"model":"per_worker_lru","workerDuplicationAccepted":true,"maxEntriesPerWorker":1000,"configuredWorkerCount":4,"estimatedClusterEntryCapacity":4000,"activeEntryCount":0,"approxValueBytes":0,"summary":"The runtime keeps one per-worker LRU cache and sizes memory explicitly as max entries per worker multiplied by configured workers. This keeps cache hits local and avoids adding a shared cache dependency to the hot path."},"coordinator_status":{"state":"active","role":"primary","configuredWorkerCount":4,"activeWorkerCount":4,"workerRestartCount":0,"backgroundSyncOwner":"primary","primaryPid":378380,"workerPids":[378413,378414,378420,378426],"lastUpdatedAt":"2026-06-09T18:21:27.315Z","lastWorkerForkedAt":null,"lastWorkerOnlineAt":null,"lastWorkerExitAt":null,"lastWorkerExitReason":null,"usageWriter":{"mode":"primary_serialized_sqlite","queuedBatchCount":66110,"queuedEventCount":85831,"inFlightBatchCount":0,"lastBatchReceivedAt":"2026-06-09T18:21:25.315Z","lastPersistedAt":"2026-06-07T14:00:17.684Z","lastBatchSize":1,"lastDurationMs":6,"lastError":null,"totalReceivedBatches":66111,"totalReceivedEvents":85832,"totalPersistedBatches":1,"totalPersistedEvents":1,"totalFailedBatches":0}},"consistency_contract":{"authoritativeSqliteCounters":["api-key lifecycle status and revocation state","rotation lineage and allowlists","persisted daily quota-window counters","persisted long-window usage history and exports"],"workerLocalProtections":["bounded authority snapshots for hot-path auth reads","worker-local minute rate-limit buckets","worker-local queued usage shadow counters","worker-local queue backpressure and drop protection"],"boundedSkew":{"authorityFreshnessWindowMs":5000,"maxExtraQuotaRequestsPerWindow":3,"maxExtraRateLimitRequestsPerMinute":3},"quotaGuard":{"configuredWorkerCount":4,"strategy":"Each worker may admit only ceil((remaining_authoritative_quota) / configured_workers) additional requests before the next SQLite-backed snapshot refresh."},"singleWriterDurability":{"workerPersistenceMode":"primary_ipc","coordinatorWriterMode":"primary_serialized_sqlite","strategy":"Workers batch usage locally, forward flush batches to the primary process over IPC, and the primary coalesces those worker batches into one serialized SQLite persistence lane."}},"scylla_connection":{"kind":"loopback","host":"127.0.0.1","port":9042,"preferredForHetzner":true,"requiresManualVerification":false,"detail":"Scylla is targeted through loopback at 127.0.0.1:9042, which is the preferred same-host Hetzner path."},"dependency_summary":{"total":2,"degraded_count":0},"degraded_dependencies":[],"readiness":{"state":"degraded","summary":"The local key authority has a non-blocking warning.","blockers":[],"warnings":["The local key authority has a non-blocking warning."]}}