okr/commands/rapport.md

80 lines
4.1 KiB
Markdown

---
name: okr:rapport
description: Generer rapport fra en OKR-syklus - tertialrapport, aarsrapportens del III eller etatsstyringsunderlag, med committed og aspirational holdt fra hverandre
allowed-tools: Read, Bash, Glob
argument-hint: "[tertial|arsrapport|etatsstyring]"
---
# OKR Rapport - Generer styringsrapport fra syklusdata
Bygg en rapport direkte fra KR-tallene i syklusens `okr-*.md`-filer. Generatoren
er deterministisk: samme data gir samme dokument, hver gang.
## Hva generatoren eier - og hva den ikke eier
Generatoren eier **aritmetikken, tabellstrukturen og formateringsinvariantene**:
den beregner score, holder committed og aspirational fra hverandre, og skriver
skalaforklaringen som hindrer at 0.7 leses som «70 % av maalet».
Den eier **aldri confidence**. Confidence-kolonnen staar tom med vilje.
`okr-framework.md` er eneste sannhetskilde for On Track / At Risk / Off Track, og
`okr-calculator.md` avviser mekanisk utledning eksplisitt - gapet mellom faktisk
og forventet score er *ett innspill* til vurderingen, ikke en regel. En generator
som satte trafikklyset selv ville oppfunnet en terskel doktrinen forbyr.
Confidence fylles derfor ut i `/okr:sporing`, der skjoennet hoerer hjemme.
Score lagres heller aldri til fil - den beregnes fra `baseline`/`target`/`naa`
hver gang, slik at det ikke oppstaar en andre sannhetskilde som kan drifte.
## Forutsetninger
- Node.js 22 eller nyere. Ingen npm-avhengigheter.
- Syklusens OKR-filer maa baere KR-datakontrakten i frontmatter
(`krN_navn`, `krN_baseline`, `krN_target`, `krN_naa`, `krN_type`) - se
`/okr:skriv`. Mangler tallene, sier generatoren fra i stedet for aa gjette.
## Arbeidsflyt
1. **Finn syklusen** - list katalogene med Glob (`.claude/okr/syklus/*/`). Er det
flere, spoer brukeren hvilken. Er det ingen, si det og stopp (`/okr:oppsett`
setter opp treet).
2. **Kjoer generatoren** via Bash, med rapportformen som andre argument
(`tertial`, `arsrapport` eller `etatsstyring` - se tabellen under):
```bash
node ${CLAUDE_PLUGIN_ROOT}/scripts/syklus-rapport.mjs .claude/okr/syklus/[syklus-id] tertial
```
3. **Tolk exit-koden**:
- `0` - rapporten er skrevet til sin egen fil i syklus-katalogen (se tabellen).
Oppsummer for brukeren: hvilken syklus, hvor mange OKR, og hvilke felter som
staar igjen aa fylle ut - Confidence-kolonnen fylles i `/okr:sporing`.
- `1` - domenefeil: syklusdataene er ufullstendige. Meldingen navngir KR-en og
feltet som mangler. Be brukeren fylle inn tallene i OKR-fila (formatet staar
i `/okr:skriv`), og kjoer om igjen.
- `2` - bruksfeil: feil antall argumenter, ukjent rapportform, eller
syklus-katalogen finnes ikke. Sjekk stien mot Glob-resultatet fra steg 1.
4. **Les rapporten** og gjennomgaa den med brukeren. Vaer spesielt tydelig paa
committed-avvik: et committed KR under target er et avvik som skal forklares,
ikke et middels resultat.
## Rapportformer
| Form | Fil | Til hvem, og hva den reserverer |
|------|-----|----------------------------------|
| `tertial` | `rapport-tertial.md` | Underveisrapportering. Confidence-kolonnen fylles i `/okr:sporing`. |
| `arsrapport` | `rapport-arsrapport.md` | Underlag til aarsrapportens **del III** «Aarets aktiviteter og resultater». Vurderingen av maaloppnaaelse per Objective er reservert til virksomheten - generatoren skriver den aldri. Finnes `historikk/`, listes materialet derfra under et flerarig perspektiv. |
| `etatsstyring` | `rapport-etatsstyring.md` | Underlag til etatsstyringsmoetet: status per Objective, avvik som krever departementets oppmerksomhet, og en tabell som kobler Objectives til tildelingsbrevets styringsparametere (kravene fylles inn fra tildelingsbrevet). |
**De reserverte feltene staar i klammer og skal fylles ut.** Generatoren lar dem
staa tomme fordi de krever skjoenn eller kilder den ikke leser - ikke fordi de er
valgfrie. Gaa gjennom dem med brukeren etter kjoeringen.
Ingen av formene overskriver hverandre; tre kjoeringer gir tre filer.
## Relatert
- `/okr:skriv` - KR-datakontrakten rapporten leser
- `/okr:sporing` - check-in og confidence-vurdering
- `/okr:analyse` - trender paa tvers av sykluser