#!/usr/bin/env python3 from __future__ import annotations SAFE_CONNECTOR_INBOUND_WORKERS_PER_PACK = "8" MAX_RELEASE_CONNECTOR_INBOUND_WORKERS_PER_PACK = 8 SAFE_CONNECTOR_INBOUND_MAX_PROCESSING_ROWS = "32" MAX_RELEASE_CONNECTOR_INBOUND_MAX_PROCESSING_ROWS = 32 STAGING_CONNECTOR_INBOUND_WORKERS_PER_PACK = "16" MAX_STAGING_CONNECTOR_INBOUND_WORKERS_PER_PACK = 16 STAGING_CONNECTOR_INBOUND_MAX_PROCESSING_ROWS = "32" MAX_STAGING_CONNECTOR_INBOUND_MAX_PROCESSING_ROWS = 32 STAGING_CONNECTOR_INBOUND_QUEUE_PROFILE = "default-heavy" STAGING_CONNECTOR_INBOUND_QUEUE_PROFILES = frozenset({"reserved", "default-heavy"}) def validate_release_connector_inbound_workers_per_pack(raw_value: str | None, *, environment: str) -> str: value = (raw_value or SAFE_CONNECTOR_INBOUND_WORKERS_PER_PACK).strip() or SAFE_CONNECTOR_INBOUND_WORKERS_PER_PACK try: count = int(value, 10) except ValueError as exc: raise ValueError( f"{environment} NEXUSCRM_CONNECTOR_INBOUND_WORKERS_PER_PACK must be an integer, got {value!r}" ) from exc if count < 1: raise ValueError(f"{environment} NEXUSCRM_CONNECTOR_INBOUND_WORKERS_PER_PACK must be >= 1, got {count}") if count > MAX_RELEASE_CONNECTOR_INBOUND_WORKERS_PER_PACK: raise ValueError( f"{environment} NEXUSCRM_CONNECTOR_INBOUND_WORKERS_PER_PACK={count} exceeds safe release cap " f"{MAX_RELEASE_CONNECTOR_INBOUND_WORKERS_PER_PACK}; do not raise connector drain fan-out in L2 " "without a current L0 scheduler/admission-budget proof" ) return str(count) def validate_release_connector_inbound_max_processing_rows(raw_value: str | None, *, environment: str) -> str: value = ( raw_value or SAFE_CONNECTOR_INBOUND_MAX_PROCESSING_ROWS ).strip() or SAFE_CONNECTOR_INBOUND_MAX_PROCESSING_ROWS try: count = int(value, 10) except ValueError as exc: raise ValueError( f"{environment} NEXUSCRM_CONNECTOR_INBOUND_MAX_PROCESSING_ROWS must be an integer, got {value!r}" ) from exc if count < 1: raise ValueError(f"{environment} NEXUSCRM_CONNECTOR_INBOUND_MAX_PROCESSING_ROWS must be >= 1, got {count}") if count > MAX_RELEASE_CONNECTOR_INBOUND_MAX_PROCESSING_ROWS: raise ValueError( f"{environment} NEXUSCRM_CONNECTOR_INBOUND_MAX_PROCESSING_ROWS={count} exceeds safe release cap " f"{MAX_RELEASE_CONNECTOR_INBOUND_MAX_PROCESSING_ROWS}; keep connector processing bounded below " "foreground database demand" ) return str(count) def validate_staging_connector_inbound_workers_per_pack(raw_value: str | None) -> str: value = (raw_value or STAGING_CONNECTOR_INBOUND_WORKERS_PER_PACK).strip() or STAGING_CONNECTOR_INBOUND_WORKERS_PER_PACK try: count = int(value, 10) except ValueError as exc: raise ValueError( f"staging NEXUSCRM_CONNECTOR_INBOUND_WORKERS_PER_PACK must be an integer, got {value!r}" ) from exc if count < 1: raise ValueError(f"staging NEXUSCRM_CONNECTOR_INBOUND_WORKERS_PER_PACK must be >= 1, got {count}") if count > MAX_STAGING_CONNECTOR_INBOUND_WORKERS_PER_PACK: raise ValueError( f"staging NEXUSCRM_CONNECTOR_INBOUND_WORKERS_PER_PACK={count} exceeds safe staging cap " f"{MAX_STAGING_CONNECTOR_INBOUND_WORKERS_PER_PACK}" ) return str(count) def validate_staging_connector_inbound_max_processing_rows(raw_value: str | None) -> str: value = ( raw_value or STAGING_CONNECTOR_INBOUND_MAX_PROCESSING_ROWS ).strip() or STAGING_CONNECTOR_INBOUND_MAX_PROCESSING_ROWS try: count = int(value, 10) except ValueError as exc: raise ValueError( f"staging NEXUSCRM_CONNECTOR_INBOUND_MAX_PROCESSING_ROWS must be an integer, got {value!r}" ) from exc if count < 1: raise ValueError(f"staging NEXUSCRM_CONNECTOR_INBOUND_MAX_PROCESSING_ROWS must be >= 1, got {count}") if count > MAX_STAGING_CONNECTOR_INBOUND_MAX_PROCESSING_ROWS: raise ValueError( f"staging NEXUSCRM_CONNECTOR_INBOUND_MAX_PROCESSING_ROWS={count} exceeds safe staging cap " f"{MAX_STAGING_CONNECTOR_INBOUND_MAX_PROCESSING_ROWS}" ) return str(count) def validate_staging_connector_inbound_queue_profile(raw_value: str | None) -> str: value = (raw_value or STAGING_CONNECTOR_INBOUND_QUEUE_PROFILE).strip() or STAGING_CONNECTOR_INBOUND_QUEUE_PROFILE if value not in STAGING_CONNECTOR_INBOUND_QUEUE_PROFILES: allowed = ", ".join(sorted(STAGING_CONNECTOR_INBOUND_QUEUE_PROFILES)) raise ValueError(f"staging NEXUSCRM_CONNECTOR_INBOUND_QUEUE_PROFILE must be one of {allowed}, got {value!r}") return value