fix(okr): avviksvurderingen maa gaa gjennom score, ikke naa >= target

This commit is contained in:
Kjell Tore Guttormsen 2026-08-01 22:50:25 +02:00
commit 8ef8f7a405
2 changed files with 62 additions and 1 deletions

View file

@ -35,9 +35,19 @@ const formatScore = (score) => (score === undefined ? UDEFINERT : score.toFixed(
// Governance-invariant 2: committed maales binaert mot kravet, ikke paa score.
// Aspirational har ingen Avvik-kolonneverdi -- 0.7 er forventet, ikke svikt.
//
// Predikatet gaar gjennom beregnScore, ALDRI gjennom `naa >= target` direkte:
// den sammenligningen er retningsavhengig og gir feil svar begge veier for
// nedadgaaende krav (krav 5 dager, naa 11 -> "ingen avvik"; krav 5, naa 4 ->
// "avvik"). beregnScore haandterer retningen allerede, fordi teller og nevner
// begge blir negative. Bonus: kolonnen kan da ikke motsi rapportens egen
// setning om at en score under 1.0 er et avvik.
const formatAvvik = (kr, erCommitted) => {
if (!erCommitted) return '-';
return kr.naa >= kr.target ? 'Nei' : 'Ja';
const score = beregnScore(kr);
// target == baseline: ingen ratio aa maale mot, men kravet er fortsatt et tall.
if (score === undefined) return kr.naa === kr.target ? 'Nei' : 'Ja';
return score >= 1 ? 'Nei' : 'Ja';
};
function krRad(kr, erCommitted) {