Skip to content

v0.13.0 — Router 0.7.0 · Agent 0.17.0

Latest

Choose a tag to compare

@psewar psewar released this 05 Oct 18:48

Router 0.7.0 · Agent 0.17.0

Game and memory pressure as facts. A game that used little VRAM and little GPU load left the node free, and a model loaded into a nearly full main memory pushed the machine into heavy paging (94 % RAM, 1.8 GB free commit, ~900 hard faults/s). The router could not see either: it inferred "busy" only from foreign VRAM and load, and did not know the main memory at all. Now the agent reports both, and the router acts on facts instead of side effects.

Agent 0.17.0

  • Heartbeat block game: {supported, running, name, via, since, folders}. Every 5 s the agent checks whether a process runs from a game folder: Steam libraries (libraryfolders.vdf) and the install folders of known game publishers from the uninstall entries (without their launchers). When a process path is not readable (anti-cheat), its name counts if a program of at least 20 MB with that name lies in a game folder (generic names such as launcher or updater excluded). The index is rebuilt every 6 h. Linux reports supported: false.
  • Heartbeat block memory: {ram_available_gib, ram_total_gib, commit_free_gib, commit_limit_gib} (Windows GlobalMemoryStatusEx; Linux only RAM, since commit is no limit there under overcommit).
  • New verb skirnir-agent spiel prints game folders, program names, match and memory once. Both blocks also appear in /health.

Router 0.7.0

  • A reported game makes the node busy with reason game after modes.busy_enter.game_sustain_s (10 s) and keeps it busy for modes.busy_exit.game_quiet_s (60 s) after it ends. gpu_busy answers name the game. Switch off with modes.busy_enter.game: false.
  • Memory pressure: when available RAM or free commit stays below modes.memory_pressure.min_free_gib (8 GiB) for modes.memory_pressure.polls heartbeats (2), nothing is loaded cold and no prewarm runs. Loaded models keep answering; nothing is unloaded. New reason code memory_pressure with Retry-After 60 s; decision log events game and memory_pressure.
  • Home Assistant sensors per node: game, free RAM, free commit.
  • All new values are settings in the UI. Agents before 0.17.0 send neither block and keep the old behaviour.

Deutsch: Der Agent meldet jetzt ein laufendes Spiel und den freien Hauptspeicher (RAM, Commit) als Fakt. Ein Spiel macht den Knoten nach 10 s busy (Grund game, 60 s Nachlauf), auch wenn es kaum VRAM belegt. Bei Speicherdruck (RAM oder Commit unter 8 GiB, zwei Heartbeats) lädt der Router nichts kalt und wärmt nicht vor; geladene Modelle antworten weiter, entladen wird nichts. Neuer Grund-Code memory_pressure, neue HA-Sensoren, neues Agent-Verb spiel.