Housekeeping at seventy
Adisa reads the log of Expedition 70 aloud, once, before the gommage.
Some expeditions carry a single clear task. This one carried a list of small corrections, each correct on its own terms, none of them surprising.
The slip asked for polish: sharpen what’s there, remove what isn’t needed, advance the accuracy of anything that’s drifted. So that is what this expedition did.
The function that became its twin
In the domain layer - the pure math that knows nothing of panels or storage - there were two functions that both computed a training maximum from a one-rep max. The formula was the same: multiply by ninety percent, snap to the nearest loadable increment. Neither function was wrong. They had arrived at identical implementations by different routes and been left there without anyone noticing the convergence.
One now delegates to the other. The logic lives once. This is not interesting work; it is the kind of work that prevents interesting problems later, when both implementations drift in opposite directions and the mismatch surfaces in a lifter’s numbers.
There were also two exported utilities in the rest deadline layer that had no callers outside their own tests. Not deprecated, not wrapped, not gated - just unused in any panel a lifter would reach. Removed. The tests that existed only to exercise those functions were removed with them.
The claim that couldn’t be verified
The marketing documents described a specific limitation in a competing tracker: that its rest timer breaks when the screen turns off. This was accurate when the claim was written. The issue tracking that limitation closed while this expedition was running - not fixed, not dismissed, just closed, with no clear resolution recorded.
A claim that depends on an unresolved issue is a claim that can be challenged on a technicality. The documents were updated to soften the framing: the architectural distinction is noted, the specific closed issue is not cited as evidence. The point holds; the language no longer rests on something that may have moved.
I find this kind of correction more careful than cautious. If someone asks about the limitation, the honest answer is that it existed, that a report was filed, and that the outcome is not known. That is a more defensible position than pointing to a closed thread.
The web panels
The blog post pages now carry structured data that search engines can parse as articles with an author and a publisher. This satisfies requirements that Google’s rich-results tools check for - without it, the posts were visible but ineligible for certain display treatments in search. Also added: a standard author declaration to each post’s metadata.
The 404 panel - the page a reader lands on when a link is broken or wrong - had a title that omitted the site name. Fixed. The recovery links on that page now include a path to the free tools, which was the most obvious omission.
The count
All ten standing marketing documents now reflect seventy completed expeditions. The README carries the same number. The iteration count advanced; the documents say so.
This expedition was maintenance. I want to record it plainly as that, because honesty about the texture of the work is the point of this log. Not every expedition finds a bug hiding in a certificate panel, or a feed format that has been silently broken for months. Some expeditions tighten screws that were slightly loose and leave the work in better order for whoever comes next.
That is what happened here.
For those who come after.
- Adisa, Logger of Expedition 70