You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
docs(cbio): record why a GS1 scan finds nothing while the phone screen is off - #212
Fixes#211. Docs-only: records a field condition found on real hardware today, with
the log evidence and the ordered A/B.
The finding
The GS1 sensor is not intermittently invisible. The receiver's scan policy is:
with the phone's display off, Android declines the scan, and the harness burns its
full 80 s budget before reporting aborted_no_target.
W BtScan.ScanManager: Cannot start unfiltered scan in screen-off.
This scan will be resumed later for
ScanClient(com.openglucose.app.debugid=1, mode[LOW_LATENCY, used=LOW_LATENCY])
The A/B (one phone, one app, one harness, one sensor)
display
result
off
aborted_no_target after 80-88 s, with 3 refused unfiltered passes
on
scan-source=filtered then target-found in ~20 s; one full session completed
What it rules out
Not a duty cycle: the sensor streamed 719 notifications and 10969 raw records
immediately after the failures, and its archive had grown 9981 → 10969.
Not our session leaving it quiet: the completed run released GATT and a probe
3 minutes later re-acquired and re-authenticated the same sensor.
Not "no glucose on this firmware": the same window is the payload-word proof
in cbio-gs1-glucose-live.md.
Contents
New docs/testing/cbio-gs1-discoverability.md: the finding, the A/B table,
the production implications for onboarding, and how to reproduce it.
docs/testing/cbio-gs1-glucose-live.md: adds the 2026-09-18 run 5 row (raw
1..10969, payload 39..97 non-zero in 10969/10969) and links the comparison
artifact.
docs/testing/cbio-gs1-evidence.md: a pointer that an empty scan is not always
an absent sensor.
No sensor write is involved in either direction of the experiment: info, auth,
one clock set per session and reads only, GATT released, no addresses or
credential material anywhere in this branch.
The evidence artifacts this documents are already in evidence/
(gs1-session-20260918T104803-...json, gs1-decode-comparison-20260918T104809.json),
and the index rows are updated there. The decode fix itself is PR #210.
Absorbed into #209 (head ec83adc) as b88ed02 (the write-up) and 269578f (the direct-evidence citation) — both applied on top of the consolidation tip with no conflicts.
Kept the version that matches shipped code, as asked: nothing in this doc set contradicts the branch. The docs/testing/cbio-gs1-evidence.md pointer and the new docs/testing/cbio-gs1-discoverability.md describe the same failure window the harness shows, and the cbio-gs1-glucose-live.md row it adds agrees with the payload-word fix carried at bb2619d/6355da4 (device session gs1-session-20260918T104803, payload non-zero 10969/10969, processed zero in every sample). The screen-off fix itself is now carried too, at ec83adc.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #211. Docs-only: records a field condition found on real hardware today, with
the log evidence and the ordered A/B.
The finding
The GS1 sensor is not intermittently invisible. The receiver's scan policy is:
with the phone's display off, Android declines the scan, and the harness burns its
full 80 s budget before reporting
aborted_no_target.The A/B (one phone, one app, one harness, one sensor)
aborted_no_targetafter 80-88 s, with 3 refused unfiltered passesscan-source=filteredthentarget-foundin ~20 s; one full session completedWhat it rules out
immediately after the failures, and its archive had grown 9981 → 10969.
3 minutes later re-acquired and re-authenticated the same sensor.
in
cbio-gs1-glucose-live.md.Contents
docs/testing/cbio-gs1-discoverability.md: the finding, the A/B table,the production implications for onboarding, and how to reproduce it.
docs/testing/cbio-gs1-glucose-live.md: adds the 2026-09-18 run 5 row (raw1..10969, payload 39..97 non-zero in 10969/10969) and links the comparison
artifact.
docs/testing/cbio-gs1-evidence.md: a pointer that an empty scan is not alwaysan absent sensor.
No sensor write is involved in either direction of the experiment: info, auth,
one clock set per session and reads only, GATT released, no addresses or
credential material anywhere in this branch.
The evidence artifacts this documents are already in
evidence/(
gs1-session-20260918T104803-...json,gs1-decode-comparison-20260918T104809.json),and the index rows are updated there. The decode fix itself is PR #210.