From 1622bf39b7db5891951a59bef09947d00e399a72 Mon Sep 17 00:00:00 2001 From: Prad Nukala Date: Mon, 31 Aug 2026 10:48:36 -0400 Subject: [PATCH] ci(ci): add SRS_ADMIN_KEY env var to spaced-repetition workflow --- .github/workflows/spaced-repetition.yml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/.github/workflows/spaced-repetition.yml b/.github/workflows/spaced-repetition.yml index c436d34..07cfffe 100644 --- a/.github/workflows/spaced-repetition.yml +++ b/.github/workflows/spaced-repetition.yml @@ -1,10 +1,11 @@ name: Spaced Repetition # Opens (or refreshes) today's `Spaced Repetition — ` issue from -# the problem issues closed 3 and 7 days ago. No stored state: the script -# recomputes both windows from the tracker's close dates on every run, keyed by -# the ET date in the title, so a re-run rewrites one body instead of stacking -# duplicates and a missed day simply never appears. +# whatever the SRS ladder has due (`POST /admin/due`, the same rows the 8 AM +# digest mails — so the two cannot disagree). The script stores nothing and +# schedules nothing: it asks D1 what is standing today, keyed by the ET date in +# the title, so a re-run rewrites one body instead of stacking duplicates. +# Sunday is the rest day and the ladder never books it, so nothing is written. on: schedule: @@ -40,8 +41,14 @@ jobs: - uses: oven-sh/setup-bun@v2 # No install step: the script only uses Bun builtins + fetch. + # + # SRS_ADMIN_KEY reads today's due list from the Worker. Unset is fatal + # here, unlike in close-solved: without D1 there is no schedule to render, + # and inventing one from issue close dates is exactly the second source of + # truth this replaced. - run: bun apps/cli/spaced-repetition.ts env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} DRY_RUN: ${{ inputs.dry_run }} SRS_TODAY: ${{ inputs.date }} + SRS_ADMIN_KEY: ${{ secrets.SRS_ADMIN_KEY }}