gpt-oss-120b sur Strix Halo via les flags kyuz0 ; applications smoke-validées

Pile IA locale alignée kyuz0 de bout en bout sur AMD Strix Halo, validée par un smoke test complet sur 8 conteneurs (OpenWebUI → LiteLLM → llama-swap → llama-server), complété d'un pass apps-smoke sur 11 cibles qui a révélé et corrigé de vrais bugs de quadlet dans l'arbre.

Added
  • docs/README.md, docs/kyuz0-toolbox.md, docs/resync-runbook.md — nouvel arbre de documentation décrivant la carte d'interpolation kyuz0, le SHA upstream épinglé (1421e8706020e8d7e797f71b9f28cd3072e7f868), les arbitrages RADV vs AMDVLK vs ROCm sur gfx1151, et un runbook de resynchronisation pas-à-pas pour les futurs bumps upstream kyuz0
  • Jeu de flags Strix-Halo kyuz0 appliqué obligatoirement à chaque modèle dans llama-swap.yaml : --no-mmap -fa on -ngl 999 --batch-size 4096 --ubatch-size 512 --cache-type-k q8_0 --cache-type-v q8_0 --jinja --direct-io --cache-prompt --cache-reuse 256 --threads 12
  • gpt-oss-120b (unsloth UD-Q8_K_XL, GGUF 2 shards, 65k ctx, reasoning_effort=high) câblé comme alias local-heavy
Changed
  • home/dot_config/containers/systemd/llama-swap.yaml — réécriture complète. Invoque /app/llama-server directement au lieu de ramalama --runtime llama.cpp run. Découvert lors de l'intégration que ghcr.io/mostlygeek/llama-swap:vulkan ne contient PAS de binaire ramalama — la config existante était silencieusement cassée au premier chargement de modèle
  • home/dot_config/containers/systemd/llama-swap.yaml — URLs proxy: basculées de http://llama-swap:NNNN (aller-retour DNS netavark) vers http://127.0.0.1:NNNN (netns colocalisé). Le bug DNS interne sous le DNAT hijack d'adguard produisait des 502 après la première requête ; vérifié corrigé (5,4 s à froid, 0,08 s à chaud)
  • home/dot_config/containers/systemd/llama-swap.container — montage de volume ~/.local/share/ramalama~/.local/share/llama-models (layout GGUF brut, pas de format cache ramalama). /dev/kfd + HSA_OVERRIDE_GFX_VERSION=11.0.0 conservés comme candidats à la suppression future (suivi dans #14)
  • home/dot_config/containers/systemd/litellm.yaml — champ modèle local-heavy : openai/gpt-oss-20bopenai/gpt-oss-120b
  • home/dot_config/containers/systemd/twenty.container + twenty-worker.container — image épinglée sur docker.io/twentycrm/twenty:v2.0.0 fully-qualified (la politique de short-name échoue sur les pulls non-TTY sous podman auto-update / bootc)
Fixed
  • home/dot_config/containers/systemd/llama-swap.container — suppression de GroupAdd=keep-groups et PodmanArgs=--group-add=render ; conservation de --group-add=video uniquement. La combinaison précédente était incompatible avec rootless podman 5.8.2 et empêchait llama-swap d'atteindre Active
  • home/dot_config/containers/systemd/postfix.container — lignes Volume=postfix-main.cf et Volume=postfix-master.cf commentées. Les fichiers référencés n'existent pas encore dans le dépôt ; podman échouait à créer le montage. Postfix démarre désormais avec la config POSTFIX_* env-only (rédaction de la vraie config suivie dans #18)
  • home/dot_config/sodimo/paperclip.env.tmpl — ajout de BETTER_AUTH_SECRET=CHANGEME-BETTER-AUTH-32-BYTE-HEX. Paperclip refuse de démarrer sans cette variable
Other
  • Pile IA 8 conteneurs sur le réseau de test 172.30.0.0/24 : qwen3-4b de bout en bout via OpenWebUI → LiteLLM → llama-swap → llama-server : PASS, 11,5 s à froid / 0,08–0,20 s à chaud / 53 tok/s sur RADV Vulkan. Chaque flag kyuz0 vérifié verbatim dans podman top sur le processus llama-server lancé
  • Pile apps 11 cibles sur 172.31.0.0/24 : 9/11 Tier 1 PASS, 3/3 Tier 2 HTTP PASS (vaultwarden /alive, paperclip /api/health, twenty /healthz). Migrations Twenty complétées en ~18 s (bien en dessous du budget de 3–10 min)
  • Runtime gpt-oss-120b différé au harness prod — téléchargement de 100 Go UD-Q8_K_XL infaisable en session + kernel cmdline de la dev-box non kyuz0-tuné (suivi dans sodimo/harness#11)