# Kontrollrapport

## Levert og fungerende

- `index.html`: frakoblet rapport per **30. juni 2026**, med fem dokumenterbare funn og tre uttrykkelig kvalitative risikotolkninger.
- Sju interaktive grafer: fondets aktivafordeling, aksjegeografi, aksjesektorer, største aksjer, renter med tre visninger, unotert eiendom og unotert fornybar infrastruktur.
- Felles aksjeutvalg for søk, land- og sektorfilter; samme rader brukes i grafer, HHI/toppvekter, tabell og eksport. Hele fondets oversikt og andre aktiva står utenfor disse filtrene.
- Sortering i begge retninger på alle sju aksjekolonner, paginering (25 rader), selskapsdialog med originale felter, CSV-eksport av hele utvalget og tydelig håndtering av tomme resultater.
- Redigerbare kildefiler, beregnede CSV/JSON-data, kildekopier, metode, startkommando og testskript er inkludert.
- Hovedrapportens analyse og øvrige løpende tekst er målt til **1 094 ord**, inkludert overskrifter og kildekommentarer, uten datatabeller, diagrammer, kontrollfelter, navigasjon og dialog. Det er under grensen på 1 500 ord. Full metode ligger separat.

## Datakontroller faktisk gjennomført

1. Lest kolonner, datatyper, manglende felt og radantall i alle fire XLSX-filer. Ingen tomme felter. Unike selskaps-/utstedernavn i aksje-/rentefilen.
2. Sammenlignet alle tilgjengelige felter i CSV og XLSX rad for rad. Siste registreringslandsfelt mangler i 7 077 aksje- og 1 664 renterader i CSV; øvrige felt stemmer. Prosentformatet er normalisert kun for kontroll.
3. Kontrollert åtte kopierte originalfiler byte for byte mot `/pakke`, og SHA-256 mot kilderegisteret. Resultat: `kontroll/kildekontroll.json`.
4. Kontrollert at hvert land i unoterte filer har én konsistent NOK- og USD-landtotal. Summert én gang per Country, ikke per prosjekt/adresse.
5. Regnet ut filsummer og gruppering uten omfangsjustering. Tallene samsvarer med innsamlerens kontrollsummer i dataforklaringen:

| Omfang / hele angitte fil | NOK-sum |
|---|---:|
| Aksjebeholdninger | 16 435 349 656 605 |
| Renteutstedere | 6 087 656 903 011 |
| Unoterte eiendomslandtotaler | 371 200 943 411 |
| Unoterte infrastrukturlandtotaler | 83 383 234 801 |

6. Kjørt databehandlingen på nytt direkte fra `/pakke` til en separat midlertidig mappe: alle åtte genererte datafiler er byte-identiske med leveransen. Alle lokale HTML-lenker og ankere finnes, og norsk PDF-kopi er byte-identisk med originalen. Se `kontroll/reproduksjon.json`.
7. Lest norsk PDF gjennom LibreOffice-import og tekstuttrekk fra den resulterende FODG-filen. Rapportens tabell 1 (PDF-side 5) er også gjengitt og kontrollert visuelt som PNG, spesielt kolonnerekkefølgen «Første halvår 2026». Tekst på PDF-side 4, 8, 9, 11, 12 og 18 er kontrollert mot kilderegister og dataforklaring.
8. Avstemt mot tabell 1, balansen og eiendoms-/infrastrukturtabellene. Differanser og nevnere er bevart i `data/avstemming.csv`. Teknologiandelen og rapportens type-/markedsinndelinger er omtalt med omfangsforbehold.

## Nettleserkontroller faktisk gjennomført

`src/test_rapport.cjs` ble kjørt med Playwright/Chromium. **70 kontrolloppføringer bestått** i `kontroll/testresultat.json`. Kontrollen bruker den komplette beregnede radlisten som forventningsgrunnlag og sammenligner mot nettleserens utvalg, faktiske grafserier, viste tabellceller og eksport.

Prøvd:
- Ufiltrert grunnlag: 7 077 aksjer, eksakt NOK-sum, korrekt topp ti, HHI og effektivt antall.
- Klikk på USAs geografiske søyle, kombinasjon Japan/teknologi og kombinasjon USA/teknologi/søk «NVIDIA».
- Tomt selskapsnavnsøk og tom land-/sektorkombinasjon (Ukraine/Energy), deretter nullstilling.
- Korrekte prosentnevnere i tabell og alle filtrerte aksjevisninger, eierandel adskilt fra porteføljevekt.
- Alle tabellkolonner i begge sorteringsretninger, samt side 2.
- Åpning av selskapsdialog og lukking med Escape.
- Faktisk nedlasting av CSV for NVIDIA-utvalg: én datarad, korrekt NOK-verdi og 100 % av utvalg.
- Faktisk musepeking på **alle sju grafer**: tooltips viser verdier, andeler og nevner/kildegrunnlag. Også faktisk klikkfilter i geografi.
- Alle tre rentevisninger og begge dedupliserte unoterte summer.
- Fondets aktivafordeling forblir identisk etter aksjefiltrering.
- Direkte `file://`-åpning og landfilter Taiwan uten server.
- Mobilformat 390 × 844, Japan-filter, ingen horisontal overflyt for hele siden og faktisk trykk på infrastrukturgraf med tooltip.
- Ingen registrerte skript-/konsollfeil eller eksterne nettverksressurser i hovedtesten.

