8000 docs(cbio): audit which decode path reads which record word (#207) by shroominic · Pull Request #213 · shroominic/OpenGlucose · GitHub
[go: up one dir, main page]

Skip to content

docs(cbio): audit which decode path reads which record word (#207) - #213

Closed
shroominic wants to merge 1 commit into
feature/cbio-gs1from
docs/cbio-gs1-decode-path-audit
Closed

shroominic wants to merge 1 commit into
feature/cbio-gs1from
docs/cbio-gs1-decode-path-audit

Conversation

@shroominic
Copy link
Copy Markdown
Owner

Docs-only follow-up to #207, ported straight onto the consolidation tip (the same way bb2619d was).

Confirms the on-device finding end to end, so no surface can quietly keep reading the empty field:

Path Reads Produces a glucose number
parseCbioRawDataFrame offset 4 → rawPayload; offset 6 → processed.rawWord no — owns the layout only
CbioHistoryArchive (app's live decode) rawPayload yes
App reading (CbioGlucoseSession) record.rawPayload yes — rawValue: record.rawPayload, isDisplayProvisional: true
CbioRawGlucoseRecord.rawProcessed offset 6 no — tests only
compareCbioDecode (harness) both, side by side no — reporting only
parseCbioGlucoseBatch (0A) the 0A layout's own packed field that frame only, zero on this sensor

The provisional marker survives: isDisplayProvisional: true, the
"Includes provisional readings. Not validated for body glucose." notice,
isUnitVerified false, and unitStatus: unverified in every artifact.

Hardware re-proof of the same window, from the post-fix device session:
evidence/gs1-session-20260918T104803-...json — payload non-zero in 10969/10969
raw records, processed zero in all 12751 samples, GATT released, no errors; and
the two-decoder replay evidence/gs1-decode-comparison-20260918T104809.json —
app path agreeing 3433/3433.

@shroominic
Copy link
Copy Markdown
Owner Author

Absorbed into #209 (head ec83adc) as fe89da1 — applied on top of the consolidation tip with no conflicts.

Verified against the shipped code rather than taken on trust, since this is an audit table about which path reads which word. Every row matches the branch at ec83adc: parseCbioRawDataFrame reads offset 4 into rawPayload and offset 6 into processed.rawWord and produces no glucose number; CbioHistoryArchive / CbioGlucoseSession read rawPayload and publish it as valueMgdl with rawValue: record.rawPayload and isDisplayProvisional: true; CbioRawGlucoseRecord.rawProcessed is not read by any production path; parseCbioGlucoseBatch reads the 0A layout's own packed field; the unit stays unverified in every artifact. Nothing in the audit contradicts what the branch ships.

Closing as carried. Carrying PR: #209.

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

0