Archive requests currently fetch and decode complete journal rows for up to four anniversaries even though the response uses only the date, evening prose, and word counts. Large scripture notes therefore consume database transfer and process memory on every archive load without affecting what the writer sees.
Change the anniversary repository query to use a dedicated projected-row schema and select only the columns required by the response. Verify the projection contract so unused body and metadata columns cannot return unnoticed.
Deferred from PR #22 because row count is bounded and the behavior is correct; the blocking archive integrity and accessibility fixes should land first.
Archive requests currently fetch and decode complete journal rows for up to four anniversaries even though the response uses only the date, evening prose, and word counts. Large scripture notes therefore consume database transfer and process memory on every archive load without affecting what the writer sees.
Change the anniversary repository query to use a dedicated projected-row schema and select only the columns required by the response. Verify the projection contract so unused body and metadata columns cannot return unnoticed.
Deferred from PR #22 because row count is bounded and the behavior is correct; the blocking archive integrity and accessibility fixes should land first.