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,2 @@
name: prosesskatalog-2027
bundle_id: eksempel-prosesskatalog-2027

View file

@ -0,0 +1,25 @@
{
"project_id": "driftsavtale-2027",
"items": {
"12.1": {
"quantity": 1.0,
"unit_cost": 6400000.0
},
"12.12": {
"quantity": 22.0,
"unit_cost": 340000.0
},
"22.1": {
"quantity": 94000.0,
"unit_cost": 118.0
},
"52.11": {
"quantity": 41000.0,
"unit_cost": 265.0
},
"51.1": {
"quantity": 31000.0,
"unit_cost": 96.0
}
}
}

View file

@ -0,0 +1,7 @@
# Prosjektdokumenter
TOM med vilje. Scenarioet er MS Office + PDF, men ingen av dem kan mates
inn her: `--docs-dir`-omveien er fraradet (P13 - den omgar stigen `list_bundles -> read_bundle
-> read_dir -> read_file` og de to gatene, §4.1a-dimensjonen og verdict-laget). Veien et ekte
prosjektdokument skal ta er gjennom okf-ingest inn i en kunnskapsbase, altsa en base til - ikke
en katalog ved siden av. Se `docs/invarianter.md`.

View file

@ -0,0 +1,70 @@
{
"project_id": "driftsavtale-2027",
"bundle": "prosesskatalog-2027",
"bundle_id": "eksempel-prosesskatalog-2027",
"must_cite": [
{
"approach_id": "a1-driftsmiljo-omfang",
"rationale": "Midlertidig driftsmiljø er priset som rund sum over 22 måneder. Vi vil vite hva Prosesskatalogen legger i prosessen før vi kan kutte.",
"concepts": [
{
"path": "P900/12-1/_1_id-ce714504-40a5-514d-b2b6-c09e3ca5d30a.md",
"title": "Midlertidig driftsmiljø",
"ref": "12.1"
},
{
"path": "P900/12-12/_1_id-c79e8270-f1dd-5aac-99ec-38733e3f6e5b.md",
"title": "Drift av midlertidig driftsmiljø",
"ref": "12.12"
}
]
},
{
"approach_id": "a2-gjenbruk-maskinvare",
"rationale": "Avtalen har både uttak av maskinvare fra det gamle miljøet og levering av nye diskhyller. Spørsmålet er hva Prosesskatalogen krever av lagringslaget.",
"concepts": [
{
"path": "P900/22-1/_2_id-54d8a548-5073-589e-88f7-f012675f4348.md",
"title": "Uttak av maskinvare fra eksisterende miljø",
"ref": "22.1"
},
{
"path": "P900/52-1/_5_id-3d667f4a-deb2-537f-8ff1-7060f172918e.md",
"title": "Lagringslag",
"ref": "52.1"
},
{
"path": "P900/52-11/_5_id-19db3908-344d-588f-ad53-81420862c48c.md",
"title": "Lagringslag av nye diskhyller",
"ref": "52.11"
}
]
},
{
"approach_id": "a3-plattform-standardisering",
"rationale": "Serverne er beskrevet utskiftet. Vi vil vite hva prosessen for standardisering av plattform omfatter.",
"concepts": [
{
"path": "P900/51-1/_5_id-7077645c-6f89-5b54-a4fa-69a565222707.md",
"title": "Standardisering av plattform",
"ref": "51.1"
}
]
}
],
"honesty": "Alt i dette settet er KONSTRUERT: Eksempelvirksomheten, datasenterflyttingen, overgangsperioden og alle beløpene er oppdiktede størrelsesordener. Også kunnskapsbasen er oppdiktet: prosesskatalog-2027 er generert av examples/syntetiske-kunnskapsbaser/generate.py. Til forskjell fra de to andre settene er affected_codes her prosessnumre fra katalogen selv (12.1, 12.12, 22.1, 51.1, 52.11), lest ut av basens egen prosessnr-frontmatter — men P900 er en beskrivelseskatalog uten priser, så kodene står i basen mens beløpene ikke gjør det. must_cite er lest ordrett ut av basen. Den fjerde tilnærmingen a4-indeksregulering og dens kostkode INDEKS-01 er også KONSTRUERT, og med vilje: den er falsifiseringsarmen, en kostlinje basen ikke bærer grunnlaget for. Settets cost-baseline.json (5 linjer) er avtalens prisskjema, kodet med de samme prosessnumrene, slik en avtale som gjøres opp prosess for prosess prises. Mengdene og enhetsprisene er OPPDIKTEDE størrelsesordener; P900 bærer ingen priser, så ingen av tallene er lest noe sted. a4s INDEKS-01 har ingen linje.",
"must_refuse": [
{
"approach_id": "a4-indeksregulering",
"anchors": [
"indeksregulering",
"kalkyle",
"kostnadsestimat",
"markedspris",
"nåverdi",
"prisstigning"
],
"rationale": "P900 er en prosesskatalog: den beskriver hva som skal leveres og gjøres opp, ikke hva det koster. Kostnadsestimat, markedspris, prisstigning, indeksregulering og nåverdi finnes ikke i basen. Spørsmålene denne tilnærmingen står for: Hvilket kostnadsestimat ligger til grunn for posten for midlertidig driftsmiljø? | Hva er markedsprisen på nye diskhyller i 2027? | Hvordan skal avtalesummen indeksreguleres gjennom overgangsperioden?"
}
]
}

View file

@ -0,0 +1,48 @@
{
"objective": "Kutt kostnad i driftsavtalen for flyttingen av Eksempelvirksomhetens datasenter (22 måneders overgangsperiode) ved å endre hvordan arbeidet beskrives etter Prosesskatalogen, uten å endre hva som leveres.",
"success_criteria": "Minst én tilnærming validerer, og hver validerte tilnærming peker på de prosessene i P900 som faktisk styrer leveransen og oppgjøret for den posten.",
"approaches": [
{
"id": "a1-driftsmiljo-omfang",
"label": "Redusert omfang av midlertidig driftsmiljø og kortere overgangsperiode",
"description": "Midlertidig driftsmiljø er priset som rund sum over 22 måneder. Vi vil vite hva Prosesskatalogen legger i prosessen før vi kan kutte.",
"affected_codes": [
"12.1",
"12.12"
],
"claimed_saving_nok": 4200000.0,
"bundle_id": "eksempel-prosesskatalog-2027"
},
{
"id": "a2-gjenbruk-maskinvare",
"label": "Gjenbruk av uttatt maskinvare som lagringslag i stedet for nye diskhyller",
"description": "Avtalen har både uttak av maskinvare fra det gamle miljøet og levering av nye diskhyller. Spørsmålet er hva Prosesskatalogen krever av lagringslaget.",
"affected_codes": [
"22.1",
"52.11"
],
"claimed_saving_nok": 6800000.0,
"bundle_id": "eksempel-prosesskatalog-2027"
},
{
"id": "a3-plattform-standardisering",
"label": "Standardisering av plattform i stedet for utskifting av servere",
"description": "Serverne er beskrevet utskiftet. Vi vil vite hva prosessen for standardisering av plattform omfatter.",
"affected_codes": [
"51.1"
],
"claimed_saving_nok": 1300000.0,
"bundle_id": "eksempel-prosesskatalog-2027"
},
{
"id": "a4-indeksregulering",
"label": "Kutt ved gunstigere indeksregulering av avtalesummen",
"description": "Vi vil kutte ved å legge en gunstigere indeksregulering til grunn for avtalesummen.",
"affected_codes": [
"INDEKS-01"
],
"claimed_saving_nok": 2500000.0,
"bundle_id": "eksempel-prosesskatalog-2027"
}
]
}