Missing/stale criticals after restart page with specifics instead of
waiting for humans; watchdog handles recovery; revert procedure
documented for repeat failures.
Watchdog notify crash root-caused: iOS companion schema rejects
data.clickAction; url is the iOS deep-link key. Suite updated to
assert url presence per alert.
https://projects.knownelement.com/issues/778
rest_command integration silently fails to register on this box
(404 services, valid config+secret; root-cause pending #741).
shell_command curl is the working mechanism; arm-switch gate unchanged.
https://projects.knownelement.com/issues/355
Role-based rework per founder: overview + detail dashboards. UPS
parity (Tripp Lite runtime-minutes template). Phase 1 of the ground-up
rework; Capacity/Access views land with fans + lock.
https://projects.knownelement.com/issues/784
Gardening pass: themes/ dir must exist for include_dir_merge_named;
scenes/scripts marked intentionally-empty; cross-repo contract pointer
to KNEL/doorman README. dev only.
https://projects.knownelement.com/issues/784
value_template must be a sibling key of condition in the action
sequence, not a continuation - reload 500 pointed at line 494.
Detail: https://projects.knownelement.com/issues/344
Recovery twin of the high-temperature alert: per-tier below-triggers
(fire-line minus 5F, held 10 min), from_state guard against restart
false-positives, peak-value reporting. Matches existing notify
targets; UPS on-battery already had its restored twin.
Detail: https://projects.knownelement.com/issues/344
Maxwell card runs in-tree nouveau on kernel 7.0.14 (no proprietary
branch supports both 7.0 and Maxwell); regex widened with a
non-capturing alternation, template downstream unchanged.
Detail: https://projects.knownelement.com/issues/763
Also absorbs PFVCluster operator tooling: tools/ha-ws-call.py and
docs/reference-packs/ (historical, NOT loaded by HA — clearly marked).
No live-config changes in this commit.
Detail: https://projects.knownelement.com/issues/762
Break-glass badges fire the relay locally on the reader host (no HA
dependency); the flagged scan still reaches HA for the audit trail
but skips re-dispatch. NOTE: deployed while pfv-bms is down — YAML
lint clean, ha core check to run at Friday boot before arming.
https://projects.knownelement.com/issues/345
Found live 2026-09-03: after reload-only deploys, webhook-triggered
automations (doorman ingest, deploy fast path) silently stop firing
while the endpoint still returns HTTP 200. Proven: core restart
restores them. Sha-watch now restarts core on every new master HEAD
(same semantics as the webhook fast path for packages/** changes).
https://projects.knownelement.com/issues/345
Live webhook test caught it: TemplateRuntimeError 'No filter named
split'. enabled_ids/holder rebuilt with row.split('|') method calls
in a namespace loop.
https://projects.knownelement.com/issues/345
Roster fetched live from KNEL/access-roster via gitea API (no git
mechanics; access-roster stays the single gated source of truth).
Known/disabled/unknown decision branches + last-scan entities.
UNLOCK deliberately not wired - pending HA->Pi control path (#741).
Validated: yamllint clean, ha core check passed on staged copy.
https://projects.knownelement.com/issues/345
subopi3 SoC idles at 117F and false-alarmed the 104F ambient bucket
at 23:15 CDT. Silicon (server CPUs, drac cpu, Pi/Jetson SoCs) now
alerts at 176F (80C pre-throttle).
Detail: https://projects.knownelement.com/issues/733
gitea got no auth (401: only signed in user) - secrets do not
concatenate. Secret now holds the full 'Bearer <token>' header.
Detail: https://projects.knownelement.com/issues/734
Gitea response came back a dict (error body) - sensor state now shows
the truncated body so one restart identifies it. not: rejected by
trigger schema; guard lives in the condition template already.
Detail: https://projects.knownelement.com/issues/734
stop action takes the message inline; stop_reason is not in the 2026.8
script schema and validation failure aborts the whole automations reload.
Detail: https://projects.knownelement.com/issues/734
Webhook automation: master pushes force a git pull then reload_all;
core restart only for configuration.yaml / packages platform files.
Add-on auto_restart disabled separately on the host (race source).
Detail: https://projects.knownelement.com/issues/734
Founder ruling: proprietary nvidia driver only (needed for CUDA, version
choice his) — no nouveau. Anchor pre-flipped; sensor stays unknown until
the driver lands, then populates with zero further changes.
NVMe 150F, DIMM 140F, PCH 160F triggers on the new storage/mem/chipset
sensors (104F general threshold retained for air/CPU); UPS runtime-low
alert (<10 min while not Online) guards the #455 shutdown window.
https://projects.knownelement.com/issues/344
HA sidebar has no dashboard folders — nesting = one dashboard with tab
views (same pattern as Server Room). Art Room/Garage views merged into
stlp.yaml verbatim; old single-purpose dashboards removed.
https://projects.knownelement.com/issues/344
notify.send_message rejects extra data['data'] (old mobile-app push
syntax) — UPS battery low, UPS comm lost, and high-temperature alerts
all errored on every fire. Blocks removed; notifications send plain.
https://projects.knownelement.com/issues/344
8 new two-layer sensors from data already in lm-sensors extends: NVMe
composite (tsys3/5), 4x jc42 DIMM temps anchored by i2c address (tsys4),
PCH (tsys3/9). GPU/SATA/DRAC-DIMM temps need host-side work — ticketed.
https://projects.knownelement.com/issues/344