[checkpoint] Continue toolsandbox_agent sessions

Open
#3,261 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
30/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
python
Domain
ai, backend

Research direction

Start with responses_api_agents/toolsandbox_agent/app.py, then read parent issues #3220 and #3024 and dependency #3248 for the surrounding checkpoint boundaries. Done means the listed restore, retry, exactly-once, failure, and publication rules hold for every supported boundary without repeating completed work.

Written by the indexing model from the issue text.

Description

area:agent feature

Parent

Child of #3220 and #3024. Depends on #3248.

State owner

responses_api_agents/toolsandbox_agent/app.py owns ToolSandbox env_id, step/agent state, history, messages, output, usage, and model cookies.

Adapter requirements

Use the shared whitebox participant and versioned boundary records. Persist output items, usage, cookies, last model-call identity, resource revisions, remaining budgets, and typed agent-specific state. Commit only after all effects of an operation are durable. On attempt N+1, skip reseeding and do not repeat completed model, tool, verifier, or judge work.

Acceptance criteria

  • Restore rebinds the same logical ToolSandbox environment and resumes at the next action without repeating close or step.
  • Prepare/commit/process replacement/restore/resume succeeds at every supported boundary.
  • Saved model responses, usage, cookies, and pending actions are applied exactly once.
  • Checkpoint refusal retries without advancing history or the operation cursor.
  • Resource revision mismatch, stale attempt, duplicate restore, and corrupt state fail closed.
  • Completed-unacknowledged results cannot also be published as resumable work.
Dominant language
Python
Stars
1.2k
Forks
349
Avg merge
1d 21h
Merged PRs (30d)
318

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from NVIDIA-NeMo/Gym

All issues in NVIDIA-NeMo/Gym

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.