Skip to content

[BREAKING CHANGES] Implement async in Core, migrate envs to zoo, migrate to MCP server by default #342

@Darktex

Description

@Darktex

@Darktex @burtenshaw decided to bite the bullet now and land a few breaking changes. We also discussed ways to mitigate impact.

Current state

OpenEnv is working and has traction, but the design is still incomplete and as we iterate, we have now accumulated enough changes to go through a breaking change which we feel will benefit the project in the long term.

Changes:

  1. We landed MCP support, but it's still only optional. The nature of the RFC was to expose every env as a MCP server so that we had a Prod mode
  2. We have a Rubrics PR where rubrics are similar to nn.Modules, but currently Sync. This is a drag on performance esp when you use eg LLM judges. Our Env Server is already async, but we currently have a sync client. Since async code is infectious, we will switch to an async client -- it just makes sense! This will make callers also async, so they'll have to deal with it, though we could provide a wrapper here that will be sync and await for you (we don't think you should do this, but its gonna be available).
  3. We are gonna move our envs out of OpenEnv main into a dedicated Zoo repo. We are gonna version each env against a commit hash (preference for releases, but sometimes you need the flexibility), so that they don't break if we introduce breaking changes. We will revisit this later after 1.0 when we are gonna be more stable.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions