Docs: README refresh + WHY comments from audit cleanup
Created by: jedmund
Summary
Three small doc-only items surfaced by the earlier audit pass. No behavior change.
-
README — the status checklist was stuck at "sign-in works, everything else is TBD." Updated to reflect what's actually shipped (feeds, detail, bookmarks with tag index, search, muting, iPad ergonomics), added the explicit "personal use only / not App Store" scope, and called out the project-level quirk that Nuke is linked directly via
project.pbxprojrather than SPM so a contributor doesn't chase phantom package setup. -
TTLDataCache@unchecked Sendable— the conformance is sound (timestampsis serialized byNSLock, every read and write takes the lock), but it's easy to mis-read. Added a comment above the declaration so a future reader doesn't unsafe-remove it. -
IllustFeedViewModel.prefetchDistance— existing docstring was WHAT ("higher = more aggressive"). Added the WHY for the default of 6: ~600pt lookahead at typical cell heights, tuned so normal scroll momentum lands a page without paginating eagerly when the user is idling near the bottom.
Audit items that I'd originally flagged for this bundle but turned out to be non-issues / out-of-scope:
-
AuthSession.cancelLogin()race — the existing code (line 131) already switches onstateand does nothing when it's.authenticating, so the in-flight exchange can't be overwritten. Audit report was mistaken. -
.context/notes.md/.context/todos.md—.context/is globally gitignored scratch space, so no PR action needed.
Test plan
-
xcodebuildsucceeds for iPad Pro 13-inch (M5) iOS Simulator -
README.mdrenders correctly on GitHub -
Skimming the status list, nothing feels wrong or missing