Spaces:
Sleeping
Sleeping
Update README.md
Browse files
README.md
CHANGED
|
@@ -228,6 +228,20 @@ exec-assist/
|
|
| 228 |
|
| 229 |
---
|
| 230 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 231 |
## Compliance checklist
|
| 232 |
|
| 233 |
- ✅ Built on **OpenEnv** (latest release, `openenv-core>=0.2.0`)
|
|
|
|
| 228 |
|
| 229 |
---
|
| 230 |
|
| 231 |
+
## Architecture note
|
| 232 |
+
|
| 233 |
+
The environment is implemented as a FastAPI application that exposes the
|
| 234 |
+
OpenEnv-spec endpoints (`/reset`, `/step`, `/state`, `/tasks`, `/health`,
|
| 235 |
+
`/metadata`, `/schema`) directly, rather than extending `openenv.Environment`
|
| 236 |
+
as a Python class. Both implementations are spec-compliant — they expose
|
| 237 |
+
the same JSON-over-HTTP interface — but the FastAPI-direct approach gave
|
| 238 |
+
us finer control over the multi-component reward function and Pydantic
|
| 239 |
+
validation during the time-boxed hackathon build.
|
| 240 |
+
|
| 241 |
+
The client (`client.py`) does extend `openenv.EnvClient` and provides the
|
| 242 |
+
standard Gym-style typed interface, so any code that uses an `EnvClient`
|
| 243 |
+
to talk to this Space will work without modification.
|
| 244 |
+
|
| 245 |
## Compliance checklist
|
| 246 |
|
| 247 |
- ✅ Built on **OpenEnv** (latest release, `openenv-core>=0.2.0`)
|