v0.66.0

feder-cr/invisible_dotsv0.66.0Sep 14, 2026by github-actions[bot]

Upgrading?

AI Summary

This release proposal focuses on cleaning up code duplication by removing a redundant comment regarding bytes writing rules and implementing a detector for repeated prose across modules. Although the changes were made and tests passed, the author concluded that no behavior changes occurred, so the version was not actually released.

Key Highlights

  • Fixed a duplicated comment rule regarding bytes writing between `store.save` and `storage.write_atomically`.
  • Implemented a detector to scan for repeated prose across modules to prevent future drift.
  • Verified that four known-bad inputs were handled correctly without altering runtime behavior.
  • Proposed a version gate requiring a 'free' change for every change to shipped code.

New Features

  • Removal of duplicate docstring explaining the bytes-writing rule.
  • Implementation of a module scan for repeated prose.
  • Proposed modification to the version gate logic.

Full Release Notes

* The rule about writing bytes is written where it is applied

store.save carried the bytes-not-text paragraph in full and does not apply it:
it calls storage.write_atomically, which is where the rule lives and where it
is documented. So the copy sat in a function that delegates - a reader fixing
it there would have changed nothing, and the two were free to drift into two
accounts of one decision.

Two things make it worth a gate rather than a quiet edit. store.load, five
lines below, already did it right: it names storage.read_json and says the
reason is not repeated here. And storage.py opens by arguing that the atomic
write was once copied into both files "with only one of the two carrying the
comment explaining why", and that two copies is the arrangement where a fix
reaches one of them. The module that removed the duplicated code kept a
duplicate of its own headline rule in prose.

Found by a scan for prose repeated across modules - eight-word runs of comment
or docstring text appearing in more than one file - which is the detector worth
keeping. It found eight groups; this is the only one that was a rule rather
than a shared premise or the pointer pattern used correctly twice.

A narrower scan then asked which docstrings state a rule about a call the
function does not make. It named five, and four are correct as written: naming
a thing by CONTRAST is how a rule explains itself ("never write_text", "no
longer the constant main"). The gate here is limited to the two write helpers
for that reason, and the docstring says so, because a wider version accused
four healthy paragraphs out of five.

Four known-bad inputs, four killed. Suite 642 green. No behaviour changes, so
no release.

* Propose 0.66.0: the version gate asks every change to shipped code for a free one

Related Repositories