github feder-cr/AIHawk v0.66.0
0.66.0

latest releases: v0.68.0, v0.67.0
2 hours ago
  • 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

Don't miss a new AIHawk release

NewReleases is sending notifications on new releases.