082246c085
Recovered the client's own dialog text from memory rather than inferring from the server, which is what finally identified the subsystem: "An error occurred downloading the FUT Squad Update" is the ROSTER update, not the player's lineup. Four squad-shaped fixes before that were aimed at the wrong thing. Wire capture shows the client aborting the handshake itself: it offers TLS1.2 with RSA suites, the server selects TLS1.2 and sends its certificate, and the client replies fatal certificate_unknown. So protocol and ciphers are compatible and the certificate is the problem. That certificate is DNS-SAN-only while the advertised ROSTERUPDATE_URL is an IP literal, and it was regenerated Aug 13 -- after the Aug 12 session being used as the known-good control, which therefore says nothing about the current cert. Notably autopatch DID patch both ProtoSSL gates in the failing process (log line plus live bytes reading back patched) and the client still rejected, so those gates do not govern this path -- contradicting roster_server.py's standing comment that they make self-signed certs acceptable. Documents what was ruled out with evidence (hub route shapes, squad shape, squad round-trip, advertised hosts, TLS version, Blaze health), the probing gotcha that a default modern TLS context misreports this server as broken, the unresolved question of why production appears unaffected, and three fix options with a recommendation. No fix applied.