Skip to content

chore: update sdk-compliance.yaml for renamed capability matrix IDs - #1184

Merged
grdsdev merged 1 commit into
mainfrom
guilherme/sdk-1439-capability-id-renames
Aug 7, 2026
Merged

chore: update sdk-compliance.yaml for renamed capability matrix IDs#1184
grdsdev merged 1 commit into
mainfrom
guilherme/sdk-1439-capability-id-renames

Conversation

@grdsdev

@grdsdev grdsdev commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Summary

supabase/sdk#74 renames/splits several feature IDs in the canonical capability matrix. This updates sdk-compliance.yaml so the SDK compliance CI check doesn't fail on unknown IDs once that PR merges. No SDK code changes.

  • auth.sign_in.reset_passwordauth.sign_in.send_password_reset_email
  • realtime.channel.sendrealtime.channel.broadcast
  • storage.file_buckets.list_files_paginated merged into list_files
  • storage.analytics.iceberg_namespace split into create_namespace/list_namespaces/delete_namespace (same status replicated across all three — not yet divided per-operation)
  • storage.analytics.iceberg_table split into create_table/list_tables/load_table/update_table/rename_table/delete_table (same treatment)

Context: SDK-1439

Test plan

supabase/sdk#74 renames/splits several feature IDs. Updates references
here so CI's capability compliance validator doesn't fail on unknown IDs:

- auth.sign_in.reset_password -> auth.sign_in.send_password_reset_email
- realtime.channel.send -> realtime.channel.broadcast
- storage.file_buckets.list_files_paginated merged into list_files
- storage.analytics.iceberg_namespace split into create_namespace/list_namespaces/delete_namespace
- storage.analytics.iceberg_table split into create_table/list_tables/load_table/update_table/rename_table/delete_table

No SDK code changes — only the capability declarations. See
supabase/sdk#74 and
https://linear.app/supabase/issue/SDK-1439 for context.
@grdsdev
grdsdev requested a review from a team as a code owner August 7, 2026 08:40
@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: ffc3e81c-c9c7-4ee4-ba43-120d7f3430a1

📥 Commits

Reviewing files that changed from the base of the PR and between 0826b28 and da2bb2a.

📒 Files selected for processing (1)
  • sdk-compliance.yaml

📝 Walkthrough

Summary by CodeRabbit

  • Bug Fixes
    • Updated SDK capability names to use consistent, canonical identifiers.
    • Replaced outdated analytics and file-listing capability entries with the current supported operations.
    • Removed the obsolete paginated file-listing capability.

Walkthrough

The SDK compliance registry now uses canonical identifiers for password reset and realtime broadcast capabilities. It replaces Iceberg namespace and table entries with explicit unimplemented analytics operations for namespace and table management. Existing implementation status and symbol mapping remain unchanged for the password reset capability.

✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

⚠️ Capability matrix drift detected

