Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 8 additions & 5 deletions ACCOUNT-WIDE-LISTINGS.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,9 @@ group's existing leaf list command.

## Method matrix

All 17 methods, and the invocation that reaches each.
All 16 methods, and the invocation that reaches each. The family was 17 through
SDK v0.10.0; `Boosts` was removed in v0.11.0, for the reasons under
"`boost list` — withdrawn" below.

| Command | SDK method | Payload | Paginated |
|---|---|---|---|
Expand Down Expand Up @@ -89,7 +91,7 @@ project scope": for these two commands a configured project is not a scope that
can be honored, so it is ignored rather than turned into an error.

`boost list` is per-item in the same way but has **no account-wide row at all**
— the aggregate behind it is being withdrawn server-side. Every absent-ID case
— the aggregate behind it was withdrawn server-side. Every absent-ID case
asks for an ID, and it carries no `--all-projects`. See "`boost list` —
withdrawn" under I5.

Expand Down Expand Up @@ -273,9 +275,10 @@ There is **no account-wide boost listing.** `boost list` requires an item ID.

The `/boosts.json` aggregate this section used to document was an easter egg —
unlinked from the Basecamp web UI, ~2,250 requests per 30 days globally, and
this CLI its only known consumer. BC5 has **withdrawn it** (bc3#12464); the
path 404s on both the web and API hosts once that deploys, so the CLI stops
calling it.
this CLI its only known consumer. BC5 **withdrew it** (bc3#12464), and the path
now 404s on both the web and API hosts, so the CLI no longer calls it. The SDK
dropped `Everything().Boosts()` to match in v0.11.0 (basecamp/basecamp-sdk#504),
so the operation is not merely unused here — it no longer exists.

The cause, from BC3's own diagnosis rather than inference: the query's cost is
proportional to the account's **accessible recordings, not its boosts**. That
Expand Down
35 changes: 20 additions & 15 deletions API-COVERAGE.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,20 +20,25 @@ Out-of-scope sections are excluded from parity totals and scripts: chatbots (dif

> Note: the per-row `Endpoints` column in the Coverage by Section table sums higher than the Summary totals above. The discrepancy predates the BC5 baseline; the row count (48 sections) is authoritative for the `Since` column. Reconciling endpoint counts is pre-existing maintenance, tracked separately.

**SDK version:** v0.10.0 — adds `EverythingService` (`AccountClient.Everything()`,
basecamp/basecamp-sdk#435 and #438), a 17-method account-wide aggregate family
covering cross-project messages, comments, checkins, forwards, boosts, files, and
the open/completed/unassigned/overdue/no-due-date todo and card rollups. **16 of
the 17 are reached from the CLI** — see [Account-wide
aggregates](#account-wide-aggregates). `Everything().Boosts()` is not called:
BC5 has withdrawn the `/boosts.json` aggregate behind it (basecamp/bc3#12464),
because its cost was proportional to the account's accessible recordings rather
than its boosts (~44s per page — basecamp/bc3#12458). The feed is expected back
later on a boost-proportional query (basecamp/bc3#12463), but the endpoint is
genuinely gone server-side in the meantime, so **the SDK is dropping the
operation as well**. The CLI holds no references to it, so that SDK removal
lands here as a no-op. Once the CLI pins an SDK without it, this line becomes
16 of 16. They are not a new command group and add
**SDK version:** v0.11.0 — carries `EverythingService`
(`AccountClient.Everything()`, basecamp/basecamp-sdk#435 and #438), a
16-method account-wide aggregate family covering cross-project messages,
Comment thread
jeremy marked this conversation as resolved.
comments, checkins, forwards, files, and the
open/completed/unassigned/overdue/no-due-date todo and card rollups. **All 16
are reached from the CLI** — see [Account-wide
aggregates](#account-wide-aggregates).

The family was 17 methods through v0.10.0. `Everything().Boosts()` is gone as
of v0.11.0 (basecamp/basecamp-sdk#504): BC5 withdrew the `/boosts.json`
aggregate behind it (basecamp/bc3#12464), because its cost was proportional to
the account's accessible recordings rather than its boosts (~44s per page —
basecamp/bc3#12458). The feed is expected back later on a boost-proportional
query (basecamp/bc3#12463), but the endpoint is genuinely gone server-side in
the meantime, so the SDK dropped the operation rather than ship one that cannot
work. The CLI had already stopped calling it, so the removal landed here as a
no-op.

The aggregates are not a new command group and add
no endpoints to the tracked totals above: each aggregate is the account-wide
variant of a listing the CLI already owned, reached through that group's
existing leaf command. The contract is `ACCOUNT-WIDE-LISTINGS.md`.
Expand Down Expand Up @@ -72,7 +77,7 @@ API date 2026-07-28.
## Account-wide aggregates

`EverythingService` answers, across every accessible project, the same questions
the project-scoped listings answer within one. All 17 methods are reachable.
the project-scoped listings answer within one. All 16 methods are reachable.

These rows are **not** added to the totals above. They are not new endpoints in
the tracked matrix — they are the account-wide variant of listings already
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ require (
charm.land/bubbles/v2 v2.1.1
charm.land/bubbletea/v2 v2.0.8
charm.land/lipgloss/v2 v2.0.5
github.com/basecamp/basecamp-sdk/go v0.10.1-0.20260729233651-9480aa4c84b8
github.com/basecamp/basecamp-sdk/go v0.11.0
github.com/basecamp/cli v0.2.2-0.20260728023309-04e401b12c6c
github.com/charmbracelet/bubbles v1.0.0
github.com/charmbracelet/glamour v1.0.0
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ github.com/aymanbagabas/go-udiff v0.4.1 h1:OEIrQ8maEeDBXQDoGCbbTTXYJMYRCRO1fnodZ
github.com/aymanbagabas/go-udiff v0.4.1/go.mod h1:0L9PGwj20lrtmEMeyw4WKJ/TMyDtvAoK9bf2u/mNo3w=
github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk=
github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4=
github.com/basecamp/basecamp-sdk/go v0.10.1-0.20260729233651-9480aa4c84b8 h1:M4vBBDNYkS8XtwZ4q8TIhR4c8F8h/4Lk2QIqx2s/A5w=
github.com/basecamp/basecamp-sdk/go v0.10.1-0.20260729233651-9480aa4c84b8/go.mod h1:r83ralDQ0q9vbAby5qQ5x9hgCgUdJLDLHYpiU6jaFjE=
github.com/basecamp/basecamp-sdk/go v0.11.0 h1:bjbwcjEZIAUh93PF/Mr/+KSnQStmhL5yB903OBTVBoM=
github.com/basecamp/basecamp-sdk/go v0.11.0/go.mod h1:r83ralDQ0q9vbAby5qQ5x9hgCgUdJLDLHYpiU6jaFjE=
github.com/basecamp/cli v0.2.2-0.20260728023309-04e401b12c6c h1:+5sQBl8sqYoD1Qhwsibn8sBCKWPyZ9NDez6mnuo9Afo=
github.com/basecamp/cli v0.2.2-0.20260728023309-04e401b12c6c/go.mod h1:EK1Dba6DEw8ZAilVBpf/jri3ONDV7LQkLACSDe73f/c=
github.com/bmatcuk/doublestar v1.1.1/go.mod h1:UD6OnuiIn0yFxxA2le/rnRU1G4RaI4UvFv1sNto9p6w=
Expand Down
6 changes: 3 additions & 3 deletions internal/commands/boost.go
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,9 @@ func runBoostList(cmd *cobra.Command, app *appctx.App, recording, project, event
//
// The feed is expected back later on a boost-proportional query
// (basecamp/bc3#12463), but the endpoint is genuinely gone in the meantime
// and the SDK is dropping Everything().Boosts() with it. When it returns,
// this is where the account-wide branch goes back, along with
// --all-projects.
// and the SDK dropped Everything().Boosts() with it in v0.11.0
// (basecamp/basecamp-sdk#504). When it returns, this is where the
// account-wide branch goes back, along with --all-projects.
recordingID, urlProjectID := extractWithProject(recording)

projectID := project
Expand Down
10 changes: 5 additions & 5 deletions internal/version/sdk-provenance.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"sdk": {
"module": "github.com/basecamp/basecamp-sdk/go",
"version": "v0.10.1-0.20260729233651-9480aa4c84b8",
"revision": "9480aa4c84b8",
"updated_at": "2026-07-29T23:36:51Z"
"version": "v0.11.0",
"revision": "b7124ca6a62a",
"updated_at": "2026-07-31T09:00:51Z"
},
"api": {
"repo": "basecamp/bc3",
"revision": "dffa7e11b3337b17454d9a82301be3e94226a858",
"synced_at": "2026-07-28"
"revision": "e83b273363891ff060f0c818f542916c681f1bfd",
"synced_at": "2026-07-30"
}
}
Loading