[project]
name = "entrenar"
description = "Training & Optimization library with autograd, LoRA, quantization, and model merging"
languages = ["rust"]
[quality]
min_coverage = 90
min_mutation_score = 80
max_tdg_score = 25
[complexity]
max_cyclomatic = 10
max_cognitive = 15
[testing]
test_command = "cargo test --all-features"
coverage_command = "cargo llvm-cov --html --output-dir target/coverage/html"
mutation_command = "cargo mutants --output target/mutants.out"
[mutation]
target_dirs = ["src/autograd/", "src/optim/", "src/lora/", "src/quant/", "src/merge/"]
exclude_dirs = ["tests/", "benches/", "examples/"]
timeout_multiplier = 2.0
timeout_seconds = 300
[tdg]
include_comments = true
language_specific_rules = true
[hooks]
pre_commit = [
"cargo fmt --check",
"cargo clippy -- -D warnings",
"cargo test --lib",
"pmat analyze tdg src/ --min-score 90"
]
[roadmap]
spec_file = "docs/specifications/entrenar-spec.md"
output_file = "roadmap.yaml"
total_phases = 7
total_hours = 824
total_tickets = 40
[[roadmap.phases]]
name = "Phase 1: Autograd Engine"
hours = 200
tickets = ["ENT-001", "ENT-002", "ENT-003", "ENT-004", "ENT-005", "ENT-006", "ENT-007", "ENT-008"]
[[roadmap.phases]]
name = "Phase 2: Optimizers"
hours = 120
tickets = ["ENT-009", "ENT-010", "ENT-011", "ENT-012", "ENT-013", "ENT-014", "ENT-015"]
[[roadmap.phases]]
name = "Phase 3: LoRA"
hours = 144
tickets = ["ENT-016", "ENT-017", "ENT-018", "ENT-019", "ENT-020", "ENT-021"]
[[roadmap.phases]]
name = "Phase 4: Quantization"
hours = 136
tickets = ["ENT-022", "ENT-023", "ENT-024", "ENT-025", "ENT-026", "ENT-027"]
[[roadmap.phases]]
name = "Phase 5: Model Merging"
hours = 96
tickets = ["ENT-028", "ENT-029", "ENT-030", "ENT-031", "ENT-032"]
[[roadmap.phases]]
name = "Phase 6: Declarative Config"
hours = 64
tickets = ["ENT-033", "ENT-034", "ENT-035", "ENT-036"]
[[roadmap.phases]]
name = "Phase 7: Distillation"
hours = 64
tickets = ["ENT-037", "ENT-038", "ENT-039", "ENT-040"]
[benchmarks]
[[benchmarks.targets]]
operation = "Matmul backward"
size = "512×512"
target = "3× forward time"
backend = "GPU"
[[benchmarks.targets]]
operation = "Adam step"
size = "1M params"
target = "<10ms"
backend = "SIMD"
[[benchmarks.targets]]
operation = "Softmax backward"
size = "10K"
target = "2× forward time"
backend = "SIMD"
[[benchmarks.targets]]
operation = "Q4_0 quantize"
size = "1GB"
target = "<1s"
backend = "Scalar"
[[benchmarks.targets]]
operation = "LoRA merge"
size = "7B model, rank=64"
target = "<5s"
backend = "SIMD"