# `profil/kandidat.md` — nøkler, seksjoner og vekter Normativ kilde er `docs/build-brief.md` 5.1. Denne fila gjengir kontrakten slik den faktisk håndheves, inkludert de utvidelsene som kom av at operatørens egen fil vant over kontrakten. ## Påkrevd frontmatter — 17 nøkler inkludert nestede | Nøkkel | Type | Merknad | | --- | --- | --- | | `oppdatert` | skalar | dato, `YYYY-MM-DD` | | `geografi.base` | skalar | stedsnavn, skrives ordrett | | `geografi.maks_reisetid_min` | heltall | sammenlignes numerisk | | `geografi.hjemmekontor_min_dager` | heltall | sammenlignes numerisk | | `geografi.vurderer_flytting` | ord | `ja`, `nei` eller `kanskje` | | `lonn.gulv_nok` | heltall | avviser mekanisk | | `lonn.onsket_nok` | heltall | vekter, avviser ikke | | `lonn.kommentar` | skalar | fri tekst | | `ansettelsesform.aksepterer` | skalar med kommaliste | se skilletegn | | `ansettelsesform.avviser` | skalar med kommaliste | se skilletegn | | `absolutte_nei` | liste | ett punkt per linje | | `senioritet.min` | fri tekst | ingen enum i 5.1 | | `senioritet.maks` | fri tekst | ingen enum i 5.1 | Mangler en av dem, er det en **feil** som navngir nøkkelstien. Mangler hele blokka, navngis både blokka og hver eneste nøkkel under den. ## Nøkler utenfor 5.1 En ukjent nøkkel er en **advarsel**, aldri en feil. Operatøren eier fila. | Nøkkel | Status | | --- | --- | | `vekter` | additiv, operatørbeslutning 14.3 | | `arbeidssteder` | utenfor 5.1, men lest av vurderingen | | alt annet | beholdt, ingenting leser det | `arbeidssteder` er en flat liste over steder operatøren faktisk vil jobbe. Står stedet i lista, blir `maks_reisetid_min` en advarsel i stedet for et avslag for akkurat det stedet. ## Skilletegn Grammatikken tillater bare en skalar under en mapping-nøkkel. Derfor bærer skalaren lista, med én regel som gjelder likt overalt: - **komma** deler en skalar i elementer - **skråstrek** deler ett element i alternative skrivemåter - **mellomrom** inne i et alternativ er en frase Så `åremål/engasjement, vikariat` er to avviste former, den første med to navn. `personalansvar / linjeledelse` er ett nei med to navn. Regelen gjelder `ansettelsesform.aksepterer`, `ansettelsesform.avviser` og hvert punkt i `absolutte_nei`. Prisen er at en ansettelsesform ikke kan inneholde komma. Ingen gjør det. ## Kroppsseksjoner, i rekkefølge 1. Kjerne 2. Kompetanse 3. Retning 4. Signaturprosjekter 5. Kjente svakheter 6. Formuleringer som virker 7. Profilgap Bare `##` teller. En `#`-tittel øverst og `###`-underseksjoner inni er lov og er ikke seksjoner i 5.1-forstand. Feil rekkefølge er en feil; innholdet inne i en seksjon valideres ikke. ## Standardvekter | Kriterium | Standard | | --- | --- | | `fagomrade` | 40 | | `oppgavetype` | 30 | | `teknologi` | 20 | | `selskapstype` | 10 | Oppgir profilen `vekter`, gjelder de i stedet og rapporten sier `vekter_kilde: profil`. Manglende kriterium arver standarden og gir en advarsel. Vektene normaliseres på summen, så tallene trenger ikke summere til 100 — de gjør det bare for at vektoren skal leses som en fordeling.