okr/commands/governance.md
Kjell Tore Guttormsen 44ceec7205 fix(okr): C7b remediering R1-R4 (release-relevante review-funn for 1.8.0)
Lukker de fire release-relevante MAJOR-funnene fra /trekreview (S33). Alle TDD
roed -> groenn, ingen fiks landet uten en test som feilet foerst. Suite 163 -> 167.

R1 (af16d5e4) hooks/scripts/coaching-hook.mjs:83 -- LEVENDE REGRESJON innfoert av
1.8.0. Denne releasen skrev status-malen (commands/sporing.md:86-88) om til den
kanoniske skalaen On Track/At Risk/Off Track, mens hooken fortsatt talte kun
/i fare|blokkert/i over tabellrader. En status generert under 1.8.0 ga derfor
atRiskCount = 0 og SessionStart-nudgen sluttet stille aa utloese seg. Hooken
teller naa de kanoniske etikettene; de to norske er BEHOLDT som bakover-
kompatibilitet for status-filer skrevet foer 1.8.0. Nudge-teksten bruker samme
kanoniske vokabular. Ny testcase mates av malen slik den faktisk genereres i dag;
den eksisterende casen beholder gammelt vokabular og daekker legacy-stien.

R2 (7ec575be) F-i-omskrivingen ga hver kommando en Kontekstbevissthet-blokk som
INSTRUERER Glob, men allowed-tools ble kun utvidet i kaskade.md. Glob lagt til i
export, gap, governance, innfoering, kvalitet, moeter, skriv, sporing. Ny vakt-
case (k): nevner BODY verktoeyet, maa frontmatter deklarere det (13 kommandoer
instruerer Glob; alle 13 dekket). Case (i) grepper kun etter fjernede fraser og
kunne ikke fange dette.

R3 (5e61ae0d) tests/package-shape.test.mjs asserterte KUN package.json -- som er
private:true og dermed den ene flaten som aldri shipper. En delvis bump ville
shippet groenn. Ny versjonssync-case dekker .claude-plugin/plugin.json, README-
badgen og begge SKILL.md, med forventet verdi UTLEDET fra package.json (ett sted
aa endre ved neste bump). Mutasjonsbevist: hver av de fire flatene tilbakestilt
til 1.7.1 en om gangen -> casen roed i alle fire tilfeller.

R4 (ccff16e1 + 231c53fc) Tre parallelle confidence-etikettsett overlevde F-c:
fremdriftssporer-agent.md:68 ("Paa sporet / I fare / Blokkert"), :98
("Confidence: [Hoey/Medium/Lav]" -- en annen akse: stoerrelse, ikke sannsynlighet)
og SKILL.md:48 ("blocked"; kanonisk er "off track"). Alle tre erstattet med
referanse til kanon (okr-framework.md:389-392). sporing.md og agenten den
delegerer til svarer naa i samme vokabular. Vakt-case (a)/(b) skanner naa samme
sett som (d) allerede brukte (+ agents/ + SKILL.md), samlet i canonScan(). Ny
case (a2) fanger etikettsett skrevet som bullet eller mal-linje -- tabell-
signaturen alene fanget dem ikke, og det var nettopp formen driften overlevde i.
Divergens gjenkjennes STRUKTURELT (skraastrek-enumerasjon av >= 2 etiketter, med
>= 1 ikke-kanonisk), saa loepende prosa som "For KR i fare" og "Blokkert av
eksterne faktorer" ikke gir falske positive. Verifisert: roed-listen var noeyaktig
de 3 kjente linjene, ingen andre.

CHANGELOG/README: vakt-antall 13 -> 15 cases, suite 149 -> 167, og de fire
fiksene lagt inn under [1.8.0] (Added + Fixed). Ingen versjonsbump.

GJENSTAAR fra reviewet (3 MAJOR, IKKE i denne bolgen): 607313e3 F-d-kadens-
moensteret kan ikke feile paa den kanoniske kadens-tabellen; 029ef814
freshen-references.md:24 baerer fortsatt en foreldet kontekstblokk og vaktens
exclude-kommentar kaller fila feilaktig "allerede-fikset" (den er utenfor
1.8.0-scope by design, jf. ba91fc2 -- kommentaren er usann, ikke ekskluderingen);
7579d59c "Outcome" er utestbar i 10-dims-casen pga. substring-containment.

