Daily Bluesky bot for AT Mot. Invites players and congratulates yesterday's solvers.
0

Configure Feed

Select the types of activity you want to include in your feed.

docs: correct SOLVER_SAMPLE_CAP subrequest-cost guidance

The README told readers to raise SOLVER_SAMPLE_CAP to ~200 on the paid
plan, directly contradicting the 50-subrequest budget it had just
described: at ~2 subrequests per sampled record, 200 records is ~400
subrequests. Replace the figure with the per-record cost so the cap is
sized against the actual budget, and mirror the note in config.ts.

+14 -2
+8 -1
README.md
··· 52 52 The free Workers plan is sufficient: each language runs in its own scheduled 53 53 invocation, so each gets the full 50-subrequest budget. Solver counting samples up 54 54 to `SOLVER_SAMPLE_CAP` (20) records per language; beyond that the count is hedged 55 - (e.g. "20+"). On the paid plan, raise `SOLVER_SAMPLE_CAP` in `src/config.ts` to ~200. 55 + (e.g. "20+"). 56 + 57 + Each sampled record costs ~2 subrequests (DID-document resolution + the record 58 + read), so the default cap of 20 already uses most of the per-invocation budget on 59 + the free plan — keep headroom for the count, session, idempotency check, and 60 + publish (~6 more). On the paid plan you can raise `SOLVER_SAMPLE_CAP` in 61 + `src/config.ts`, but size it against the subrequest cost (~2 per record), not just 62 + the desired sample size.
+6 -1
src/config.ts
··· 38 38 export const APPVIEW_URL = 'https://public.api.bsky.app'; 39 39 export const USER_AGENT = `atmot-bot/1.0 (+${ORIGIN}; daily word game bot)`; 40 40 41 - /** Free Workers plan: keep ~2 subrequests/record under the 50/invocation cap. */ 41 + /** 42 + * Solver sample size. Each record costs ~2 subrequests (DID-doc resolution + 43 + * record read), so 20 records ≈ 40, leaving ~10 of the free plan's 50/invocation 44 + * for the count, session, idempotency check, and publish. Raise with care, and 45 + * size it against the ~2-subrequests-per-record cost — not just the sample size. 46 + */ 42 47 export const SOLVER_SAMPLE_CAP = 20; 43 48 44 49 /** The result record shape we read from each player's PDS (colours only; subset we use). */