Skip to content

fix(steam): select the declared milk-temperature sensor - #847

Merged
tadelv merged 1 commit into
decentespresso:mainfrom
MaxRink:fix/steam-sensor-contract
Sep 14, 2026
Merged

tadelv merged 1 commit into
decentespresso:mainfrom
MaxRink:fix/steam-sensor-contract

Conversation

@MaxRink

@MaxRink MaxRink commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

Summary

Fix SteamSequencer sensor selection so a declared temperature-capable source is selected by its channel contract and remains identity-fenced through lifecycle changes.

  • Prefer the declared DecentEspresso/Bengle Milk Probe temperature contract over unrelated object sensors.
  • Reselect during an open steam record when the selected source is removed or replaced.
  • Preserve the selected probe across registration order, attach/reconnect, unrelated payloads, and E64-like object sensors.

Linked Issue

Fixes #831

Verification

  • test/controllers/steam_sequencer_test.dart: 17 passed.
  • test/integration/steam_sequencer_integration_test.dart: 1 passed.
  • flutter analyze: no issues.
  • Parent Linux Flutter suite: 4,158 successful, 1 skipped, 0 failed.
  • No hardware claim is made.

Impact

Steam milk-temperature snapshots no longer depend on registry order or an unsuitable sensor's payload shape. This is an isolated sensor-selection bug fix and is a prerequisite for coexistence with the read-only E64 sensor plugin.

Contributor Responsibility

AI-assisted development is allowed. The submitter remains responsible for the submitted work.

  • I have reviewed and understand all changes in this PR and take responsibility for their correctness, security, behavior, licensing, and provenance, including any AI-assisted or AI-generated work.

@tadelv tadelv left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two repository hard gates need to be addressed before this is ready:

  1. The Contributor Responsibility checkbox is still unchecked. AGENTS.md explicitly makes the completed PR template a pre-PR hard gate, and this checkbox is the template's responsibility/provenance attestation. Please check it once you've reviewed the submitted changes.

  2. The Verification section only states pass counts/results. AGENTS.md requires evidence before assertions (show test output, not just that tests passed). Please add the relevant command output or otherwise provide concrete verification evidence; a successful CI run can serve that purpose once the fork workflow is allowed to run.

I did not find a merge-blocking issue in the sensor-selection implementation itself: selecting by the declared numeric temperature channel, preferring the exact Bengle Milk Probe contract, and reselecting on registry changes are consistent with #831.

@MaxRink
MaxRink force-pushed the fix/steam-sensor-contract branch from cd3a997 to d6937a4 Compare September 14, 2026 08:59

tadelv commented Sep 14, 2026

Copy link
Copy Markdown
Member

Rechecked after the force-push/rebase. I don't see a remaining code-level blocker in the current diff, and the Contributor Responsibility checkbox is now fixed.

The current CI failure is stale rather than a code failure: the workflow run was created before the checkbox was updated, and re-running the failed contribution-policy job replays that original PR event payload, so it still sees the checkbox as unchecked and skips the actual analyze/test/build jobs.

Please trigger a fresh pull_request workflow event (for example via another synchronize/push, or close/reopen the PR) so CI evaluates the current PR body and runs the real checks. Once that is green, I have no further implementation changes to request.

@tadelv
tadelv marked this pull request as ready for review September 14, 2026 09:27
@tadelv tadelv closed this Sep 14, 2026
@tadelv tadelv reopened this Sep 14, 2026
@tadelv
tadelv merged commit 3de87c7 into decentespresso:main Sep 14, 2026
17 of 25 checks passed
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.

[Bug] SteamSequencer stores the wrong sensor's temperature as SteamSnapshot.milkTemperature

2 participants