Skip to content

CLOUD-25611: Fix skill-side over-claims found during instructions alignment - #37

Open
dbarnes-cdata wants to merge 6 commits into
mainfrom
CLOUD-25611
Open

CLOUD-25611: Fix skill-side over-claims found during instructions alignment#37
dbarnes-cdata wants to merge 6 commits into
mainfrom
CLOUD-25611

Conversation

@dbarnes-cdata

Copy link
Copy Markdown
Collaborator

Summary

Follow-up to CLOUD-25515 (aligning driverSpecificInstructions with 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:

  • googledriveDELETE on Files and INSERT/UPDATE/DELETE on Permissions → INSERT/UPDATE; delete files via MoveToTrash/DeleteResource; revoking a share isn't available over MCP.
  • googlesheetsUPDATE/DELETE on data-table [id] → UPDATE only; remove rows in the Sheets UI or drop the sheet via DeleteSheet.
  • stripe — classic core tables and StripeV2 EventDestinations INSERT/UPDATE/DELETE → INSERT/UPDATE.
  • exchange — "create/update/delete events/contacts via DML" (both MSGraph and EWS) → create/update.

Boolean 1/0 over-claims — verified live that numeric booleans are rejected:

  • bullhorncrm — "boolean columns reject 1/0" listing IsDeleted → "prefer true/false; some boolean columns reject 1/0 (IsDeleted accepts them, not all do)". Verified [Open/Closed] = 1 fails, [IsDeleted] = 0/1 works.
  • googledrive — "booleans use true/false (or 1/0)" → true/false only (WHERE [Starred] = 1HTTP [400] Invalid Value).

salesforce

  • DownloadAttachment param table + toolkit ordinal map listed a @LocalPath parameter that doesn't exist on the live driver (verified params: ObjectId, Id, Name, LightningMode, Encoding, FileStream). Base64 = omit @FileStream + set @Encoding='BASE64'.
  • Neutralized hardcoded connection names ([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.

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.)
@dbarnes-cdata
dbarnes-cdata requested a review from tedik91 July 23, 2026 21:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant