Repository navigation
Conversation
Contributor
There was a problem hiding this comment.
🤖 AI Review
Both independent reviews were available. Verified Claude’s two findings: confirmed a minor gap in marker-specific command integration coverage and refuted the constant-extraction nit using trusted testing conventions. The implementation consistently recognizes both disable sentinels; no runtime defect was identified. Tests were not run.
Findings
| Severity | Location | Category | Sources | Claim |
|---|---|---|---|---|
| 🟡 MINOR | apps/cli/src/commands/config/push/push.integration.test.ts:563 |
test-coverage |
claude | Marker-specific integration tests cover diff cleanliness and an already-disabled push, but do not cover config pull or pushing api.enabled = true to re-enable a marker-disabled remote. |
Refuted findings (kept for transparency, not posted as review comments)
packages/config/src/project-config/registry.ts:38(maintainability): The platform marker literal is repeated in the predicate and tests; an exported constant would centralize it and let tests import it.
Refuted: There is only one production comparison; the other executable occurrences are independent test fixtures. trusted/CLAUDE.md:139 explicitly permits duplication rather than unnecessary test abstractions. The unit fixture at project-config.unit.test.ts:730-736 independently checks recognition of the exact platform string. Exporting the production constant solely for those fixtures is unnecessary under the documented convention.
Stats
Claude findings: 2 · Codex findings: 0 · 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.
avallete
approved these changes
Oct 5, 2026
avallete
deleted the
7ttp/cli-2591-config-diff-reports-apienabled-true-after-config-push
branch
October 5, 2026 09:30
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
fixes disabled data api detection in the shared mapping used by
config diff,config pushandconfig pullwhat's hurting the users?
the v2 project config returns
pg_pgrst_no_exposed_schemaswhen the data api is disabled, but the mapping treated any nonempty value as enabledconfig pushstarted hitting this in stable v2.117.0 when it switched from the v1/postgrestread to the shared v2 mappingfixed now by:
remoteDataApiDisabledrecognizes both""and the exact marker.api.enablednow uses that same check asschemas,extra_search_pathandmax_rowsbefore/after:
with local
api.enabled = false, the remote marker, and no unrelated drift:config diff --exit-codeconfig push --yes{"db_schema":""}againconfig pull --yesexplicit
api.enabled = truenow re-enables the api with default schemascustom schemas still work. schema-only changes with enablement undeclared require an explicit enable request...
rep:
flowchart TD off["data api disabled"] off --> v1["v1: empty db_schema"] off --> v2["v2: platform marker"] v1 --> legacy["v2.116.0 push"] legacy --> disabled["reads disabled"] v2 --> shared["push from stable v2.117.0"] shared --> before["before: nonempty means enabled"] before --> wrong["reads enabled"] shared --> after["now: empty or exact marker means disabled"] after --> disabledref: