refactor(cli): cover login, logout, feedback and test with effect lint (CLI-2430) - #6605
Conversation
account families with effect lint (CLI-2430)login, logout, feedback and test with effect lint (CLI-2430)
There was a problem hiding this comment.
🤖 AI Review
Only Claude's independent review was available; the Codex review did not complete. All four reported findings were verified and confirmed, with two minor quality concerns and two nits. No user-facing correctness defect was identified.
Findings
| Severity | Location | Category | Sources | Claim |
|---|---|---|---|---|
| 🟡 MINOR | apps/cli/src/commands/login/login.handler.ts:51 |
maintainability |
claude | The environment alias deliberately bypasses process-env-in-effect, so adding the login family to Effect lint does not enforce that rule for this read. |
| 🟡 MINOR | apps/cli/src/commands/login/login.integration.test.ts:324 |
test-isolation |
claude | SUPABASE_HOME isolation is limited to the profile-persistence tests, leaving earlier successful tests able to persist an ambient SUPABASE_PROFILE outside their per-test temporary root. |
| ⚪ NIT | apps/cli/src/commands/logout/logout.e2e.test.ts:69 |
test-quality |
claude | The logout E2E tests isolate ambient SUPABASE_ACCESS_TOKEN inconsistently, and the line-69 comment incorrectly says its absence is needed to produce the not-logged-in result. |
| ⚪ NIT | apps/cli/src/commands/feedback/feedback.layers.unit.test.ts:55 |
test-coverage |
claude | No test now exercises feedbackFetch with an undefined init argument because the default-GET test passes { signal }. |
Findings outside the diff
- 🟡 MINOR
apps/cli/src/commands/login/login.integration.test.ts:324— SUPABASE_HOME isolation is limited to the profile-persistence tests, leaving earlier successful tests able to persist an ambient SUPABASE_PROFILE outside their per-test temporary root.
Stats
Claude findings: 4 · Codex findings: 0 · Confirmed: 4 · Refuted: 0 · Uncertain: 0
Models: claude-opus-5 + gpt-5.6-sol · Trigger: auto · Workflow run
This review runs once per PR. A maintainer can request another with a /ai-review comment.
jgoux
left a comment
There was a problem hiding this comment.
Please address the Effect lint bypass in login and make the new temp-home cleanup failure policy explicit. The two inline findings concern Effect migration discipline; no production behavior regression was demonstrated.
TL;DR
brings the account and a few smol command families under the effect lint, coverage goes from 381 to 424 files.
whats introduced?
effect lint applied to
login,logout,feedbackandtest:.oxlintrc.effect.jsonlogin: theSUPABASE_PROFILEread stays a liveprocess.envread behind a short alias, now pinned by a test; everything else isEffect.failunwraps to yieldable errors, behavior identicalCause.pretty, env tests onto the sharedwithEnvVarhelper, and the profile persistence tests unsetSUPABASE_HOMEso an ambient value cannot write outside the temp rootfeedback deletegates pin their exact remediation textEffect.ensuring, andtest newmoves onto theFileSystem/Pathservicesref: