okr/docs/plan-referansegrad-2026-06-23.md
Kjell Tore Guttormsen ec1abf999c
docs(okr): generiske, fiktive eksempler i kunnskapsbasen
Sektorspesifikt eksempelmateriale er erstattet med generiske, fiktive
eksempler. Det fiktive direktoratet DDT får eksempler fra digitale
tjenester, som samsvarer med navnet. Fjordvik kommune (fiktiv) får
eksempler fra vann, avløp og avfall. Strukturen, tallene og poenget i
hvert eksempel er bevart, blant annet committed-doktrinens stokastiske
samfunnsutfall, progress-regnestykkene i Oboard-eksempelet og
kaskadekjeden.

Valg:
- Én kildebelagt case er fjernet fra okr-sources.md og én virksomhetsliste er
  gjort generell («m.fl.»). Påstandene som står igjen, er fortsatt sanne.
- Standardverdien i malens domene-felt er «digitalisering». «annet»
  dekker det som er tatt ut av alternativlistene.
- De historiske evalueringsdokumentene er endret bare der de siterte det
  gamle eksempelinnholdet.

Suite 350/350 grønn, vakten har 0 treff.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 12:28:54 +02:00

16 KiB

Utførelsesplan: OKR-plugin → referansegrad (norsk offentlig sektor)

Dato: 2026-06-23 Grunnlag: docs/evaluering-360-2026-06-23.md (360-evaluering, 14 agenter) + adversariell plan-critic-runde. Status i dag: Samlet karakter C+. Sterkt fundament (arkitektur, hooks, metodikk-kjerne, ekte forvaltningstilpasning), trukket ned av troverdighetskritiske innholdsfeil. Mål: Lukke alle funn i fire faser slik at pluginet trygt kan deles og fungere som referanse. Hver fase er et eget Voyage-løp over én eller flere sesjoner.

Denne planen er kritikk-korrigert: plan-criticen avdekket at synteserunden underestimerte flere leveranser (DDT = 61 forekomster i 14 filer, ikke 2; UTF-8 = total ASCII-stripping som krever omskriving, ikke encoding-fiks; scoring-linjelista var ufullstendig og delvis feilrettet; versjon-per-fase manglet; Fase 1/2 deler filer). Alle disse er innarbeidet under.


1. Slik følger vi planen (driftsmodell)

  1. Én fase = ett Voyage-løp. /trekbrief (ramme + verifiseringskriterier) → /trekplan (fil-for-fil steg) → /trekexecute → /trekreview (mot brief-kriteriene). Flersesjons faser bruker .session-state + /trekcontinue.
  2. Hvert /trekplan-steg MÅ bære On-failure: og Checkpoint: (git commit). Destruktive steg merkes circuit-breaker: ved feil → stopp hele fasen, ikke fortsett.
  3. Verifiseringsplikt. Hver fase avsluttes med konkrete bevis (grep-/spellcheck-kommandoer som beviser at funnet er borte og at ingen nye er introdusert). Ingen fase er «ferdig» uten grønne bevis.
  4. Versjon per fase. Hver fase som endrer brukervendt innhold/funksjon bumper versjon + lager release-tag + oppdaterer katalog-ref (catalog/scripts/release-plugin.mjs <plugin> <versjon>), innenfor push-vinduet. Se §6.
  5. STATE.md oppdateres ved hver sesjonslutt (local-only, gitignored — offentlig remote).
  6. Scope-guard. Ingen fase utvider seg utover sine leveranser uten ny godkjenning.

2. Beslutningsport FØR Fase 0 (avgjøres i /trekbrief)

DDT-beslutning. «Direktoratet for digital tjenesteutvikling (DDT)» er fiktiv og brukes som løpende eksempel-etat. Verifisert omfang: 61 forekomster i 14 filer (28 i okr-offentlig-governance.md, 7 i okr-integrations.md, 4 hver i okr-examples.md/okr-framework.md, flere i oppsett.md m.fl.). To veier:

