{ "schema": "state-hub.resource-wave1-before.v1", "workplan": "STATE-WP-0099", "related": [ "CUST-WP-0071", "RESOURCE-WP-0008", "STATE-WP-0091" ], "observed_at": "2026-10-21T06:39:56.971454+00:00", "collected_by": "claude-code (read-only: kubectl get, helm history, curl /state/health)", "node": { "name": "239.62.205.92.host.secureserver.net", "allocatable_cpu_m": 4000, "allocatable_memory_mi": 15993, "requested_cpu_m": 3605, "requested_memory_mi": 9856, "unrequested_cpu_m": 395 }, "helm": { "release": "state-hub", "namespace": "state-hub", "revision": 77, "status": "deployed", "updated": "2026-10-17T01:53:02Z", "app_version": "main-5dd3df9", "rollback_target_revision": 77, "note": "effective resources taken from the live Deployment specs below; release values were not dumped" }, "deployments": { "state-hub": { "replicas": 1, "strategy": { "rollingUpdate": { "maxSurge": 1, "maxUnavailable": 0 }, "type": "RollingUpdate" }, "containers": { "state-hub": { "limits": { "cpu": "1", "memory": "2Gi" }, "requests": { "cpu": "250m", "memory": "512Mi" } } } }, "state-hub-mcp": { "replicas": 1, "strategy": { "rollingUpdate": { "maxSurge": 1, "maxUnavailable": 0 }, "type": "RollingUpdate" }, "containers": { "state-hub-mcp": { "limits": { "cpu": "500m", "memory": "512Mi" }, "requests": { "cpu": "10m", "memory": "128Mi" } } } }, "state-hub-memo-dispatch": { "replicas": 1, "strategy": { "type": "Recreate" }, "containers": { "dispatcher": { "limits": { "cpu": "100m", "memory": "96Mi" }, "requests": { "cpu": "5m", "memory": "24Mi" } } } } }, "pods": { "state-hub-6c5b9c676-8chmx": { "phase": "Running", "ready": true, "restarts": 0, "started": "2026-10-17T01:53:16Z" }, "state-hub-mcp-b955b86b4-x849p": { "phase": "Running", "ready": true, "restarts": 0, "started": "2026-10-17T01:53:16Z" }, "state-hub-memo-dispatch-5758dd4c-pk87d": { "phase": "Running", "ready": true, "restarts": 1, "started": "2026-10-04T22:10:30Z" } }, "state_hub_db": { "cluster_spec_resources": {}, "instances": 1, "managed_by_label": "manual", "pod": "state-hub-db-1", "pod_container_resources": { "postgres": {} }, "pod_restarts_lifetime": 214, "last_termination": { "terminated": { "containerID": "containerd://bf9293a209739e5611aeeb0c012ba10230b16bbcac8363be4475a8da2bc62a61", "exitCode": 255, "finishedAt": "2026-10-14T18:21:45Z", "reason": "Unknown", "startedAt": "2026-08-15T22:30:35Z" } }, "note": "restart count is lifetime since 2026-07-06; last termination 2026-10-14 exitCode 255 reason Unknown (node-level restart), not a resource kill. Baseline for 'no new restarts'." }, "hub_health": { "status": "ok", "db": "connected", "instance_role": "primary", "schema_applied": "c4d5e6f7a8b9" }, "mcp": { "service": "10.43.110.80:8001", "endpoint": "10.42.0.60", "pod_ready": true, "note": "no workstation forward on :8001; verified by Ready pod + endpoint" }, "preflight_before_change": { "schema": "state-hub.release-headroom-preflight.v1", "ok": true, "observed_at": "2026-10-21T06:39:56.971454+00:00", "freshness_seconds": 0, "remaining_cpu_m": 395, "remaining_memory_bytes": 6435315712, "pending_unrelated_cpu_m": 0, "api_surge_cpu_m": 100, "mcp_surge_cpu_m": 10, "migrate_cpu_m": 50, "atomic": true, "reasons": [], "notes": [ "Aggregate remaining millicores is not a kube-scheduler guarantee.", "Preflight does not lower requests and does not start Helm." ], "hook_order": [ "pre-upgrade migrate job (helm.sh/hook-weight -5)", "API RollingUpdate maxSurge=1 maxUnavailable=0", "MCP RollingUpdate maxSurge=1 maxUnavailable=0" ] }, "review_inputs": { "railiance_apps": "2 pods 260m (API 250 + MCP 10) -> 390 proposed; p95 258.5m, peak 975m, throttle 0.0", "state_hub_db": "0 -> 70m / 0 -> 416Mi; p95 36.7m peak 133.2m; mem p95 349Mi peak 359Mi" } }