Deferred follow-up from #812's review, now filed properly (it was only a PR-comment note). The dashboard's mode-aware RAM floor (3 GB base / +5 monero / +6 tari local) predates the Both role: with local_miner.enabled the miner adds ~2.4 GB of hugepage-backed dataset (or 3×1 GB pages) that the floor does not count. On a 16 GB box with both local nodes the arithmetic goes tight enough that the floor's promise ("this configuration fits") stops being honest; the adversarial pass on #812 flagged the OOM edge.
Fix: when local_miner.enabled, add the miner's share to the floor and to the live pressure badge's expectations. The bench (16 GB, remote tari) runs fine — the risk case is Both + both-local-nodes on 16 GB.
🤖 Generated with Claude Code
Deferred follow-up from #812's review, now filed properly (it was only a PR-comment note). The dashboard's mode-aware RAM floor (3 GB base / +5 monero / +6 tari local) predates the Both role: with
local_miner.enabledthe miner adds ~2.4 GB of hugepage-backed dataset (or 3×1 GB pages) that the floor does not count. On a 16 GB box with both local nodes the arithmetic goes tight enough that the floor's promise ("this configuration fits") stops being honest; the adversarial pass on #812 flagged the OOM edge.Fix: when
local_miner.enabled, add the miner's share to the floor and to the live pressure badge's expectations. The bench (16 GB, remote tari) runs fine — the risk case is Both + both-local-nodes on 16 GB.🤖 Generated with Claude Code