# Dimension Weights — Known Issue **Status**: documented, not fixed — requires calibration before implementation **Reported**: 2026-03-18 (audit) **Severity**: MIC (scorurile functioneaza, dar weights sunt ignorate) ## Problema Dimension weights (D1=20, D2=15, ..., D8=10) sunt stocate in Redis (`didi:framework:techniques`) si editabile din Admin Dashboard, dar nu sunt folosite nicaieri in scoring. `calculateManipulationScore()` in `src/components/techniques/executor.ts:584` face media ponderata doar pe `severity × confidence` per tehnica. Nu acceseaza dimension.weight. ## Unde exista weight-urile | Loc | Ce contine | Folosit? | |-----|-----------|----------| | PostgreSQL `bos_parammgmt.dimension` | coloana `weight` (INT) | doar CRUD | | Redis `didi:framework:techniques` | `dimensions[].weight` (ex: D1=20) | ignorat de executor | | Admin Dashboard `/framework` tab Dimensions | coloana "Pondere" editabila | decorativ | | `TechniqueHierarchy.Dimension` interface (executor.ts:45) | NU are camp weight | — | | `dimensions_compact` (executor.ts:223) | NU include weight | — | ## Valorile curente in Redis ``` D1 (content): weight=20 D2 (narrative): weight=15 D3 (media): weight=15 D4 (amplification): weight=10 D5 (evasion): weight=10 D6 (operations): weight=10 D7 (temporal): weight=10 D8 (targeting): weight=10 ``` ## De ce nu fixam acum 1. Scorurile se schimba — D1 ar contribui 2x fata de D8, pattern-ul results se modifica 2. Weights nu sunt calibrate — valorile sunt din setup initial, nu validate pe date reale 3. Verdict calculator depinde de manipulation_score — thresholds-urile pot deveni incorecte 4. Nu exista test suite care sa detecteze regresii in scoring ## Ce trebuie facut (sprint dedicat) 1. Adauga `weight` in interface `Dimension` (executor.ts:45) 2. Citeste weight din `techniqueHierarchy` in `calculateManipulationScore()` 3. Inmulteste contributia fiecarei tehnici cu `dimension.weight / max_weight` 4. Ruleaza comparatie A/B pe ~50 sesiuni existente (scoruri vechi vs noi) 5. Ajusteaza thresholds in verdict calculator daca distributia scorurilor se schimba 6. Calibreaza weights pe baza rezultatelor (poate D1=20 e prea mult/putin) ## Fisiere de modificat - `src/components/techniques/executor.ts` — interface Dimension + calculateManipulationScore() - `src/components/pipeline/verdict-calculator.ts` — posibil ajustare thresholds - Admin Dashboard — weight-ul e deja editabil, nu necesita modificari