Add Samsung Tizen smart TVs as first-class Hydra head devices. Test bench: 2 × 2025 Samsung Q7F QLEDs (QE43Q7FA, QE55Q7FA) on Tizen 8/9.
DO NOT start implementation before 2026-05-26. Major event 2026-05-22 → 2026-05-25; this plan touches hydracluster (new head type, new API handlers, store schema) and could destabilize the cluster mid-event.
~/.claude/plans/shimmering-rolling-avalanche.md on the planning workstation)Native-from-the-start: fork community brightcraft/moonlight-tizen (GPL-3.0 WASM + AVPlay) into a new repo cederikdotcom/hydraheadsamsungtv. Layered as a Tizen .wgt:
/api/v1/heads/{id}, drives pairing + stream via a JS bridge into the WASM module, sends status PUTs.window.hydraMoonlight.pair/stream(...) exports; default UI hidden./api/v1/heads/{id}/pair and GET /api/v1/heads/{id}/sunshine/clients) to avoid shipping Sunshine creds to TVs and to bypass Tizen WebView TLS strictness against Sunshine's self-signed certs.hydraheadflatscreen escapes GPL via subprocess (exec.Command moonlight-qt). On Tizen there is no subprocess model, so our orchestrator JS and forked WASM ship in one .wgt and the combined artifact must be GPL-3.0. Cluster-side Go changes stay unaffected (they communicate over HTTP, not linked code).
All ops via hydracluster exec on a LAN-exec node (can be local at venue OR centralized at hub reaching venue LAN over WireGuard). Only Tizen Developer Mode enablement requires physical operator at the TV (one-time per TV).
Fleet update: cluster hydraheadsamsungtv-update subcommand walks TV inventory, dispatches sdb connect + tizen install via the resolved LAN-exec node per venue. No new pusher binary; reuses existing exec channel.
hydracluster/pkg/store/store.go: accept "samsungtv" typehydracluster/pkg/api/handlers_head.go: type passthrough, new pair-proxy handlers, commands field in head config response, LAN-exec-node selection per venuehydracluster/cmd/...: new hydraheadsamsungtv-update subcommandlandconfigregistry: new lan-exec role with sdb + tizen-cli baked inhydravenues: venue records gain lan_exec_node_idsamsungtv type acceptedFull plan with verification per milestone, repo layout, file-paths-to-modify, and pitfalls (Tizen 9 Game Mode freeze, Samsung dev cert rotation, TV power-state) is in the local plan file.