Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 0 additions & 17 deletions envs/echo_env/openenv.yaml
Original file line number Diff line number Diff line change
@@ -1,23 +1,6 @@
spec_version: 1
name: echo_env
version: 0.1.0
type: space
runtime: fastapi
app: server.app:app
port: 8000
validation:
reward:
range: [0.0, 1.0]
oracle_tolerance: 0.0
floor_margin: 0.5
resources:
cpu: 1.0
memory_mb: 1024
disk_mb: 512
episode_timeout_s: 60.0
capabilities:
verifier:
kind: reward_channel
declared_tools: [echo_message, echo_with_length]
types:
tags: [demo]
1 change: 0 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@ include-package-data = true
[tool.setuptools.package-data]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

BLOCKING — please keep the fastmcp<4.0.0 cap.

Reverting to fastmcp>=3.0.0 lets a fresh uv sync resolve fastmcp 4.0.0 — the root uv.lock is gitignored (.gitignore:121), so nothing else pins it, and CI's test job (uv sync --all-extras) will pick 4.0.0. Under fastmcp 4.0.0, MCP session state stops persisting across calls, failing:

  • tests/core/test_production_mode_routes.py::TestMCPSessionTransportPersistence::test_http_session_mcp_state_persists_across_calls
  • tests/core/test_production_mode_routes.py::TestMCPSessionTransportPersistence::test_websocket_mcp_state_persists_across_calls

Verified locally: with fastmcp 4.0.0 both fail; pinning fastmcp>=3.0.0,<4.0.0 (→ 3.4.7) makes all 3 tests in that class pass. The cap arrived with RFC 008 slice 0a (#1044) but is a dependency-compat guard independent of the validation stack, so it should survive this revert:

    "fastmcp>=3.0.0,<4.0.0",

cc @Darktex / @pankit-eng (RFC 003 / MCP contract)

"openenv.cli" = ["templates/**/*"]
"openenv.cli.importers" = ["templates/**/*"]
"openenv.validation" = ["policies/*.json", "schemas/*.json"]

[tool.setuptools.exclude-package-data]
"*" = ["*.pyc", "*.pyo", "__pycache__/*"]
Expand Down
79 changes: 0 additions & 79 deletions scripts/sync_validation_schemas.py

This file was deleted.

6 changes: 3 additions & 3 deletions src/openenv/cli/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,9 @@
app.command(name="build", help="Build Docker images for OpenEnv environments")(
build.build
)
app.command(name="validate", help="Validate a package against the OpenEnv quality bar")(
validate.validate
)
app.command(
name="validate", help="Validate environment structure and deployment readiness"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

ALIGNMENT FLAG (RFC 008 — In Review): this reverts openenv validate from the RFC 008 quality-bar command back to the structure/deployment-readiness command, and the PR deletes the whole src/openenv/validation/** contract layer (schemas, severity policy, graders, fixtures, tests).

Flagging per the two-tier model since RFC 008 is still In Review — the change may well be correct, but please confirm the rollback is intended and update RFC 008's status/delivery notes so the doc and code stay consistent. Downstream tooling relying on the RFC 008 CLI contract (--level / --skip-build / --policy / --output, exit codes 0–3) would also break. cc @zkwentz

)(validate.validate)
app.command(
name="push",
help="Push an OpenEnv environment to Hugging Face Spaces or custom registry",
Expand Down
Loading
Loading