Skip to content

docs(debug-journal): fold the 2026-10-28..29 queue slice (15 of 15 candidates); correct entries overtaken by #5827/#5756/#5731/#5794/#5892 - #5944

Merged
springfall2008 merged 1 commit into
mainfrom
bot/debug-journal-2026-11-03
Nov 3, 2026
Merged

springfall2008 merged 1 commit into
mainfrom
bot/debug-journal-2026-11-03

Conversation

@springfall2008

Copy link
Copy Markdown
Owner

Automated run (journal-update skill, 2026-11-03): folded the first 15 queued candidates in plain filename order (5819–5833) into tools/debug-journal.md, each re-verified against origin/main (924e0c2d) before landing. 78 candidates remain queued (drained next day). Pre-commit passes (cspell needed one reword instead of a dictionary addition).

Per candidate — folded in / rewritten / dropped, and why:

Folded in

  • 5819 (MagicMock doubles auto-create host-hook attributes) — new Traps bullet: hooks are consulted getattr(base, hook, None), which a MagicMock base answers with a truthy auto-attribute, entering the hook path with a mock and silently changing refresh return values via the broad except. Re-verified both hook sites on main (oauth_mixin.py, gateway.py) and the three explicit-None patches feat(oauth): optional oauth_refresh_provider host hook for token refresh #5819 itself added.
  • 5820 (PyYAML vs ruamel reader map) — new bullet in the secrets section, compressed: !secret now resolves via the private SecretYamlLoader(SafeLoader) (PyYAML's add_constructor copies-then-shadows, parent stays clean); bare yaml.load grep hits are all ruamel; DebugYamlLoader is a CLoader/UnsafeLoader descendant; Predbat-written files carry no tags. Merged state, PR fix(config): resolve !secret with a private YAML loader instead of the shared yaml.SafeLoader #5820 (304c7598).
  • 5821 (Fox reserve readback is an echo; declared ranges are acceptance) — appended to the Fox row, re-verified on main: compute_schedule() syncs only charge/discharge fields, reserve enters local_schedule only from Predbat's own paths; minSocOnGrid: 100 was accepted and the battery still drained. Line anchors refreshed (compute_schedule now fox.py:1150) — also corrected the row's drifted fox.py:1080 citation.
  • 5822 (which signal says charger vs car, Predbat thinks car is charged if car soc > Octopus target charge to add #3034 family) — appended to the Octopus row as a compact signal map (is_charger / device_type / size-vs-power fill), with the guard now reading car_slot_owner not in (None, "octopus") (fetch.py) instead of the review-time Ohme-only shape.
  • 5823 (Tesla reserve remap pointers) — appended to the Teslemetry row after its existing fix(execute): stop holding a Powerwall on a reserve above its SoC (v9.6.2) #5823 fix note: derive reserve Predbat-side and component-side (_settable_reserve() maps 81–99 → up to 100 + grid-charge suppression); the two docstrings' conflicting snap stories flagged as unresolved; adjust_reserve() floor and can_freeze_charge gates as decoders. The candidate's "EnphaseCloud may need the same opt-in" suspicion is now settled on main (config.py opts EnphaseCloud in, comment verified), so it lands as confirmed rather than suspected.
  • 5824 (SoC source precedence, silent 0, SIGCLOUD clobber) — new table row: soc_percent wins everywhere and a bound soc_kw is inert; neither key = silent 0.0 with no validation; soc_percent is not a CONFIG_ITEM while soc_kw is. Verified the SIGCLOUD soc_kw rebind still lacks overwrite=False (sigenergy.py:2669) while its export_limit/battery_min_soc siblings have it; re-anchored to inverter.py:1756/:1758 and config.py:2748.
  • 5828 (branch install vs auto-update clobber) — appended to the Self-update row, now resolved as merged (9ac61e6): symptom→module pointer (download_predbat_releases() comparing THIS_VERSION vs latest regardless of selection) plus the docs caveat (apps-yaml.md, both sections) and the per-cycle Warn-spam note from the same round.
  • 5829-a (enable-gated items still resolve to their declared default) — new paragraph beside the get_arg boolean traps (it is deliberately not a "two traps" amendment): gate-off item has no entity and no args entry, but get_ha_config()'s caller-default-None path injects item["default"] — verified by reading the function (now userinterface.py:564); iboost_max_power sub-case noted; distinguished from the null-defeats-default trap.
  • 5831 (capacity estimator applies inverter_loss to a DC-side battery_power) — new table row: under-read by 1/(1−inverter_loss), tests bake the factor in, the 80–100% clamp is deliberate and separate; the GivTCP-DC-side suspicion stays marked suspect, never verified.
  • 5832 (same-weekday earlier time decodes to a past slot) — appended to the Manual override selects row: decode-probed case, all five call sites share the decoder with no now lower bound, Clear actions no-op, test_override_time.py pins nothing; the issue's own suggested patch was verified wrong; coordination with open PR Fix manual override wall times across daylight saving changes #5729 flagged.
  • 5829-b (ML database rows are prepped at fetch time) — appended to the Load ML row. The candidate's own instruction "check on main whether the flag survived review" resolves yes: metadata iboost_subtracted and the discard-on-mismatch gate are on main (load_ml_component.py save/load paths verified), so the mismatch Warn line is folded as expected-not-fault; the general mixing lesson and the ~70% stale-weight figure (calculated, not measured) kept as candidates wrote them.

Rewritten (overtaken by what merged since)

Dropped: none.

Step-3 corrections to existing entries (invalidated by merges since the last journal PR):

Checked and not in need of correction: the SolaX rated-power fallback section (already describes merged #5899), the tooltip-cap row (already records #5643 as merged), the heat_energy$external row (#5867 touched only the history-age math, not the nesting trap), the "Failed to create inverter 0" row (its reserve_percent_current formula matches post-#5870 main), and battery_value_rate()'s description in the #5069/#4840 margin entries (post-#5872 main reads only base-tariff terms, still "replacement import rate").

…ndidates); correct entries overtaken by #5827/#5756/#5731/#5794/#5892

Co-Authored-By: Claude Code <noreply@anthropic.com>
@springfall2008
springfall2008 marked this pull request as ready for review November 3, 2026 01:00
@springfall2008
springfall2008 enabled auto-merge (squash) November 3, 2026 01:00
@github-actions github-actions Bot added the BOT_REVIEW Trigger an autotriage label Nov 3, 2026
@springfall2008
springfall2008 merged commit ddc71c1 into main Nov 3, 2026
5 of 6 checks passed
@springfall2008
springfall2008 deleted the bot/debug-journal-2026-11-03 branch November 3, 2026 01:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

BOT_REVIEW Trigger an autotriage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant