|
Ran
|
Jobs
1
|
Files
33
|
Run time
1min
|
Badge
README BADGES
|
push
github
feat: group lints in `get_advisors` response (#390) ## Problem `get_advisors` returns a list with one object per finding, each carrying the same keys. The [lint SQL](https://github.com/supabase/supabase/blob/<a class=hub.com/supabase/mcp/commit/d5ee11bea0cba0149d16715aabb088d03c10be36">d5ee11bea<a href="https://github.com/supabase/mcp/commit/48d593adeb0401e547caee4cdca5258cd7410ab1">/packages/pg-meta/src/sql/studio/advisor/lints.ts) emits `title`, `description` and `remediation` as literals on each row, so 300 instances of the same lint means those same three strings 300 times. See diagnosis [thread](https://supabase.slack.com/archives/C051L8U2EJF/p1787774307978489) with [metrics](https://supabase.slack.com/archives/C051L8U2EJF/p1787777939555179?thread_ts=1787774307.978489&cid=C051L8U2EJF) demonstrating that is is the longest tail context hog in studio's AI Assistant. ## Fix Groups findings by lint. - Findings only merge when all seven [shared fields](https://github.com/supabase/mcp/pull/390/changes#diff-<a class="double-link" href="https://github.com/supabase/mcp/commit/38cc0dc8b54f71f78652c17cbd5d29002718be0c">38cc0dc8b</a>4f3b0493e36f448f428e2b3eR132-R140) match - Merged findings appear as a `findings` list on the `lints` entry, with convenience `count` - Drops `cache_key`, which primarily exists for [the dashboard UI](https://github.com/supabase/supabase/blob/d5ee11bea0cba0149d16715aabb088d03c10be36/apps/studio/pages/project/%5Bref%5D/advisors/security.tsx#L64) **Before** ```jsonc { "lints": [ { "name": "lint_a", "title": "…", "level": "WARN", "facing": "…", "categories": ["…"], "description": "…", "remediation": "…", "detail": "… object_1 …", "metadata": { "name": "object_1" }, "cache_key": "…" }, { "name": "lint_a", "title": "…", "level": "WARN", "facing": "…", "categories": ["…"], "description": "…", "remediation": "…", "detail": "… object_2 …", "metadata": { "name": "object_2" }, "cache_key": "…" }, { "name": "lint_a", "title": "…", "level": "WARN", "facing": "…", "categories": ["…"], "description": "…", "remediation": "…", "detail": "… object_3 …", "metadata": { "name": "object_3" }, "cache_key": "…" }, { "name": "lint_a", "title":... (continued)
371 of 405 branches covered (91.6%)
Branch coverage included in aggregate %.
52 of 52 new or added lines in 1 file covered. (100.0%)
3002 of 3087 relevant lines covered (97.25%)
50.74 hits per line
| ID | Job ID | Ran | Files | Coverage | |
|---|---|---|---|---|---|
| 1 | 33527491243.1 | 33 |
96.59 |
GitHub Action Run |
| Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
|---|