# Troubleshooting

Q: The viewer fails to open or `viewer.html` is not found. A: Ensure the `viewer` folder exists next to the executable or in a likely location. If the viewer is in the repository root, start the app from project root or copy the `viewer` folder next to the executable.

Q: Save dialog suggests unexpected folder. A: The default folder is `%USERPROFILE%\Documents\Solsem Consulting\CVSmia`. Create or adjust permissions if necessary.

Q: JSON validation fails. A: The app validates JSON against the schema configured in `Settings:JsonResumeSchemaPath` (default is `jsonresume-schema.json`). The value can point to a file or a folder (for `$ref`-based schemas). If it's a folder with a single `.json`, that file is used. Inspect the error summary shown by the app and fix missing or malformed fields.

Q: Hvordan overstyrer jeg AI-systeminstruks og prompt uten å rekompilere? A: Rediger `ai-prompts.json` ved siden av appen for standardverdier i miljøet. For lokal bruker-overstyring uten å røre installasjonen, opprett `%APPDATA%\Solsem Consulting\CVSmia\ai-prompts.override.json`. Appen bruker fallback til innebygde standarder hvis filen mangler eller har ugyldig format.

Q: Hvorfor ser jeg ikke `AI Assistert CV Manipulator` i appen? A: Modulen krever egen betalt lisens. Hvis lisensen ikke inkluderer `AiAssistedCvManipulator`, blir fanen og modulmenyen skjult.

Q: `Ctrl+O` åpner ikke kildedata i riktig modul. A: `Ctrl+O` rutes etter aktiv fane. I `AI Assistert CV Manipulator` laster den inn tekst i venstre tekstfelt. I `Customizer` og `AI-Customizer` åpner den respektive kildeinnlesing. Kontroller at riktig tab er valgt før du bruker snarveien.

Q: Hvordan endrer jeg preset-listen i `AI Assistert CV Manipulator`? A: Bruk `Rediger instruksjoner` i modulen, eller rediger `ai-assisted-cv-manipulator-instructions.json` i app-mappen direkte. Hvis JSON-filen er ugyldig, brukes ikke de nye presetene før formatet er rettet.

Q: Betalt lisens ble avvist av SentinelCore ved oppstart. A: Dette betyr at den lokale lisensfilen var gyldig nok til å trigge call-home, men at `POST /v1/licenses/verify` returnerte avslag. Samme kontroll kjøres også når du installerer eller reload'er en betalt lisens i appen. I denne flyten faller ikke appen tilbake til trial. Kontroller lisensstatus i SentinelCore og at `LicenseId`, produktkode `CVSmia` og lisensens gyldighet stemmer.

Q: Oppstart sier at SentinelCore ikke kunne verifiseres. A: Kontroller `LicenseCallHome:BaseUrl`, nettverkstilgang og timeout-verdi i `appsettings.json`. Appen forsøker også lokal lease-cache i `%APPDATA%\Solsem Consulting\CVSmia`. I `ObserveOnly` kan gyldig lokal betalt lisens fortsatt starte uten cache, men dette logges som degradering. Den samme kontrollen brukes også når betalt lisens installeres eller lastes på nytt.

Q: Hvor ligger installationId og lease-cache? A: Standard er `%APPDATA%\Solsem Consulting\CVSmia\installation-id.json` og `%APPDATA%\Solsem Consulting\CVSmia\sentinelcore-lease.json`. Filnavnene kan overstyres med `LicenseCallHome:InstallationIdFileName` og `LicenseCallHome:LeaseCacheFileName`.