refactor(examples): replace sector-specific example material with generic, fictitious examples

The context sets, the packaged knowledge bases and the example bundles are
replaced by one fictitious example set about IT operations in an invented
organisation: three context sets (serverrom-2027, driftsavtale-2027 and the
two-base drift-og-avtale-2027), two synthetic knowledge bases under
src/portfolio_optimiser/data/kunnskapsbaser and two example bundles under
src/portfolio_optimiser/data/bundles. Numbers, codes and structural values in
tests and fixtures are kept; names, ids and wording change. Dated measurement
documents that only recorded runs on the replaced material are deleted.

Gate figures measured on the new set are not comparable with earlier ones.
The exclusion gate from the previous commit is green: 0 tracked files hit
outside the shared/ subtree.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-09-23 15:04:21 +02:00
commit 37547fe292
Signed by: ktg
SSH key fingerprint: SHA256:JakMjO6FTBBzN0Bhfj9saOoEjaFxlSdYuZQQpM/lF9Q
1147 changed files with 24138 additions and 9503 deletions

View file

@ -0,0 +1,326 @@
{
"about": "Fictional source for the two example knowledge bases. Eksempelvirksomheten, its requirements and its process catalogue are invented; no real organisation, place, person or publication is described. generate.py turns this file into OKF bundles.",
"ingested_at": "2027-01-15T12:00:00Z",
"honesty": "Alt innhold i denne kunnskapsbasen er oppdiktet eksempelmateriale om IT-drift i den fiktive Eksempelvirksomheten. Det er generert deterministisk av examples/syntetiske-kunnskapsbaser/generate.py fra kilde.json, og ingen tekst er hentet fra en virkelig standard.",
"driftskrav": {
"name": "driftskrav-2027",
"bundle_id": "eksempel-driftskrav-2027",
"source_root": "https://example.invalid/eksempelvirksomheten/driftskrav",
"aspects": [
{
"krav": "{S} skal være dokumentert med eier, plassering og driftsrutiner før tjenesten settes i drift.",
"veiledning": "Dokumentasjonen holdes i driftshåndboken og oppdateres ved hver endring."
},
{
"krav": "{S} skal overvåkes kontinuerlig, og avvik skal varsles til driftssenteret innen {m} minutter.",
"veiledning": "Varslingstiden regnes fra avviket oppstår til driftssenteret har mottatt alarmen."
},
{
"krav": "Forebyggende vedlikehold av {s} skal utføres minst {k} ganger per år.",
"veiledning": "Vedlikeholdet følger produsentens anvisning og protokollføres i vedlikeholdsplanen."
},
{
"krav": "{S} skal funksjonstestes minst én gang per år, og resultatet skal protokollføres.",
"veiledning": "Testen gjennomføres i et avtalt vindu og med en plan for tilbakeføring."
},
{
"krav": "Endringer i {s} skal gjennomføres etter godkjent endringsrutine og med plan for tilbakeføring.",
"veiledning": "Mindre standardendringer kan forhåndsgodkjennes i endringsrutinen."
},
{
"krav": "{S} skal ha en kapasitetsreserve på minst {p} % ved normal last.",
"veiledning": "Reserven vurderes på nytt når driftsklassen for en tjeneste endres."
},
{
"krav": "Avvik som gjelder {s}, skal registreres i avvikssystemet og lukkes med dokumentert årsak.",
"veiledning": "Gjentatte avvik av samme art behandles som et problem og følges opp særskilt."
},
{
"krav": "{S} bør gjennomgås årlig mot gjeldende trusselbilde og driftsbehov.",
"veiledning": "Gjennomgangen kan samordnes med den årlige risikovurderingen."
}
],
"parameters": {
"m": [5, 10, 15, 30],
"k": [2, 4, 6],
"p": [10, 15, 20, 25, 30]
},
"parts": [
{
"id": "D100",
"title": "Brukerflate og klientdrift",
"scope": "Delen stiller krav til klientplattform, brukerstøtte, tilgang og utstyr på arbeidsplasser og i møterom.",
"sections": [
{"nr": "1.1", "title": "Standardklient", "subject": "standardklienten", "count": 6},
{"nr": "1.2", "title": "Programvaredistribusjon", "subject": "programvaredistribusjonen", "count": 5},
{"nr": "1.3", "title": "Oppdateringer", "subject": "oppdateringsrutinen for klienter", "count": 5},
{"nr": "2.1", "title": "Tjenestedisk", "subject": "tjenestedisken", "count": 6},
{"nr": "2.2", "title": "Responstid", "subject": "responstiden for henvendelser", "count": 5},
{"nr": "3.1", "title": "Brukerkontoer", "subject": "brukerkontoene", "count": 6},
{"nr": "3.2", "title": "Tofaktorpålogging", "subject": "tofaktorpåloggingen", "count": 5},
{"nr": "4.1", "title": "Skjermer", "subject": "skjermene på arbeidsplassene", "count": 4},
{
"nr": "4.2.5.1",
"title": "Skjerm og kamera",
"veiledning": "Kravene gjelder møterom med fast utstyr. Mobile løsninger omfattes ikke.",
"krav": [
["1", "Hvert møterom med fast utstyr skal ha skjerm og kamera som dekker alle sitteplasser."],
["2", "Skjermen skal kunne vise innhold fra både bærbar klient og videomøte uten omkobling av kabler."],
["3", "Skjerm og kamera skal kunne styres fra ett panel, og oppsettet skal være likt i alle møterom av samme størrelse."]
]
}
]
},
{
"id": "D200",
"title": "Serverrom og infrastruktur",
"scope": "Delen stiller krav til serverrom, strømforsyning, kjøling, lagring, nettverk og overvåking.",
"sections": [
{"nr": "1.1", "title": "Omfang", "subject": "driftsmiljøet", "count": 6},
{"nr": "1.2", "title": "Driftsklasser", "subject": "driftsklassene", "count": 6},
{"nr": "1.3", "title": "Dokumentasjon", "subject": "driftsdokumentasjonen", "count": 6},
{"nr": "2.1", "title": "Plassering", "subject": "serverrommet", "count": 7},
{"nr": "2.2", "title": "Gulv og bæreevne", "subject": "det tekniske gulvet", "count": 5},
{"nr": "2.3", "title": "Adgangskontroll", "subject": "adgangskontrollen til serverrommet", "count": 7},
{"nr": "2.4", "title": "Brannsikring", "subject": "brannslokkeanlegget", "count": 7},
{"nr": "2.5", "title": "Vannlekkasje", "subject": "lekkasjedeteksjonen", "count": 5},
{"nr": "3.1", "title": "Hovedtilførsel", "subject": "hovedtilførselen", "count": 6},
{
"nr": "3.2.1",
"title": "Autonomitid",
"veiledning": "Autonomitiden gjelder UPS-anlegget alene, uten bidrag fra nødstrømsaggregatet.",
"krav": [
["1", "UPS-anlegget skal gi en autonomitid på minst 15 minutter ved full last i driftsklasse 1."],
["2", "Autonomitiden skal være lang nok til at nødstrømsaggregatet kan starte og overta lasten, med minst 5 minutters margin."],
["3", "Autonomitiden skal verifiseres ved belastningstest minst én gang per år."],
["4", "Der nødstrømsaggregat mangler, skal autonomitiden være lang nok til kontrollert nedstenging av alle tjenester i driftsklasse 1 og 2."]
]
},
{"nr": "3.2.2", "title": "Batterier", "subject": "batteribanken", "count": 7},
{"nr": "3.2.3", "title": "Bypass", "subject": "bypass-bryteren", "count": 5},
{"nr": "3.3", "title": "Nødstrømsaggregat", "subject": "nødstrømsaggregatet", "count": 8},
{"nr": "3.4", "title": "Strømfordeling", "subject": "strømfordelingen i rackradene", "count": 7},
{"nr": "3.5", "title": "Jording", "subject": "jordingsanlegget", "count": 5},
{
"nr": "4.1.1",
"title": "Dimensjonering",
"veiledning": "Målt varmelast er grunnlaget. Installert merkeeffekt overvurderer som regel lasten.",
"krav": [
["1", "Kjøleanlegget skal dimensjoneres etter målt varmelast pluss dokumentert vekst i avtaleperioden, ikke etter installert merkeeffekt."],
["2", "Kjølekapasiteten skal ha en reserve på minst 20 % over dimensjonerende varmelast."],
["3", "Dimensjonerende varmelast skal måles over minst fire uker før kapasiteten fastsettes."],
["4", "Kjølekapasiteten skal kunne utvides trinnvis uten at serverrommet må tas ut av drift."],
["5", "Dimensjoneringsgrunnlaget skal dokumenteres og oppdateres når varmelasten endres med mer enn 10 %."]
]
},
{"nr": "4.1.2", "title": "Redundans", "subject": "redundansen i kjøleanlegget", "count": 6},
{"nr": "4.1.3", "title": "Kuldemedium", "subject": "kuldemediet", "count": 5},
{"nr": "4.2.1", "title": "Kaldgang", "subject": "kaldgangen", "count": 6},
{"nr": "4.2.2", "title": "Varmgang", "subject": "varmgangen", "count": 5},
{"nr": "4.2.3", "title": "Blindplater", "subject": "blindplatene i rackskapene", "count": 5},
{"nr": "4.3", "title": "Temperatur og fukt", "subject": "temperaturen og fuktigheten i serverrommet", "count": 7},
{
"nr": "4.4",
"title": "Frikjøling",
"veiledning": "Frikjøling reduserer driften av kompressorer i de kalde delene av året.",
"krav": [
["1", "Frikjøling skal benyttes når utetemperaturen tillater det, og styringen skal skifte automatisk mellom frikjøling og mekanisk kjøling."],
["2", "Frikjølingsanlegget skal ha filter som hindrer støv og fukt i å nå serverrommet."],
["3", "Omkoblingen mellom frikjøling og mekanisk kjøling skal ikke gi temperaturavvik utenfor tillatt område i serverrommet."]
]
},
{"nr": "5.1", "title": "Lagringssystemer", "subject": "lagringssystemene", "count": 8},
{"nr": "5.2.1", "title": "Kopifrekvens", "subject": "sikkerhetskopieringen", "count": 7},
{
"nr": "5.2.2",
"title": "Lagringsklasser",
"veiledning": "En lagringsklasse beskriver hvor raskt en kopi kan hentes fram igjen, ikke hvilket utstyr den ligger på.",
"krav": [
["1", "Sikkerhetskopier skal lagres i minst to lagringsklasser, der minst én er atskilt fra produksjonsmiljøet."],
["1_1", "Sikkerhetskopier eldre enn 90 dager kan flyttes til en lagringsklasse med lengre gjenopprettingstid, dersom gjenopprettingstiden for tjenestens driftsklasse fortsatt overholdes."],
["2", "Lagringsklassen for hver tjeneste skal fremgå av driftsdokumentasjonen."]
]
},
{"nr": "5.2.3", "title": "Gjenoppretting", "subject": "gjenopprettingen fra sikkerhetskopi", "count": 7},
{"nr": "5.3", "title": "Arkivering", "subject": "arkivlagringen", "count": 6},
{"nr": "6.1", "title": "Kjernenett", "subject": "kjernenettet", "count": 7},
{"nr": "6.2", "title": "Kabling", "subject": "kablingen", "count": 7},
{"nr": "6.3", "title": "Merking", "subject": "merkingen av kabler og porter", "count": 5},
{
"nr": "6.4",
"title": "Rackskap",
"veiledning": "Gjenbrukte rackskap omfattes av de samme kravene som nye.",
"krav": [
["1", "Rackskap skal ha dokumentert bæreevne og være forankret til gulv eller vegg."],
["2", "Rackskap skal ha lås, og nøkler skal forvaltes etter rutinen for adgangskontroll."],
["3", "Rackskap som gjenbrukes, skal kontrolleres for skader og bæreevne før montering."],
["4", "Hvert rackskap skal ha to uavhengige strømskinner i driftsklasse 1."]
]
},
{"nr": "7.1", "title": "Overvåking", "subject": "overvåkingssystemet", "count": 8},
{"nr": "7.2", "title": "Alarmer", "subject": "alarmhåndteringen", "count": 7},
{"nr": "7.3", "title": "Vedlikehold", "subject": "vedlikeholdsplanen", "count": 6},
{"nr": "7.4", "title": "Endringer", "subject": "endringsrutinen", "count": 6},
{"nr": "7.5", "title": "Avvik", "subject": "avvikshåndteringen", "count": 6}
]
},
{
"id": "D500",
"title": "Informasjonssikkerhet og kontinuitet",
"scope": "Delen stiller krav til sikkerhetsstyring, tilgang, logging, beredskap og oppfølging av leverandører.",
"sections": [
{"nr": "1.1", "title": "Sikkerhetsstyring", "subject": "styringssystemet for informasjonssikkerhet", "count": 5},
{"nr": "1.2", "title": "Risikovurdering", "subject": "risikovurderingen", "count": 5},
{"nr": "2.1", "title": "Privilegerte kontoer", "subject": "de privilegerte kontoene", "count": 5},
{"nr": "2.2", "title": "Tilgangsgjennomgang", "subject": "tilgangsgjennomgangen", "count": 4},
{"nr": "3.1", "title": "Sikkerhetslogg", "subject": "sikkerhetsloggen", "count": 5},
{"nr": "4.1", "title": "Beredskapsplan", "subject": "beredskapsplanen", "count": 5},
{"nr": "4.2", "title": "Gjenopprettingstid", "subject": "gjenopprettingstiden for kritiske tjenester", "count": 5},
{"nr": "5.1", "title": "Leverandøroppfølging", "subject": "leverandøroppfølgingen", "count": 4}
]
}
]
},
"prosesskatalog": {
"name": "prosesskatalog-2027",
"bundle_id": "eksempel-prosesskatalog-2027",
"catalogue": "P900",
"catalogue_title": "P900 Prosesskatalogen",
"edition": "P900 Prosesskatalogen:2027",
"source_root": "https://example.invalid/eksempelvirksomheten/prosesskatalog",
"scope": "Prosesskatalogen beskriver hva hver prosess i en driftsleveranse omfatter, slik at en avtale kan beskrives og gjøres opp prosess for prosess. Katalogen bærer ingen priser.",
"default_omfang": "Omfatter {obj} i avtaleperioden, med planlegging, gjennomføring, kontroll og dokumentasjon.",
"default_subs": [
{"title": "Etablering av {obj}", "omfang": "Omfatter etablering av {obj} fram til driftsklar tilstand, med konfigurasjon, test og overlevering til drift."},
{"title": "Drift av {obj}", "omfang": "Omfatter drift av {obj} i avtaleperioden. Arbeid som ikke inngår i egne prosesser, forutsettes inkludert i enhetsprisene."},
{"title": "Avvikling av {obj}", "omfang": "Omfatter avvikling av {obj}, med sikker sletting av data og tilbakelevering av utstyr."}
],
"default_subs_for_first": 2,
"main": [
{
"nr": "1",
"title": "Forberedende tiltak og generelle kostnader",
"groups": [
{"nr": "11", "title": "PROSJEKTLEDELSE OG ADMINISTRASJON", "processes": [
{"title": "Prosjektledelse"}, {"title": "Leveransedokumentasjon"}, {"title": "Rapportering"}]},
{"nr": "12", "title": "DRIFTSMILJØ OG GENERELLE DRIFTSKOSTNADER", "processes": [
{
"title": "Midlertidig driftsmiljø",
"omfang": "Omfatter etablering, drift og avvikling av midlertidig driftsmiljø i overgangsperioden, med servere, lagring og nettverk som trengs mens tjenestene flyttes. Omfatter også administrasjon av driftsmiljøet i den grad dette ikke inngår i egne prosesser eller er inkludert i enhetsprisene.",
"subs": [
{"title": "Etablering av midlertidig driftsmiljø", "omfang": "Omfatter oppsett av servere, lagring, nettverk og tilganger for det midlertidige driftsmiljøet fram til driftsklar tilstand."},
{"title": "Drift av midlertidig driftsmiljø", "omfang": "Omfatter overvåking, oppdatering, sikkerhetskopi og brukerstøtte for det midlertidige driftsmiljøet så lenge det er i bruk. Prosessen gjøres opp per måned."},
{"title": "Avvikling av midlertidig driftsmiljø", "omfang": "Omfatter nedstenging av det midlertidige driftsmiljøet, sikker sletting av data og tilbakelevering av utstyr."}
]
},
{"title": "Testmiljø"}, {"title": "Opplæringsmiljø"}]},
{"nr": "13", "title": "KARTLEGGING", "processes": [
{"title": "Kartlegging av tjenester"}, {"title": "Kartlegging av avhengigheter"}, {"title": "Kartlegging av lisenser"}]},
{"nr": "14", "title": "SIKKERHET I PROSJEKTPERIODEN", "processes": [
{"title": "Tilgangsstyring i prosjektet"}, {"title": "Sikkerhetsvurdering"}, {"title": "Beredskap i prosjektperioden"}]},
{"nr": "15", "title": "KVALITETSSIKRING", "processes": [
{"title": "Kvalitetsplan"}, {"title": "Revisjon"}, {"title": "Sluttkontroll"}]}
]
},
{
"nr": "2",
"title": "Migrering og dataflytting",
"groups": [
{"nr": "21", "title": "FORBEREDELSE AV MIGRERING", "processes": [
{"title": "Migreringsplan"}, {"title": "Prøvemigrering"}, {"title": "Datavask"}]},
{"nr": "22", "title": "UTTAK OG FLYTTING", "processes": [
{
"title": "Uttak av maskinvare fra eksisterende miljø",
"omfang": "Omfatter demontering og uttak av servere, disker og nettverksutstyr fra eksisterende miljø, med sikker sletting av data før utstyret flyttes. Utstyr som skal gjenbrukes, skal testes og merkes ved uttak.",
"subs": []
},
{"title": "Flytting av data"}, {"title": "Flytting av tjenester"}]},
{"nr": "23", "title": "VERIFISERING", "processes": [
{"title": "Datakontroll"}, {"title": "Funksjonstest"}, {"title": "Ytelsestest"}]},
{"nr": "24", "title": "PARALLELLDRIFT", "processes": [
{"title": "Parallelldrift"}, {"title": "Tilbakefallsplan"}, {"title": "Avslutning av parallelldrift"}]},
{"nr": "25", "title": "AVVIKLING AV GAMMELT MILJØ", "processes": [
{"title": "Sletting av data"}, {"title": "Tilbakelevering av utstyr"}, {"title": "Gjenvinning av utstyr"}]}
]
},
{
"nr": "3",
"title": "Nettverk og kabling",
"groups": [
{"nr": "31", "title": "KJERNENETT", "processes": [
{"title": "Kjernesvitsjer"}, {"title": "Ruting"}, {"title": "Nettverkssegmentering"}]},
{"nr": "32", "title": "KABLING", "processes": [
{"title": "Horisontal kabling"}, {"title": "Fiberkabling"}, {"title": "Patching"}]},
{"nr": "33", "title": "TRÅDLØST NETT", "processes": [
{"title": "Tilgangspunkter"}, {"title": "Dekningsmåling"}, {"title": "Gjestenett"}]},
{"nr": "34", "title": "FJERNTILGANG", "processes": [
{"title": "Fjerntilgangsløsning"}, {"title": "Tofaktorpålogging"}, {"title": "Tilgangslogging"}]},
{"nr": "35", "title": "NETTVERKSOVERVÅKING", "processes": [
{"title": "Trafikkovervåking"}, {"title": "Kapasitetsrapportering"}, {"title": "Feilsøking"}]}
]
},
{
"nr": "4",
"title": "Klientdrift og brukerstøtte",
"groups": [
{"nr": "41", "title": "KLIENTER", "processes": [
{"title": "Utrulling av klienter"}, {"title": "Klientoppdateringer"}, {"title": "Innsamling av klienter"}]},
{"nr": "42", "title": "PROGRAMVARE", "processes": [
{"title": "Programvarepakking"}, {"title": "Lisensforvaltning"}, {"title": "Programvaredistribusjon"}]},
{"nr": "43", "title": "BRUKERSTØTTE", "processes": [
{"title": "Tjenestedisk"}, {"title": "Feltstøtte"}, {"title": "Opplæring av brukere"}]},
{"nr": "44", "title": "MØTEROM", "processes": [
{"title": "Møteromsutstyr"}, {"title": "Videokonferanse"}, {"title": "Romstyring"}]},
{"nr": "45", "title": "UTSKRIFT", "processes": [
{"title": "Skrivere"}, {"title": "Utskriftskø"}, {"title": "Forbruksmateriell"}]}
]
},
{
"nr": "5",
"title": "Plattform og infrastruktur",
"groups": [
{"nr": "51", "title": "PLATTFORMGRUNNLAG", "processes": [
{
"title": "Standardisering av plattform",
"omfang": "Omfatter samordning av eksisterende servere til én felles plattformversjon, med oppgradering av operativsystem og fastvare, i stedet for utskifting av maskinvaren. Maskinvare som ikke kan standardiseres, skal navngis og behandles i egen prosess.",
"subs": []
},
{"title": "Virtualisering"}, {"title": "Containerplattform"}]},
{"nr": "52", "title": "LAGRINGSLAG OG DISKER", "processes": [
{
"title": "Lagringslag",
"omfang": "Omfatter levering, montering og konfigurasjon av lagringslag for virtuelle maskiner og databaser. Lagringslaget skal ha dokumentert ytelse og redundans før det tas i bruk.",
"subs": [
{"title": "Lagringslag av nye diskhyller", "omfang": "Omfatter levering og montering av nye diskhyller med disker til lagringslaget. Disker skal være iht. produsentens spesifikasjon, avsnitt 1.10.4."},
{"title": "Lagringslag av gjenbrukt maskinvare", "omfang": "Omfatter oppsett av lagringslag av disker og diskhyller tatt ut av eksisterende miljø. Gjenbrukt utstyr skal være testet, slettet og merket ved uttak, og ytelsen skal dokumenteres før bruk."},
{"title": "Drift av lagringslag", "omfang": "Omfatter drift av lagringslaget i avtaleperioden, med kapasitetsoppfølging og utskifting av feilede disker."}
]
},
{"title": "Diskutskifting"}, {"title": "Kapasitetsutvidelse"}]},
{"nr": "53", "title": "SERVERROM", "processes": [
{"title": "Rackskap"}, {"title": "Strømfordeling"}, {"title": "Kjøling av serverrom"}]},
{"nr": "54", "title": "RESERVEKRAFT", "processes": [
{"title": "UPS-anlegg"}, {"title": "Nødstrømsaggregat"}, {"title": "Omkoblingstest"}]},
{"nr": "55", "title": "OVERVÅKING", "processes": [
{"title": "Overvåkingsplattform"}, {"title": "Alarmmottak"}, {"title": "Hendelseslogg"}]}
]
},
{
"nr": "6",
"title": "Lagringssystemer og arkiv",
"groups": [
{"nr": "61", "title": "ARKIVTJENESTER", "processes": [
{"title": "Arkivlagring"}, {"title": "Arkivuttrekk"}, {"title": "Arkivkontroll"}]},
{"nr": "62", "title": "SIKKERHETSKOPI", "processes": [
{"title": "Kopiering"}, {"title": "Kopi utenfor hovedlokasjonen"}, {"title": "Kopikontroll"}]},
{"nr": "63", "title": "GJENOPPRETTING", "processes": [
{"title": "Gjenopprettingstest"}, {"title": "Gjenopprettingsplan"}, {"title": "Fullskala gjenoppretting"}]},
{"nr": "64", "title": "DATASLETTING", "processes": [
{"title": "Sletterutiner"}, {"title": "Sletting av lagringsmedier"}, {"title": "Slettebevis"}]},
{"nr": "65", "title": "LAGRINGSSYSTEMER", "processes": [
{"title": "Blokklagring"}, {"title": "Fillagring"}, {"title": "Objektlagring"}]}
]
}
]
}
}