fix: replace fictional enum values and date-stamp volatile claims#24
Merged
Conversation
Closes the last two items from the Codex pass, and a real bug found while chasing one of them. `PHONE` was used as a deviceType in two skills' response examples, and get_project's field table listed it as a documented value. It isn't in the live enum, and it appears in zero of 85 real projects (68 DESKTOP, 13 MOBILE). Same class as the ROBOTO font bug — a value an agent would copy and the API would reject. Replaced with DESKTOP, and the table now lists the real five. Swept for the general case rather than fixing the two instances: every enum-valued field in every JSON example across skills/ and docs/ is now checked against the live enums (deviceType, colorMode, colorVariant, roundness, modelId, creativeRange, and all four font slots). No remaining mismatches. Date-stamped the two claims that will rot — Stitch's free-tier availability and the comparison against Google's official repo. Both now say when they were checked and tell the reader to verify rather than trust a snapshot. Deliberately did NOT add DEVICE_TYPE_UNSPECIFIED to the skills' "here are your options" lists. It's the zero-value sentinel; an agent choosing a value to send should omit the field instead. The schemas carry it, which is where it belongs.
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.
Last two open items from the Codex review, plus a real bug found while chasing one of them.
PHONEisn't a real deviceTypeTwo skills used it in response examples, and
get_project's field table documented it as a valid value. It's absent from the live enum and appears in zero of 85 real projects (68DESKTOP, 13MOBILE). Same class as theROBOTOfont bug — a value an agent copies and the API rejects.Stopped finding these by accident
Two fictional enum values turned up by chance in one evening, so I swept for the general case: every enum-valued field in every JSON example across
skills/anddocs/, checked against the live enums —deviceType,colorMode,colorVariant,roundness,modelId,creativeRange, and all four font slots.Result: no remaining mismatches. Worth re-running whenever the schemas are refreshed.
Date-stamped the claims that rot
Stitch's free-tier availability and the comparison against Google's official repo both now say when they were checked and tell the reader to verify rather than trust a snapshot. Google shipped a full repo restructure between March and July; this comparison has a shelf life and should say so.
One review item deliberately not applied
Codex flagged
DEVICE_TYPE_UNSPECIFIEDas missing from the documented enums. I left it out of the skills' "here are your options" lists on purpose — it's the zero-value sentinel, and an agent choosing a value to send should omit the field rather than sendUNSPECIFIED. Listing it would be worse guidance. All nine JSON schemas do carry it, which is where it belongs.Validator:
Passed with 30 warning(s) — no errors.