Expand spec to 102 operations, regenerate all 5 SDKs
Merged
JE
8mo ago+20855+20855+01234567890123456789012345678901234567890123456789-3495-3495-0123456789012345678901234567890123456789
Summary
- 32 new operations added to the Smithy spec (102 total, was 70): access tokens, account settings, board entropy/involvement, join codes, notification settings, push subscriptions, search, steps index, user role management
- 4 summary types removed (pre-1.0 breaking):
UserSummary→User,BoardSummary→Board,ColumnSummary→Column,Pin→Card - Go typed returns: generator resolves
ResponseContentschemas to*generated.Typeor[]generated.Type - Idempotent POST retry:
WithIdempotent(ctx)in Go,retryable: truekwarg in Ruby — driven frombehavior-model.json - All 5 SDKs regenerated: Go, TypeScript, Ruby, Swift, Kotlin
- Conformance: 111 tests across 9 fixtures, 4 runners (Go, TS, Ruby, Kotlin), all passing
- RAILS-API-COMMUNIQUE.md: documents 28 JSON endpoints needed from Rails (implemented in https://github.com/basecamp/fizzy/pull/2675)
Breaking changes
Pre-1.0 SDK — no public consumers. These would be semver-major post-1.0:
| Change | Impact |
|---|---|
UserSummary deleted | Use User instead |
BoardSummary deleted | Use Board instead |
ColumnSummary deleted | Use Column instead |
Pin / PinList deleted | ListPins returns Card / CardList |
Tag.name → Tag.title | Field rename |
NotificationCard.board → NotificationCard.board_name | Field rename |
New required fields on Account, Tag, NotificationCard | Breaking for type constructors |
Merge order
- https://github.com/basecamp/fizzy/pull/2675 lands first (adds the 28 JSON endpoints the SDK expects)
- This PR merges after Rails deploys
- Integration test against staging to validate response shapes
Test plan
-
make checkpasses (Smithy, OpenAPI, behavior model, url-routes, provenance, rubric audit, all 5 SDK checks, all 4 conformance runners) - CI green on this branch
- Rails
api-breadthdeployed to staging - SDK conformance run against live staging