v0.121.0
·
410 commits
to main
since this release
0.121.0 (2026-08-12)
Features
- alerts: CPU temperature had no alert path — add acute + drift rules (#3170) (dc37e75)
- alerts: watch host systemd units, closing the probe_scheduled_tasks gap (#3150) (d1c3d1b)
- findings: honor per-kind cooldown_minutes — 37 seeded keys, zero readers (#3169) (4ffd076)
- images: compose on-brand heroes from the brand tokens, not diffusion (#3151) (4001566)
- ops: game mode — park the GPU for the operator, and make it stick (#3190) (9c1b254)
- qa: surface what the advisory rails said and the gate ignored (#3189) (6d97d34)
- seo: a topic source that measures search demand, not chatter (#3159) (49d3e67)
Bug Fixes
- ci-runner: default CI_RUNNER_CPUS to 4 — the cap is per runner, and there are two (#3195) (4ee768b)
- ci: stop the ratchet lints scanning mcp-server/.venv (#3153) (4b5b209)
- content: strip every unresolved image marker, not just the bare form (#3149) (5b5c15b)
- docs: refuse to render the public app-settings doc from an operator DB (#3147) (de26e65)
- game-mode: host CLI could not reach Ollama, and reported it as success (#3198) (3c99c3b)
- media: count wan's own resident pool when sizing the hero plate (#3181) (8c4176c)
- media: quality floor for hero plates, and no short lane from a junk script (#3165) (37ef733)
- media: reclaim before measuring, and ride out the Prometheus scrape (#3182) (24df0ba)
- media: size the hero plate from LIVE device VRAM, not a lagging scrape (#3183) (5a745bc)
- ops: stop test-health dying silently, and stop it from "fixing" pollution (#3154) (d370ff8)
- pipeline: dev_diary composes canonical's atoms; cadence to weekly (#3156) (af81c69)
- podcast: the dead air between sentences was the chunk seam, not the script (#3199) (ed68aef)
- podcast: the intro sting the snapshot forgot, and the title said twice (#3171) (057a64a)
- podcast: the regenerate button was shipping episodes without music (#3192) (47ad49b)
- release: bump mcp-server uv.lock versions with their pyproject (#3152) (0918404)
- scheduling: read operator-typed publish times in operator_timezone (#3148) (a0cb15a)
- seo: stop the topic source mining scraper queries as reader demand (#3157) (60fc1d3)
- seo: the missing-SEO sweepers skipped the only posts that needed them (#3162) (89f1d5e)
- tests: restore the provider module after reload — suite is green again (#3155) (19a4a7f)
- tests: unpin expired date fixtures and stop unit tests reading the live GPU (#3193) (5d76979)