GitHub-rendered blog.md works fine, but the HF-Space-hosted copy is what
visitors land on first. Re-route the three clickable blog references
(badge, intro callout, links table) to
https://huggingface.co/spaces/K446/Opengrid/blob/main/blog.md so the story
opens beside the live demo. The file-tree mention is left as a relative path.
Made-with: Cursor
docs: clarify scenario count, OPENGRID_MODE flag; drop runtime/epoch info
- README/blog: remove training-runtime numbers (159.6 min, 2.5 hours, etc.)
and "3 epochs" annotations from the metrics table and prose.
- README: replace misleading "## The four scenarios" heading with
"## The scenarios" and split into two tables — 4 base grids and 3 Karnataka
difficulty variants — for an accurate 7-task picture.
- README: add a "Docker / Hugging Face Space — server vs training mode"
subsection explaining the OPENGRID_MODE env var (unset/server = live demo,
training = run GRPO and serve results) with local docker run examples.
Made-with: Cursor
Polish for hackathon submission: training evidence, two pipelines, UI, docs
- 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…
Fix health check timeout: start UI server in background before training
- Single Dockerfile handles both UI server and GRPO training
- OPENGRID_MODE=training runs run_training.py
- OPENGRID_MODE=server (default) runs uvicorn
- Training Space env var OPENGRID_MODE=training already set via HF API
- 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