fix(repo): populate symbols in sdk-compliance so capabilities are verifiable#2547
Conversation
@supabase/auth-js
@supabase/functions-js
@supabase/postgrest-js
@supabase/realtime-js
@supabase/storage-js
@supabase/supabase-js
commit: |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
🚧 Files skipped from review as they are similar to previous changes (2)
📝 WalkthroughSummary by CodeRabbit
WalkthroughThe compliance audit now collects typedoc symbols alongside canonical feature IDs, preserves raw class names during traversal, and merges mapped identifiers with symbol overrides. YAML output now uses structured Sequence Diagram(s)sequenceDiagram
participant Typedoc
participant collectMethods
participant emitYaml
participant ComplianceManifest
Typedoc->>collectMethods: Provide methods and class context
collectMethods->>collectMethods: Canonicalize feature IDs and accumulate symbols
collectMethods->>emitYaml: Return per-area IDs and symbols
emitYaml->>ComplianceManifest: Emit status and symbols entries
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 Checkov (3.3.8)scripts/canonical-mapping.yamlTraceback (most recent call last): sdk-compliance.yamlTraceback (most recent call last): 🔧 ESLint
ESLint install timed out. The project may have too many dependencies for the sandbox. 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. Comment |
0f854dc to
2b57878
Compare
The SDK compliance workflow posts a "Capability matrix drift detected" comment on every PR because almost every capability in
sdk-compliance.yamlis markedimplementedwithout asymbols:list, so the drift checker cannot verify the code backing it. This changesscripts/audit-sdk-compliance.tsto carry each capability's originating typedoc symbol through generation and emit asymbols:list for every entry, instead of relying on the single manualSYMBOL_OVERRIDESentry. Symbols use the raw typedoc class name so storage's default-exportedStorageFileApi/StorageBucketApiresolve correctly asdefault.*.Regenerating from current specs also adds two canon-valid storage capabilities (
storage.file_buckets.purge_cacheandpurge_bucket_cache). A few JS-onlyRealtimeClientmethods surfaced that have no canonical counterpart (isConnected,isConnecting,isDisconnecting,endpointURL), so they are dropped viascripts/canonical-mapping.yamlto keep the file valid against the canonical matrix. All 191 emitted symbols resolve against the current typedoc specs, the blocking public-API validation passes, and the drift comment no longer fires.