Adopt basecamp-sdk v0.11.0 - #594
Open
jeremy wants to merge 2 commits into
Open
Conversation
Retires the pseudo-version pin left by the BC5 OAuth work (#582) and puts the CLI back on a release tag. The only breaking change in the range is basecamp/basecamp-sdk#504, which removes Everything().Boosts(). The CLI stopped calling it in #590, when BC5 withdrew /boosts.json (basecamp/bc3#12464), so the removal lands as a no-op and the account-wide aggregate family is now 16 of 16 reached rather than 16 of 17. Two other changes in the range are worth naming because their titles suggest more than they do here: - basecamp-sdk#518 ("truncated: only report it when items beyond the returned set were available") fixes a real boundary false positive in the TypeScript, Kotlin, Swift, and Python SDKs. The Go half is a deletion of a provably unreachable pre-fetch check in TimelineService.PersonProgress, pinned by tests green before and after. Meta.Truncated semantics are unchanged, so the three CLI readers (comment.go, todos.go, cards.go) are unaffected. - basecamp-sdk#514 flags Subscribe and EnableCardColumnOnHold as naturally idempotent, making those two POSTs retry-eligible. A behavior improvement, not a break. Docs follow the pin: the aggregate count, and the boost withdrawal notes that had been written in the future tense while the SDK still carried the operation.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9c34e3027b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
The bump updated the SDK-version preamble but left two prose claims behind: API-COVERAGE.md's "All 17 methods are reachable" and ACCOUNT-WIDE-LISTINGS.md's "All 17 methods, and the invocation that reaches each." Both now read 16, matching EverythingService in v0.11.0 and the 16-row matrix the method table has carried since #590. The matrix itself needed no change — its boosts row went with the caller.
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.
Retires the pseudo-version pin left by #582 (
v0.10.1-0.20260729233651-9480aa4c84b8) and puts the CLI back on a release tag.What's in the range
Everything().Boosts()TimelineService.PersonProgressMeta.Truncatedsemantics unchangedSubscribe+EnableCardColumnOnHoldflagged naturally idempotentTwo of those deserve a note, because the titles suggest more than they deliver here.
#518 fixes a genuine boundary false positive — a cap landing exactly on the final item of a Link-less last page reported
truncated: true— but only in the TypeScript, Kotlin, Swift, and Python SDKs. The Go half is a deletion of dead code, argued unreachable and pinned by tests that are green before and after. This matters because the CLI readsMeta.Truncatedin three places (comment.go:540,588,todos.go:372,cards.go:346), so a semantics change there would have needed real work. It doesn't.#504 completes the boost withdrawal. The account-wide aggregate family is now 16 of 16 reached from the CLI rather than 16 of 17 — not because coverage improved, but because the unreachable one stopped existing.
Docs
API-COVERAGE.mdhad pre-committed to this edit ("Once the CLI pins an SDK without it, this line becomes 16 of 16"). Along with it, the boost withdrawal notes inAPI-COVERAGE.md,ACCOUNT-WIDE-LISTINGS.md, andboost.gowere written in the future tense while the SDK still carried the operation; they're now past tense with the SDK PR cited.Verification
bin/ciexit 0 — 361 e2e tests, surface snapshot current, skill drift clean,SDK provenance OK (v0.11.0). Noreplacedirective ingo.mod.Summary by cubic
Upgrade the CLI to
github.com/basecamp/basecamp-sdk/gov0.11.0, replacing the temporary pseudo-version pin. No CLI behavior changes; the SDK’s removed boosts aggregate was already unused, and two POSTs are now retryable.Dependencies
github.com/basecamp/basecamp-sdk/gov0.11.0.SubscribeandEnableCardColumnOnHoldmarked idempotent; retries enabled.Meta.Truncatedsemantics unchanged.Docs
API-COVERAGE.md: 16/16 aggregates, corrected remaining “17” references, and noted the v0.11.0 drop of boosts.ACCOUNT-WIDE-LISTINGS.mdandboost.go: past-tense boost withdrawal, 16-method wording; matrix unchanged.Written for commit 4b6404a. Summary will update on new commits.