docs: epythet WP6 documentation sweep (artifact repair + coverage, correctness, completeness) - #100
Merged
Merged
Conversation
… pass) epythet validate level 0.5 errors: 106 -> 0. Blank lines before doctests, lists and field lists; one-line Returns to sections; Markdown fences to code blocks; unbalanced *args/**kwargs markup wrapped in literals; broken Google section headers; dead commented-out doctests moved out of docstrings; two mislabelled :param lists in dol.sources; docsrc/ ignored.
Module docstrings with entry points and a run doctest on every non-underscore module; docstrings for the ten undocumented public names (ExplicitKeyMap, MappingViewMixin, StrTupleDict, confirm_overwrite, disable_delitem, disable_setitem, mk_read_only, flush_on_exit, tar_compress, tar_decompress); two lazy summaries rewritten; the remaining Sphinx build warnings fixed (build: 45 findings -> 0); README fences use a known lexer and carry the 'For AI agents' section written by epythet ai-readme-check.
…ntry-point modules 61 undocumented public names in base, trans, filesys, kv_codecs, caching and paths get a verified one-line docstring (Tier 1 of the epythet rubric); the empty docstring of mk_pickle_bytes_wrap is filled.
cache_func_outputs, disallow_overwrites (a no-op today), cached_keys Returns and cache_update_method default, codec_wrap signature, kv_codecs and trans module entry points, stream_util, delegate_to, separate_keys_with_separator, items_with_caught_exceptions callback fallback.
This was referenced Sep 15, 2026
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.
WP6 fleet documentation sweep for dol (one repository, end to end), per i2mint/epythet#16. Docs only: an AST comparison with docstrings stripped shows no code change in the 25 Python files touched.
Before / after
pytest -q(unit + doctests)epythet validatelevel 0.5 (parse) errorsdolnamespace, 137 names) documentedLevel 0.5 per rule, before -> after: DR001 24->0, DR002 15->0, DR003 9->0, DR006 8->0, DR008 18->0, DR010 30->0, DR014 20->0, DR016 26->2, DR017 3->0, DR020 1->0, DR028 1->0, DR029 28->0, DR032 2->0, DR011 92->91 (info), DR030 7->6 (info), DR031 12->5 (info). Build: DR015 29->0, DR034 14->0, DR023 2->0.
What changed
Returns:one-liners to sections; Markdown fences to code blocks;*args/**kwargsand trailing-underscore names in literals; broken Google headers;param x:lists indol.sourcesthat were missing their leading colon; commented-out doctests moved out of docstrings into code comments;docsrc/gitignored (it was never committed).dol; two lazy summaries rewritten; the remaining Sphinx build warnings fixed; README fencespydocstring->python; README "For AI agents" section written byepythet ai-readme-check . --write(check passes).Every added example was executed first and its real output pasted. Theme:
autoresolves to furo, right for a pure API library, so nothing was written to[tool.epythet].Deliberately left (claims declined for lack of verification)
add_prefix_filtering(relativize_prefix=True): a quick run returned the whole dict fors['a/']; behaviour unclear, so only the default case is documented.disallow_overwrites: thedisable_deleteseffect is referenced, not described.flush_on_exitanddig.layers: no doctest (quick runs did not give an output I could vouch for).Sig.ch_param_attrs,call_forgivingly,ch_func_to_all_pkandnaming.BigDocTeststay as code comments.__init__) untouched: not entry points, no filler. DR011 (single backticks, info) untouched: a no-op on epythet sites.Review
An independent adversarial review (separate agent, 87 claims checked against code and tests) found 11 false or misleading claims; all corrected in the last commit. Two of them are worth a maintainer's eye as code, not docs:
dol.trans.disallow_overwritesnever attaches its__setitem__override and returnsNone, anddol.caching.cache_func_outputsfails with its defaultcacheand never caches keyword-argument calls. Both docstrings now say so.Observations for epythet (not changed here)
repair_packageturns# commentlines inside docstrings into.. rubric::headings (worst on commented-out doctests), nests a:return:field that follows aNote:paragraph into the Note, and rewritesTerm:+ indented prose asTerm::literal blocks. All were fixed by hand here.Main entry points:template (indentedname: clauselines) trips DR014; a bullet list does not.epythet validate -i tests/still reporteddol.tests.*objects at level 0.5.Merging publishes a dol release (wads CI) and republishes the site on epythet v2.