Add basecamp files versions — HELD, blocked on the SDK - #622
Draft
jeremy wants to merge 1 commit into
Draft
Conversation
Implements basecamp files versions <upload-id> over
UploadsService.ListVersions, with the full completeness-bar treatment:
catalog entry, API-COVERAGE row, skill mention, .surface, unit tests, and
smoke coverage (including the vaults/docs alias leaves).
Do not merge. The SDK method mistypes its response, so the command emits
misleading data — see COMMUNIQUE-sdk-upload-versions-response.md. A live
read-only probe of GET /uploads/{id}/versions.json returns version *events*
(action, details, recording_id, created_at, creator), but the OpenAPI spec
models ListUploadVersionsResponseContent as []Upload, so the SDK decodes
events into Upload structs: title, filename, status and download_url come
back blank, action/details/recording_id are dropped, and the id is the event
id, which does not resolve as an upload.
The command itself is correct and ready; it lands once the SDK returns the
right type.
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.
Do not merge. Draft to preserve completed work and make the blocker visible.
Implements
basecamp files versions <upload-id>overUploadsService.ListVersions, with the full completeness-bar treatment: command infiles.go, catalog entry,API-COVERAGE.mdrow, skill mention,.surface, unit tests (endpoint reached, URL accepted, pagination contract), and smoke coverage including thevaults/docsalias leaves.bin/cigreen.Why it's held
The SDK method mistypes its response. A live read-only probe of
GET /uploads/{id}/versions.jsonreturns version events:{ "id": 16850997498, "recording_id": 10165243019, "action": "active", "details": { "status_was": "drafted" }, "created_at": "…", "creator": { … } }but
ListUploadVersionsResponseContentis modeled as[]Upload, soListVersionsdecodes events intoUploadstructs. What this command actually prints today:title,filename,status,content_type,download_url— all blank, and blank as zero values, so nothing signals they're an artifactaction,details,recording_id— dropped; the only fields saying what happenedidis the event id, so it invitesbasecamp files show <id>, which 404sNote that
actionhere isactive, notblob_changed— the endpoint returns the full event stream since publication, so file replacements are one subset of it, not the whole listing.Blocked on
UploadsService.ListVersionsreturning an event type (ID,RecordingID,Action,Details,CreatedAt,Creator) rather than[]Upload. The root cause is the OpenAPI description, so the fix likely belongs upstream of the generator with the hand-written service following. No issue is filed against basecamp-sdk yet — that's the next step for this to move.The command itself is correct and ships as-is once the type is right.
Rebase note
This branch's⚠️ blocked status. Rebase onto #621 before this lands, and flip the row back to ✅ at the same time.
API-COVERAGE.mdrow still claims full coverage foruploads. #621 corrects the summary to 183/184 and adds the(An earlier version of this description pointed at a
COMMUNIQUE-sdk-upload-versions-response.mdfile in #621. That file was removed —basecamp-cliis public, and cross-team asks don't belong in its source tree. The content is preserved off-tree pending an SDK issue.)