Visuelt kontrollert på 1440 × 1100 og 390 × 844: oversikt, aksjegrafer, tabell, konsentrasjon, andre aktiva, metode, tooltip og tomtilstand. Skjermbilder i `kontroll/` dokumenterer et utvalg. Filtrerbare søylegrafer fikk animasjon deaktivert etter at en tidlig kontroll viste gamle søyler et kort øyeblikk under overgang til tomt utvalg; sluttversjonen er testet på nytt.

## Kjente mangler og vesentlige forenklinger

- **Ingen dokumentert full avstemmingsbro.** Aksjer og renter avviker fra både oversikt og balanse. Infrastruktur er nær balanselinjen, men 32,765 mill. NOK lavere, og vesentlig under oversikten inkludert bankinnskudd/andre fordringer. Ingen residual er utpekt som sikkert kontant-/derivatbeløp.
- **Ulike avgrensninger holdes adskilt.** Aksjefilens Real Estate-sektor og rapportens børsnoterte eiendomsstrategi er ikke identiske summer. Rapportens markedsgrupper og renteinndeling kan ikke direkte gjenskapes fra filenes Region/Industry.
- **Unoterte aktiva mangler enkeltverdier.** Derfor kun landverdier, rad-/partnerskapstall og kildeunderstøttet omtale – ingen monetær sektor-/prosjektfordeling.
- **Ingen handelshistorikk eller egenkonstruert historikk.** Avkastning er bare rapportens tall for 1. januar–30. juni 2026 i valutakurven. Valgfri månedsfil er ikke brukt.
- **Ingen kvantitativ risikomodell.** HHI er verdikonsentrasjon, ikke volatilitet; valuta, duration, rating, korrelasjon og stresstap estimeres ikke.
- Landnavn beholdes som i NBIM. Norske sektor-/rentenavn er visningsoversettelser; originalene er bevart. Landtilordning er ikke et økonomisk risikokart.
- På små skjermer rulles den brede tabellen og navigasjonen horisontalt. Lange grafetiketter kan forkortes visuelt; full tekst finnes i tooltip/datatabell/dialog.
- Kun Chromium er faktisk testet. Ikke testet i Firefox/Safari eller med skjermleser. Standard HTML-kontroller, tastaturfokus, aria-sort, dialog og tekstlige datatabeller er lagt til, men det hevdes ingen full tilgjengelighetssertifisering. Utskrift er ikke en separat kvalitetssikret rapportleveranse.
- Kopierte primærkilder og lokale biblioteker gir offlinebruk. Python-/Node-testavhengigheter er dokumentert, ikke bundlet som miljøer.
- Kilderegisteret henviser til en `LES_MEG.md` som ikke finnes i oppgavens listede materiale. Tilgjengelige vilkår er gjengitt fra `kilder.md`; ingen publiseringstillatelse eller godkjenning er antatt.

## Verktøy faktisk brukt

- Bash/Linux: filhåndtering, lokal HTTP-server og kjøring av skript.
- Python 3.12.3, pandas 2.1.4 og openpyxl 3.1.2 til data; NumPy 1.26.4 som pandas-avhengighet. Standardbibliotekets CSV, JSON, hashlib, pathlib og XML, samt lxml til kontrolluttrekk fra PDF-import.
- LibreOffice 24.2.7.2: norsk PDF importert til FODG og utvalgt rapportside eksportert til PNG. `pdftotext` var ikke installert og ble ikke brukt til sluttkontrollen.
- Node.js 22.18.0, Apache ECharts 5.6.0, Playwright 1.55.0 og Chromium 140.0.7339.16.
- `skjermbilde` for første nettlesergjengivelse og Playwright for ytterligere skjermbilder/interaksjoner; `se_bilde` for visuell kontroll.

Ingen nettverkshenting, pakkeinstallasjon eller eksternt faktagrunnlag. Modell-ID, tidsbruk og kostnad er ikke anslått; disse føres av kjøresystemet.
