You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs/source/contributing/conventions.rst has 16 unresolved Sphinx cross-references. They render as plain literal text instead of links, and CI never notices because make html passes neither -W nor nitpicky — the build succeeds and the reference silently degrades.
Measured with an explicit nitpicky build (python -m sphinx -n -b html -j 4 docs/source/. <out>) plus a read of the rendered HTML, on af2324522:
role as written
lines
why it fails
:mod:pcapkit.corekit.sentinels``
165, 168, 171, 174, 261
no API page registers that module
:class:NoValueType``
197
unqualified, no target
:mod:aenum``
371, 388, 536
aenum is not in intersphinx_mapping
:class:~aenum.Enum, `:class:`~aenum.StrEnum
340, 536, 701
same
:meth:~pcapkit.const.http.method.Method.get``
444
no target
:class:~pcapkit.const.ftp.command.FEATCode``
575, 716 ×2
no target
These split into two kinds, and the fix differs:
The five pcapkit.corekit.sentinels references are a genuine gap.refactor(corekit): house all four sentinels in one shared module (#911) #922 created that module as the single home for all four sentinels, and no docs/source/ page documents it — so the page that defines the sentinel convention cannot link to where the sentinels live. Adding the API page fixes five of the 16 and is the highest-value part.
The six aenum ones may be working as intended — aenum is deliberately absent from intersphinx_mapping. If that exclusion is deliberate, these should stop using :mod:/:class: roles and use plain literals instead, so the page stops claiming a link it cannot make. Worth a decision rather than an assumption.
NoValueType, Method.get and FEATCode ×3 look like plain misses — either the target needs qualifying or the API page needs the entry.
Surfaced while verifying #932, which introduces none of them: the nitpicky warning sets for af2324522 and #932's head are byte-identical. Filed separately rather than widening that PR.
Worth considering alongside the fix: adding -n to the docs build so a future unresolved reference fails CI instead of degrading silently. That is a bigger change than this issue and may want its own decision, given there are 1275 warnings on main today.
docs/source/contributing/conventions.rsthas 16 unresolved Sphinx cross-references. They render as plain literal text instead of links, and CI never notices becausemake htmlpasses neither-Wnornitpicky— the build succeeds and the reference silently degrades.Measured with an explicit nitpicky build (
python -m sphinx -n -b html -j 4 docs/source/. <out>) plus a read of the rendered HTML, onaf2324522::mod:pcapkit.corekit.sentinels``:class:NoValueType``:mod:aenum``aenumis not inintersphinx_mapping:class:~aenum.Enum, `:class:`~aenum.StrEnum:meth:~pcapkit.const.http.method.Method.get``:class:~pcapkit.const.ftp.command.FEATCode``These split into two kinds, and the fix differs:
pcapkit.corekit.sentinelsreferences are a genuine gap. refactor(corekit): house all four sentinels in one shared module (#911) #922 created that module as the single home for all four sentinels, and nodocs/source/page documents it — so the page that defines the sentinel convention cannot link to where the sentinels live. Adding the API page fixes five of the 16 and is the highest-value part.aenumones may be working as intended —aenumis deliberately absent fromintersphinx_mapping. If that exclusion is deliberate, these should stop using:mod:/:class:roles and use plain literals instead, so the page stops claiming a link it cannot make. Worth a decision rather than an assumption.NoValueType,Method.getandFEATCode×3 look like plain misses — either the target needs qualifying or the API page needs the entry.Surfaced while verifying #932, which introduces none of them: the nitpicky warning sets for
af2324522and #932's head are byte-identical. Filed separately rather than widening that PR.Worth considering alongside the fix: adding
-nto the docs build so a future unresolved reference fails CI instead of degrading silently. That is a bigger change than this issue and may want its own decision, given there are 1275 warnings onmaintoday.