checks / unit (pull_request) Successful in 6m8s
Six merges landed behind an unbumped 0.7.0 - CI-06, SAFETY-38, SAFETY-39, SAFETY-37, SAFETY-13, SAFETY-42. PKG-06 recorded this exact failure three days ago: the Supervisor keys the built image by `version:`, so `ha apps update` against an unchanged version is a silent no-op and the box keeps running the old tree. Catching it by hand a second time is the argument for the automated check PKG-06's follow-up still owes. MINOR rather than patch, and the reason is sharper than a semantic change: SAFETY-39's validator rule 10 refuses an explicit `slew_w` above SLEW_RAIL_FRAC x the site rail - 555.6 W on a 5000 W rail - and 0.7.0's own SHIPPED DEFAULT was `slew_w: 1000` under schema `int(50,5000)`. An install that never touched the key is refused on 0.8.0. Refusal is SystemExit(78); the add-on does not start. ⚠️ AN EARLIER DRAFT OF THIS COMMIT JUSTIFIED THE BUMP BY CLAIMING `slew_w: 0` USED TO MEAN "no limit" AND NOW MEANS "follow the rail". THAT WAS FALSE AND IS REMOVED. The schema was `int(50,5000)` from the repo's first commit through 0.7.0, so 0 was never a legal value and never meant anything; and the old `control.py` had no zero case - at slew_w=0 it pinned the command to its previous value, freezing it, which is the opposite of "no limit". The widening to `int(0,5000)` is a NEW capability, not a changed meaning. The bump is right; the story told for it was invented, which is PROC-01's defect appearing in the very commit that complains about process. ⚠️ THE PRE-DEPLOY CHECK THIS IMPLIES IS NOT DONE AND CANNOT BE DONE FROM HERE. Whether the LIVE options survive rule 10 depends on the live `slew_w`, and the options blob is only reachable through the Supervisor API, which needs a token this session does not have; the HA REST API does not expose it and no entity carries it. On record `slew_w` was set to 400 during the SAFETY-39 interim fix, and 400 is below 555.6 - but that is a written record, not a reading, and the value has been hand-edited since. Read the options and check them BEFORE `ha apps update`. Exit 78 also takes the ingress panel down, because the add-on serving it is not running. The contents table now carries each merge subject's WHOLE claim. Two rows had been trimmed to their flattering halves - SAFETY-39's "`gain` is the constant that is still wrong" and SAFETY-42's "the discriminator the card asked for does not exist" - and both are restored. Separately, `## Unreleased` was a lie twice over: two headings by that name, one spanning ~3000 lines across three releases, one from the 0.4.x era, and every word under both is shipped and running. Retitled, not re-sorted; the split is PKG-08. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BwRLw7eKYj2byVdwB6kbjU