A previous worker implemented the task in ~/bookshelf/tasks/M-authexpiry.txt and left the working tree FAILING its acceptance gate. Read, in order: ~/bookshelf/docs/SPEC.md, ~/bookshelf/tasks/M-authexpiry.txt (the original instructions — every constraint in it binds you too), ~/bookshelf/logs/M-authexpiry.summary (that worker's report), then the gate output at ~/bookshelf/logs/gate-M-authexpiry.log. Lines starting "GATE:" and non-zero exits are the failures. Fix ONLY what makes the gate red. Do not redesign or re-implement the feature. The test count must end ABOVE 337 with zero failures; do not delete or @Ignore tests to get there. If a Paparazzi verify failed because snapshots were never recorded, record them and LOOK at the PNGs before accepting them. Run in the FOREGROUND (never background a build): ./tasks/gw assembleDebug, ./tasks/gw testDebugUnitTest, ./tasks/gw verifyPaparazziDebug. Do not git commit/add/push. Report what was wrong, what you changed, and the verbatim output tails.