The following capabilities are marked implemented in swift but have no registered symbols to verify:

  • auth.passkey.register_passkey (no symbols list — cannot confirm implementation exists)
  • auth.passkey.sign_in_with_passkey (no symbols list — cannot confirm implementation exists)
  • client.authentication_integration.third_party_auth (no symbols list — cannot confirm implementation exists)
  • client.authentication_integration.cross_client_token_sync (no symbols list — cannot confirm implementation exists)
  • client.authentication_integration.oauth_flow_type (no symbols list — cannot confirm implementation exists)
  • client.authentication_integration.session_url_detection (no symbols list — cannot confirm implementation exists)
  • client.session_management.custom_storage (no symbols list — cannot confirm implementation exists)
  • client.session_management.persist_session (no symbols list — cannot confirm implementation exists)
  • client.request_configuration.global_headers (no symbols list — cannot confirm implementation exists)
  • client.observability.trace_propagation (no symbols list — cannot confirm implementation exists)
  • database.query.from_table (no symbols list — cannot confirm implementation exists)
  • database.query.select (no symbols list — cannot confirm implementation exists)
  • database.query.schema_selection (no symbols list — cannot confirm implementation exists)
  • database.query.rpc (no symbols list — cannot confirm implementation exists)
  • database.mutate.insert (no symbols list — cannot confirm implementation exists)
  • database.mutate.update (no symbols list — cannot confirm implementation exists)
  • database.mutate.upsert (no symbols list — cannot confirm implementation exists)
  • database.mutate.delete (no symbols list — cannot confirm implementation exists)
  • database.mutate.select_after_mutation (no symbols list — cannot confirm implementation exists)
  • database.using_filters.eq (no symbols list — cannot confirm implementation exists)
  • database.using_filters.neq (no symbols list — cannot confirm implementation exists)
  • database.using_filters.gt (no symbols list — cannot confirm implementation exists)
  • database.using_filters.gte (no symbols list — cannot confirm implementation exists)
  • database.using_filters.lt (no symbols list — cannot confirm implementation exists)
  • database.using_filters.lte (no symbols list — cannot confirm implementation exists)
  • database.using_filters.like (no symbols list — cannot confirm implementation exists)
  • database.using_filters.ilike (no symbols list — cannot confirm implementation exists)
  • database.using_filters.is (no symbols list — cannot confirm implementation exists)
  • database.using_filters.in (no symbols list — cannot confirm implementation exists)
  • database.using_filters.contains (no symbols list — cannot confirm implementation exists)
  • database.using_filters.contained_by (no symbols list — cannot confirm implementation exists)
  • database.using_filters.range_gt (no symbols list — cannot confirm implementation exists)
  • database.using_filters.range_gte (no symbols list — cannot confirm implementation exists)
  • database.using_filters.range_lt (no symbols list — cannot confirm implementation exists)
  • database.using_filters.range_lte (no symbols list — cannot confirm implementation exists)
  • database.using_filters.range_adjacent (no symbols list — cannot confirm implementation exists)
  • database.using_filters.overlaps (no symbols list — cannot confirm implementation exists)
  • database.using_filters.text_search (no symbols list — cannot confirm implementation exists)
  • database.using_filters.match (no symbols list — cannot confirm implementation exists)
  • database.using_filters.not (no symbols list — cannot confirm implementation exists)
  • database.using_filters.or (no symbols list — cannot confirm implementation exists)
  • database.using_filters.raw (no symbols list — cannot confirm implementation exists)
  • database.using_filters.regex (no symbols list — cannot confirm implementation exists)
  • database.using_filters.regex_icase (no symbols list — cannot confirm implementation exists)
  • database.using_filters.is_distinct (no symbols list — cannot confirm implementation exists)
  • database.using_filters.like_all (no symbols list — cannot confirm implementation exists)
  • database.using_filters.like_any (no symbols list — cannot confirm implementation exists)
  • database.using_filters.ilike_all (no symbols list — cannot confirm implementation exists)
  • database.using_filters.ilike_any (no symbols list — cannot confirm implementation exists)
  • database.using_modifiers.order (no symbols list — cannot confirm implementation exists)
  • database.using_modifiers.limit (no symbols list — cannot confirm implementation exists)
  • database.using_modifiers.range (no symbols list — cannot confirm implementation exists)
  • database.using_modifiers.single_row (no symbols list — cannot confirm implementation exists)
  • database.using_modifiers.strip_nulls (no symbols list — cannot confirm implementation exists)
  • database.using_modifiers.format_csv (no symbols list — cannot confirm implementation exists)
  • database.using_modifiers.format_geojson (no symbols list — cannot confirm implementation exists)
  • database.using_modifiers.max_affected_rows (no symbols list — cannot confirm implementation exists)
  • database.using_modifiers.request_cancellation (no symbols list — cannot confirm implementation exists)
  • database.configuration.auto_retry (no symbols list — cannot confirm implementation exists)
  • functions.invocation.invoke (no symbols list — cannot confirm implementation exists)
  • functions.invocation.set_auth_token (no symbols list — cannot confirm implementation exists)
  • functions.invocation.method_override (no symbols list — cannot confirm implementation exists)
  • functions.invocation.streaming_response (no symbols list — cannot confirm implementation exists)
  • functions.invocation.request_cancellation (no symbols list — cannot confirm implementation exists)
  • realtime.client.connect (no symbols list — cannot confirm implementation exists)
  • realtime.client.disconnect (no symbols list — cannot confirm implementation exists)
  • realtime.client.get_channels (no symbols list — cannot confirm implementation exists)
  • realtime.client.remove_channel (no symbols list — cannot confirm implementation exists)
  • realtime.client.remove_all_channels (no symbols list — cannot confirm implementation exists)
  • realtime.client.connection_state (no symbols list — cannot confirm implementation exists)
  • realtime.client.listen_heartbeats (no symbols list — cannot confirm implementation exists)
  • realtime.client.set_auth_token (no symbols list — cannot confirm implementation exists)
  • realtime.client.channel (no symbols list — cannot confirm implementation exists)
  • realtime.channel.subscribe (no symbols list — cannot confirm implementation exists)
  • realtime.channel.unsubscribe (no symbols list — cannot confirm implementation exists)
  • realtime.channel.broadcast (no symbols list — cannot confirm implementation exists)
  • realtime.channel.broadcast_http (no symbols list — cannot confirm implementation exists)
  • realtime.subscriptions.postgres_changes (no symbols list — cannot confirm implementation exists)
  • realtime.subscriptions.subscribe_presence (no symbols list — cannot confirm implementation exists)
  • realtime.subscriptions.private_channel (no symbols list — cannot confirm implementation exists)
  • realtime.subscriptions.broadcast_self (no symbols list — cannot confirm implementation exists)
  • realtime.subscriptions.broadcast_ack (no symbols list — cannot confirm implementation exists)
  • realtime.subscriptions.broadcast_replay (no symbols list — cannot confirm implementation exists)
  • realtime.presence.track (no symbols list — cannot confirm implementation exists)
  • realtime.presence.untrack (no symbols list — cannot confirm implementation exists)
  • realtime.presence.presence_key (no symbols list — cannot confirm implementation exists)
  • realtime.configuration.custom_websocket_transport (no symbols list — cannot confirm implementation exists)
  • realtime.configuration.reconnect_backoff (no symbols list — cannot confirm implementation exists)
  • realtime.configuration.heartbeat_interval (no symbols list — cannot confirm implementation exists)
  • realtime.configuration.access_token_callback (no symbols list — cannot confirm implementation exists)
  • realtime.configuration.deferred_disconnect (no symbols list — cannot confirm implementation exists)
  • realtime.configuration.custom_logger (no symbols list — cannot confirm implementation exists)
  • realtime.configuration.binary_protocol (no symbols list — cannot confirm implementation exists)
  • storage.file_buckets.get_bucket (no symbols list — cannot confirm implementation exists)
  • storage.file_buckets.list_file_buckets (no symbols list — cannot confirm implementation exists)
  • storage.file_buckets.update_bucket (no symbols list — cannot confirm implementation exists)
  • storage.file_buckets.delete_file_bucket (no symbols list — cannot confirm implementation exists)
  • storage.file_buckets.empty_bucket (no symbols list — cannot confirm implementation exists)
  • storage.file_buckets.access_bucket (no symbols list — cannot confirm implementation exists)
  • storage.file_buckets.upload (no symbols list — cannot confirm implementation exists)
  • storage.file_buckets.download (no symbols list — cannot confirm implementation exists)
  • storage.file_buckets.move (no symbols list — cannot confirm implementation exists)
  • storage.file_buckets.copy (no symbols list — cannot confirm implementation exists)
  • storage.file_buckets.remove (no symbols list — cannot confirm implementation exists)
  • storage.file_buckets.create_signed_url (no symbols list — cannot confirm implementation exists)
  • storage.file_buckets.create_signed_urls (no symbols list — cannot confirm implementation exists)
  • storage.file_buckets.create_signed_upload_url (no symbols list — cannot confirm implementation exists)
  • storage.file_buckets.upload_with_signed_url (no symbols list — cannot confirm implementation exists)
  • storage.file_buckets.update_file (no symbols list — cannot confirm implementation exists)
  • storage.file_buckets.file_exists (no symbols list — cannot confirm implementation exists)
  • storage.file_buckets.file_info (no symbols list — cannot confirm implementation exists)
  • storage.file_buckets.copy_cross_bucket (no symbols list — cannot confirm implementation exists)
  • storage.file_buckets.move_cross_bucket (no symbols list — cannot confirm implementation exists)
  • storage.file_buckets.upload_with_metadata (no symbols list — cannot confirm implementation exists)
  • storage.file_buckets.url_cache_nonce (no symbols list — cannot confirm implementation exists)