Valg Hva Innsats Konsekvens
(a) Merk fiktiv (anbefalt for rask troverdighet) Konsekvent «(fiktiv eksempeletat)» + disclaimer ved første bruk; behold alle eksempler Mekanisk, én grep-verifisert pass over alle 61 Rask, lav risiko. Eksemplene forblir koherente.
(b) Splitt i reelle etater Et fagorgan for fagdomenet + Digdir (digitale tjenester) Egen dedikert fase (2-3 sesjoner) mellom Fase 0 og Fase 1 Omskriver tildelingsbrev-, kaskade- og metrikk-eksempler. Fase 1 avhenger av hvilken etat som «eier» hvilket eksempel.

Default i denne planen: (a). Velges (b), settes en egen «Fase 0b — Etats-resplitt» inn, og Fase 1 omdefineres til å bygge på de nye etatene. Avgjør i brief, ikke i utførelse. Uansett valg: fjern den fabrikkerte kilde-attribusjonen «Oboard (Direktoratet for digital tjenesteutviklings valg)» (okr-sources.md:299) og DDT fra README-listen over reelle brukere (README.md:23).


3. Fase 0 — Fakta- og troverdighetssanering (credibility-critical)

Avhenger av: ingenting. Estimat: 2-3 sesjoner (oppjustert fra 1-2 etter kritikk: UTF-8 = omskriving av 2 hele filer; DDT = 61 sites). Versjon ved slutt: 1.3.1 (patch). Hvorfor først: alt annet bygger på at teksten er til å stole på.

Leveranser (hver med On-failure + Checkpoint):

  1. [CIRCUIT-BREAKER, flyttet hit fra Fase 2] OKR-01 rm -rf-validering. Høyeste data-tap-risiko. Valider at [id] matcher ^[TQ][1-4]-[0-9]{4}$ og er ikke-tom før rm -rf .claude/okr/syklus/[id]/ i oppsett.md:457/459. Manuell test: tom + malformert id skal avvises. On-failure: halt hele fasen.
  2. DDT per beslutningsporten (default: merk fiktiv). Grep-fasit: grep -rni 'DDT\|Direktoratet for digital tjenesteutvikling' . → forvent 61 → 0 umerkede. Fjern fabrikkert Oboard-attribusjon + DDT fra README reell-bruker-liste.
  3. Find-replace-artefakter. Re-derivér full målliste (ikke stol på synteselista alene): grep -rni 'saksbehandlingbehandling\|saksbehandlingtjenester\|saksbehandlingklager\|saksbehandling-søknad\|saksbehandlingsøknad\|vevedlikehold\|fornye saksbehandling' .. Rett til koherent domene. Regresjonssjekk: blanket-erstatninger må ikke mangle korrekte sammensetninger — bevis 0 GAMLE og 0 NYE artefakter.
  4. ÉN kanonisk scoringsterskel. Re-derivér: grep -rn '0\.[567]-0\.[789]\|70-80%\|0\.7 =' .. Innfør overalt: «0.7 = forventet for aspirational; 0.6-0.7 = sweet spot (Google/Doerr)». BEVAR okr-sources.md:44 og :115 (de ER kanon 0.6-0.7 — ikke slett). Fjern 0.7-0.9 (okr-cheatsheet.md:48, fremdriftssporer-agent.md:44) og 70-80% (governance.md:73). Inkluder styringsrådgiver-agent.md:90. Avklar: analyse.md:138-139 (0.5-0.7/>0.7) er trolig tverr-syklus modenhet ≠ enkelt-OKR stretch-score → sannsynlig utenfor scope; bekreft før endring. Verifisering: nøyaktig én stretch-definisjon, kanonisk kilde ikke rørt.
  5. [CIRCUIT-BREAKER] UTF-8: manuell norsk omskriving av individual-vs-team-okr.md og commands/oppsett.md (begge 0 å + 0 ø/æ — total ASCII-stripping, ingen ren kilde å «regenerere» fra). Dette er korrekturlesing/omskriving, ikke encoding-fiks. Checkpoint (git) før start. Verifisering: spellcheck (aspell -l nb eller kuratert vokabular-diff mot øvrige referansefiler) — ikke bare å > 0 (en fil kan ha riktig å men feil ø/æ).
  6. ASCII-kommandonavn. grep -rn '/okr:moter\|/okr:innforing\|oppstartsmate' . → inkluderer README.md (L106/114/166), oppsett.md (L246/478), coaching-hook.mjs (L125). Rett til /okr:møter, /okr:innføring.
  7. coaching-hook-strenger + læring-regex. coaching-hook.mjs:115/124/125 (brukervendte strenger, synlig hver sesjonsstart) + L100 regex → /## (?:Laering|Læring)/.
  8. Døde/feil lenker + dokumenttittel. futureworks.no (404) fjern/erstatt; rework.withgoogle.com normaliser til /en/-form + Wayback-fallback; rett tittel til «Fremtidens digitale Norge — Nasjonal digitaliseringsstrategi 2024-2030» (governance.md:395).
  9. Dokument-motsigelser. CONTRIBUTING PR-seksjon → kryssreferanse til GOVERNANCE; SECURITY GitHub → Forgejo/e-post; uciterte statistikker (39/43/30-45/60%) merk «industri-rapportert (ikke fagfellevurdert)» eller erstatt med Locke & Latham-effektstørrelser.
  10. CLAUDE.md «References (15)» → utsett til etter Fase 2 (Fase 2 kan avskrive filer og endre tallet). Sett her bare hvis Fase 2-beslutningen allerede er tatt; ellers er dette en Fase 2-leveranse.
  11. Versjon: SKILL.md version → 1.3.1, sync plugin.json, release-tag + katalog-ref (release-plugin.mjs), push-vindu.

