Block a user
recommender: RandomPolicy v0 — pick one Todoist task uniformly
ml/serving: FastAPI scorer + RemotePolicy in recommender
Feature store skeleton with five v1 features
Deploy Phase 0 to a single VM via docker-compose + Caddy
gateway: BFF with auth check and service fan-out
ContextualBanditPolicy (LinUCB) replacing Random
Superseded by #51 (global-then-personalize LinUCB) which addresses the per-user-reward-starvation problem, and #50 which adds shadow-deploy infra so we do not replace Random in one step. Closing.
ContextualBanditPolicy (LinUCB) replacing Random
k3s intermediate stop on the path to full k8s
ML observability baseline (alongside first model)
Web Push (VAPID) — deliver the moment, not the app
In-app feedback: one-tap 'was this tip helpful?'