Skip to content

README.asc: fix stale docs, document undocumented API surface - #74

Open
jnasbyupgrade wants to merge 4 commits into
Postgres-Extensions:masterfrom
jnasbyupgrade:readme-api-doc-fixes
Open

README.asc: fix stale docs, document undocumented API surface#74
jnasbyupgrade wants to merge 4 commits into
Postgres-Extensions:masterfrom
jnasbyupgrade:readme-api-doc-fixes

Conversation

@jnasbyupgrade

@jnasbyupgrade jnasbyupgrade commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Summary

Follow-up from the new API documentation review process added in Postgres-Extensions/pgxntool-test#42. That PR's dry run compared README.asc against the actual code and found several real gaps — this PR fixes them.

Corrections to existing docs (README described something code no longer does, or never did):

  • test's prerequisites no longer include clean (removed a while back — it broke incremental/watch-based builds); README still listed it. Also documents the conditional test-build dependency.
  • verify-results safeguard only documented the regression.diffs check; the actual default (PGXNTOOL_VERIFY_RESULTS_MODE=pgtap) scans test output for pgTAP failures first, falling back to regression.diffs. Documents the variable and both modes.
  • tag: dropped the claim that it creates an annotated tag (it's git tag NAME — lightweight), and documented the skip-if-already-at-HEAD idempotency, which wasn't mentioned anywhere.
  • run-pgtle: corrected the claimed make-level dependency on check-pgtle — that check actually happens inside pgtle.sh itself at runtime.
  • Document Rules: fixed an installcheck typo and corrected how html actually gets wired in (via all, not directly as a prerequisite of install/installcheck).
  • ASCIIDOC_template code sample: matched the real ifeq (,$(strip $(ASCIIDOC))) check in base.mk — the doc still showed an old ifndef ASCIIDOC version.

New documentation for previously-undocumented items:

  • dist/dist-only: the .gitattributes-must-be-committed safety check, and forcedist.
  • list and print-% — pgxntool's own dev-helper targets.
  • docclean.
  • PGXNTOOL_NO_PGXS_INCLUDE.
  • pgtle.sh's own CLI flags (--get-version, --get-dir, --run), not just the make targets that wrap them.
  • pgxntool-sync: documents that every sync silently prunes pgxntool/.github and pgxntool/.claude from the consumer project (prune_pgxntool_dev_dirs() in lib.sh, added in Add Claude Code GitHub Actions workflows #41) — this had never been mentioned anywhere.

Deliberately left undocumented (per review): EXTRA_CLEAN += pg_tle/ (not worth a doc entry), and the internal conditional helper targets (clean-test-build, the install-schedule file target) that aren't meant to be invoked by hand.

No code changes — doc-only, so no HISTORY.asc entry.

Flag for review: the .gitattributes-must-be-committed note under dist documents dist-only's existing safety check based on reading its implementation — please confirm the explanation is accurate.

Test plan

  • asciidoctor README.asc renders clean with no new warnings (one pre-existing unrelated xref warning, _Document_Handling, predates this change).
  • Every corrected claim re-verified directly against current base.mk/pgtle.sh/lib.sh source.

🤖 Generated with Claude Code

Follow-up from the pgxntool-test API documentation review process
(Postgres-Extensions/pgxntool-test#42), which found several places
where README.asc no longer matched the code, plus several targets and
variables with no documentation at all.

Corrections to existing docs:
- 'test' prerequisites: no longer depends on clean (removed a while
  back because it broke incremental/watch-based builds); mention the
  conditional test-build dependency.
- verify-results safeguard: only documented the regression.diffs
  check, not the actual default (pgtap mode, which scans test output
  for TAP failures first); document PGXNTOOL_VERIFY_RESULTS_MODE.
- tag: dropped the incorrect 'annotated' claim (it's a lightweight
  tag), and documented the skip-if-already-at-HEAD idempotency that
  isn't mentioned anywhere.
- run-pgtle: corrected the claimed check-pgtle make dependency, which
  doesn't exist -- the check happens inside pgtle.sh itself.
- Document Rules: fixed the installcheck typo and corrected how html
  actually gets wired into install/installcheck (via all, not
  directly).
- ASCIIDOC_template code sample: matched the actual ifeq/strip check
  in base.mk instead of the old ifndef version.

New documentation for previously-undocumented items:
- dist/dist-only: the .gitattributes-must-be-committed safety check,
  and forcedist.
- list and print-%, pgxntool's own dev-helper targets.
- docclean.
- PGXNTOOL_NO_PGXS_INCLUDE.
- pgtle.sh's own CLI flags (--get-version, --get-dir, --run), not just
  the make targets that wrap them.

Deliberately left undocumented per review: EXTRA_CLEAN += pg_tle/ (not
worth a doc entry), and the internal conditional helper targets
(clean-test-build, the install-schedule file target) that aren't meant
to be invoked by hand.
@coderabbitai

coderabbitai Bot commented Jul 27, 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: e4efa06e-2681-407b-8413-d3febe7dcb0f

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
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

jnasbyupgrade and others added 2 commits July 27, 2026 18:02
git subtree pull copies pgxntool's entire tree into the consumer
project, including dev-only directories that don't belong there.
prune_pgxntool_dev_dirs() (lib.sh) has silently removed these after
every sync since Postgres-Extensions#41, but the behavior was never documented anywhere
-- surfaced by the pgxntool-test API documentation review
(Postgres-Extensions/pgxntool-test#42).
… summary

Point to the existing testdeps/test-build sections and call out
PGXNTOOL_ENABLE_TEST_BUILD instead of listing exact prerequisite targets.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@jnasbyupgrade
jnasbyupgrade marked this pull request as ready for review July 27, 2026 23:35
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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