Skip to content

Conversation

@xingdi-eric-yuan
Copy link
Collaborator

@xingdi-eric-yuan xingdi-eric-yuan commented Nov 26, 2025

This pull request introduces a new "FreeEnv" environment and "FreeAgent" agent, enabling open-ended, container-based exploration sessions in debug_gym. It adds support for running arbitrary container images with customized setup and toolchains, including human-in-the-loop operation. The changes also include configuration and tooling updates to support flexible session management and error handling.

New Environment and Agent:

  • Added FreeEnv, a lightweight environment for running arbitrary container images, with support for custom instructions, workspace directories, setup commands, and optional git initialization. (debug_gym/gym/envs/free_env.py)
  • Introduced FreeAgent, a minimal reasoning agent designed for FreeEnv sessions, including improved error handling for environment startup issues. (debug_gym/agents/free_agent.py)

Integration and Selection:

  • Registered FreeEnv and FreeAgent in their respective module initializers, and updated environment selection logic to support the new "free" type. (debug_gym/gym/envs/__init__.py, debug_gym/agents/__init__.py) [1] [2] [3]

Tooling and Session Management:

  • Updated the SubmitTool to allow disabling automatic evaluation upon submission, facilitating open-ended sessions. (debug_gym/gym/tools/submit.py)
  • Added a configuration file and interactive demo script for FreeEnv sessions, supporting both automated and human-driven workflows. (scripts/config_free_env.yaml, scripts/free_env_human.py) [1] [2]

BaseAgent Improvements:

  • Improved BaseAgent to handle memory_size configuration and more robust rewrite step termination logic. (debug_gym/agents/base_agent.py) [1] [2] [3]

@xingdi-eric-yuan
Copy link
Collaborator Author

xingdi-eric-yuan commented Nov 26, 2025

Missing tests.
update: added tests.

from debug_gym.logger import DebugGymLogger

# Preserve legacy debug_gym.gym.terminals.__init__.* access patterns.
__init__ = sys.modules[__name__]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's that for?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants