Skip to content

History / Developer Architecture

Revisions

  • Updates

    @jrhubott jrhubott committed May 25, 2026
  • docs: point new-cover-type checklist at canonical CODING_GUIDELINES.md The 8-step list duplicated (and partially drifted from) the contract in the integration repo's CODING_GUIDELINES.md. Replace with a brief 3-step summary that links to the canonical section, calls out the post-Phase-G/H/I ClassVar flags and policy methods (wiki_anchor, display_label, exposes_dual_axis_sensor, custom_position_includes_tilt), and mentions the parametrised stub-policy invariants that pick up new types automatically. Drops the misleading "Add CoverType enum value" step (the enum is `SensorType` and a new entry there is part of the config-flow plumbing, not a separate action).

    @jrhubott jrhubott committed May 19, 2026
  • docs: refresh Developer-Architecture for cover_types/, RuntimeConfig, OPTION_RANGES Sync the architecture page with the current state of the integration: - Promote ``cover_types/`` to its own section with the CoverTypePolicy / CoverAxis polymorphism boundaries and the four per-cover-type policy files. Document where each kind of decision lives (axis routing, capability checks via ``caps_get`` + ``CAP_*`` constants, post-position settle). - Replace the obsolete "calculation.py is the calc engine" framing — ``calculation.py`` is now a re-export shim and the real classes live in ``engine/covers/``. Update the calc-engine section accordingly. - Add ``RuntimeConfig`` to the typed-config table; explain it's the single read-once-per-cycle snapshot consumed by ``_update_options``. - Add ``const.OPTION_RANGES`` to the utility-modules table; note that both ``options_service.FIELD_VALIDATORS`` and ``config_flow.py`` selectors source their ``(min, max)`` from there. - Drop the stale ``NormalCoverState`` reference (the class was removed this cycle — it was test-only, pure dead code). - Add the new managers (``dual_axis_sequencer``, ``position_verification``) and engine cover modules (``vertical``, ``horizontal``, ``tilt``, ``venetian``) that were missing from the file map. - Refresh the "Adding a new cover type" recipe to walk through the CoverTypePolicy registration flow rather than the old "extend AdaptiveGeneralCover and pray" version. - Drop hard-coded line counts and test counts ("~2,180 lines", "2,239 tests") — these drifted between releases. Pointers to ``wc -l`` / ``pytest`` give a current answer.

    @jrhubott jrhubott committed May 10, 2026
  • docs: apply writing skill improvements — batch 3 (26 pages)

    @jrhubott jrhubott committed May 7, 2026
  • docs: apply writing skill improvements — batch 2 (15 pages)

    @jrhubott jrhubott committed May 7, 2026
  • docs: update architecture page — 10 handlers, correct priorities, remove stale entries

    @jrhubott jrhubott committed Apr 20, 2026
  • Move ARCHITECTURE.md and Solar Code Review into wiki Merge docs/ARCHITECTURE.md into a new Developer-Architecture page (replaces the shorter Developer-Architecture-Notes stub; picks up Configuration Flow UI and Inverse State from the old notes). Drop the Dependencies section — lives in pyproject.toml. Add Solar-Math-Review under the Reference group as a dated audit snapshot of the solar math.

    @jrhubott jrhubott committed Apr 20, 2026