These may have been renamed, removed, or never registered. Please update the capability matrix.
See: https://github.com/supabase/sdk/blob/main/docs/capability-matrix.md

@coveralls

Copy link
Copy Markdown

Coverage Report for CI Build 31162668609

Warning

No base build found for commit 0826b28 on main.
Coverage changes can't be calculated without a base build.
If a base build is processing, this comment will update automatically when it completes.

Coverage: 83.893%

Details

  • Patch coverage: No coverable lines changed in this PR.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

Requires a base build to compare against. How to fix this →


Coverage Stats

Coverage Status
Relevant Lines: 10070
Covered Lines: 8448
Line Coverage: 83.89%
Coverage Strength: 40.22 hits per line

💛 - Coveralls

@grdsdev
grdsdev enabled auto-merge (squash) August 7, 2026 09:57
@grdsdev
grdsdev merged commit 450a8fc into main Aug 7, 2026
99 of 106 checks passed
@grdsdev
grdsdev deleted the guilherme/sdk-1439-capability-id-renames branch August 7, 2026 11:54
grdsdev added a commit that referenced this pull request Aug 10, 2026
The 5 IDs the sync bot added (auth.sign_in.reset_password,
realtime.channel.send, storage.file_buckets.list_files_paginated,
storage.analytics.iceberg_namespace, storage.analytics.iceberg_table) are
not new — they're the pre-rename names already retired in 450a8fc (#1184)
per supabase/sdk#74.

