Skip to content

v2.1.0 — Chemistry Data Fix & Security Hardening

Choose a tag to compare

@remontsuri remontsuri released this 12 Jun 22:26

What's Changed

Chemistry Data Fixes

  • LFP thermal runaway: 120°C → 250°C (matches LiFePO4 datasheet)
  • NMC thermal runaway: 80°C → 150°C, gas venting: 70°C → 120°C
  • NCA thermal runaway: 75°C → 140°C, gas venting: 65°C → 120°C
  • NMC/NCA overdischarge: 2.7V → 2.5V
  • NMC/NCA cell_min_voltage: 3.0V → 2.5V
  • OCV curves: Fixed boundary values for LFP (2.00→2.50V), NMC/NCA (2.50→3.00V), added missing 95% SOC points
  • LFP gas venting: 90°C → 130°C

Thermal Runaway Detection

  • Critical temp threshold: 65°C → 85°C (realistic trigger point)
  • High temp threshold: 55°C → 65°C
  • Critical dT/dt: 5°C/min → 10°C/min (reduces false positives)
  • Removed double temperature penalty in risk_score calculation
  • Added confidence clamping to [0.0, 1.0] range

Battery Scoring

  • Rebalanced weights: THERMAL 0.15→0.25, ANOMALY 0.25→0.15 (sum=1.0)

Security Hardening

  • dbc_parser.py: Added path traversal protection (realpath + extension check)
  • analysis.py: Added 100MB file size limit on joblib.load (anti-RCE)
  • framework.py: Added input data copy to prevent caller mutation
  • config.py: Lowered critical_soh threshold 70% → 50% (industry standard)

Test Corrections

  • Updated 47 tests across 4 test files to match corrected values
  • All 948 tests passing