CoolFace
Apppublic

DGXAI/driftcall

sourceHugging Faceapache-2.0updated 5mo agoView on Hugging Face
0likes
App README

DriftCall — Unified Space

One HF Space serving the OpenEnv-compliant DriftCall env and the project site, both under the same hostname. OpenEnv routes are at the canonical bare paths (no /api prefix), so the registry and the gym client see this Space exactly as it sees the dedicated env Space.

URL surface

PathMethodWhat it does
/GETstatic project site (Vite-built React + pretext)
/assets/*GETsite bundle (CSS, JS, fonts)
/healthzGETOpenEnv health probe (text/plain "ok")
/resetPOSTOpenEnv reset (bearer auth + X-Session-Id)
/stepPOSTOpenEnv step
/stateGETOpenEnv read-only state
/closePOSTOpenEnv close session
/openenv.yamlGETthe manifest (served from disk)
/demoGET302 → dedicated Gradio demo Space

The OpenEnv routes do not collide with the static frontend because they are HTTP verb-specific (POST /reset, POST /step, POST /close, plus GET /healthz and GET /state) — Vite-emitted assets live under /assets/* and never overlap.

Why both, not separate?

The dedicated env Space (DGXAI/driftcall-env) and project site (DGXAI/driftcall-site) still exist as canonical, isolated artefacts. This Space is an additive convenience for hackathon judging: land at one URL and you see the project, can hit the reward function endpoint, and get redirected to the demo. The Gradio demo stays separate because it's GPU-heavy and benefits from its own scaling.

What's bundled

Self-contained — the build dir for this Space contains everything it needs to run, with no references to anything outside it:

unified_space/build/
├── app.py              ← canonical OpenEnv FastAPI (verbatim copy)
├── unified_app.py      ← extends app.py + adds static mount + /demo redirect
├── openenv.yaml        ← OpenEnv v1.0 manifest
├── requirements.txt    ← runtime deps (no training stack)
├── Dockerfile          ← multi-stage CPU image, Kokoro + faster-whisper baked
├── cells/              ← DriftCallEnv + 5 reward components + drift + audio
├── data/               ← briefs, drift patterns, API schemas
└── site/               ← Vite-built React dist (frontend)

Build + push with bash deploy/unified_space/build.sh --push from the repo root.

OpenEnv compliance

  • —Manifest: served at /openenv.yaml
  • —Endpoints: bare-path canonical (/reset, /step, /state, /close, /healthz)
  • —Auth: bearer (DRIFTCALL_ENV_TOKEN) + X-Session-Id header on mutating calls
  • —Action / Observation refs: cells.step_04_models:DriftCallAction / cells.step_04_models:DriftCallObservation
  • —Reward: 5 components (R1..R5) with weights, calibration via Brier + uncertain floor — see cells/step_08_rewards.py and the openenv.yaml reward block.