Repository navigation
Show who completed a to-do or card, and when, by bumping basecamp-sdk to 63115e79 - #942
Merged
Merged
Conversation
… to 63115e79 The CLI read cards and to-dos through SDK types that had no `completion`, so `--json` output said `"completion": null` and `"completer": null` on every completed item, though Basecamp sends who and when. basecamp-sdk#1033 models `completion` on to-dos, cards and subtasks and fills Go's `Completer` and `CompletedAt` from it. Pin the SDK at that merge (scripts/bump-sdk.sh) and re-vendor the MCP model from it (scripts/sync-mcp-model.sh).
The Nix flake build computed sha256-hun/… for the go modules at the new pin.
Contributor
There was a problem hiding this comment.
🟢 Approved
The additive schema changes fit existing response paths, dependency and provenance updates are consistent, and no blocking issues were identified.
No open issues 🎉
What changed in this PR
Updates the Basecamp SDK to 63115e79 so CLI JSON output includes who completed a to-do, card, or subtask and when, without changing CLI implementation or human-readable output.
Changes:
- Updates the SDK dependency, checksums, and provenance.
- Refreshes the MCP schema with
RecordingCompletion, legacy-field deprecations, and clearable due-date annotations.
[!TIP]
If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or rungh pr ready --undo.
Click "Ready for review" or rungh pr readyto reengage.
| File | Description |
|---|---|
| internal/version/sdk-provenance.json | Records the updated SDK version and revision. |
| internal/mcpserver/model/PROVENANCE.json | Aligns model provenance with the SDK commit. |
| internal/mcpserver/model/openapi.json | Adds completion metadata and updates schema annotations. |
| go.sum | Updates SDK dependency checksums. |
| go.mod | Pins the SDK to the completion-metadata update. |
Review effort: Balanced
Copilot
AI
dismissed their stale review, a newer Copilot review was requested
October 22, 2026 23:34
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.
Why
Basecamp sends who completed a to-do, card or subtask, and when, as
completion. The SDK didn't model it, so the CLI's--jsonoutput had"completion": null,"completer": nulland"completed_at": nullon every completed item. basecamp-sdk#1033 fixes that in the SDK. This pins the CLI to it.What changed
63115e79, the #1033 merge, withscripts/bump-sdk.sh.scripts/sync-mcp-model.sh.Scope
Verification
make testpasses.cards show 10329974547 -jon a completed card: main gives"completion": null, this branch givesRob Zolkosat2026-10-22T22:33:43.774Z, withcompleterandcompleted_atmatching.todos showon a completed to-do: main givesnull, this branch gives the completer and time.Summary by cubic
Pins
github.com/basecamp/basecamp-sdk/goto commit63115e79, which models who completed a to-do, card, or subtask and when.--jsonoutput previously reported"completion": null,"completer": null, and"completed_at": nullon every completed item; it now shows the completer and time.No CLI code changes. The MCP model is re-vendored from the same commit, so the built-in MCP server gains the updated
RecordingCompletionschema. The Nix vendor hash is updated for the new pin. Notecompleterandcompleted_atare deprecated in the SDK in favor ofcompletion.creatorandcompletion.created_at.Written for commit 9dd1595. Summary will update on new commits.