refactor(cli): cover gen types runtime with effect lint (CLI-2410) - #6768
Conversation
There was a problem hiding this comment.
🤖 AI Review
Both findings are confirmed. The exit-code table omits the positional --lang rejection and does not name the new error tags for several listed conditions. Unrelated Docker inspection failures receive telemetry suggesting supabase start. No additional issues surfaced.
Findings
| Severity | Location | Category | Sources | Claim |
|---|---|---|---|---|
| 🟡 MINOR | apps/cli/src/commands/gen/types/types.handler.ts:508 |
telemetry-classification |
codex | An inspection failure unrelated to container state is classified in telemetry as a local stack that needs supabase start. |
| ⚪ NIT | apps/cli/src/commands/gen/types/SIDE_EFFECTS.md:87 |
documentation |
claude | The exit-code table leaves the new flag-usage and local-database error tags unnamed, and has no row for the positional --lang rejection. |
Findings outside the diff
- ⚪ NIT
apps/cli/src/commands/gen/types/SIDE_EFFECTS.md:87— The exit-code table leaves the new flag-usage and local-database error tags unnamed, and has no row for the positional --lang rejection.
Stats
Claude findings: 1 · Codex findings: 1 · Confirmed: 2 · Refuted: 0 · Uncertain: 0
Models: claude-opus-5-5 + gpt-6-sol · Trigger: auto · Workflow run
This review runs once per PR. A maintainer can request another with a /ai-review comment.
Coly010
left a comment
There was a problem hiding this comment.
This is a nice step up - -o json reporting real tags instead of UnknownError is a genuine improvement, and I checked every converted message against base and they're byte-identical ("must used" typo included). The 743b698 fix looks right to me as well: "no such container" still gets the supabase start message, everything else lands on the inspect error without it
Approving, with two asks. Both are about the new error.code values, since they become something scripts can branch on once this ships:
- inline, on the preview branch credentials tag
SIDE_EFFECTS.md- can't comment inline as it's not in the diff, but the exit code table (L84-96) still doesn't have rows for the positional--langrejection or missing preview branch credentials, and none of the new tags (GenTypesFlagUsageError,GenTypesLocalDbNotRunningError,GenTypesLocalDbInspectError) are named. The "not running or db inspection failed" row also now covers two tags that behave differently. I think that table is the only place theUnknownError→ tag change would get recorded, so it'd be good to land it with this PR
f1fc8c3 to
0b9b6e6
Compare
TL;DR
brings the
supabase gen typesruntime under the effect lintwhats introduced?
effect lint applied to the
gen typesruntime, the tests follow separately:.oxlintrc.effect.json, runtime files only, so the not yet migrated test files stay out until the next branchEffect.fail, every message left byte for byte the same--output-format jsonreport their tag aserror.codeinstead ofUnknownErrorSchemaref: