Skip to content

Confusion around RFC 005 #696

@mannuch

Description

@mannuch

RFC 005 defines how OpenEnv can interact with external agentic harnesses (e.g. OpenClaw) — systems that combine tools, state, and LLM inference loop into a single unified flow. The RFC proposes a wrapping pattern, where in simulation mode, the training loop retains episode control and each step() call is one conversational turn where the harness maintains context between turns within an episode.

It appears significant work has been done in implementing the RFC's proposed design along with a validation of the pattern in the form of an OpenClaw integration (see here).

However, the PR #471 and its merged successor #652 also introduce the concept of a harness, seemingly for a slightly different reason. Interestingly, these PRs introduced substantial public APIs that have no corresponding RFC AFAICT.

In the review comments of #471, specifically, there is mention of confusion regarding RFC 005, but nothing seems to be materially addressed to fix this. The README.md for openenv.core.harness even mentions RFC 005:

init.py — runtime primitives (from RFC 005 / PR #471): ResourceSession, ResourceSessionFactory, StepEnvSessionAdapter, HarnessAdapter, MCPHarnessAdapter, CLIHarnessAdapter, build_harness_rollout_func, etc.

However, AFAICT there is not much relation between what's defined in openenv.core.harness and what's proposed in the RFC.

So, my question is, is RFC 005 still in effect? Is there a plan for its changes to be in a release? How does it interact with the changes in #652, if at all?

I'd love some clarity on RFC 005's plans because its support for multi-turn fits a use case I have in mind.

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions