Skip to content

fix: replace fictional enum values and date-stamp volatile claims#24

Merged
gabelul merged 1 commit into
mainfrom
fix/final-review-items
Jul 20, 2026
Merged

fix: replace fictional enum values and date-stamp volatile claims#24
gabelul merged 1 commit into
mainfrom
fix/final-review-items

Conversation

@gabelul

@gabelul gabelul commented Jul 20, 2026

Copy link
Copy Markdown
Owner

Last two open items from the Codex review, plus a real bug found while chasing one of them.

PHONE isn't a real deviceType

Two 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 (68 DESKTOP, 13 MOBILE). Same class as the ROBOTO font 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/ and docs/, 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_UNSPECIFIED as 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 send UNSPECIFIED. 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.

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.
@gabelul
gabelul merged commit 3dd2e46 into main Jul 20, 2026
1 check passed
@gabelul
gabelul deleted the fix/final-review-items branch July 20, 2026 20:18
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