[project]
name = "ruchy"
version = "1.0.0"
rust_edition = "2021"
[quality]
max_cyclomatic_complexity = 10
max_cognitive_complexity = 10
max_nesting_depth = 5
max_lines_per_function = 50
min_line_coverage = 85.0
min_branch_coverage = 80.0
min_function_coverage = 90.0
target_line_coverage = 95.0
max_satd = 0
satd_patterns = ["TODO", "FIXME", "HACK", "XXX", "BUG"]
satd_require_issue_link = true
min_mutation_score = 85.0
mutation_tool = "cargo-mutants"
mutation_strategy = "incremental"
min_rustdoc_coverage = 90.0
require_examples = true
[testing]
target_unit_tests = 60
target_property_tests = 30
target_integration_tests = 10
min_unit_tests = 20
min_integration_tests = 10
min_property_tests = 5
proptest_min_cases = 256
proptest_max_cases = 10000
proptest_timeout_ms = 5000
[security]
max_unsafe_blocks = 0
audit_vulnerabilities = "deny"
audit_unmaintained = "warn"
[risk_based_verification]
very_high_risk_components = [
"src/runtime/actor_concurrent.rs",
"src/runtime/eval_control_flow_new.rs",
"src/backend/transpiler/codegen_minimal.rs",
]
high_risk_components = [
"src/frontend/parser/**/*.rs",
"src/backend/transpiler/**/*.rs",
"src/runtime/eval*.rs",
"src/middleend/typechecker.rs",
]
medium_risk_components = [
"src/runtime/repl/**/*.rs",
"src/quality/**/*.rs",
"src/stdlib/**/*.rs",
"src/bin/**/*.rs",
]
low_risk_components = [
"src/utils/**/*.rs",
"src/testing/**/*.rs",
]
very_high_mutation_target = 92.5
high_mutation_target = 87.5
medium_mutation_target = 82.5
low_mutation_target = 0.0