Spaces:
Running
Running
Commit History
-
feat: real continuous GRPO reward curve + 5-plot dashboard
- data/trainer_state.json: 30 log entries from the actual 300-step GRPO run on Colab A100 (manually retrieved from Drive) - regenerate plots from real training data: - reward_curve.png: continuous mean-reward + ±std band, 10-step granularity (replaces the previous discrete bypass-vs-step-count chart) - kl_loss_curve.png: KL divergence + policy loss on twin axes - completion_stats.png: mean length + clipped_ratio (the 100% cap signal) - Dashboard now shows 5 plots + a live-stats card with proper captions matching what each plot actually depicts Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>723a54a
-
feat: wire frontend to real API, ship plots, multi-stage Docker build
Frontend (React + Vite) - Add to git (was untracked); .gitignore excludes node_modules/ and dist/ - App.jsx now calls real backend endpoints: - GET /api/attack-types → populates attack-type grid - GET /api/stats → drives hero badges (real numbers, no claims) - GET /api/highlight → hero animation payload preview - POST /api/attack → fetches the real trace JSON - timeline events from the trace drive the pipeline animation - outcome.broke_pg2 / broke_fw / task_succeeded / blocked_at drive the success / failure card (no more hardcoded "300 steps = success") - Plot dashboard now renders /plots/*.png from the FastAPI server (with a stats summary card backed by /api/stats) - vite.config.js: dev proxy to :7860 for /api, /plots, /health Backend - env/server.py: serves frontend/dist/ when present (StaticFiles with html=True for SPA + an /assets mount for Vite chunks); falls back to source dir or JSON index when the frontend hasn't been built Docker - Mu…5cceafb