Record dock tool create contract change in api-gaps registry#389
Conversation
Spec Change Impact
Checklist of SDKs needing updates:
|
There was a problem hiding this comment.
Pull request overview
Registers the BC4→BC5 dock tool creation contract flip (clone-by-source_recording_id → create-by-tool_type) in the spec/api-gaps/ registry so the cross-version incompatibility is tracked through the “detect → address → absorb” lifecycle.
Changes:
- Added a new api-gap entry documenting the BC4 vs BC5 request-body divergence for
POST /:account_id/buckets/:bucket_id/dock/tools.json. - Updated the api-gaps registry index to include the new entry as
partial-coverage.
Tip
If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| spec/api-gaps/README.md | Adds the new gap to the registry table with partial-coverage status. |
| spec/api-gaps/dock-tool-create-contract.md | New gap entry documenting the BC4↔BC5 dock tool create contract change and SDK compatibility implications. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 53abf5f416
ℹ️ 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".
There was a problem hiding this comment.
All reported issues were addressed across 2 files
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
53abf5f to
d521627
Compare
d521627 to
d5509c0
Compare
d5509c0 to
ccaafd6
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ccaafd65af
ℹ️ 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".
ccaafd6 to
07799e1
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 07799e109e
ℹ️ 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".
07799e1 to
1d1dd7d
Compare
1d1dd7d to
2e57f96
Compare
2e57f96 to
0287fc3
Compare
Registers the BC4→BC5 dock tool creation contract change (clone → create-by-type) in the api-gaps registry, following the
memories-emptied-regressionprecedent for live contract regressions, and records it as the third cross-team contract decision in COORDINATION.md.Summary
spec/api-gaps/dock-tool-create-contract.md:fourrequiredsource_recording_idonPOST /buckets/{bucket_id}/dock/tools.json; BC5 (master) creates bytool_typeand 404s the documented clone shape (surfaced live astools createreturns a 404 instead of creating a new tool in the project basecamp-cli#471).foursurvives as the wire-format reference (compatibility.bc3-four) for BC4-era clients; the live-world impact is BC4-era clients on the documented clone contract failing against production.source_recording_id+tool_type+title) is structurally accepted by both contract snapshots, but the SDKCreateToolsignature (Update dock tool creation to current bucket-scoped API #327) cannot emit it; the route exists on both (resource :dock { resources :tools }underresources :bucketsonfourandmaster), so the divergence is body-level only.absorbed-in-sdkwithsmithy_refs: [CreateTool]— Update dock tool creation to current bucket-scoped API #327 merged 2026-07-22. The only remaining tail is the upstream doc rewrite (bc3#12364).Context in basecamp/basecamp-cli#471.
Verification
make validate-api-gaps— clean (16 entries + allowlist).