Spaces:
Running
Running
Control Module — Overrides and Explainability
Directory: scheduler/control/
This package houses the manual control plane that allows judges or operators to override algorithmic decisions and to inspect the reasoning behind suggestions.
Files overview
overrides.py- Purpose: Define override types, manage override drafts per cause list, validate changes, and collect judge preferences and audit trails.
- Key elements:
OverrideType(Enum): categories like ripeness override, capacity change, add/remove case.Override: a single change request with metadata;to_dict(),to_readable_text()helpers.JudgePreferences: persistent preferences per judge;to_dict().CauseListDraft: a draft editable list for a given date/courtroom/judge; exposesget_acceptance_rate()andget_modifications_summary().OverrideValidator: validates requested changes; surfaceget_errors(); targeted validate methods for each override kind (ripeness, capacity, add/remove case).OverrideManager: creates drafts, applies overrides, finalizes drafts, fetches preferences, produces statistics, and exports an audit trail.
- Interactions: Consumed by
core/algorithm.pyto apply judge preferences and manual modifications before final allocation.
explainability.py- Purpose: Human‑readable explanations for why cases were selected or not.
- Typical content: utilities that convert ripeness/eligibility checks and policy scores into readable reasons for UI display and audit logs.
- Interactions: Used by dashboard pages and potentially during
SchedulingAlgorithm.schedule_dayexplanation generation.