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>
Hooken teller alle rader merket At Risk/Off Track under ett og sier «vurder
tiltak». okr-framework.md:605 sier samtidig at de fleste stretch-KR BOER staa
At Risk, og at permanent groent er sandbagging-signalet -- saa for en sunn
aspirational-portefoelje peker varselet feil vei: eneste maate aa dempe det paa
er aa merke stretch-KR groenne.
Kollisjonen er ikke ny i art (en haandskrevet status.md ble talt likt), men fra
1.10.0 fylles kolonnen deterministisk, saa den inntreffer alltid. Fikset hoerer
hjemme i hooken, ikke i skriveleddet, og foeres som patch-lane-post.
Operatoerbeslutning: dokumenter naa, fiks i egen oekt med egen TDD-syklus.
Ogsaa: sporing.md stavet samme KR-navn paa to maater i to eksempler (fixturens
ASCII-form lakk inn i det ene). Oppslaget er eksakt match paa kr*_navn, saa to
stavemaater i samme fil er en felle.
Kjeden /okr:rapport -> /okr:sporing -> status.md var beskrevet i prosa, men
manglet et mekanisk ledd: ingenting foerte en generert rad inn i status.md --
fila coaching-hook teller at-risk-KR i, /okr:moeter bygger agenda fra, og
/okr:oppsett arkiver leser sluttscorer fra. Rot-aarsaken var at HELE
sporings-stien var lesende (ingen Write/Edit/Bash i allowed-tools).
scripts/syklus-status.mjs tar confidence som JSON paa stdin og bygger radene
gjennom statusrapport() i lib/syklus-rapport.mjs -- samme kode som
tertialrapporten. Aritmetikken kan derfor ikke drifte fra /okr:rapport, fordi
det ikke finnes en andre implementasjon av den. En LLM skriver ikke av et tall
paa veien, og en maskin utleder ikke et trafikklys: beslutning 9 staar, presist
formulert som at generatoren PLASSERER en etikett den faar inn som data og
UTLEDER aldri en.
Haandhevet i kode, ikke i prosa: lukket vokabular (On Track/At Risk/Off Track),
full dekning (en tom confidence-celle ville lest som groenn hos hver konsument),
typo-fangst paa ukjente KR-navn, og kuratert-fil-vern -- en status.md uten
provenans-noekkelen `kilde: sporing` er haandholdt og overskrives aldri (samme
mekanikk som innboks-write bruker med `kilde: innboks`).
Suite 329 -> 343. Fem vakter mutasjons-verifisert: rad-drift mot
tertialrapporten, vokab, dekning (baade alene og sammen med vokab-vakten som
overlapper den), og kuratert-vernet.
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
F-i: seks kommandoer paastod fortsatt at hooken for-injiserer en fil-liste.
Skrevet om til post-1.6.0-moensteret (analyse.md:13-20 / governance / kvalitet):
disk-oppdagelse via Glob + peker til okr-second-brain-search for bredere wiki-
kontekst + kjerne-profil for organisasjon/syklus.
- sporing.md: blokk + den stale "Automatisk OKR-lasting"-underseksjonen UTENFOR
headeren fjernet (enumererings-logikk, ikke bare header-paastand)
- skriv.md, moter.md, gap.md, export.md, innforing.md: blokk
F-c (sporing): egne confidence-nivaaer ("Paa sporet / I fare / Blokkert" med
trend-kriterier) + et fjerde vokab ("Confidence level: Medium") -> refererer den
kanoniske confidence-tabellen i okr-framework.md; trend er naa ETT innspill, ikke
en definisjon. Eksempel-output bruker samme kanoniske merkelapper.
F-d (moter): check-in-motet stod "Ukentlig eller annenhver uke, 15-30 min,
Team + leder" -> kanonisk "Ukentlig, 15 min, Team", med eksplisitt note om at den
maanedlige statusgjennomgangen for ledergruppen er et EGET mote (annet publikum).
Verifisert konsistent uten endring: innforing.md:117-118 (ukentlige check-ins +
maanedlig review med sponsor) foelger allerede kanon. 1:1-kadensen i moter.md
er CFR-styrt (cfr-framework.md), ikke dekket av kadens-tabellen - urort.
Vakt-case (i): 8/9 kommandoer lukket. Gjenstaaende treff er KUN kaskade.md
(Step 13, Wave 5); freshen-references.md er utenfor 1.8.0-scope by design.
Suite 163/162/1.