102 lines
4.1 KiB
Markdown
102 lines
4.1 KiB
Markdown
---
|
|
name: beslutning
|
|
description: "Registrerer ja eller nei paa en vurdert stilling i den append-only beslutningsloggen, med begrunnelse fra en lukket enum og scoren slik den stod foer mennesket bestemte seg. Paa ja overleveres saken til sak-skillen. Utloeses av registrer en beslutning, ja på denne stillingen, ja pa denne stillingen, nei på denne stillingen, nei pa denne stillingen og korriger en beslutning."
|
|
triggers:
|
|
- registrer en beslutning
|
|
- ja på denne stillingen
|
|
- ja pa denne stillingen
|
|
- nei på denne stillingen
|
|
- nei pa denne stillingen
|
|
- korriger en beslutning
|
|
---
|
|
|
|
# beslutning
|
|
|
|
Skriver én linje til `beslutninger.jsonl` per stilling operatøren har tatt
|
|
stilling til. Loggen er append-only og **kan ikke migreres** — det som skrives
|
|
feil i dag, står feil for alltid, og kan bare rettes av en ny linje.
|
|
|
|
All operatørrettet tekst er norsk bokmål.
|
|
|
|
## Rekkefølgen
|
|
|
|
1. Stillingen er allerede vurdert av `kandidatvurdering`. Ta vare på `score`,
|
|
`delscore`, `vekter` og `vekt_hash` fra den kjøringen — de skal inn i
|
|
posten.
|
|
2. Spør operatøren rett ut: **ja eller nei?** Ikke anbefal ut fra scoren. Et
|
|
tall er et innspill til beslutningen, ikke beslutningen.
|
|
3. Be om én til tre årsaker fra den lukkede enumen, og et notat på **høyst
|
|
femten ord**.
|
|
4. Skriv posten.
|
|
5. Er svaret `ja`, overlever til `sak`.
|
|
|
|
## Skriv posten
|
|
|
|
```
|
|
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/beslutninger.py \
|
|
--workspace <arbeidsmappa> --json '<posten som JSON>'
|
|
```
|
|
|
|
På Windows heter tolken `python`, ikke `python3`.
|
|
|
|
Feltene er build-brief 5.4: `id`, `dato`, `kilde`, `url`, `tittel`,
|
|
`arbeidsgiver`, `beslutning`, `arsak`, `notat`, `score_da`, `delscore`,
|
|
`vekter`, `vekt_hash`, `korrigerer`. Scriptet legger til `type` og `skjema`.
|
|
|
|
`score_da` er scoren **slik den stod før mennesket bestemte seg**. Den er hele
|
|
læringssignalet: en høy score paret med et nei er nøyaktig det avviket M6 leter
|
|
etter. Regn den aldri ut på nytt, og rund den ikke av.
|
|
|
|
`dato` bærer alltid UTC-forskyvning, som ellers i denne pluginen.
|
|
|
|
Blir posten avvist, navngir avvisningen feltet. Rett feltet og skriv på nytt —
|
|
en avvist post ligger ikke halvveis på disken, valideringen kjører før fila
|
|
åpnes.
|
|
|
|
## Årsakene er tolv, og ikke flere
|
|
|
|
Hele enumen med norsk forklaring står i
|
|
`${CLAUDE_PLUGIN_ROOT}/skills/beslutning/references/arsak.md`. Les den før du
|
|
foreslår en årsak. Passer ingen, er svaret `annet` pluss et presist notat —
|
|
ikke en trettende årsak. En årsak utenfor enumen er en kategori `laering` aldri
|
|
kan telle, verken for eller mot.
|
|
|
|
## På `ja`: overlever til sak
|
|
|
|
Et `ja` skaper en sak; et `nei` skaper ingenting utover loggposten.
|
|
|
|
Sak-id-en utledes av beslutningen, ikke av skjønn: måneden i `dato`,
|
|
arbeidsgiveren og tittelen, foldet til ASCII. `sak_id_for(posten)` i
|
|
`${CLAUDE_PLUGIN_ROOT}/scripts/beslutninger.py` gir den.
|
|
|
|
Beslutningen speiles så inn i saksloggen med `speil_i_sakslogg(...)` fra samme
|
|
modul. **Dette steget hoppes aldri over.** Uten den speilede posten står saken
|
|
fast i `vurderer` for alltid — det er den ene posten som tar den til `soker`.
|
|
|
|
Deretter overtar `sak`: mappa, saksfila fra malen, og oppdateringen av
|
|
hurtigbufferen.
|
|
|
|
## En retting er en ny linje
|
|
|
|
Rediger aldri en linje som er skrevet. En korrigering er en egen post som
|
|
navngir beslutningen den retter:
|
|
|
|
```
|
|
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/beslutninger.py \
|
|
--workspace <arbeidsmappa> --korriger --json '<korrigeringen som JSON>'
|
|
```
|
|
|
|
Den kan rette kilde, url, tittel, arbeidsgiver, beslutning, årsak og notat.
|
|
Den kan **ikke** rette `score_da`: det tallet er en måling av hva scoren var da
|
|
valget ble tatt, og en måling endres ikke av at man senere mener noe annet.
|
|
|
|
Begge linjene blir liggende. Det operatøren først mente er en del av
|
|
materialet, og en logg som slettet det ville vært et dårligere læringssignal
|
|
enn en som beholder begge.
|
|
|
|
## Uten verktøyserveren
|
|
|
|
Er `jobbsok-tools` ikke tilgjengelig, degraderer skillen i stedet for å stoppe:
|
|
be operatøren kjøre kommandoene over fra kommandolinja, og les posten som ble
|
|
skrevet ut. Ikke skriv linja for hånd inn i fila — da omgås valideringen, og en
|
|
ugyldig linje i en append-only logg kan ingen fjerne.
|