Say that points arrive per source - #42
Merged
Merged
Conversation
A person with two devices gets the same measurement from both, so `list` returns it twice and summing the points inflates the total. Nothing in the response indicates it: every point is genuine, and the count is only wrong once the set is treated as one person's day. Filtering by platform does not separate them either — a phone's built-in tracking and a wrist device from the same vendor report the same one. The documentation now says which field does, and points at the roll-up operations for a figure. It also records what `Reconcile` gives up in exchange for merging: a `ReconciledDataPoint` carries no `dataSource`, so it answers what the value is and not which device produced it. Co-authored-by: kkdev92 <kkdev92@users.noreply.github.com> Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
A person with two devices gets the same measurement from both, so
ListAsyncreturns it twiceand summing the points inflates the total. Nothing in the response indicates it: every point is
genuine, and the count is only wrong once the set is treated as one person's day.
Filtering by
Platformdoes not separate them either — a phone's built-in tracking and a wristdevice from the same vendor report the same one.
Device.DisplayNameis the field that does.docs/data-points.mdgains a section that says this, points at the roll-up operations for afigure, and records what
Reconcilegives up in exchange for merging: aReconciledDataPointcarries no
dataSource, so it answers what the value is and not which device produced it. Italso names the point
DataPointNamerather thanName.Documentation only — no change under
src/.Not included
Three things were considered and left out:
Rangeproperty of both roll-up requests, which iswhere you are looking when you set one. Repeating them here would be a second copy to keep.
RollUpDataPointsResponseexposesRollupDataPointsandnothing else, so a typed caller cannot reach for the wrong one.
than exist already covers it, and covers it better than a list of types would.
Every claim in the new section was checked against the generated models rather than written from
recollection.
🤖 Generated with Claude Code