RAIL-BS-WP-0014: residual millicores count scheduled pods only. state_hub_preflight_observation matches the STATE-WP-0091 fixture shape. Assistant: grok Assistant-Session: 01a09dc1-b21e-77e1-919e-fcad2f82b267
1.5 KiB
| id | type | title | domain | repo | status | owner | topic_slug | origin | origin_ref | created | updated | related | state_hub_workstream_id | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RAIL-BS-WP-0014 | workplan | Keep node remaining CPU honest for State Hub surge and pending demand | financials | railiance-cluster | finished | codex | railiance | residual | STATE-WP-0091 | 2026-09-14 | 2026-09-14 |
|
d89863aa-dc89-5a9d-be00-4f558a16d70b |
Residual from STATE-WP-0091. State Hub now refuses promotion when remaining CPU cannot cover its 100m API surge, and when unrelated pending pods would eat the 5m sliver above 105m. Cluster observation must keep publishing allocatable, allocated, and pending-unrelated demand. 105m remaining is not capacity admission for factory or other zero-request workloads.
Include pending pods in capacity observations
id: RAIL-BS-WP-0014-T01
status: done
priority: high
state_hub_task_id: "d90c384e-8a99-550f-b8b8-6314c073f2dc"
Extend tools/observe_cluster_resources.py / make cluster-observe so the
published observation names pending unscheduled pods and their requests.
State Hub's preflight already consumes that shape. Do not treat residual
millicores as a scheduling guarantee.
Done 2026-09-14. build_observation names pending unscheduled pods, uses
effective pod requests (init vs containers), and emits
state_hub_preflight_observation in the STATE-WP-0091 fixture shape.
Residual CPU counts scheduled pods only. not_a_scheduling_guarantee is
explicit. Unit test covers a 50m pending pod that does not inflate remaining.