"""
Overflow named constants for the wisent package (part 8).
Imported by _constants_part7.py via star-import so all constants remain
accessible from wisent.core.constants.
"""

# --- Marketplace helpers ---
MARKETPLACE_BASE_TRAINING_TIME = 8.0
MARKETPLACE_PER_BENCHMARK_TIME = 2.0
MARKETPLACE_SYNTHETIC_TRAINING_TIME = 6.0
MARKETPLACE_SYNTHETIC_SAMPLES = 50
MARKETPLACE_DEFAULT_OPTIMAL_LAYER = 14
MARKETPLACE_MAX_TASKS_TO_SEARCH = 1000
MARKETPLACE_MAX_RELEVANT_BENCHMARKS = 30
MARKETPLACE_MAX_RELEVANT_TO_RETURN = 15
MARKETPLACE_MAX_SIMILARITY_SCORE = 10.0
MARKETPLACE_LAYER_MIN = 8
MARKETPLACE_LAYER_MAX = 20
MARKETPLACE_CONFIDENCE_WITH_BENCHMARKS = 0.8
MARKETPLACE_CONFIDENCE_WITHOUT_BENCHMARKS = 0.6
MARKETPLACE_CUDA_SPEED_MULTIPLIER = 0.3
MARKETPLACE_MPS_SPEED_MULTIPLIER = 0.5
MARKETPLACE_MAX_TASKS_DEFAULT = 10

# --- Synthetic system costs ---
AGENT_SYNTH_TRAIT_DISCOVERY_COST_S = 10.0
AGENT_SYNTH_DATA_GEN_COST_PER_PAIR_S = 30.0
AGENT_SYNTH_CLASSIFIER_TRAINING_COST_S = 180.0
AGENT_SYNTH_PAIRS_PER_TRAIT = 12
AGENT_SYNTH_DEFAULT_PAIRS = 15

# --- Device benchmark defaults ---
AGENT_BENCH_EVAL_DEFAULT_SECONDS = 60.0
AGENT_CLASSIFIER_TRAINING_DEFAULT_SECONDS = 600.0

# --- Classifier scoring weights ---
CLASSIFIER_SCORE_DIRECT_MATCH = 5.0
CLASSIFIER_SCORE_EXACT_CONCEPT = 4.0
CLASSIFIER_SCORE_PARTIAL_CONCEPT = 2.0
CLASSIFIER_SCORE_SEMANTIC_SIMILAR = 1.5
CLASSIFIER_SCORE_TOKEN_EXACT = 3.0
CLASSIFIER_SCORE_TOKEN_SUBSTRING = 1.0
CLASSIFIER_SCORE_TOKEN_SEMANTIC = 0.5
CLASSIFIER_SIMILARITY_CHAR_THRESHOLD = 0.6
CLASSIFIER_SIMILARITY_AFFIX_THRESHOLD = 0.4
CLASSIFIER_SIMILARITY_AFFIX_MIN_LEN = 3
CLASSIFIER_NAME_LENGTH_MIN = 8
CLASSIFIER_NAME_LENGTH_MAX = 25
CLASSIFIER_QUALITY_GOOD_LENGTH = 2.0
CLASSIFIER_QUALITY_SHORT_NAME = 0.5
CLASSIFIER_QUALITY_LONG_NAME = 1.0
CLASSIFIER_PARTS_OPTIMAL_MIN = 2
CLASSIFIER_PARTS_OPTIMAL_MAX = 3
CLASSIFIER_QUALITY_OPTIMAL_PARTS = 2.0
CLASSIFIER_QUALITY_SINGLE_PART = 1.5
CLASSIFIER_QUALITY_MANY_PARTS = 0.5
CLASSIFIER_PENALTY_EXPERIMENTAL = 1.0
CLASSIFIER_BONUS_DOMAIN_DIVERSITY = 0.5

# --- Classifier benchmark ---
CLASSIFIER_BENCHMARK_SAMPLES = 50
SELECT_MAX_CLASSIFIERS = 10
TASK_RELEVANCE_MAX_RESULTS = 20
TASK_SELECTOR_MAX_TASKS = 10

# --- Cache configuration ---
CACHE_CHUNK_SIZE = 25
CACHE_MAX_AGE_DAYS = 30

# --- Layer threshold patterns (model size) ---
LAYER_THRESHOLD_SMALL = 16
LAYER_THRESHOLD_MEDIUM = 32
LAYER_THRESHOLD_LARGE = 48

# --- HTTP request timeouts ---
HTTP_TIMEOUT_SHORT = 10
HTTP_TIMEOUT_MEDIUM = 30
HTTP_TIMEOUT_LONG = 60
SUBPROCESS_EXEC_TIMEOUT = 10

# --- GPTZero detector ---
GPTZERO_MIN_TEXT_LENGTH = 50
GPTZERO_DEFAULT_NEUTRAL_SCORE = 0.5
GPTZERO_AI_PROB_WEIGHT = 0.7
GPTZERO_AVG_PROB_WEIGHT = 0.3

# --- Generation evaluator ---
GEN_EVAL_HIGH_CONFIDENCE = 0.9

# --- DS1000 evaluator ---
EVAL_BATCH_SIZE_DEFAULT = 4

# --- Gibberish generation ranges ---
GIBBERISH_WORD_COUNT_MIN = 10
GIBBERISH_WORD_COUNT_MAX = 30
GIBBERISH_WORD_LEN_MIN = 3
GIBBERISH_WORD_LEN_MAX = 12
GIBBERISH_LINE_COUNT_MIN = 3
GIBBERISH_LINE_COUNT_MAX = 8

# --- Perturbation ranges ---
PERTURB_UP_MIN = 1.1
PERTURB_UP_MAX = 1.5
PERTURB_DOWN_MIN = 0.5
PERTURB_DOWN_MAX = 0.9
YEAR_SHIFT_MIN = -50
YEAR_SHIFT_MAX = 50
YEAR_SHIFT_DEFAULT = 10
SMALL_NUM_INCREMENT_MIN = 1
SMALL_NUM_INCREMENT_MAX = 5
NUM_PERTURB_SCALE_MIN = 0.5
NUM_PERTURB_SCALE_MAX = 1.5
YEAR_PERTURB_LARGE = 10
YEAR_PERTURB_SMALL = 5

# --- HaluLens content thresholds ---
HALULENS_MIN_CONTENT_LENGTH = 200
HALULENS_SENT_LEN_MIN = 30
HALULENS_SENT_LEN_MAX = 300

# --- STSB score ---
STSB_SCORE_NEUTRAL = 0.1

# --- SimpleQA thresholds ---
SIMPLEQA_YEAR_DIGIT_LENGTH = 4
SIMPLEQA_MIN_CHAR_LENGTH = 3
SIMPLEQA_MAX_ANSWER_LENGTH = 50

# --- C4 text thresholds ---
C4_MIN_TEXT_LENGTH = 50

# --- Paloma text chunking ---
PALOMA_DOCS_DIVISOR = 4
PALOMA_MIN_TEXT_LENGTH = 200
PALOMA_CHUNK_SIZE_WORDS = 200
PALOMA_TARGET_PAIRS_PER_DOC = 4
PALOMA_MIN_CHUNK_WORDS = 50
PALOMA_MAX_WORDS = 200
PALOMA_MAX_CHARS = 1000
PALOMA_MIN_WORDS = 10

# --- Translation shuffle attempts ---
TRANSLATION_MAX_SHUFFLE_ATTEMPTS = 10

# --- Math parsing ---
MATH_SHORT_VAR_MAX_LEN = 2

# --- Bias detection ---
BIAS_LIBERAL_THRESHOLD = 3

# --- RoBERTa API ---
ROBERTA_API_DEFAULT_WAIT_TIME = 20
ROBERTA_API_MAX_WAIT_TIME = 30

# --- Method training layer range ---
DEFAULT_METHOD_LAYER_RANGE_END = 37
