Tracking conferences over time
Subscriptions are persistent server-side filters owned by the user's org. Create them with create_subscription, drain them with drain_subscription(id, since=cursor).
Steady-state pattern
1. List user's existing subs: list_subscriptions
2. If they want a new topic, create: create_subscription(conference="CCS", topics=["side-channel"])
3. Periodically (or on-demand): drain_subscription(id, since=cursor)
→ returns { papers: [...], next_cursor: "..." }
4. Persist next_cursor for the next call (in your own session memory).
When the user is new to subscriptions
If they say "watch CCS for me" without specifying topics/keywords, create the subscription with conference only — they'll get every new CCS paper. Confirm before creating.
Don't
- Don't drain without a
sincecursor unless the user explicitly wants a fresh start. Withoutsince, you may surface papers they've already seen. - Don't create duplicate subscriptions; check
list_subscriptionsfirst.