Repository navigation
Conversation
Contributor
There was a problem hiding this comment.
🤖 AI Review
Verified both independent reviews against the PR code and trusted conventions. Confirmed one non-blocking failure-policy nit and refuted the claimed db-pull test-isolation regression. No confirmed user-facing correctness issue. Verification was static because dependencies are not installed.
Findings
| Severity | Location | Category | Sources | Claim |
|---|---|---|---|---|
| ⚪ NIT | apps/cli/src/command-internal/viper-env.ts:18 |
error-handling |
claude | The new Config-based environment readers convert provider failures into untyped defects without documenting that failure policy. |
Refuted findings (kept for transparency, not posted as review comments)
apps/cli/src/commands/db/pull/pull.integration.test.ts:1679(test-isolation): Replacing the shell-variable unset with only withEmptyConfigEnv leaves the project .env network tests dependent on the ambient SUPABASE_NETWORK_ID.
Refuted: The asserted seed dump uses the projectEnv map loaded by runDbPull at db-pull-run.ts:171 and passed to network resolution at lines 500-503 and the dump at line 539. loadProjectEnv checks ambient values through configEnvOption, not process.env, at db-config.toml-read.ts:837-841; withEmptyConfigEnv therefore isolates this map and the subsequent Viper read. Although local-container setup separately loads a context using process.env, that context does not supply this seed dump's projectEnvValues. Squash uses localInputs.context.projectEnvValues for its dumps, explaining its paired guards.
Stats
Claude findings: 1 · Codex findings: 1 · Confirmed: 1 · Refuted: 1 · Uncertain: 0
Models: claude-opus-5-5 + gpt-6.1-sol · Trigger: auto · Workflow run
This review runs once per PR. A maintainer can request another with a /ai-review comment.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
TL;DR
brings
viper-envand the experimental gate tests under the effect lintwhats introduced?
viper-envandexperimental-gatejoin the allow listSUPABASE_*readers read throughConfigand become effects, so every caller keeps itsflag || envshort-circuit and the same true, false, empty and unset handlingdumpNetworkModeinpg-dump.runbecomes an effect for the same reasonprocess.envwould pass without testing anything onceConfigsnapshots the env, so they pin them throughwithConfigEnv, and the unset guards also hide them fromConfigthrough a newwithEmptyConfigEnvhelpershadowCacheDisabledLayermerged into each file's setupref