# Detects unbounded max_size configuration
# Corpus claim: cache/max_size bounded true
# Pattern: max_size: None or max_size: Option<usize>
#
# Violation: max_size: None allows unbounded growth
# Correct: max_size: Some(1000) or required field
#
# Consequence: OOM under sustained load

[[extractors.declarative]]
name = "max_size_unbounded"
description = "Detects max_size: None (unbounded cache allows OOM)"
languages = ["rust"]
pattern = 'max_size:\s*None'
claim.subject = "max_size"
claim.predicate = "bounded"
claim.value = false
confidence = 0.95
