feat(okr): tre-skrivere emitterer OKF-frontmatter + index-regenerering (SC2,SC3)

oppsett.md (eneste tre-skriver m/ Write+Bash): strategisk-kontekst-filer
faar OKF-frontmatter (type: Tildelingsbrev/Virksomhetsplan/Overordnede OKR),
retro -> type: Retrospektiv, ny-syklus status.md -> type: Status; regenererer
.claude/okr-indeksen via okf-index.mjs etter tre-skriv (2 punkter). skriv.md/
sporing.md har ikke Write -> dokumenterer OKF-frontmatter (type: OKR / Status)
i eksempel-output (malen brukeren lagrer). Lukker SC2-gapet: alle konsept-
filer paa disk baerer type:. Verify: okf-check fixture exit 0; suite 55/55.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SFW5scLL7oEwWWTv1fPQG6
This commit is contained in:
Kjell Tore Guttormsen 2026-06-26 17:24:20 +02:00
commit 77280ac319
3 changed files with 83 additions and 7 deletions

View file

@ -137,12 +137,30 @@ Still alle spørsmål med AskUserQuestion (grupper 2-3 sammen der naturlig):
(stikkpunkter, ikke hele brevet) så kan pluginen bruke dem til alignment."
Hvis brukeren limer inn tekst: skriv til
`.claude/okr/strategisk-kontekst/tildelingsbrev-2026.md` med YAML-frontmatter
og innlimt innhold. Opprett mappene med Write-tool.
`.claude/okr/strategisk-kontekst/tildelingsbrev-2026.md` med **OKF-frontmatter**
(second-brain-kompatibel: påkrevd `type:` i Title-Case + anbefalt `resource`/
`title`/`description`/`tags`-liste/`timestamp`) og innlimt innhold. Opprett mappene
med Write-tool:
```markdown
---
type: Tildelingsbrev
resource: "[lenke/arkiv-ID til kilden]"
title: "Tildelingsbrev 2026"
description: "Nøkkelmål fra tildelingsbrevet for alignment"
tags:
- tildelingsbrev
- styringssignaler
timestamp: "[ISO-8601, f.eks. 2026-01-15T09:00:00+00:00]"
---
[innlimt innhold]
```
14. **Har dere en virksomhetsplan eller strategiplan?**
Eventuelt lenke eller nøkkelpunkter. Hvis innhold gis: skriv til
`.claude/okr/strategisk-kontekst/virksomhetsplan.md`.
`.claude/okr/strategisk-kontekst/virksomhetsplan.md` med OKF-frontmatter
(`type: Virksomhetsplan` + anbefalte felt som over).
15. **Har dere org-nivå OKR for 2026?**
Alternativer: ja | nei | planlegges
@ -150,9 +168,19 @@ Still alle spørsmål med AskUserQuestion (grupper 2-3 sammen der naturlig):
Hvis ja: "Lim inn org-OKR (Objectives og Key Results) så pluginen kan bruke dem
til kaskadering og alignment-sjekk."
Hvis innhold gis: skriv til `.claude/okr/strategisk-kontekst/overordnede-okr.md`.
Hvis innhold gis: skriv til `.claude/okr/strategisk-kontekst/overordnede-okr.md`
med OKF-frontmatter (`type: Overordnede OKR` + anbefalte felt som over).
**Etter fase 3:** Oppdater `.claude/okr.local.md` med eventuell strategisk kontekst-info.
Hvis du skrev én eller flere strategisk-kontekst-filer, regenerér OKF-indeksen for
prosjekt-treet så `index.md` per nivå reflekterer de nye konsept-filene:
```bash
node ${CLAUDE_PLUGIN_ROOT}/scripts/okf-index.mjs .claude/okr
```
(Idempotent: bygger `index.md`-entries fra konsept-filenes `title`/`description`,
bevarer menneske-skrevne overskrifter og rotens `okf_version`.)
### Fase 4 — Struktur (3 min)
@ -450,6 +478,7 @@ Opprett `.claude/okr/syklus/[id]/` med OKR-filer for å bruke arkivering.
```markdown
---
type: Retrospektiv
syklus: [id]
periode: [periode fra config]
arkivert: [dato]
@ -512,7 +541,27 @@ Opprett `.claude/okr/syklus/[id]/` med OKR-filer for å bruke arkivering.
- Oppdater `gjeldende_syklus.periode` til neste periodestreng
7. **Opprett ny syklusmappe** — skriv `.claude/okr/syklus/[ny-id]/status.md` med
tom mal (tabellstruktur med KR-kolonner, ingen data ennå).
OKF-frontmatter + tom mal (tabellstruktur med KR-kolonner, ingen data ennå):
```markdown
---
type: Status
syklus: [ny-id]
title: "Status [ny-id]"
description: "Fremdrift og scoring for syklus [ny-id]"
timestamp: "[ISO-8601]"
---
# OKR Status [ny-id]
[tom tabellstruktur med KR-kolonner]
```
Regenerér deretter OKF-indeksen for prosjekt-treet:
```bash
node ${CLAUDE_PLUGIN_ROOT}/scripts/okf-index.mjs .claude/okr
```
8. **Bekreft** — vis oppsummering:
```

View file

@ -131,7 +131,22 @@ Hjelp med å balansere committed vs aspirational mål.
## Eksempel på komplett output
```
Når en OKR lagres som konsept-fil i second-brain-treet
(`.claude/okr/syklus/[id]/okr-[team].md`), bær den **OKF-frontmatter** (påkrevd
`type: OKR` + anbefalt `resource`/`title`/`description`/`tags`-liste/`timestamp`):
```markdown
---
type: OKR
resource: ".claude/okr/syklus/T2-2026/okr-digital.md"
title: "OKR Digital avdeling T2-2026"
description: "Gjøre tjenestefornyelse friksjonsfri"
tags:
- digital
- tjenestefornyelse
timestamp: "[ISO-8601]"
---
## OKR for Digital avdeling — T2-2026
**Objective**: Gjøre tjenestefornyelse til en friksjonsfri opplevelse

View file

@ -69,7 +69,19 @@ Generer en strukturert check-in:
## Eksempel på output
```
Når statusrapporten lagres som `.claude/okr/syklus/[id]/status.md` i second-brain-treet,
bær filen **OKF-frontmatter** (påkrevd `type: Status` + anbefalt `title`/`description`/
`timestamp`); rapportinnholdet under følger frontmatteren:
```markdown
---
type: Status
syklus: T1-2026
title: "Status T1-2026"
description: "Fremdrift og scoring uke 8 av 16"
timestamp: "[ISO-8601]"
---
## OKR Status - Uke 8 av 16
### Objective: Forbedre trafikksikkerhet i skolesoner