## 2026.10.19 ### Highlights - Every theme is readable to WCAG AA, and CI checks the contrast. (#169) - Sign-in inputs and the Google button have a clear edge. (#159) - A republish no longer fails while the live copy holds the storage lock. (#170) - The invoice amount report reads emailed invoices in one query, not one for each job. (#172) - Sentry events carry product and client tags, and a cancelled fetch is not reported. (#171) ### Changes - Sentry events carry product and client tags, and a cancelled fetch is not reported. (#171) ### Fixes - Sign-in inputs and Google button show a clear edge. (#159) - Make every theme readable (WCAG AA), with a contrast audit in CI. (#169) - A republish no longer fails while the live copy holds the storage lock. (#170) - The invoice amount report reads emailed invoices in one query, not one per job. (#172) ### Complete contribution record This audited record covers the complete aa1b50de13cc23bbd97464f7545841f484e9b07a..bd20a781e4449d941f3f6b0da5ab7a433ea0bb13 history: 7 in-range PRs + 0 retained seed-only PRs = 7 unique PRs. The generation manifest also supplies direct commits as editorial input; the grouped notes above prioritize user impact. #### Pull requests - **PR #158** - **PR #159** - **PR #169** - **PR #170** - **PR #172** - **PR #171** - **PR #173**