what_to_wear/tests/logic
Nora aae8c38a20 security(gate3): Security-Review-Haertung ueber 4 Pakete (luna-pro)
Phase 6 / Gate 3 — Security-Review auf den fertigen Code, 4 thematische Pakete:
- P1 Secrets+Injection (client/phraser/diagnostics): validate haertet URL/Entity/
  Unicode-Umgehungen (// , &entity; , Cc/Cf/Zl/Zp); kein Key-Leak.
- P2 XSS+externe (card/ha_entity/frontend): kein XSS; DoS-Caps (Forecast 400, Karte 60).
- P3 Mutator+Startup (coordinator/__init__/const): nicht-blockierender Startup via
  Background-Task, LLM-/Store-Ops defensiv, weather_entity_id-Guard, build_items
  NaN/inf+Caps, Warn-Log ohne Secret.
- P4 Flows (config_flow): test_entity exception-frei, _clean_item defensiv, finite
  Bandgrenzen + sanitized_options-Normalisierung, echte bool-Coercion, Typ-Log.
- 24 Findings, 14 uebernommen (mit Regressionstests), 10 verworfen mit Evidenz.
  Suite gruen 188/188. Gate 3 BESTANDEN.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-13 16:01:31 +00:00
..
__init__.py feat(1.1): Skeleton, pure-core Datenmodell, Options-Schema & Layering-Guard 2026-07-13 13:20:42 +00:00
test_matcher.py feat(1.4): Matcher — Outfit-Komposition, Schichtung, Aussenschicht, Luecken 2026-07-13 13:43:35 +00:00
test_model.py feat(1.1): Skeleton, pure-core Datenmodell, Options-Schema & Layering-Guard 2026-07-13 13:20:42 +00:00
test_normalize.py feat(1.2): SI-Forecast-Normalizer mit expliziter Missingness 2026-07-13 13:27:48 +00:00
test_phraser.py security(gate3): Security-Review-Haertung ueber 4 Pakete (luna-pro) 2026-07-13 16:01:31 +00:00
test_pipeline.py feat(1.7): Coordinator (einziger Mutator) + reine Pipeline/Zieldatum 2026-07-13 14:05:57 +00:00
test_rules.py feat(1.3): deterministische Regel-Engine (Requirements aus Normprognose) 2026-07-13 13:32:54 +00:00
test_schedule.py feat(1.7): Coordinator (einziger Mutator) + reine Pipeline/Zieldatum 2026-07-13 14:05:57 +00:00
test_texts_payload.py feat(1.5): Texte (de/en) & kanonische Payload-Projektionen 2026-07-13 13:52:20 +00:00