Spaces:
Sleeping
title: ReleaseOps Arena
emoji: 🚦
colorFrom: blue
colorTo: green
sdk: docker
pinned: false
ReleaseOps Arena
Live Space: you are on hiitsesh/New_gpu_space. Figures are loaded from the public RL repo via raw.githubusercontent.com (this Space’s Git remote rejects plain PNG commits; use Xet if you want images inside the Space repo). Ensure images/*.png exist on the RL main branch.
Konichiwa
Hey, this is Eshwanth. We know that companies are constantly shipping code to hit quarterly goals and honor commitments. That pushes teams toward AI agents for CI/CD, triage, security scans, and more—each is domain-specific, customizable, and powerful. The failure modes are familiar: hallucination, hardcoded fixes to “pass” tests, and changes that are hard to audit. Developers still need a strong check on what those agents did.
That is where ReleaseOps comes in: instead of an exhaustive, brittle rulebook, we try to learn the org’s policy—what governs systems and workflows—so we are not maintaining a huge static manual that breaks in prod. With RL I’ve shown that a smaller model can be steered to respect this environment, compared to a much larger model tuned for generic “agentic coding,” where the combinatorial mess of multi-agent interaction still blows up even with long instructions.
In this project we provide tools and agents that implement that workflow end-to-end.
Full technical + narrative build log: open blog.md in this repository (or browse Files → blog.md). It mirrors what we ship on GitHub RL and is the “long README” for agents and judges; this page stays the Space card with plots and links.
Judge-facing links
| What | URL |
|---|---|
| This Hugging Face Space (submitted env) | huggingface.co/spaces/hiitsesh/New_gpu_space |
| GitHub (full repo: notebook, extra demos) | github.com/eshwanthkartitr/RL |
| Same notebook on this Hub (view / download IPYNB) | ReleaseOps_final_walkthrough.ipynb on the Space |
| Re-run training / eval (Colab) | Open ReleaseOps_final_walkthrough.ipynb in Colab |
| Short pitch (YouTube Shorts) | YouTube: ReleaseOps / project pitch |
| Build log / long-form writeup (blog) | blog.md in this Space (same file on GitHub RL) — design → GRPO → REST → 1.7B run + inference metrics. |
| What judges look for | Organizer doc |
Submission checklist (organizer “NOTE 1”)
| # | Requirement | Where |
|---|---|---|
| 1 | OpenEnv (latest). | openenv-core in requirements.txt, spec in openenv.yaml, env: releaseops_arena/tool_env.py. On PyPI: openenv-core. |
| 2 | TRL + training | training/train_grpo.py. Colab walkthrough: on GitHub. |
| 3 | Training evidence | Plots below; PNGs live in RL images/ on GitHub (linked here, not stored in the Space git tree). |
| 4 | Writeup or under-2 min video (URL only) | This README; YouTube link in the table above. |
| 5 | This Space | You are here — submit this Space URL. |
| 6 | README | Problem, env, results, links — this file. |
NOTE 2: One submission per team; team lead submits; deadline: 26 April, 5 PM IST (confirm on official call). No commits after the deadline for judging.
How the environment works
Episode and reward (example run).
ReleaseOps Arena is a stateful, tool-using OpenEnv-style environment: a supervisor LLM gets JSON observations (release phase, proposals, CI refs, safety rules, budgets) and can call a fixed toolset (inspect_pr_diff, inspect_ci_run, ask_worker, approve / block / hold_release, …). Rewards come from releaseops_arena/rewards.py and the same loop drives GRPO in training/train_grpo.py. This Space runs the FastAPI app: use /docs, /reset, /step on the public *.hf.space URL (see below).
Training evidence and results
The supervisor was trained with Group Relative Policy Optimization (GRPO) (100-step run referenced in the narrative below).
- Adaptation and policy learning: The reward trace shows an initial exploration dip around step 15, then a climb toward a stable reward (~3.09). The model learns the environment’s hard rules.
- Tool reliability: The lower panel shows the agent using the OpenEnv tool schema;
tool_failure_freqstays near zero—no spurious tool syntax.
Additional run traces (in this repo):
Getting started
You can use this Space over HTTPS (no Docker on your side) or run a local container from the Space image. Pick one.
1. OpenEnv
pip install openenv-core
2. Call this Space (recommended for judges)
Use the *.hf.space base URL (not the huggingface.co/spaces/... page only):
from releaseops_arena.client import ReleaseOpsEnvClient
from releaseops_arena.models import ReleaseOpsAction
BASE = "https://hiitsesh-new-gpu-space.hf.space"
client = ReleaseOpsEnvClient(BASE)
obs = client.reset()
print(obs.model_dump() if hasattr(obs, "model_dump") else obs.dict())
# next: client.step(ReleaseOpsAction(...))
Interactive API: append /docs to BASE (e.g. https://hiitsesh-new-gpu-space.hf.space/docs).
3. Local Docker (optional)
Map port 7860 (see Dockerfile). Image name: use Space → Settings → Docker for the exact registry.hf.space/... string.
docker run -d -p 7860:7860 -e PORT=7860 registry.hf.space/<user>/<space>:latest
Then BASE = "http://127.0.0.1:7860".
UI flow diagram (static HTML)
- On this Space (same HTML, in the container): open
/ui/flow— e.g. https://hiitsesh-new-gpu-space.hf.space/ui/flow (Mermaid + fonts load from CDNs; allow outbound in Space if blocked). - Locally: open
demo/releaseops_episode_flow.htmlin a browser, or from repo root:open demo/releaseops_episode_flow.html(macOS). - On GitHub: demo/releaseops_episode_flow.html (raw file or clone).
Design note
Deeper design and API notes: ref.md in this repository.



