CLOUD-25611: Fix skill-side over-claims found during instructions alignment - #37
Open
dbarnes-cdata wants to merge 6 commits into
Open
CLOUD-25611: Fix skill-side over-claims found during instructions alignment#37dbarnes-cdata wants to merge 6 commits into
dbarnes-cdata wants to merge 6 commits into
Conversation
Conventions #1 claimed the driver rejects 1/0 on boolean columns and listed IsDeleted as an example. Verified live: [IsDeleted] = 0/1 works, while [Open/Closed] = 1 fails ("Cannot decipher where clause as Boolean"). Reworded to "prefer true/false; some boolean columns reject 1/0 (IsDeleted accepts them, not all do)" so the guidance matches actual driver behavior.
Both surface references claimed "create/update/delete events/contacts via DML" (and the MSGraph Events table said "create/update/delete events here"). The generic MCP has no execute_delete, so row deletion via DML isn't possible. Changed to create/update, and noted deletion isn't available over the MCP surface.
- Write Operations claimed "DELETE on Files" and "INSERT/UPDATE/DELETE on Permissions" — the generic MCP has no execute_delete, so DELETE FROM isn't possible. Deleting files uses MoveToTrash/DeleteResource; revoking a share (a Permissions row delete) is not available over MCP. - Conventions said booleans use "true/false (or 1/0)" — verified 1/0 is rejected (WHERE [Starred] = 1 -> HTTP [400] Invalid Value). Only true/false work.
Write Operations and two conventions said data tables support UPDATE/DELETE keyed on [id]. The generic MCP has no execute_delete, so DELETE FROM isn't possible. Changed to UPDATE only; noted rows are removed in the Sheets UI or by dropping the sheet via DeleteSheet.
Classic reference said core tables support INSERT/UPDATE/DELETE; the StripeV2 reference said EventDestinations supports INSERT/UPDATE/DELETE. The generic MCP has no execute_delete, so row deletion isn't possible on either surface. Changed both to INSERT/UPDATE and noted deletion isn't available over the MCP surface.
…nnection names - DownloadAttachment: the param table and toolkit ordinal map listed @localpath, which doesn't exist on the live driver (verified params: ObjectId, Id, Name, LightningMode, Encoding, FileStream). Base64 = omit @FileStream + set @encoding='BASE64'. Replaced the @localpath row with @Encoding/@FileStream, fixed the "when FileLocation is omitted" prose, and renumbered the toolkit ordinal map. - Neutralized hardcoded connection names throughout ([MySalesforceConnection] x23, [Salesforce_DB] x4) to the house [YourConnection] placeholder. (DownloadContentDocument's LocalPath param left as-is — a different, unverified proc.)
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.
Summary
Follow-up to CLOUD-25515 (aligning
driverSpecificInstructionswith the mature connector skills). While spot-checking each connector against live Connect AI during that alignment, several over-claims in the connector skills themselves surfaced. This PR corrects them so the skills match live driver behavior (and stay consistent with the aligned instructions).Ticket: CLOUD-25611 · follows CLOUD-25515 (connectcloud PR #1108)
Fixes (one commit each)
DELETE-over-MCP over-claims — the generic MCP has no
execute_delete, so "supports DELETE / DELETE FROM / delete via DML" is unfulfillable regardless of catalog Delete permission. Reframed as INSERT/UPDATE + procedures:DELETE on FilesandINSERT/UPDATE/DELETE on Permissions→ INSERT/UPDATE; delete files viaMoveToTrash/DeleteResource; revoking a share isn't available over MCP.UPDATE/DELETEon data-table[id]→ UPDATE only; remove rows in the Sheets UI or drop the sheet viaDeleteSheet.EventDestinationsINSERT/UPDATE/DELETE→ INSERT/UPDATE.Boolean
1/0over-claims — verified live that numeric booleans are rejected:IsDeleted→ "prefer true/false; some boolean columns reject 1/0 (IsDeletedaccepts them, not all do)". Verified[Open/Closed] = 1fails,[IsDeleted] = 0/1works.WHERE [Starred] = 1→HTTP [400] Invalid Value).salesforce
DownloadAttachmentparam table + toolkit ordinal map listed a@LocalPathparameter that doesn't exist on the live driver (verified params:ObjectId,Id,Name,LightningMode,Encoding,FileStream). Base64 = omit@FileStream+ set@Encoding='BASE64'.[MySalesforceConnection],[Salesforce_DB]) to the house[YourConnection]placeholder.Out of scope
The Dynamics 365 Business Central skill's "delete via the connector's source tools" wording is a settled, intentional exception (required by that skill's PR reviewer) — left as-is, and the instructions match it.