feat(web/m7-coverage-gauge): coverage API client + query

Adds CoverageRollup type, getCoverageRollup() against
/api/admin/library/coverage, and createCoverageQuery() with the same
3s/30s pacing used by scan-status. New qk.coverage() key follows the
existing zero-arg tuple pattern. Vitest covers the GET path and the
empty-library zero-state plus the with_art + pending + settled = total
invariant.
This commit is contained in:
2026-05-06 10:12:57 -04:00
parent 97cca4411a
commit 3a424c6f73
3 changed files with 67 additions and 0 deletions
+1
View File
@@ -35,6 +35,7 @@ export const qk = {
adminQuarantineActions: (limit?: number) =>
['adminQuarantineActions', { limit: limit ?? 50 }] as const,
scanStatus: () => ['scanStatus'] as const,
coverage: () => ['coverage'] as const,
suggestions: (limit?: number) =>
['suggestions', { limit: limit ?? 12 }] as const,
home: () => ['home'] as const,