The bot resynced them because our caller workflow doesn't override the
reusable workflow's sdk-ref input, so it inherits that pinned commit's
baked-in default (faba359a, 2026-07-20), which predates the #74 rename.
Pinning sdk-ref explicitly to a current supabase/sdk main SHA fixes the
root cause.
grdsdev added a commit that referenced this pull request Aug 11, 2026
* chore: sync new capability IDs from canonical spec

* chore: drop stale duplicate capability IDs, pin sync to current sdk main

The 5 IDs the sync bot added (auth.sign_in.reset_password,
realtime.channel.send, storage.file_buckets.list_files_paginated,
storage.analytics.iceberg_namespace, storage.analytics.iceberg_table) are
not new — they're the pre-rename names already retired in 450a8fc (#1184)
per supabase/sdk#74.

The bot resynced them because our caller workflow doesn't override the
reusable workflow's sdk-ref input, so it inherits that pinned commit's
baked-in default (faba359a, 2026-07-20), which predates the #74 rename.
Pinning sdk-ref explicitly to a current supabase/sdk main SHA fixes the
root cause.

* ci: track supabase/sdk main for sync-compliance sdk-ref

supabase/sdk is internal (same org, same review process), so treating it
like an untrusted third party by pinning to a SHA isn't buying safety
here. It does cost freshness: the reusable workflow's own baked-in
sdk-ref default is a one-time pin upstream never refreshes, and
supabase/sdk has no tags/releases for anything to key an auto-bump off
of, so a fixed SHA here would just go stale again on its own schedule.
Tracking main avoids that.

* chore: drop explanatory comment from sdk-ref

* ci: bump sync-sdk-compliance pin to the sdk-ref: main fix

supabase/sdk#79 fixes the reusable workflow's own sdk-ref default (was
stuck on the stale faba359a pin since 2026-07-20). Point at that fix
commit directly and drop our local sdk-ref: main override, since it's
now the workflow's default.

Note: 72fda7c is currently on supabase/sdk's unmerged PR #79. Re-pin to
the actual main commit once that merges.

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Guilherme Souza <guilherme@supabase.io>
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.

3 participants