• v0.55.4 885f5eeea3

    v0.55.4 Stable

    joeyr released this 2026-09-20 23:22:05 -05:00 | 53 commits to main since this release

    A sweep for anything the repo no longer needs, and it found almost nothing. One dead
    constant removed, one stale paragraph corrected. The result worth recording is the absence:
    every module is imported, every declared dependency is imported, every variable in
    .env.example resolves in config.py, and no test file is orphaned.

    Removed

    • _REPORTED in mail/authresults.py — a four-name tuple left behind when the verdict
      block stopped looping over a list of methods and started naming them one at a time in
      to_dict. Nothing had read it since.

    A comment attached to a dead constant is documentation nobody will find. The rule that
    tuple's comment stated is live and tested — bimi is parsed because iCloud sends it and
    kept out of the verdict block because a brand-logo indicator beside DMARC reads as an
    authentication result — but its anchor had rotted, so the note now sits on to_dict,
    where the choice is actually made and where
    test_bimi_is_parsed_but_kept_out_of_the_verdict_block already holds it. Move the note to
    the code that implements it rather than deleting it with the thing it was attached to.

    Changed

    • deploy/README.md named two nginx confs and there are five. It still described
      icloudcalendar.conf and icloudmail.conf as "the two files ... near-copies", which was
      true until subscriptions, gmail and canvas each added one. It now says five files,
      four deployed, subscriptions.conf parked without a service, and espnff deployed with
      no conf at all on purpose. The file already carries a note about a paragraph that
      survived the change it described; this was a second one.
    • CLAUDE.md Status — 0.55.2, two releases out of date. Now 0.55.4. Still 1643
      tests.

    Notes

    • Pruning probes/ was proposed on a filename search and withdrawn on the evidence.
      Grepping the docs for each script's filename said 34 of the 62 were uncited and therefore
      superseded. They are not: the records cite probes by number far more often than by
      filename — Probe 7 appears in CLAUDE.md twice and in authresults.py's own module
      docstring, and its script, probe7_junk_and_auth.py, is one of the 34. Every number from
      1 to 14 is cited somewhere. A citation search is only as good as the naming convention
      it assumes
      , and this corpus has two. Nothing in probes/ was deleted but its
      __pycache__.
    • What was removable was all outside the tree the image builds from: .mypy_cache
      (75 MB), .ruff_cache, .pytest_cache, mcp_gateway.egg-info and the __pycache__
      directories. All regenerate; none has ever been committed.
    • The subscriptions tenant was left alone. Code-complete and undeployed since 0.21.0
      reads like something to delete and is not — it is waiting on a Forgejo OAuth app, a
      stack service and a proxy host, none of which are in this repo. Parked is not dead, and
      this note exists so the next sweep does not re-propose it.
    Downloads