bb5d745ab1
The Zen relay still LISTS deepseek-v4-flash-free in GET /zen/v1/models but no longer serves it (opencode.ai/docs/zen dropped it; every anonymous POST 400s "Upstream request failed: Model is unavailable"). Removing it from the offline floor alone leaves the picker offering it whenever the live fetch succeeds — which is nearly always — so the first turn 400s and the fallback switch strands the session (#111749). Add it to the live-list exclusion set (renamed from the keyed-twin-only _OPENCODE_FREE_KEYED_SUFFIX_MODELS to _OPENCODE_FREE_EXCLUDED_MODELS, same semantics for ox-alpha-free), drop the same id from the opencode-zen keyed catalog (a Zen pick of a free slug heals to the keyless relay and 400s the same way), move the test fixture's "current free tier" to the relay's actual state, and pin the filter with one invariant test.