def get_time_weight(self, date_str: str, decay_factor: float = 0.5) -> float:
        """
        Calculate time-based weight using exponential decay.

        Args:
            date_str: Date string in YYYY-MM-DD format
            decay_factor: Controls how quickly the weight decays (higher = faster decay)

        Returns:
            Weight between 0 and 1, with more recent dates closer to 1

        """
        date = datetime.strptime(date_str, "%Y-%m-%d")
        days_ago = (datetime.now() - date).days
        return exp(-decay_factor * days_ago / 30)  # Normalize by month

        Calculate time-based weight using exponential decay.

        Args:
            date_str: Date string in YYYY-MM-DD format
            decay_factor: Controls how quickly the weight decays (higher = faster decay)

        Returns:
            Weight between 0 and 1, with more recent dates closer to 1

        
scripts/integration_health_check.py