Voyage: /trekbrief (ramme sanering + DDT-beslutning + verifiseringsplikt) → /trekplan (fil-for-fil, hvert steg med On-failure/Checkpoint, circuit-breakers på #1/#5) → /trekexecute → /trekreview (bekreft 0 artefakter, 0 strippede tegn, én scoringsverdi, kanonisk kilde intakt).


4. Fase 1 — Domenedybde og kildeintegritet

Avhenger av: Fase 0. Serialisér FØR Fase 2 (deler møter.md + møtefasilitator-agent.md — kan ikke kjøre parallelt). Estimat: 2-3 sesjoner. Versjon ved slutt: 1.4.0 (sammen med Fase 2).

Leveranser:

  1. Tertial-korreksjon. Presiser: formelt regime har 2 interim-punkter (30. april / 31. august) + årsrapport; DFØ vektlegger nå halvårs-/årsrapportmøte. 4-mnd OKR-syklus = pragmatisk valg som aligner med — ikke er identisk med — rapporteringsregimet. «Sjekk eget tildelingsbrev.» (dfo-okr-mapping.md:45, okr-framework.md:205).
  2. OKR posisjonert som lag oppå mål- og resultatstyring (MRS, økonomireglementet §4) — ikke erstatning. Ny seksjon om tillitsreformen (sentral styringsspenning, i dag fraværende). «Målforskyvning» lagt til som førsteklasses norsk antipattern.
  3. Metodikk-presisjoner. Doerrs advarsel mot å snitte committed+aspirational sammen (inn i aggregeringslogikk); Intel rettet (85% = gjenvunnet 16-bit-andel, ikke «fra 0%»; ~2300-2500 design wins oppnådd vs 2000 mål); Locke & Latham «250%» → «vanskeligste vs enkleste mål»; legg til Kleingeld-journalref (JAP 96(6):1289-1304).
  4. «Kvartalsreview» → «Syklusreview» (møter.md:60, møtefasilitator-agent.md:39); «kvartalsvise» → «syklusvise» (okr-implementation.md:48/415).
  5. Reelle norske offentlig-sektor-referanser (Digdir produktorganisering, NRK m.fl. som faktisk offentlige, Knowit «fire fallgruver») med tydelig vendor-/praktiker- vs uavhengig-merking.

Voyage: /trekresearch (Tavily/WebFetch triangulerer DFØ-currency, tillitsreform, reelle caser mot primærkilder; confidence-rating) → /trekplan → /trekexecute → /trekreview.


5. Fase 2 — UX-koherens og kommando-/agent-modning

Avhenger av: Fase 0 (+ org-kontekst-sti-beslutning, se under). Serialisér ETTER Fase 1 (delt fil-eierskap). Estimat: 1-2 sesjoner. Versjon ved slutt: 1.4.0.

Forhåndsbeslutning (kritisk avhengighet): Bestem kanonisk org-kontekst-sti FØR denne fasen — ~/.claude/okr/org/ (reinstall-overlevende, Fase 3-mål) vs prosjektlokal. Agentene wires til å lese fra endelig sti her, slik at Fase 3 ikke må gjøre om arbeidet.

Leveranser:

  1. Kontekstbevissthet-blokk i møter.md (syklusfase-deteksjon + OKR-antall) — på linje med de 8 andre.
  2. gap vs governance disambiguert. «Bruk /okr:gap når … (kvantitativ dekningsmatrise)» vs «Bruk /okr:governance når … (kvalitativ oversettelse + compliance)». Avdupliser den identiske innholdstabellen.
  3. Negative triggere per agent (særlig styringsrådgiver vs gapanalytiker, begge på «tildelingsbrev»); fremdriftssporer instruert til å lese full antipatterns-fil; alle Task-spawnbare agenter leser org-kontekst direkte fra fil (endelig sti).
  4. 6 usiterte referansefiler (dfo-okr-mapping, individual-vs-team-okr, metrics-library, okr-cheatsheet, okr-integrations, okr-sources) — wire inn i relevant kommando/agent eller eksplisitt avskriv. Deretter rett CLAUDE.md referanse-tall til post-avskriv-tallet.
  5. Template-YAML ↔ onboarding-skjema-sync (okr.local.md.template); paritetstest manuell bootstrap vs hook-forventet skjema.

Filer eid av Fase 2 (ikke Fase 1): møter.md (Kontekstbevissthet), agentfilene (negative triggere). Fase 1s møter.md-rename (Kvartalsreview) gjøres FØR Fase 2 starter.

Voyage: /trekbrief (avgrens UX-scope + org-sti-beslutning) → /trekplan (Verifisering: grep bekrefter Kontekstbevissthet i alle 10 kommandoer; manuell rm-validering allerede gjort i Fase 0) → /trekexecute.


6. Fase 3 — Referansegrad-løft mot ms-ai-architect-paritet

Avhenger av: Fase 1 + Fase 2. Estimat: 2-3 sesjoner (flersesjons). Versjon ved slutt: 1.5.0 (nye kommandoer = minor).

Leveranser (prioritert etter adopsjonsverdi):

  1. [MUST] Reinstall-overlevende ~/.claude/okr/org/. Implementer flytting + bakoverkompatibel fallback (les ny sti, fall tilbake til prosjektlokal). Oppdater CLAUDE.md «State Management» + okr.local.md.template i samme endring. On-failure: agenter faller tilbake til hook-injeksjon, ikke error. (Sti-beslutningen ble tatt i Fase 2; her implementeres migrasjonen.)
  2. [MUST] /okr:help — alle 10 kommandoer + 7 agenter + anbefalt tidlig/midt/sen-syklus-arbeidsflyt.
  3. [SHOULD] Ankrede scoringsrubrikker (okr-quality-rubrics.md, 5 ankere/dimensjon) som kvalitetssjekker laster → determinisme i governance-kontekst.
  4. [SHOULD] Test-fixtures + node --test smoke-test for de to hookene (fanger skjema-drift).
  5. [SHOULD] /okr:export (PDF) for kvalitetsvurderinger, gap-matriser, statusrapporter, retrospektiver — deling med ledelse/tillitsvalgte/Riksrevisjon.
  6. [SHOULD] UserPromptSubmit emne-guard — injiser ikke OKR-kontekst på hver prompt uten relevans.
  7. [SHOULD] Bredere offentlig-metrikkbibliotek (eForvaltningsindeks, WCAG/universell utforming, klagebehandlingsfrist, eFormidling) + minst én reell etat/kommune-differensiering (statlig vs kommunalt styringsregime).
  8. [NICE] /okr:freshen-references — WebSearch/Tavily-subagenter mot dfo.no/regjeringen.no/riksrevisjonen.no for KB-currency.

Voyage: flersesjons /trekplan med .session-state; /trekexecute + /trekcontinue mellom sesjoner; /trekresearch for metrikkbiblioteket; avslutt med /trekreview mot brief-kriteriene for å bekrefte referansegrad.


7. Tverrgående krav

Krav Detalj
Versjon per fase Fase 0 → 1.3.1 (patch) · Fase 1+2 → 1.4.0 (minor) · Fase 3 → 1.5.0 (minor, nye kommandoer). Tag + katalog-ref (release-plugin.mjs) som avsluttende leveranse i HVER fase, i push-vinduet.
Rollback Hvis en publisert tag senere må korrigeres fordi en senere fase endret kanonisk innhold tag-en averterte: dokumentér og lag patch-tag.
Fil-eierskap møter.md + møtefasilitator-agent.md deles av Fase 1 (rename) og Fase 2 (Kontekstbevissthet/triggere) → serialisér Fase 1 før Fase 2. Ingen fil redigeres av to parallelle løp.
On-failure/Checkpoint Hvert /trekplan-steg bærer begge. Destruktive steg (UTF-8-omskriving, DDT, rm -rf) = circuit-breaker (halt hele fasen ved feil).
Gemini-triangulering Gemini-bridge var nede (deprecated Interactions API SDK). Oppgradér gemini-mcp-SDK før neste runde som trenger uavhengig triangulering.
STATE.md Local-only (offentlig remote). Oppdatér ved hver sesjonslutt.

8. Sporbarhet: funn → fase

# Funn (alvorlighet) Fase
1 Scoringsterskel selvmotsigende ≥5 filer (KRITISK) Fase 0
2 Fiktiv etat DDT presentert som fakta + fabrikkert Oboard-kilde (KRITISK) Beslutningsport + Fase 0 (el. Fase 0b)
3 Total UTF-8-korrupsjon i 2 filer + hook (KRITISK/HØY) Fase 0
4 Find-replace-artefakter i kopierte eksempler (HØY) Fase 0
5 Læring-regex feiler på «Læring» (HØY) Fase 0
6 CONTRIBUTING↔GOVERNANCE-motsigelse (HØY) Fase 0
7 SECURITY peker GitHub på Forgejo-repo (HØY) Fase 0
8 OKR-01 rm -rf ugardert (MEDIUM, men høyest data-tap-risiko) Fase 0 (flyttet fra Fase 2)
9 ASCII-kommandonavn i README/oppsett/hook (MEDIUM) Fase 0
10 Døde lenker + feil dokumenttittel (MEDIUM) Fase 0
11 Uciterte statistikker som fakta (MEDIUM) Fase 0
12 Intel/Locke faktarammings-feil (INFO/MEDIUM) Fase 1
13 Committed+aspirational snittes sammen (MEDIUM) Fase 1
14 Tertial overdrevet som DFØ-standard (MEDIUM) Fase 1
15 Tillitsreform + målforskyvning fraværende (REFERANSEGRAD-GAP) Fase 1
16 «Kvartalsreview» i 4-mnd-plugin (MEDIUM) Fase 1
17 møter.md mangler Kontekstbevissthet (LAV) Fase 2
18 gap vs governance overlapp (MEDIUM) Fase 2
19 Agenter mangler negative triggere (MEDIUM) Fase 2
20 Agenter blinde ved Task-spawn (MEDIUM) Fase 2
21 6 usiterte referansefiler (SHOULD) + CLAUDE.md-tall Fase 2
22 Template ≠ onboarding-YAML (MEDIUM) Fase 2
23 Ikke reinstall-overlevende org-kontekst (REFERANSEGRAD-GAP/MUST) Fase 2 (beslutning) + Fase 3 (impl.)
24 Mangler /okr:help, rubrikker, fixtures, PDF-eksport (SHOULD) Fase 3
25 UserPromptSubmit uten emne-guard (SHOULD) Fase 3
26 Tynt offentlig-metrikkbibliotek (SHOULD) Fase 3
27 SKILL-versjon 1.0.0 vs 1.3.0 (MUST) Fase 0 (del av versjonsbump)

Vurdert og forkastet: Share-session-as-artifacts (claude.ai-hostet, Team/Enterprise-gated, dataresidens/Schrems II for offentlig sektor) — operatørbeslutning 2026-06-23, tas ikke inn.