test(okr): generiske, fiktive fixturer og testdata

okf-realistic har samme struktur og samme tall som før. Organisasjonen er
Fjordvik kommune (fiktiv), og OKR-fila heter okr-vannforsyning.md, så den
alfabetiske rekkefølgen mot okr-digitalisering.md holder. KR2 går fra 12
til 20 med nå-verdi 17, og scoren er fortsatt 0.625. Retrieval-testene
bruker fortsatt «nullvisjon», og disambigueringen bruker et felles token i
tittel og status-kropp, så de tester det samme på nytt innhold.
docx-fixturen er bygget på nytt med bare document.xml endret. Øvrige
testdata (KR-navn, sektorverdi, eksempeltekst) er nøytrale.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-09-23 12:27:22 +02:00
commit 6712f855ed
Signed by: ktg
SSH key fingerprint: SHA256:JakMjO6FTBBzN0Bhfj9saOoEjaFxlSdYuZQQpM/lF9Q
17 changed files with 61 additions and 61 deletions

View file

@ -85,10 +85,10 @@ test('(2a) invariant 1: typen er merket i rapporteringen', () => {
test('(2b) invariant 2: committed rapporteres binaert mot kravet', () => {
const md = rapport();
// Avvik-kolonnen finnes, og tunnel-KR2 (17 av 20) er et avvik selv om
// Avvik-kolonnen finnes, og hoeydebasseng-KR2 (17 av 20) er et avvik selv om
// scoren er 0.63 -- et krav er naadd eller ikke.
assert.match(md, /\|\s*Avvik\s*\|/, 'mangler Avvik-kolonne for committed');
const rad = md.split('\n').find((l) => l.includes('oppgradert sikkerhetsutrustning'));
const rad = md.split('\n').find((l) => l.includes('oppgradert sikringsutstyr'));
assert.ok(rad, 'fant ikke committed-KR-raden');
assert.match(rad, /\|\s*Ja\s*\|/, 'committed under target maa merkes som avvik');
});
@ -203,7 +203,7 @@ test('(8a) del III bygger paa aarsrapportens eget anker og en seksjon per Object
assert.match(md, /[Aa]arets aktiviteter og resultater/, 'del III-ankeret mangler');
const objectives = md.split('\n').filter((l) => /^##\s+(?!Flerarig|Aspirational|Avvik)/.test(l));
assert.equal(objectives.length, 2, `forventet 2 Objective-seksjoner, fant ${objectives.length}`);
assert.match(md, /Trafikksikkerhet og tunnelsikkerhet/);
assert.match(md, /Forsyningssikkerhet for drikkevann/);
assert.match(md, /Digitalisering av tjenester/);
});
@ -290,7 +290,7 @@ test('(9c) styringsparametere kobles mot tildelingsbrevet, og oppfinnes ikke', (
// Generatoren leser ikke tildelingsbrevet -- den har bare syklusdataene. Da er
// koblingen et felt den RESERVERER, aldri et den fyller. Hvert Objective staar
// i tabellen; kravet ved siden av er tomt.
assert.match(kropp, /Trafikksikkerhet og tunnelsikkerhet/);
assert.match(kropp, /Forsyningssikkerhet for drikkevann/);
assert.match(kropp, /Digitalisering av tjenester/);
assert.match(kropp, /[Ff]ylles ut/, 'koblingen maa vaere merket som utfylles av virksomheten');
});
@ -327,7 +327,7 @@ function avvikKropp(md) {
}
// Fixturens KR-er, med de rollene steg 7 ga dem.
const COMMITTED_UNDER_KRAV = 'Tunneler med oppgradert sikkerhetsutrustning';
const COMMITTED_UNDER_KRAV = 'Hoeydebasseng med oppgradert sikringsutstyr';
const ASPIRATIONAL_LAV_SCORE = ['Andel digitale soeknader', 'Gjennomsnittlig saksbehandlingstid'];
for (const [navn, bygger] of FORMER) {