Verify: node --test --test-reporter=tap tests/*.test.mjs -> 167 pass / 0 fail.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016pUfkQ1YyH75z9y6RBaBHG
2026-07-25 12:33:55 +02:00

132 lines
5.5 KiB
Markdown

---
name: okr:governance
description: Koble OKR til tildelingsbrev, politisk styring og Riksrevisjon-krav
allowed-tools: Read, AskUserQuestion, Task, Glob
argument-hint: "[tildelingsbrev, revisjonsrapport, eller spørsmål]"
---
# OKR Governance - Offentlig sektor styring
Hjelp brukeren med å koble OKR til styringsmekanismer i norsk offentlig sektor.
> **Bruk /okr:governance når** du trenger *kvalitativ oversettelse* av tildelingsbrev til OKR + Riksrevisjon-compliance og politisk styringskontekst. For en *kvantitativ dekningsmatrise* (hvilke tildelingsbrev-krav er dekket av gjeldende OKR), bruk `/okr:gap`.
## Kontekstbevissthet
Hooken for-injiserer ikke lenger en fil-liste — den emitterer kun kjerne-profil
+ en peker til wikien. Oppdag styringskonteksten direkte fra disk FØR du spør brukeren:
- Glob `.claude/okr/strategisk-kontekst/tildelingsbrev-*.md` — finnes en, les den
automatisk og start oversettelsen direkte uten å be brukeren lime inn tekst.
- Glob `.claude/okr/strategisk-kontekst/overordnede-okr.md` — finnes den, bruk den
til å vise dekning: hvilke tildelingsbrev-krav er allerede dekket av org-OKR.
- Glob `.claude/okr/syklus/*/` for gjeldende syklus-OKR som skal kobles til styringskrav.
- Trenger du bredere kontekst fra brukerens wiki, invoker `okr-second-brain-search`.
- Kjenner du allerede organisasjon og syklus fra kjerne-profilen: hopp over de spørsmålene.
## Styringsrammeverk
```
Stortingsmelding / NTP
Tildelingsbrev fra departement
Etatsstrategi
Årlige OKR (strategiske)
Syklus-OKR (taktiske)
Team-OKR
```
## Arbeidsflyt
### Oversette tildelingsbrev til OKR
1. **Motta tildelingsbrev** — bruker deler relevant del
2. **Les referansemateriale**:
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-offentlig-governance.md` — full veiledning
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-arshjul.md` — synkronisering med budsjettprosess
3. **Kategoriser innholdet**:
| Type innhold | OKR-egnet | Riktig håndtering |
|--------------|-----------|-------------------|
| Driftskrav ("Oppretthold X") | Lav | KPI-dashboard |
| Resultatmål med tall | Høy | Key Result-kandidat |
| Strategiske satsinger | Høy | Objective-kandidat |
| Rapporteringskrav | Lav | Rapporteringsrutine |
| Budsjettføringer | Lav | Økonomioppfølging |
| Særskilte oppdrag | Medium | Case by case |
4. **Transformer til OKR**:
- Gjør inspirerende (tildelingsbrev er teknisk)
- Fokuser på outcome for innbygger/samfunn
- Sett KR med baseline → target
- Marker Committed (regulatorisk) eller Aspirational (forbedring)
5. **Vis kobling** mellom tildelingsbrev og OKR
### Riksrevisjon-sjekk
Verifiser at OKR-arbeidet tåler ekstern revisjon:
**Dokumentasjonssjekk:**
| Element | Krav | Eksempel |
|---------|------|----------|
| Baseline | Dokumentert verdi ved start | "95 drepte i 2025 (kilde: SSB)" |
| Target | Konkret målverdi | "85 drepte i 2026" |
| Datakilde | Spesifisert og verifiserbar | "SSB tabell 08463" |
| Metode | Hvordan måles det | "Årlig statistikk per 31.12" |
| Ansvarlig | Hvem eier målet | "Trafikksikkerhetsdirektør" |
**Etterprøvbarhet:**
- Kan en ekstern revisor verifisere tallene?
- Er det sporbarhet fra aktivitet til resultat?
- Er rapportering konsistent over tid?
- Er avvik forklart?
## Eksempel: Tildelingsbrev → OKR
**Fra tildelingsbrev** (DDT er en fiktiv eksempeletat):
> "Direktoratet for digital tjenesteutvikling skal bidra til å redusere antall drepte og hardt skadde i trafikken med 50% innen 2030, sammenlignet med 2020-nivå."
**Som OKR (årlig):**
Tildelingsbrevets tallmål (færre drepte/skadde) er et **stokastisk samfunnsutfall**
etaten deler med politi, kommuner og vegeiere — den påvirker, men rår ikke over det
alene. Per den kanoniske committed-doktrinen (`okr-framework.md`: *committed =
forpliktelse OG påvirkbarhet*) blir utfallet **aspirational/delt**, mens de
kontrollerbare leading-tiltakene under blir **committed**:
```
Objective: Redusere alvorlige trafikkulykker mot 2030-målet
KR1 (delt/aspirational): Redusere drepte fra 95 (2025) til 85 (2026)
Datakilde: SSB tabell 08463 | Type: Aspirational
→ Utfallet rår ikke etaten alene over; committed leading-tiltak under:
KR2 (committed): 100% av identifiserte høyrisiko-strekninger har fysisk tiltak
iverksatt innen utgangen av året
Datakilde: Intern tiltaksplan | Type: Committed
KR3 (committed): Månedlig ulykkes- og tiltaksrapport levert departementet
Datakilde: Intern | Type: Committed
```
**Hvorfor ikke committed på tallmålet?** Et committed KR forventes nådd 1.0 — å
committe til et utfall etaten ikke kontrollerer gjør scoren til flaks, ikke styring.
Committ til det påvirkbare (tiltakene), aspirér mot utfallet.
## Politisk styring og OKR
Politiske signaler kan endre seg midt i syklusen:
1. Strategiske OKR (årlige) er mer stabile
2. Syklus-OKR kan justeres ved vesentlige endringer
3. Dokumenter begrunnelse for justeringer
4. Kommuniser endringer tydelig
## Referanser
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-offentlig-governance.md` — full governance-veiledning
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-arshjul.md` — årshjul og budsjettprosess
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/dfo-okr-mapping.md` — DFØ mål- og resultatstyring → OKR-mapping
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-sources.md` — kildebelegg og proveniens for governance-påstander