- Hackathon evidence: commit summary.json + reward/loss/before-after plots so
README and HF Space /training-results endpoint render real results.
- Make GRPOConfig instantiation TRL-version-tolerant: only pass
max_prompt_length / max_completion_length / torch_compile / use_vllm if the
installed TRL accepts them (fixes TypeError on newer TRL).
- Pin standard-path notebook install to "trl>=0.12,<0.16" to match
requirements-training.txt and the version that produced summary.json.
- Add second training pipeline: run_training_unsloth.py,
requirements-training-unsloth.txt, training/opengrid_grpo_colab_unsloth.ipynb.
- Align training/opengrid_grpo_colab.ipynb with run_training.py end-to-end.
- Rewrite frequency gauge, reward/frequency/gen-mix charts, and grid map for
a cleaner, less cluttered control room UI; declutter Leaflet labels.
- Fix /training-results in app.py (missing json import, expose reward curve).
- Sync openenv.yaml task_karnataka with src/tasks.py (15 buses, 4 agen…
feat: curriculum training + Karnataka scenarios + repo cleanup
- Add Karnataka scenario variants (easy/medium/hard) with same 15-bus topology
but different operating conditions (renewables, load, line capacity)
- Add curriculum training mode (--curriculum flag) that chains through
karnataka_easy -> medium -> hard -> full with checkpoint transfer
- Restructure repo: docs/ for documentation, scripts/ for utilities
- Clean up generated blobs (codebase_summary.md, inference_output.txt)
- Frontend: dynamic task groups (Procedural green, Karnataka gold)
- Map: no tiles for procedural grids (dark canvas), locked bounds for Karnataka
- Fix zone names: generic for procedural, KPTCL-specific for Karnataka
- Fix Raichur TPS GPS coordinates (16.36, 77.34)
- All 7 training pipeline checks pass
OpenGrid: Multi-agent POMDP power grid environment with GRPO training