You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
New REES github-light analyzer (the #1499 epic 'Enum/literal-union exhaustiveness drift' idea) that detects when a PR adds a new member to a TS enum or string-literal union type but does not update a switch/mapping that previously handled all members — a classic missed-case bug. Fetches the changed type file + candidate consumer files at headSha; conservative and fail-safe.
Create review-enrichment/src/analyzers/exhaustiveness-drift.ts: detect added enum/union members from the diff, fetch the full type file at headSha (injected fetch), find switch/record consumers that don't cover the new member; strict maxFiles + maxFetches caps; only report high-confidence misses
Register a descriptor (category 'quality', cost 'github-light', requires ['files','github-token','head-sha']) in review-enrichment/src/analyzers/registry.ts with inline render()
Add review-enrichment/test/exhaustiveness-drift.test.ts covering an uncovered added member flagged, a fully-covered switch not flagged, the fetch cap, and the token-absent skip
References
review-enrichment/src/analyzers/doc-comment-drift.ts (github-light 'fetch changed file at headSha then parse' template)
New REES github-light analyzer (the #1499 epic 'Enum/literal-union exhaustiveness drift' idea) that detects when a PR adds a new member to a TS enum or string-literal union type but does not update a
switch/mapping that previously handled all members — a classic missed-case bug. Fetches the changed type file + candidate consumer files at headSha; conservative and fail-safe.Deliverables
ExhaustivenessFinding({ file, line, unionName: string, addedMember: string, consumerFile?: string }) +exhaustiveness?key to review-enrichment/src/types.tsReferences
review-enrichment/src/analyzers/doc-comment-drift.ts (github-light 'fetch changed file at headSha then parse' template)review-enrichment/src/analyzers/registry.ts:373-392 (docCommentDrift descriptor)gh issue 1499 lists 'Enum/literal-union exhaustiveness drift' as a later ideaPart of #1499.
size: S · gittensor:feature