Skip to content

docs: lead with the third option, and correct a false claim about Base - #4

Merged
sotashimozono merged 1 commit into
mainfrom
release/0.1.1
Sep 1, 2026
Merged

docs: lead with the third option, and correct a false claim about Base#4
sotashimozono merged 1 commit into
mainfrom
release/0.1.1

Conversation

@sotashimozono

Copy link
Copy Markdown
Member

First release candidate. Two changes, both to what the package says.

The headline was the weakest claim available

The README opened on "every public name is documented or declared" — which is the half the
ecosystem already covers. Docs.undocumented_names has been public API in Base since 1.11, and
Aqua.test_undocumented_names ships it as a test. Opening there invites exactly one reaction.

It now opens on the part neither can express — the third option — and states plainly why the
declaration cannot live in Aqua: a mark is written in src/, and Aqua is a test-only dependency.
It can own the check; it cannot own the declaration.

A claim about Base that was simply wrong

A comment in src/audit.jl and another in test/test_audit.jl asserted that Docs.hasdoc is
not public Base API. It is — public, and exported from Base.Docs. Corrected, and replaced
with the actual reason the per-name form is used here:

names(Down)                    = [:Down, :own_undoc, :undoc_up, :up]
Docs.undocumented_names(Down)  = [:Down, :own_undoc, :undoc_up]   # a dependency's gap, as yours
audit(Down).unaccounted        = [:own_undoc]                     # only what Down owns
audit(Down).foreign            = [:undoc_up, :up]

Docs.undocumented_names reports a re-exported name's missing docstring as though it were this
module's to fix. audit has to keep foreign apart from a genuine gap, which the set form
cannot do.

Also

Drops the README's measured five-package table. Those counts age the moment any of those
packages gains a docstring, and nothing checks them.

Version

0.1.00.1.1. No API change; docs and comments only.


Merging this is the first registration: AutoRegister posts @JuliaRegistrator register once
the version moves on main.

Two things, both about what this package says rather than what it does.

The README opened on "every public name is documented or declared", which is
the half Julia and Aqua already cover: `Docs.undocumented_names` has been public
API in Base since 1.11, and `Aqua.test_undocumented_names` ships it as a test.
Opening there invites the only reaction it deserves. It now opens on the part
neither can express — the third answer — and says plainly why the declaration
cannot live in Aqua: a mark is written in `src/`, and Aqua is a test-only
dependency.

The second is a correction. A comment in `audit.jl` and another in the tests
claimed `Docs.hasdoc` is not public Base API. It is — `public`, and exported
from `Base.Docs`. The claim was wrong and is replaced with the real reason the
per-name form is used: `Docs.undocumented_names` reports a re-exported name's
missing docstring as though it were this module's to fix, and `audit` has to
keep `foreign` apart from a genuine gap. Verified:

    names(Down)                    = [:Down, :own_undoc, :undoc_up, :up]
    Docs.undocumented_names(Down)  = [:Down, :own_undoc, :undoc_up]
    audit(Down).unaccounted        = [:own_undoc]
    audit(Down).foreign            = [:undoc_up, :up]

Drops the README's measured table: five packages' counts age the moment any of
them gains a docstring, and nothing checks it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@sotashimozono sotashimozono added the documentation Improvements or additions to documentation label Sep 1, 2026
@JuliaRegistrator

Copy link
Copy Markdown

Comments on pull requests will not trigger Registrator, as it is disabled. Please try commenting on a commit or issue.

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

📚 Docs preview: https://codes.sota-shimozono.com/ExperimentalAPI.jl/previews/PR4/

(updates on each push to this PR)

@sotashimozono
sotashimozono merged commit d2c3cb5 into main Sep 1, 2026
14 checks passed
@sotashimozono
sotashimozono deleted the release/0.1.1 branch September 1, 2026 15:24
@codecov

codecov Bot commented Sep 1, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

sotashimozono added a commit that referenced this pull request Sep 3, 2026
The package is not registered — General has no `Versions.toml` for it and the repository has no
tags — so 0.1.1 was never released and nothing depends on it. The bump came from #4, a
documentation-only change made before any release existed.

Safe in a way a rollback usually is not: with nothing in the registry there is no version whose
content this inverts. AutoRegister and VersionCheck are both disabled here, so this triggers no
registration; the open General PR still says v0.1.1 and is untouched.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants