"""Numerical constants shared by the reorganized PKS algorithms and models. Values are copied verbatim from ``backend/scan_pks_fault_evolution.py`` so the rebuilt algorithms stay behaviourally identical to the original scanner. """ from __future__ import annotations # --- shared hourly aggregation --- EXPECTED_PER_HOUR = 720 MIN_HOUR_COVERAGE = 0.80 MIN_DAILY_HOURS = 4 MIN_HISTORY_HOURS = 24 BASELINE_DAYS = 3 RESET_GAP_HOURS = 12 # --- pressure levels --- HOUR_ALARM_SAMPLE_RATIO = 0.20 HOURLY_BASELINE_HOURS = 24 HOURLY_TREND_HOURS = 6 OIL_CONFIRM_HOURS = 3 OIL_DOWNGRADE_HOURS = 2 OIL_RECOVER_HOURS = 3 OIL_STAGE_MERGE_GAP_HOURS = 6 RESET_RISE_ABS = 0.04 RESET_RISE_REL = 0.10 # --- pressure stage-1 precursor / startup recovery --- OIL_PRECURSOR_DECLINE_HOURS = 6 OIL_PRECURSOR_SLOPE = -0.001 OIL_STARTUP_CANDIDATE_HOURS = 24 OIL_STARTUP_OBSERVE_HOURS = 72 OIL_STARTUP_STABLE_HOURS = 12 OIL_STARTUP_RECOVERY_RATIO = 0.95 # --- vibration --- VIBRATION_BASELINE_DAYS = 7 VIBRATION_CONFIRM_HOURS = 3 VIBRATION_MERGE_GAP_HOURS = 6 VIBRATION_RESTART_GAP_HOURS = 12 __all__ = [name for name in dir() if name.isupper()]