"""FastAPI entrypoint for the OpenEnv validator and Hugging Face Space runtime.""" from __future__ import annotations from fastapi.responses import HTMLResponse from sentinel.api.server import app SPACE_URL = "https://harry1911-sentinel.hf.space" SPACE_REPO_URL = "https://huggingface.co/spaces/harry1911/sentinel" GITHUB_URL = "https://github.com/sayantikalaskar/sentinel" @app.get("/", include_in_schema=False) async def root() -> HTMLResponse: """Render the public Space landing and live evaluation dashboard.""" return HTMLResponse(_dashboard_html()) @app.get("/dashboard", include_in_schema=False) async def dashboard() -> HTMLResponse: """Render the live evaluation dashboard at the advertised URL.""" return HTMLResponse(_dashboard_html()) def _dashboard_html() -> str: return f""" SENTINEL - Live Incident Response Environment
Live OpenEnv API FastAPI Space runtime Judge-ready endpoint surface

Multi-agent incident response, live in this Space.

Reset a 30-service cloud outage, run investigation and remediation actions, inspect observations, and verify the same HTTP endpoints judges will call from the public Space URL.

Open API Schema Results
30services in NexaStack
7observation channels
5agent roles
4reward axes
StatusIdle
Episode-
Incident-
Last Reward-
{{"message":"No episode yet. Press Reset Episode."}}

Action Log

No actions yet.

Judge Quickstart

POST {SPACE_URL}/reset
{{"seed": 42}}

POST {SPACE_URL}/step
{{"action": {{"agent": "holmes", "category": "investigative", "name": "QueryLogs", "params": {{"service": "cart-service", "time_range": [0, 60]}}}}}}

Submission Links

"""