RoyAalekh's picture
refactored project structure. renamed scheduler dir to src
6a28f91
"""First-In-First-Out (FIFO) scheduling policy.
Schedules cases in the order they were filed, treating all cases equally.
This is the simplest baseline policy.
"""
from __future__ import annotations
from datetime import date
from typing import List
from src.core.case import Case
from src.core.policy import SchedulerPolicy
class FIFOPolicy(SchedulerPolicy):
"""FIFO scheduling: cases scheduled in filing order."""
def prioritize(self, cases: List[Case], current_date: date) -> List[Case]:
"""Sort cases by filed_date (earliest first).
Args:
cases: List of eligible cases
current_date: Current simulation date (unused)
Returns:
Cases sorted by filing date (oldest first)
"""
return sorted(cases, key=lambda c: c.filed_date)
def get_name(self) -> str:
return "FIFO"
def requires_readiness_score(self) -> bool:
return False