Repository navigation
feat(spec): absorb Google Health API Discovery revision 20261113 - #128
Merged
Merged
Conversation
The contract moved from revision 20261102 to 20261113. Every change is additive and sits in two Women's Health schemas. OvulationTest gains an optional testType, an enum of TEST_TYPE_UNSPECIFIED, STRIP, DIGITAL and OWN_METHOD, and its result gains OWN_METHOD, for an ovulation day the user identified by their own method rather than with a test kit. Symptoms gains LIMBS_SWELLING, FACE_SWELLING and NASAL_CONGESTION. No operation, schema, scope or parameter changed, and no existing description moved. Generation took the new snapshot as it was. OvulationTest now carries TestType, typed as the new open enum OvulationTest.Types.TestType, and Result and Symptoms gain named values for strings they already round-tripped as unrecognised ones. The generated serializer context registers the new enum, which adds two type-information properties to HealthDataJsonContext; the approved public API surface records all of it. Until now a testType in a response was dropped as an unknown property, and a request could not carry one. Google's reference pages do not document the change yet. The REST page for the data point resource, last updated on 2026-10-01, and the RPC reference, last updated on 2026-10-29, list the existing values of both enums but neither testType nor any of the four new values. The Women's Health guide, updated on 2026-11-11, shows no testType in its examples, and the release notes end at an entry for 2026-10-14. The scope cross-check was redone. Discovery declares the same scopes and parameters on every operation as before, and eng/check-verified-facts.py reports no drift against the reference pages it reads. The Scopes guide, updated on 2026-11-11, still lists nutrition.readonly but not the three Women's Health readonly scopes or location.writeonly; the users.getIdentity page still lists eleven scopes and was last updated on 2026-10-01; the data type page still documents create, update and batchDelete only for the Women's Health types; and the dailyRollUp pages still show no response page token. The documents that state the current revision or the open enum count follow, and so do the verification dates. A new test reads testType and the new result value from JSON and writes testType back. Renaming the generated property's wire name fails it, and restoring the file passes it. GeneratorTests checked the revision in the generated headers and counted 58 open enums, so both expectations move. Closes #127. Co-Authored-By: Claude Opus 5.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.
Closes #127.
Absorbs Google Health API Discovery revision
20261113.OvulationTestgains an optionalTestType, its result gainsOwnMethod, andSymptomsgains three values; no operation, schema, scope or parameter changed.Why
spec-check reported on #127 that the live Discovery document moved from
20261102, with five additive changes:OvulationTest.testTypeadded,OWN_METHODadded toOvulationTest.result, andLIMBS_SWELLING,FACE_SWELLINGandNASAL_CONGESTIONadded toSymptoms.symptoms. The issue was opened at revision20261111; the live document is now20261113, and comparing the committed snapshot with it leaf by leaf finds the same five changes and nothing else. Until the snapshot moves, atestTypein a response is dropped as an unknown property, and a request cannot carry one.What changed
OvulationTest.TestType. A new optional property, typed as the new open enumOvulationTest.Types.TestTypewithTestTypeUnspecified,Strip,DigitalandOwnMethod.OvulationTest.Types.Result.OwnMethod, for an ovulation day the user identified by their own method rather than with a test kit, andSymptoms.Types.Symptoms.LimbsSwelling,FaceSwellingandNasalCongestion. Being open enums, they already round-tripped these strings; now they have names.HealthDataJsonContextregisters the new enum, which addsOvulationTestTestTypeandNullableOvulationTestTestType. With the members above, that is the whole change to the approved public API surface.testTypein its examples, and the release notes end at an entry for 2026-10-14.20261113: the README, the NuGet package README, and the architecture, authentication, code-generation, compatibility, data-points, operations and references pages. The README anddocs/code-generation.mdnow count 59 open enums. The CHANGELOG[Unreleased]section gains an Added entry, and its Changed entry names the new revision.nutrition.readonlybut neither the three Women's Health.readonlyscopes norlocation.writeonly; theusers.getIdentitypage still lists eleven scopes; the data type page still documents create, update and batchDelete only for the Women's Health types; and thedailyRollUppages still show no response page token.comparedOninsemantics.jsonand the verification dates in the documentation move with it.Verification
codegen generateaccepted the new snapshot with the existingsemantics.jsonand regenerated all 236 files. Outside the provenance header, the code that changes is the revision constants,OvulationTest, itsTypescontainer,Symptoms.Types.Symptomsand the serializer context.codegen verifyconfirms the committed sources match.testTypeand aresultofOWN_METHODfrom JSON and writestestTypeback. Renaming the generated property's wire name fails it; restoring the file passes it.GeneratorTestschecked the revision in the generated headers and counted 58 open enums; both expectations move. The public API surface was re-approved, and its diff is the members listed above.dotnet build -c Releasereports no warnings,dotnet testpasses with the live-API smoke test skipped for want of a credential, anddotnet format --verify-no-changesis clean.eng/check-verified-facts.pyreports no drift against the per-method reference pages.Not checked:
testTypeand the new values has not been observed.Category=Packagetests and the Native AOT checks are left to CI.🤖 Generated with Claude Code