Gov_Workflow_RL / app /utils.py
Siddharaj Shirke
deploy: clean code-only snapshot for HF Space
df97e68
"""
utils.py — Shared pure-function helpers.
No imports from env.py or simulator.py (prevents circular imports).
"""
from __future__ import annotations
from app.models import ServiceType
def completion_fairness_gap(
arrived_by_service: dict,
completed_by_service: dict,
) -> float:
"""
Fairness gap = max completion rate difference across services.
Returns 0.0 if only one service, 1.0 if perfectly unfair.
"""
rates = []
for svc in arrived_by_service:
arrived = arrived_by_service.get(svc, 0)
completed = completed_by_service.get(svc, 0)
if arrived > 0:
rates.append(completed / arrived)
if len(rates) < 2:
return 0.0
return round(max(rates) - min(rates), 4)