Skip to content

Trim CLAUDE.md to repo-specific facts, point to ai/CLAUDE.md for methodology - #42

Merged
jnasbyupgrade merged 2 commits into
Postgres-Extensions:masterfrom
jnasbyupgrade:schema-flexibility-fix
Aug 9, 2026
Merged

Trim CLAUDE.md to repo-specific facts, point to ai/CLAUDE.md for methodology#42
jnasbyupgrade merged 2 commits into
Postgres-Extensions:masterfrom
jnasbyupgrade:schema-flexibility-fix

Conversation

@jnasbyupgrade

@jnasbyupgrade jnasbyupgrade commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

The general schema=-vs-relocatable= explanation, the two-part search_path-exclusion proof, and the SCHEMA-clause-vs-search_path-mutation guidance are now in Postgres-Extensions/ai's test/CLAUDE.md and RANDOM_SCHEMA_TESTING.md (ai#5) — not specific to this repo. Also drops the pointer to container-local docs (~/advanced-extension-testing.md, ~/test-fixes.md) that nothing outside that one session could resolve; their substance is what moved to ai/.

Adds test/CLAUDE.md here referencing both new ai/ docs, since extension_drop isn't pinned to a fixed schema.

Corrects a wrong claim along the way: extension_drop's install SQL doesn't use @extschema@ — it pins search_path via SET search_path FROM CURRENT on each permanent function instead, and its one CREATE SCHEMA is transient scaffolding, dropped within the same script.

…odology

The general schema=-vs-relocatable= explanation, the two-part
search_path-exclusion proof, and the SCHEMA-clause-vs-search_path-mutation
guidance are now in Postgres-Extensions/ai's CLAUDE.md (Schema-flexibility
testing section) -- not specific to this repo. Also drops the pointer to
container-local docs (~/advanced-extension-testing.md, ~/test-fixes.md)
that nothing outside that one session could resolve; their substance is
what moved to ai/CLAUDE.md.

Corrects a wrong claim along the way: extension_drop's install SQL
doesn't use @extschema@ -- it pins search_path via
`SET search_path FROM CURRENT` on each permanent function instead, and
its one CREATE SCHEMA is transient scaffolding, dropped within the same
script.
@coderabbitai

coderabbitai Bot commented Aug 9, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 07b3f930-3c3c-4501-ae69-bd1d5270c9fa

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Aug 9, 2026

Copy link
Copy Markdown

Claude finished @jnasbyupgrade's task in 2m 20s —— View job


Code Review: PR #42 — Trim CLAUDE.md to repo-specific facts

Tasks

Summary

This is a documentation-only change (CLAUDE.md, +11/−31) that moves the generic schema-flexibility-testing methodology out to Postgres-Extensions/ai's CLAUDE.md and leaves behind only what's specific to extension_drop. No code or test files are touched.

Verification of the factual correction

The PR description claims the old text was wrong about @extschema@ usage. I checked this against sql/extension_drop--1.0.0.sql (and the equivalent sql/extension_drop.sql):

  • No @extschema@ reference exists anywhere in sql/ or test/ (confirmed via grep).
  • Every permanent function is created through the create_function helper, whose template pins resolution with RETURNS %s SET search_path FROM CURRENT AS (sql/extension_drop--1.0.0.sql:44), not schema-qualification.
  • CREATE SCHEMA __extension_drop (sql/extension_drop--1.0.0.sql:8) is indeed transient scaffolding — its functions and the schema itself are dropped at the end of the same script (sql/extension_drop--1.0.0.sql:302-317), before the script finishes.

The new wording in CLAUDE.md accurately reflects the actual install SQL. Good catch fixing the previous inaccurate claim.

Other observations

  • Removing the pointer to ~/advanced-extension-testing.md / ~/test-fixes.md is correct — those were container-local paths nothing outside that one session could resolve, so they had no business being committed here.
  • The remaining TEST_SCHEMA switch guidance and the pg_count_nulls PR CI: fix claude-code-review by removing the fork-checkout step entirely #28 reference are left untouched and still make sense standalone.
  • One thing I could not independently verify from this sandbox (no outbound network/gh api access here): that Postgres-Extensions/ai's CLAUDE.md actually has a "Schema-flexibility testing" section per ai#5 covering the schema=-vs-relocatable= distinction and the two-leg search_path-exclusion proof that was deleted from here. Since this repo's CLAUDE.md already points to ../ai/CLAUDE.md for other cross-repo conventions, the pattern is consistent — just flagging that I couldn't check the target section's existence/content directly.
  • No functional/code risk: this PR only touches documentation, so there's nothing to test/build here.

Overall this looks like a clean, well-scoped documentation trim with a verified factual fix. No blocking issues found.

extension_drop isn't pinned to a fixed schema, so the random-schema
testing conventions apply here -- this repo already has a working
TEST_SCHEMA implementation (see the top-level CLAUDE.md's Schema
independence section).
@jnasbyupgrade
jnasbyupgrade merged commit 28d0450 into Postgres-Extensions:master Aug 9, 2026
11 of 12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant