💡 What: Implemented manual Gzip compression in `scripts/web_dashboard.py` using a Flask `after_request` hook.
🎯 Why: Text-based responses (HTML, JSON) were being sent uncompressed, wasting bandwidth and increasing load times.
📊 Impact: Reduces transfer size of dashboard HTML and large JSON responses by ~70-80% for compatible clients.
🔬 Measurement: Verified via `scripts/test_web_dashboard.py` which now checks for `Content-Encoding: gzip` and successful decompression.
💡 What: Separated the /health endpoint from the main dashboard rendering logic. It now returns a lightweight JSON response.
🎯 Why: The previous implementation rendered the full Markdown dashboard for every health check, consuming unnecessary CPU and I/O resources during frequent polling.
📊 Impact: Reduces health check processing time from file reading + markdown parsing (~milliseconds) to a simple JSON return (~microseconds).
🔬 Measurement: Verified with new test script scripts/test_web_dashboard.py and updated render.yaml/app.yaml to use the new endpoint.