[Feature] Add ReplayBuffer.update_if_present for generation-safe conditional updates - #4043
[Feature] Add ReplayBuffer.update_if_present for generation-safe conditional updates#4043theap06 wants to merge 4 commits into
Dr.CI classification results
{"FAILED":[],"FLAKY":[],"BROKEN_TRUNK":[],"UNSTABLE":[],"UNKNOWN":[],"AWAITING_APPROVAL":[{"workflowId":0,"workflowUniqueId":117108731,"id":30076872918,"runnerName":"","authorEmail":"apaninga@berkeley.edu","name":"Build Aarch64 Linux Wheels","jobName":"Build Aarch64 Linux Wheels","conclusion":"action_required","completed_at":"1970-01-01T00:00:00.000000000Z","html_url":"https://github.com/pytorch/rl/actions/runs/30076872918","logUrl":"","head_branch":"feature/rb-update-if-present","pr_number":4043,"head_sha":"11715f694a0ca02262507fe069e556d46ad7021c","head_sha_timestamp":"2026-07-24T07:47:21Z","failure_captures":[],"failure_lines":[],"failure_context":[],"time":"2026-07-24T07:51:37.000000000Z"},{"workflowId":0,"workflowUniqueId":106193613,"id":30076872958,"runnerName":"","authorEmail":"apaninga@berkeley.edu","name":"Build Linux Wheels","jobName":"Build Linux Wheels","conclusion":"action_required","completed_at":"1970-01-01T00:00:00.000000000Z","html_url":"https://github.com/pytorch/rl/actions/runs/30076872958","logUrl":"","head_branch":"feature/rb-update-if-present","pr_number":4043,"head_sha":"11715f694a0ca02262507fe069e556d46ad7021c","head_sha_timestamp":"2026-07-24T07:47:21Z","failure_captures":[],"failure_lines":[],"failure_context":[],"time":"2026-07-24T07:51:37.000000000Z"},{"workflowId":0,"workflowUniqueId":67873401,"id":30076872899,"runnerName":"","authorEmail":"apaninga@berkeley.edu","name":"Build M1 Wheels","jobName":"Build M1 Wheels","conclusion":"action_required","completed_at":"1970-01-01T00:00:00.000000000Z","html_url":"https://github.com/pytorch/rl/actions/runs/30076872899","logUrl":"","head_branch":"feature/rb-update-if-present","pr_number":4043,"head_sha":"11715f694a0ca02262507fe069e556d46ad7021c","head_sha_timestamp":"2026-07-24T07:47:21Z","failure_captures":[],"failure_lines":[],"failure_context":[],"time":"2026-07-24T07:51:37.000000000Z"},{"workflowId":0,"workflowUniqueId":106193614,"id":30076872954,"runnerName":"","authorEmail":"apaninga@berkeley.edu","name":"Build Windows Wheels","jobName":"Build Windows Wheels","conclusion":"action_required","completed_at":"1970-01-01T00:00:00.000000000Z","html_url":"https://github.com/pytorch/rl/actions/runs/30076872954","logUrl":"","head_branch":"feature/rb-update-if-present","pr_number":4043,"head_sha":"11715f694a0ca02262507fe069e556d46ad7021c","head_sha_timestamp":"2026-07-24T07:47:21Z","failure_captures":[],"failure_lines":[],"failure_context":[],"time":"2026-07-24T07:51:37.000000000Z"},{"workflowId":0,"workflowUniqueId":61790681,"id":30076888962,"runnerName":"","authorEmail":"apaninga@berkeley.edu","name":"Continuous Benchmark (PR)","jobName":"Continuous Benchmark (PR)","conclusion":"action_required","completed_at":"1970-01-01T00:00:00.000000000Z","html_url":"https://github.com/pytorch/rl/actions/runs/30076888962","logUrl":"","head_branch":"feature/rb-update-if-present","pr_number":4043,"head_sha":"11715f694a0ca02262507fe069e556d46ad7021c","head_sha_timestamp":"2026-07-24T07:47:21Z","failure_captures":[],"failure_lines":[],"failure_context":[],"time":"2026-07-24T07:51:53.000000000Z"},{"workflowId":0,"workflowUniqueId":37755465,"id":30076872843,"runnerName":"","authorEmail":"apaninga@berkeley.edu","name":"Generate documentation","jobName":"Generate documentation","conclusion":"action_required","completed_at":"1970-01-01T00:00:00.000000000Z","html_url":"https://github.com/pytorch/rl/actions/runs/30076872843","logUrl":"","head_branch":"feature/rb-update-if-present","pr_number":4043,"head_sha":"11715f694a0ca02262507fe069e556d46ad7021c","head_sha_timestamp":"2026-07-24T07:47:21Z","failure_captures":[],"failure_lines":[],"failure_context":[],"time":"2026-07-24T07:51:37.000000000Z"},{"workflowId":0,"workflowUniqueId":60501564,"id":30076872806,"runnerName":"","authorEmail":"apaninga@berkeley.edu","name":"Habitat Tests on Linux","jobName":"Habitat Tests on Linux","conclusion":"action_required","completed_at":"1970-01-01T00:00:00.000000000Z","html_url":"https://github.com/pytorch/rl/actions/runs/30076872806","logUrl":"","head_branch":"feature/rb-update-if-present","pr_number":4043,"head_sha":"11715f694a0ca02262507fe069e556d46ad7021c","head_sha_timestamp":"2026-07-24T07:47:21Z","failure_captures":[],"failure_lines":[],"failure_context":[],"time":"2026-07-24T07:51:37.000000000Z"},{"workflowId":0,"workflowUniqueId":82165821,"id":30076889382,"runnerName":"","authorEmail":"apaninga@berkeley.edu","name":"Libs Tests on Linux","jobName":"Libs Tests on Linux","conclusion":"action_required","completed_at":"1970-01-01T00:00:00.000000000Z","html_url":"https://github.com/pytorch/rl/actions/runs/30076889382","logUrl":"","head_branch":"feature/rb-update-if-present","pr_number":4043,"head_sha":"11715f694a0ca02262507fe069e556d46ad7021c","head_sha_timestamp":"2026-07-24T07:47:21Z","failure_captures":[],"failure_lines":[],"failure_context":[],"time":"2026-07-24T07:51:54.000000000Z"},{"workflowId":0,"workflowUniqueId":55958309,"id":30076872815,"runnerName":"","authorEmail":"apaninga@berkeley.edu","name":"Lint","jobName":"Lint","conclusion":"action_required","completed_at":"1970-01-01T00:00:00.000000000Z","html_url":"https://github.com/pytorch/rl/actions/runs/30076872815","logUrl":"","head_branch":"feature/rb-update-if-present","pr_number":4043,"head_sha":"11715f694a0ca02262507fe069e556d46ad7021c","head_sha_timestamp":"2026-07-24T07:47:21Z","failure_captures":[],"failure_lines":[],"failure_context":[],"time":"2026-07-24T07:51:37.000000000Z"},{"workflowId":0,"workflowUniqueId":149027642,"id":30076872900,"runnerName":"","authorEmail":"apaninga@berkeley.edu","name":"LLM Tests on Linux","jobName":"LLM Tests on Linux","conclusion":"action_required","completed_at":"1970-01-01T00:00:00.000000000Z","html_url":"https://github.com/pytorch/rl/actions/runs/30076872900","logUrl":"","head_branch":"feature/rb-update-if-present","pr_number":4043,"head_sha":"11715f694a0ca02262507fe069e556d46ad7021c","head_sha_timestamp":"2026-07-24T07:47:21Z","failure_captures":[],"failure_lines":[],"failure_context":[],"time":"2026-07-24T07:51:37.000000000Z"},{"workflowId":0,"workflowUniqueId":36603655,"id":30076872541,"runnerName":"","authorEmail":"apaninga@berkeley.edu","name":"Push Binary Nightly","jobName":"Push Binary Nightly","conclusion":"action_required","completed_at":"1970-01-01T00:00:00.000000000Z","html_url":"https://github.com/pytorch/rl/actions/runs/30076872541","logUrl":"","head_branch":"feature/rb-update-if-present","pr_number":4043,"head_sha":"11715f694a0ca02262507fe069e556d46ad7021c","head_sha_timestamp":"2026-07-24T07:47:21Z","failure_captures":[],"failure_lines":[],"failure_context":[],"time":"2026-07-24T07:51:36.000000000Z"},{"workflowId":0,"workflowUniqueId":128761754,"id":30076872829,"runnerName":"","authorEmail":"apaninga@berkeley.edu","name":"SOTA Tests on Linux","jobName":"SOTA Tests on Linux","conclusion":"action_required","completed_at":"1970-01-01T00:00:00.000000000Z","html_url":"https://github.com/pytorch/rl/actions/runs/30076872829","logUrl":"","head_branch":"feature/rb-update-if-present","pr_number":4043,"head_sha":"11715f694a0ca02262507fe069e556d46ad7021c","head_sha_timestamp":"2026-07-24T07:47:21Z","failure_captures":[],"failure_lines":[],"failure_context":[],"time":"2026-07-24T07:51:37.000000000Z"},{"workflowId":0,"workflowUniqueId":228688555,"id":30076889252,"runnerName":"","authorEmail":"apaninga@berkeley.edu","name":"Tutorials Tests on Linux","jobName":"Tutorials Tests on Linux","conclusion":"action_required","completed_at":"1970-01-01T00:00:00.000000000Z","html_url":"https://github.com/pytorch/rl/actions/runs/30076889252","logUrl":"","head_branch":"feature/rb-update-if-present","pr_number":4043,"head_sha":"11715f694a0ca02262507fe069e556d46ad7021c","head_sha_timestamp":"2026-07-24T07:47:21Z","failure_captures":[],"failure_lines":[],"failure_context":[],"time":"2026-07-24T07:51:53.000000000Z"},{"workflowId":0,"workflowUniqueId":82165822,"id":30076872835,"runnerName":"","authorEmail":"apaninga@berkeley.edu","name":"Unit-tests on Linux","jobName":"Unit-tests on Linux","conclusion":"action_required","completed_at":"1970-01-01T00:00:00.000000000Z","html_url":"https://github.com/pytorch/rl/actions/runs/30076872835","logUrl":"","head_branch":"feature/rb-update-if-present","pr_number":4043,"head_sha":"11715f694a0ca02262507fe069e556d46ad7021c","head_sha_timestamp":"2026-07-24T07:47:21Z","failure_captures":[],"failure_lines":[],"failure_context":[],"time":"2026-07-24T07:51:37.000000000Z"},{"workflowId":0,"workflowUniqueId":228069683,"id":30076872512,"runnerName":"","authorEmail":"apaninga@berkeley.edu","name":"Validate Test Partitioning","jobName":"Validate Test Partitioning","conclusion":"action_required","completed_at":"1970-01-01T00:00:00.000000000Z","html_url":"https://github.com/pytorch/rl/actions/runs/30076872512","logUrl":"","head_branch":"feature/rb-update-if-present","pr_number":4043,"head_sha":"11715f694a0ca02262507fe069e556d46ad7021c","head_sha_timestamp":"2026-07-24T07:47:21Z","failure_captures":[],"failure_lines":[],"failure_context":[],"time":"2026-07-24T07:51:36.000000000Z"}]}