\section{Related Work} \label{sec:related} The prior-art table in the reproducibility appendix (and \code{research/prior\_art.csv} in the repository) lists 59 works verified on their arXiv, publisher or repository pages on 2026-11-01; here we summarise what they establish and where \titan{} differs. \paragraph{Expert offloading and SSD streaming.} \citet{eliseev2023fast} introduced per-expert offloading with an LRU cache for Mixtral on consumer GPUs; MoE-Infinity \citep{xue2024moeinfinity} built sparsity-aware expert caches from activation traces; Fiddler \citep{kamahori2025fiddler}, HybriMoE \citep{zhong2025hybrimoe} and DAOP \citep{zhang2025daop} execute cold experts on the CPU rather than moving them; MoE-Lightning \citep{cao2025moelightning}, fMoE \citep{yu2025finemoe}, MoE-Gen \citep{xu2025moegen} and Klotski \citep{fang2025klotski} optimise throughput under memory constraints with pipelined offloading. SSD-tier streaming has been demonstrated at trillion-parameter scale on x86 \citep{liang2026ssdllama}; FlashMoE \citep{kim2026flashmoe} learns a cache-replacement policy that beats LRU and LFU; colibri \citep{colibri2026} combines a per-layer LRU, a pinned hot set learned across sessions and a one-layer router lookahead in a pure C engine. The principle that placement must not change the model's semantics is stated explicitly by colibri and adopted here. \paragraph{Expert prediction.} Pre-gated MoE \citep{hwang2024pregated} and Read-ME \citep{cai2024readme} modify the architecture so that layer $l$'s router is computed from layer $l-1$'s representation; Fate \citep{fang2025fate}, ProMoE \citep{song2024promoe}, ExpertFlow \citep{he2026expertflow,shen2025expertflow}, LayerScope \citep{yu2026layerscope}, DuoServe \citep{zhang2025duoserve}, SpecPrefetch \citep{kong2026specprefetch} and SeqMoE \citep{wang2026seqmoe} learn cross-layer or multi-step predictors on GPUs and NPUs; \citet{liang2026notall} show that routing locality varies across models and that a cache of about twice the active expert count is often enough. \titan{}'s predictors are deliberately simple (transition counts at depth $d$, a linear probe on router log-probabilities, a previous-token rank predictor) so that their cost can be measured against their benefit; the novelty we test is not a predictor but the \emph{condition}, derived in Section~\ref{sec:formulation}, under which any predictor can pay on a given tier of a given machine. \paragraph{Distributed inference on consumer hardware.} Petals \citep{borzunov2023petals}, exo \citep{exo2025}, prima.cpp \citep{li2025primacpp} and llama.cpp's RPC backend shard layers or tensors across devices; MLX's distributed backends (ring, MPI, JACCL) and Apple's own 4$\times$M5~Ultra results \citep{apple2026mlxdistributed} shard whole layers over a Thunderbolt mesh. Expert-level placement across nodes exists for datacenter GPUs (ExFlow \citep{yao2024exflow}, Lina \citep{li2023lina}, DeepEP \citep{deepep2025}) and, in a simple form, in colibri's cluster mode, where experts are hashed to workers with weights proportional to disk speed. None of these models node heterogeneity, link latency or replication; H2 targets that gap on the only topology our cluster offers, gigabit Ethernet. \paragraph{Energy and characterisation on Apple Silicon.} GreenBench \citep{kannan2026greenbench} and Silicon Showdown \citep{javat2026siliconshowdown} measure joules per token with \code{powermetrics} for dense models; \citet{alfarizy2026doesmoe} find that MoE energy on edge devices tracks total rather than active parameters; NPUMoE \citep{benazir2026npumoe} runs MoE on the Neural Engine with all experts resident. No prior work reports an energy--throughput frontier for \emph{offloaded} or \emph{distributed} MoE on Macs, which H5 addresses.