Six merges landed behind an unbumped 0.7.0 - CI-06, SAFETY-38, SAFETY-39,
SAFETY-37, SAFETY-13, SAFETY-42. PKG-06 recorded exactly this two 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 a second time by hand is the argument for the automated check
PKG-06's follow-up still owes.
MINOR rather than patch because SAFETY-39 changed what an existing key MEANS.
`slew_w: 0` was "no limit" and is now "follow the rail", and validator rule 10
REFUSES an explicit `slew_w` above SLEW_RAIL_FRAC x the roster sum - about
555 W on a 5000 W install. A config that started fine can now be refused, which
is a compatibility break whatever the intent behind it.
⚠️ 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
add-on options blob is only reachable through the Supervisor API, which needs a
supervisor token this session does not have; the HA REST API does not expose it
and no entity carries it. What is on record is that `slew_w` was set to 400
against a 5000 W rail during the SAFETY-39 interim fix (DEPLOY-QUEUE.md), and
400 is below the ~555 ceiling - but that is a written record, not a reading, and
the value has been edited by hand since. Read the options and run the validator
against them BEFORE `ha apps update`. A refused config is exit 78, and exit 78
takes the ingress panel with it.
What was read from the live system, 2026-09-06: controller_status `running`,
setpoint 860 W against inverter AC power 842 W, watchdog_tripped `off`,
failsafe_cause `none`, p1_sample_age 2.6 s. The install is healthy going in.
Separately, `## Unreleased` was a lie, twice. Two headings - 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