Skip to content

Charging: Record the marblein native-UI confirmation in the ledger - #70

Merged
d4rken merged 1 commit into
mainfrom
docs/marblein-native-ui-confirmation
Aug 16, 2026
Merged

Charging: Record the marblein native-UI confirmation in the ledger#70
d4rken merged 1 commit into
mainfrom
docs/marblein-native-ui-confirmation

Conversation

@d4rken

@d4rken d4rken commented Aug 16, 2026

Copy link
Copy Markdown
Member

What changed

No user-facing behavior change. This is a documentation-only update to the device-qualification ledger, recording that the Poco F5 (marblein, HyperOS 3.0.2) has no hard-cap charging mode and why it stays diagnostics-only.

Technical Context

  • A native-UI screenshot from the contributor (support thread "Amply device-support discovery", 2026-08-14) shows the Battery protection screen with exactly two entries, "Charge fully" and "Intelligent charging", and no 80% hard cap. This upgrades the previous wizard-capture inference to a direct observation of the OEM UI.
  • It does not disentangle the cause: tanzanite differs from marblein in both model and Android 16 / ROM 3.0.3, so model-dependence and Android-16/OS-3.0.3-dependence remain confounded. The qualified-codename gate stays the only sound design under either explanation.
  • The ledger now spells out the concrete hazard of allowlisting this codename for xiaomi-hyperos3-v1: that adapter's protective default is FixedLimit(80) = mode 2, which the device lacks, so apply() would write "2", read it back from the settings row and decode Verified(FixedLimit(80)) while the daemon ignores it, claiming a cap that is not active.
  • The device's real surface is the two-mode HyperOS 2 one, reachable only by widening QUALIFIED_HYPEROS_VERSION from 2, whose sole protective mode is Adaptive. That is blocked on the existing project-wide open item (adaptive enforcement unobserved on both HyperOS generations), not on anything specific to this device.

A native-UI screenshot from the Poco F5 (marblein, HyperOS 3.0.2)
contributor shows the Battery protection screen carries exactly two
charging-protection entries, "Charge fully" and "Intelligent charging",
with no hard-cap option. That upgrades the earlier wizard-capture
inference to a direct observation of the OEM UI.

It does not disentangle the cause: tanzanite differs from marblein in
both model and Android 16 / ROM 3.0.3, so model-dependence and
Android-16/OS-3.0.3-dependence stay confounded, and the qualified-
codename gate remains the only sound design either way.

Also records why marblein must not be allowlisted for
xiaomi-hyperos3-v1: that adapter's protective default is FixedLimit(80)
= mode 2, which this device lacks, so apply() would write "2", read it
back from the settings row and decode Verified(FixedLimit(80)) while
the daemon ignores it, claiming a cap that is not active.
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Aug 16, 2026
@d4rken
d4rken merged commit 1a35f5d into main Aug 16, 2026
12 checks passed
@d4rken
d4rken deleted the docs/marblein-native-ui-confirmation branch August 16, 2026 16:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant