docs(okr): kjent avvik i coaching-hooks confidence-telling

Hooken teller alle rader merket At Risk/Off Track under ett og sier «vurder
tiltak». okr-framework.md:605 sier samtidig at de fleste stretch-KR BOER staa
At Risk, og at permanent groent er sandbagging-signalet -- saa for en sunn
aspirational-portefoelje peker varselet feil vei: eneste maate aa dempe det paa
er aa merke stretch-KR groenne.

Kollisjonen er ikke ny i art (en haandskrevet status.md ble talt likt), men fra
1.10.0 fylles kolonnen deterministisk, saa den inntreffer alltid. Fikset hoerer
hjemme i hooken, ikke i skriveleddet, og foeres som patch-lane-post.
Operatoerbeslutning: dokumenter naa, fiks i egen oekt med egen TDD-syklus.

Ogsaa: sporing.md stavet samme KR-navn paa to maater i to eksempler (fixturens
ASCII-form lakk inn i det ene). Oppslaget er eksakt match paa kr*_navn, saa to
stavemaater i samme fil er en felle.
This commit is contained in:
Kjell Tore Guttormsen 2026-08-10 20:59:48 +02:00
commit 9033f37b63
3 changed files with 11 additions and 1 deletions

View file

@ -18,6 +18,9 @@ Minor-release: **det uwirede leddet**. Kjeden `/okr:rapport` → `/okr:sporing`
- **`/okr:sporing` har fått `Bash`** og skriver `status.md` via scriptet i stedet for å formulere fila selv. Hele sporings-stien var lesende før dette, hvilket var den mekaniske grunnen til at leddet manglet. Kommandoen eier fortsatt **vurderingen** og bare den; malen i kommandofila er erstattet av et utdrag av det scriptet faktisk produserer, med ASCII-etiketter uten emoji som resten av den maskingenererte flaten.
- **Beslutning 9 presisert, ikke svekket:** generatoren *plasserer* en etikett den får inn som data, og *utleder* aldri en. Rapportformene (tertial/årsrapport/etatsstyring) emitterer fortsatt aldri confidence selv, og vakt (5c) holder dem til det. `statusrapport` står bevisst utenfor den listen, fordi den ikke utleder noe — den gjengir et skjønn som allerede er utøvd.
### Kjent avvik
- **`coaching-hook` teller committed og aspirational KR under ett når den varsler om confidence.** Hooken teller alle tabellrader merket `At Risk`/`Off Track` og sier «OBS: N KR er At Risk/Off Track — vurder tiltak eller juster forventninger». `okr-framework.md` sier samtidig at *de fleste stretch-KR bør stå At Risk*, og at permanent grønt er selve sandbagging-signalet. For en velfungerende aspirational-portefølje peker varselet derfor feil vei: eneste måte å dempe det på er å merke stretch-KR grønne. Kollisjonen er **ikke ny i art** — en håndskrevet `status.md` etter den gamle malen ble talt likt — men fra og med 1.10.0 fylles kolonnen deterministisk, så den inntreffer alltid i stedet for av og til. Fikset hører hjemme i hooken, ikke i skriveleddet, og er ført som egen post for en senere patch. Selve rapporteringen er ikke berørt: aspirational-KR står fortsatt aldri i avviks-seksjonen (låst beslutning 15).
## [1.9.0] - 2026-08-09
Minor-release: **«Styringssløyfa lukkes»** — kjeden fra tildelingsbrev til årsrapport dekkes nå i én sammenhengende form, i stedet for å stoppe der OKR-ene var skrevet. Åtte arbeidsstrømmer over fem execute-sesjoner (fase D, D4D8). Ingen nye npm-avhengigheter; de fire eksisterende er fortsatt exact-pinnet. Suite 197 → 315 cases.

View file

@ -137,7 +137,7 @@ under 1.0 er et avvik som skal forklares, ikke et godt resultat.
| KR | Baseline | Target | Naa | Score | Avvik | Confidence |
|----|----------|--------|-----|-------|-------|------------|
| Andel digitale soeknader (prosent) | 60 | 85 | 63 | 0.12 | - | At Risk |
| Andel digitale søknader (prosent) | 60 | 85 | 63 | 0.12 | - | At Risk |
**Snitt aspirational: 0.23** over 2 KR.
```

View file

@ -149,6 +149,13 @@ test('(6b) de tre kanoniske etikettene godtas', () => {
});
// --- (7) Hook-kontrakten: fila MAA vaere tellbar for coaching-hook.mjs ---
// MERK (S60, kjent avvik): tallet 3 under koder hookens NAAVAERENDE oppfoersel,
// ikke den oenskede. En av de tre radene er et aspirational KR, og
// okr-framework.md:605 sier at de fleste stretch-KR BOER staa At Risk -- saa
// hookens «OBS: N KR er At Risk/Off Track, vurder tiltak» peker feil vei for en
// sunn aspirational-portefoelje. Fikset hoerer hjemme i hooken (patch-lane), og
// naar det kommer skal denne assertionen endres MED den. Testen her vokter at
// fila er TELLBAR, ikke at 3 er riktig svar.
test('(7) hooken kan telle radene, og teller kun de ikke-groenne', () => {
const { radForm, fareOrd } = hookPredikater();
const rader = krRader(bygg());