Skip to content

fix(manifest): declare recorder after_dependency#84

Merged
Artic0din merged 1 commit into
mainfrom
fix/manifest-recorder-after-dependency
May 20, 2026
Merged

fix(manifest): declare recorder after_dependency#84
Artic0din merged 1 commit into
mainfrom
fix/manifest-recorder-after-dependency

Conversation

@Artic0din
Copy link
Copy Markdown
Owner

Summary

  • Adds "after_dependencies": ["recorder"] to custom_components/pricehawk/manifest.json.
  • Fixes 8 consecutive days of failing scheduled Validation workflow on main (2026-05-13 → 2026-05-20).

Root cause

custom_components/pricehawk/__init__.py:100-101 imports:

from homeassistant.components.recorder import get_instance
from homeassistant.components.recorder.history import ...

hassfest@master correctly flags this as [ERROR] [DEPENDENCIES] Using component recorder but it's not in 'dependencies' or 'after_dependencies'. dev (v1.5.0-beta.2) already carries the fix; main (v1.3.0) was left behind because the branch has not been merged forward.

Scope

One-line manifest addition. No source code changes. No feature work backported from dev.

Out of scope

Whether to merge dev → main in full (21+ commits) is a separate release-management decision and is not addressed here.

Test plan

  • CI Validation (hassfest) passes on this PR.
  • No other workflow regressions.
  • After merge, next scheduled Validation run on main (00:00 UTC) is green.

🤖 Generated with Claude Code

__init__.py imports homeassistant.components.recorder.{get_instance, history}
at lines 100-101 for backfill history queries. hassfest@master correctly
flagged the missing manifest declaration, failing the scheduled Validation
workflow on main for 8 consecutive days (2026-05-13 through 2026-05-20).

dev already carries this fix (manifest at v1.5.0-beta.2 includes
after_dependencies: ["recorder"]); main was missing it because main has not
been merged forward since v1.3.0.

Restores green Validation on main without backporting any feature work from
dev. Separate decision pending on whether to merge dev → main in full.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Artic0din Artic0din merged commit 1248818 into main May 20, 2026
9 of 12 checks passed
@Artic0din Artic0din deleted the fix/manifest-recorder-after-dependency branch May 22, 2026 05:54
Artic0din added a commit that referenced this pull request May 23, 2026
…CI (#143)

Four findings from a 2026-05-23 @claude retro-review of merged PRs.

- providers/openelectricity.py: ``_is_auth_error`` no longer matches the
  bare word ``forbidden`` in exception messages — TLS/corporate-proxy
  errors with that word were mis-classified as ``ConfigEntryAuthFailed``,
  prompting users to re-enter their API key when the real problem is
  connectivity. Auth detection now keys on auth-specific message tokens
  (401, unauthorized, invalid api key); the class-name check still
  catches genuine ``*Forbidden*`` exception types. New regression test
  test_tls_error_with_forbidden_word_is_not_auth_failure. (Retro #86)

- tests/test_tariff_engine_hypothesis.py: three property tests used
  ``if k <= threshold: return`` to early-exit out-of-range draws,
  which Hypothesis treats as PASSED rather than discarded. With
  max_examples=200 and ~75% of draws hitting the early return, the
  effective constrained-region coverage was ~50 examples per invariant
  instead of 200. Switched to ``assume(k > threshold)`` / ``assume(k <
  threshold)`` / ``assume(k >= threshold)`` so Hypothesis discards and
  regenerates until 200 valid examples are spent in the interesting
  region. Tolerance also aligned to 1e-9 across invariants 2 + 3
  (single bounded-float multiplications have round-trip error <
  ~4e-12, so the tight value is safe). (Retro #102)

- .github/workflows/dual-loop-review.yml: dropped ``develop`` from the
  pull_request branches filter — ``gh api repos/.../branches`` confirms
  no ``develop`` branch exists; it was a stale alias from the template
  that silently never matched. Filter now ``[main, dev]``. (Retro #103)

PR #84 review noted no issues (after_dependencies fix verified correct);
no change here for that PR.

Full test suite: 1119 passing locally.
Artic0din added a commit that referenced this pull request May 27, 2026
Resolution policy:
- Workflows + CODEOWNERS + slash commands + ENGINEERING_CONSTITUTION.md
  + mypy.ini → take main's version (the migration's intent).
- Source files (backfill.py, config_flow.py) → take dev's version
  (dev has 60 commits of newer source supersending main's mypy
  type-ignore comments, which no longer apply to the dev versions).
- CHANGELOG.md → preserve dev's beta history, inject main's
  [Unreleased] block at the top.
- 5 legacy workflows deleted per main's intent.

This brings the new ci.yml + mypy.ini onto dev so the 16 open
dev-targeting PRs run under the consolidated CI once rebased.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant