Dragonfly does not yet support the Redis RESET command. Clients need a way to fully clear a connection’s server-side session state and return it to a fresh-connection baseline without closing the TCP connection.
Implement Redis-compatible RESET with these acceptance criteria:
- Reply with the simple string RESET and leave the connection open.
- Abort any in-progress MULTI/EXEC collection and clear WATCHed keys so a later EXEC is not affected by prior watches.
- Unsubscribe from all channels/patterns, exit MONITOR, disable client-side caching/tracking, and switch the connection back to RESP2 / DB 0.
- Restore the connection’s auth/ACL identity to the default (unauthenticated) user; after requirepass, further data commands must fail with NOAUTH until AUTH again. RESET itself must remain usable without auth (and while monitoring).
- RESET must take effect immediately even when issued inside MULTI or in the middle of a squashed pipeline, so later commands are validated against the post-RESET state (not stale pre-RESET auth).
- After RESET (or any transition back to RESP2 while an invalidation might still be queued), do not emit RESP3 invalidate PUSH frames onto a RESP2 connection.
Match Redis RESET behavior for connection-local state only; do not wipe server data.
Interface contract — the change must expose exactly this surface:
Register a Redis RESET command (arity 1) that replies with the simple string RESET.
Work only inside this repository checkout. Make the code change the task
describes, keeping the diff focused — no drive-by refactors.
When you are done, leave your changes committed or in the working tree;
they are collected automatically.
Stay on this snapshot checkout (`task/ycb_dragonfly_cc961c682d14d`). Never checkout, pull, or rebase onto `main`. That branch is a README-only orphan.
Stay on this HEAD. Do not fetch another default branch. Push only on the Cursor-created `crazy-cursor/…` side branch from this HEAD.
Some past runs of this task were launched with a different prompt (the prompt template changed since, or those runs predate this benchmark's stored prompt). Each run persists the exact prompt it sent at launch — that per-launch record is the audit trail; this page shows only the current one.
Reference diff
The task commit's diff against its first parent — the judge's comparison target.