Changes
- fix(helm): give bundled OpenCost a writable config dir so cost data ships
- PR: #2878
- fix(cost-agent): make /healthz report a stalled pipeline instead of ok
- PR: #2880
- fix(ui): stop the side menu sliding under the app header
- PR: #2881
- test(Common): cover the serialize/deserialize family in JSONFunctions (#402)
- PR: #2877
- feat(ui): let viewers choose and reorder ModelTable columns
- PR: #2882
- fix(cost): correct the engine's RAM wire names and dedup ingest per chunk
- PR: #2883
- feat(cost): collect the peaks and limits right-sizing needs
- PR: #2884
- fix(metrics): keep the metric explorer time range popup inside the viewport
- PR: #2886