test(m2): build the eight-case fixture workspace

Eight cases, one per build-brief 6 state, dated relative to 2026-09-15. One
of them (havbris) carries frontmatter that deliberately disagrees with its
log, so the derived-truth rule has a fixture instead of only a docstring. One
(vaeroy-sjomat) is named for an employer with ae, o-slash and a-ring, so the
ASCII path rule has teeth on macOS NFD.

Six beslutninger.jsonl fixtures for M6's counting rules are written now, in
M2, because the store is append-only: type, skjema, delscore and vekt_hash
have to be right at the first write or they are wrong forever.

Co-Authored-By: Claude <claude-opus-5>
This commit is contained in:
Kjell Tore Guttormsen 2026-09-05 21:38:24 +02:00
commit b80bd00781
23 changed files with 515 additions and 0 deletions

View file

@ -0,0 +1,6 @@
{"type": "beslutning", "skjema": 1, "id": "b-0000", "dato": "2026-06-01T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0000", "tittel": "AI-radgiver", "arbeidsgiver": "Nordlys Data AS", "beslutning": "nei", "arsak": ["lonn"], "notat": "gulvet er ikke naadd", "score_da": 71, "delscore": {"fagomrade": 71, "oppgavetype": 66, "teknologi": 61, "selskapstype": 56}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0001", "dato": "2026-06-03T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0001", "tittel": "Dataingenior", "arbeidsgiver": "Vaeroy Sjomat AS", "beslutning": "ja", "arsak": ["fagomrade", "teknologi"], "notat": "treffer kjernen", "score_da": 78, "delscore": {"fagomrade": 78, "oppgavetype": 73, "teknologi": 68, "selskapstype": 63}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0002", "dato": "2026-06-05T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0002", "tittel": "Losningsarkitekt", "arbeidsgiver": "Havbris Energi AS", "beslutning": "nei", "arsak": ["geografi"], "notat": "for lang reisevei hver dag", "score_da": 64, "delscore": {"fagomrade": 64, "oppgavetype": 59, "teknologi": 54, "selskapstype": 49}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0003", "dato": "2026-06-07T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0003", "tittel": "Fagleder digitalisering", "arbeidsgiver": "Storelva kommune", "beslutning": "nei", "arsak": ["arbeidsform"], "notat": "full kontorplikt", "score_da": 59, "delscore": {"fagomrade": 59, "oppgavetype": 54, "teknologi": 49, "selskapstype": 44}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0004", "dato": "2026-06-09T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0004", "tittel": "Systemarkitekt", "arbeidsgiver": "Bratthaug Industri AS", "beslutning": "ja", "arsak": ["oppgavetype"], "notat": "arkitektarbeid, ikke forvaltning", "score_da": 81, "delscore": {"fagomrade": 81, "oppgavetype": 76, "teknologi": 71, "selskapstype": 66}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "korrigering", "skjema": 1, "id": "k-0001", "dato": "2026-06-13T09:00:00+02:00", "korrigerer": "b-0000", "arsak": ["geografi"], "notat": "reisevei var den egentlige grunnen, ikke lonn"}

View file

@ -0,0 +1,6 @@
{"type": "beslutning", "skjema": 1, "id": "b-0000", "dato": "2026-06-01T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0000", "tittel": "AI-radgiver", "arbeidsgiver": "Nordlys Data AS", "beslutning": "nei", "arsak": ["lonn"], "notat": "gulvet er ikke naadd", "score_da": 71, "delscore": {"fagomrade": 71, "oppgavetype": 66, "teknologi": 61, "selskapstype": 56}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0001", "dato": "2026-06-03T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0001", "tittel": "Dataingenior", "arbeidsgiver": "Vaeroy Sjomat AS", "beslutning": "ja", "arsak": ["fagomrade", "teknologi"], "notat": "treffer kjernen", "score_da": 78, "delscore": {"fagomrade": 78, "oppgavetype": 73, "teknologi": 68, "selskapstype": 63}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0002", "dato": "2026-06-05T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0002", "tittel": "Losningsarkitekt", "arbeidsgiver": "Havbris Energi AS", "beslutning": "nei", "arsak": ["geografi"], "notat": "for lang reisevei hver dag", "score_da": 64, "delscore": {"fagomrade": 64, "oppgavetype": 59, "teknologi": 54, "selskapstype": 49}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0003", "dato": "2026-06-07T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0003", "tittel": "Fagleder digitalisering", "arbeidsgiver": "Storelva kommune", "beslutning": "nei", "arsak": ["arbeidsform"], "notat": "full kontorplikt", "score_da": 59, "delscore": {"fagomrade": 59, "oppgavetype": 54, "teknologi": 49, "selskapstype": 44}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "utfall", "skjema": 1, "id": "u-0001", "dato": "2026-07-11T09:00:00+02:00", "gjelder": "b-0001", "utfall": "avslag", "stadium": "screening", "notat": "registrert av operatoren"}
{"type": "utfall", "skjema": 1, "id": "u-0002", "dato": "2026-07-26T09:00:00+02:00", "gjelder": "b-0004", "utfall": "avslag", "stadium": "andre_intervju", "notat": "registrert av operatoren"}

View file

@ -0,0 +1,9 @@
{"type": "beslutning", "skjema": 1, "id": "b-0000", "dato": "2026-06-01T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0000", "tittel": "AI-radgiver", "arbeidsgiver": "Nordlys Data AS", "beslutning": "nei", "arsak": ["lonn"], "notat": "gulvet er ikke naadd", "score_da": 71, "delscore": {"fagomrade": 71, "oppgavetype": 66, "teknologi": 61, "selskapstype": 56}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0001", "dato": "2026-06-03T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0001", "tittel": "Dataingenior", "arbeidsgiver": "Vaeroy Sjomat AS", "beslutning": "ja", "arsak": ["fagomrade", "teknologi"], "notat": "treffer kjernen", "score_da": 78, "delscore": {"fagomrade": 78, "oppgavetype": 73, "teknologi": 68, "selskapstype": 63}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0002", "dato": "2026-06-05T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0002", "tittel": "Losningsarkitekt", "arbeidsgiver": "Havbris Energi AS", "beslutning": "nei", "arsak": ["geografi"], "notat": "for lang reisevei hver dag", "score_da": 64, "delscore": {"fagomrade": 64, "oppgavetype": 59, "teknologi": 54, "selskapstype": 49}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0003", "dato": "2026-06-07T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0003", "tittel": "Fagleder digitalisering", "arbeidsgiver": "Storelva kommune", "beslutning": "nei", "arsak": ["arbeidsform"], "notat": "full kontorplikt", "score_da": 59, "delscore": {"fagomrade": 59, "oppgavetype": 54, "teknologi": 49, "selskapstype": 44}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0004", "dato": "2026-06-09T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0004", "tittel": "Systemarkitekt", "arbeidsgiver": "Bratthaug Industri AS", "beslutning": "ja", "arsak": ["oppgavetype"], "notat": "arkitektarbeid, ikke forvaltning", "score_da": 81, "delscore": {"fagomrade": 81, "oppgavetype": 76, "teknologi": 71, "selskapstype": 66}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0005", "dato": "2026-06-11T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0005", "tittel": "Teknisk radgiver", "arbeidsgiver": "Solvang Helse AS", "beslutning": "nei", "arsak": ["senioritetsniva"], "notat": "for junior rolle", "score_da": 55, "delscore": {"fagomrade": 55, "oppgavetype": 50, "teknologi": 45, "selskapstype": 40}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0006", "dato": "2026-06-13T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0006", "tittel": "Utvikler", "arbeidsgiver": "Myrvang Teknologi AS", "beslutning": "nei", "arsak": ["selskapstype", "arbeidsgiverrykte"], "notat": "bemanningsbyraa", "score_da": 61, "delscore": {"fagomrade": 61, "oppgavetype": 56, "teknologi": 51, "selskapstype": 46}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0007", "dato": "2026-06-15T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0007", "tittel": "Prosjektleder", "arbeidsgiver": "Aurland Maritim AS", "beslutning": "ja", "arsak": ["fagomrade"], "notat": "offentlig digitalisering", "score_da": 84, "delscore": {"fagomrade": 84, "oppgavetype": 79, "teknologi": 74, "selskapstype": 69}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0008", "dato": "2026-06-17T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0008", "tittel": "Analytiker", "arbeidsgiver": "Fjelltun Analyse AS", "beslutning": "nei", "arsak": ["tidspunkt"], "notat": "tiltredelse alt for tidlig", "score_da": 66, "delscore": {"fagomrade": 66, "oppgavetype": 61, "teknologi": 56, "selskapstype": 51}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}

View file

@ -0,0 +1,10 @@
{"type": "beslutning", "skjema": 1, "id": "b-0000", "dato": "2026-06-01T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0000", "tittel": "AI-radgiver", "arbeidsgiver": "Nordlys Data AS", "beslutning": "nei", "arsak": ["lonn"], "notat": "gulvet er ikke naadd", "score_da": 71, "delscore": {"fagomrade": 71, "oppgavetype": 66, "teknologi": 61, "selskapstype": 56}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0001", "dato": "2026-06-03T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0001", "tittel": "Dataingenior", "arbeidsgiver": "Vaeroy Sjomat AS", "beslutning": "ja", "arsak": ["fagomrade", "teknologi"], "notat": "treffer kjernen", "score_da": 78, "delscore": {"fagomrade": 78, "oppgavetype": 73, "teknologi": 68, "selskapstype": 63}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0002", "dato": "2026-06-05T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0002", "tittel": "Losningsarkitekt", "arbeidsgiver": "Havbris Energi AS", "beslutning": "nei", "arsak": ["geografi"], "notat": "for lang reisevei hver dag", "score_da": 64, "delscore": {"fagomrade": 64, "oppgavetype": 59, "teknologi": 54, "selskapstype": 49}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0003", "dato": "2026-06-07T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0003", "tittel": "Fagleder digitalisering", "arbeidsgiver": "Storelva kommune", "beslutning": "nei", "arsak": ["arbeidsform"], "notat": "full kontorplikt", "score_da": 59, "delscore": {"fagomrade": 59, "oppgavetype": 54, "teknologi": 49, "selskapstype": 44}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0004", "dato": "2026-06-09T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0004", "tittel": "Systemarkitekt", "arbeidsgiver": "Bratthaug Industri AS", "beslutning": "ja", "arsak": ["oppgavetype"], "notat": "arkitektarbeid, ikke forvaltning", "score_da": 81, "delscore": {"fagomrade": 81, "oppgavetype": 76, "teknologi": 71, "selskapstype": 66}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0005", "dato": "2026-06-11T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0005", "tittel": "Teknisk radgiver", "arbeidsgiver": "Solvang Helse AS", "beslutning": "nei", "arsak": ["senioritetsniva"], "notat": "for junior rolle", "score_da": 55, "delscore": {"fagomrade": 55, "oppgavetype": 50, "teknologi": 45, "selskapstype": 40}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0006", "dato": "2026-06-13T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0006", "tittel": "Utvikler", "arbeidsgiver": "Myrvang Teknologi AS", "beslutning": "nei", "arsak": ["selskapstype", "arbeidsgiverrykte"], "notat": "bemanningsbyraa", "score_da": 61, "delscore": {"fagomrade": 61, "oppgavetype": 56, "teknologi": 51, "selskapstype": 46}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0007", "dato": "2026-06-15T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0007", "tittel": "Prosjektleder", "arbeidsgiver": "Aurland Maritim AS", "beslutning": "ja", "arsak": ["fagomrade"], "notat": "offentlig digitalisering", "score_da": 84, "delscore": {"fagomrade": 84, "oppgavetype": 79, "teknologi": 74, "selskapstype": 69}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0008", "dato": "2026-06-17T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0008", "tittel": "Analytiker", "arbeidsgiver": "Fjelltun Analyse AS", "beslutning": "nei", "arsak": ["tidspunkt"], "notat": "tiltredelse alt for tidlig", "score_da": 66, "delscore": {"fagomrade": 66, "oppgavetype": 61, "teknologi": 56, "selskapstype": 51}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0009", "dato": "2026-06-19T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0009", "tittel": "Plattformingenior", "arbeidsgiver": "Kvitberg Logistikk AS", "beslutning": "nei", "arsak": ["konkurranse"], "notat": "hundre soekere pa to dager", "score_da": 52, "delscore": {"fagomrade": 52, "oppgavetype": 47, "teknologi": 42, "selskapstype": 37}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}

View file

@ -0,0 +1,20 @@
{"type": "beslutning", "skjema": 1, "id": "b-0000", "dato": "2026-06-01T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0000", "tittel": "AI-radgiver", "arbeidsgiver": "Nordlys Data AS", "beslutning": "nei", "arsak": ["lonn"], "notat": "passet ikke profilen", "score_da": 50, "delscore": {"fagomrade": 50, "oppgavetype": 45, "teknologi": 40, "selskapstype": 35}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0001", "dato": "2026-06-02T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0001", "tittel": "Dataingenior", "arbeidsgiver": "Vaeroy Sjomat AS", "beslutning": "nei", "arsak": ["fagomrade", "teknologi"], "notat": "passet ikke profilen", "score_da": 51, "delscore": {"fagomrade": 51, "oppgavetype": 46, "teknologi": 41, "selskapstype": 36}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0002", "dato": "2026-06-03T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0002", "tittel": "Losningsarkitekt", "arbeidsgiver": "Havbris Energi AS", "beslutning": "nei", "arsak": ["geografi"], "notat": "passet ikke profilen", "score_da": 52, "delscore": {"fagomrade": 52, "oppgavetype": 47, "teknologi": 42, "selskapstype": 37}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0003", "dato": "2026-06-04T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0003", "tittel": "Fagleder digitalisering", "arbeidsgiver": "Storelva kommune", "beslutning": "nei", "arsak": ["arbeidsform"], "notat": "passet ikke profilen", "score_da": 53, "delscore": {"fagomrade": 53, "oppgavetype": 48, "teknologi": 43, "selskapstype": 38}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0004", "dato": "2026-06-05T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0004", "tittel": "Systemarkitekt", "arbeidsgiver": "Bratthaug Industri AS", "beslutning": "nei", "arsak": ["oppgavetype"], "notat": "passet ikke profilen", "score_da": 54, "delscore": {"fagomrade": 54, "oppgavetype": 49, "teknologi": 44, "selskapstype": 39}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0005", "dato": "2026-06-06T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0005", "tittel": "Teknisk radgiver", "arbeidsgiver": "Solvang Helse AS", "beslutning": "nei", "arsak": ["senioritetsniva"], "notat": "passet ikke profilen", "score_da": 55, "delscore": {"fagomrade": 55, "oppgavetype": 50, "teknologi": 45, "selskapstype": 40}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0006", "dato": "2026-06-07T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0006", "tittel": "Utvikler", "arbeidsgiver": "Myrvang Teknologi AS", "beslutning": "nei", "arsak": ["selskapstype", "arbeidsgiverrykte"], "notat": "passet ikke profilen", "score_da": 56, "delscore": {"fagomrade": 56, "oppgavetype": 51, "teknologi": 46, "selskapstype": 41}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0007", "dato": "2026-06-08T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0007", "tittel": "Prosjektleder", "arbeidsgiver": "Aurland Maritim AS", "beslutning": "nei", "arsak": ["fagomrade"], "notat": "passet ikke profilen", "score_da": 57, "delscore": {"fagomrade": 57, "oppgavetype": 52, "teknologi": 47, "selskapstype": 42}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0008", "dato": "2026-06-09T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0008", "tittel": "Analytiker", "arbeidsgiver": "Fjelltun Analyse AS", "beslutning": "nei", "arsak": ["tidspunkt"], "notat": "passet ikke profilen", "score_da": 58, "delscore": {"fagomrade": 58, "oppgavetype": 53, "teknologi": 48, "selskapstype": 43}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0009", "dato": "2026-06-10T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0009", "tittel": "Plattformingenior", "arbeidsgiver": "Kvitberg Logistikk AS", "beslutning": "nei", "arsak": ["konkurranse"], "notat": "passet ikke profilen", "score_da": 59, "delscore": {"fagomrade": 59, "oppgavetype": 54, "teknologi": 49, "selskapstype": 44}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0010", "dato": "2026-06-11T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0010", "tittel": "AI-radgiver", "arbeidsgiver": "Sorvik Media AS", "beslutning": "nei", "arsak": ["lonn"], "notat": "passet ikke profilen", "score_da": 60, "delscore": {"fagomrade": 60, "oppgavetype": 55, "teknologi": 50, "selskapstype": 45}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0011", "dato": "2026-06-12T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0011", "tittel": "Dataingenior", "arbeidsgiver": "Tindved Bygg AS", "beslutning": "ja", "arsak": ["fagomrade", "oppgavetype"], "notat": "eneste ja i runden", "score_da": 88, "delscore": {"fagomrade": 88, "oppgavetype": 83, "teknologi": 78, "selskapstype": 73}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0012", "dato": "2026-06-13T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0012", "tittel": "Losningsarkitekt", "arbeidsgiver": "Ravnedal Forsikring AS", "beslutning": "nei", "arsak": ["geografi"], "notat": "passet ikke profilen", "score_da": 62, "delscore": {"fagomrade": 62, "oppgavetype": 57, "teknologi": 52, "selskapstype": 47}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0013", "dato": "2026-06-14T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0013", "tittel": "Fagleder digitalisering", "arbeidsgiver": "Ostmarka Naering AS", "beslutning": "nei", "arsak": ["arbeidsform"], "notat": "passet ikke profilen", "score_da": 63, "delscore": {"fagomrade": 63, "oppgavetype": 58, "teknologi": 53, "selskapstype": 48}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0014", "dato": "2026-06-15T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0014", "tittel": "Systemarkitekt", "arbeidsgiver": "Lundvik Kraft AS", "beslutning": "nei", "arsak": ["oppgavetype"], "notat": "passet ikke profilen", "score_da": 64, "delscore": {"fagomrade": 64, "oppgavetype": 59, "teknologi": 54, "selskapstype": 49}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0015", "dato": "2026-06-16T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0015", "tittel": "Teknisk radgiver", "arbeidsgiver": "Bjornstad Verft AS", "beslutning": "nei", "arsak": ["senioritetsniva"], "notat": "passet ikke profilen", "score_da": 65, "delscore": {"fagomrade": 65, "oppgavetype": 60, "teknologi": 55, "selskapstype": 50}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0016", "dato": "2026-06-17T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0016", "tittel": "Utvikler", "arbeidsgiver": "Granheim Utdanning AS", "beslutning": "nei", "arsak": ["selskapstype", "arbeidsgiverrykte"], "notat": "passet ikke profilen", "score_da": 66, "delscore": {"fagomrade": 66, "oppgavetype": 61, "teknologi": 56, "selskapstype": 51}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0017", "dato": "2026-06-18T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0017", "tittel": "Prosjektleder", "arbeidsgiver": "Skarnes Transport AS", "beslutning": "nei", "arsak": ["fagomrade"], "notat": "passet ikke profilen", "score_da": 67, "delscore": {"fagomrade": 67, "oppgavetype": 62, "teknologi": 57, "selskapstype": 52}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0018", "dato": "2026-06-19T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0018", "tittel": "Analytiker", "arbeidsgiver": "Elvebakken Bank AS", "beslutning": "nei", "arsak": ["tidspunkt"], "notat": "passet ikke profilen", "score_da": 68, "delscore": {"fagomrade": 68, "oppgavetype": 63, "teknologi": 58, "selskapstype": 53}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0019", "dato": "2026-06-20T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0019", "tittel": "Plattformingenior", "arbeidsgiver": "Holtan Romteknikk AS", "beslutning": "nei", "arsak": ["konkurranse"], "notat": "passet ikke profilen", "score_da": 69, "delscore": {"fagomrade": 69, "oppgavetype": 64, "teknologi": 59, "selskapstype": 54}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}

View file

@ -0,0 +1,20 @@
{"type": "beslutning", "skjema": 1, "id": "b-0000", "dato": "2026-06-01T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0000", "tittel": "AI-radgiver", "arbeidsgiver": "Nordlys Data AS", "beslutning": "nei", "arsak": ["lonn"], "notat": "gulvet er ikke naadd", "score_da": 70, "delscore": {"fagomrade": 70, "oppgavetype": 65, "teknologi": 60, "selskapstype": 55}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0001", "dato": "2026-06-02T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0001", "tittel": "Dataingenior", "arbeidsgiver": "Vaeroy Sjomat AS", "beslutning": "nei", "arsak": ["lonn"], "notat": "gulvet er ikke naadd", "score_da": 71, "delscore": {"fagomrade": 71, "oppgavetype": 66, "teknologi": 61, "selskapstype": 56}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0002", "dato": "2026-06-03T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0002", "tittel": "Losningsarkitekt", "arbeidsgiver": "Havbris Energi AS", "beslutning": "nei", "arsak": ["lonn"], "notat": "gulvet er ikke naadd", "score_da": 72, "delscore": {"fagomrade": 72, "oppgavetype": 67, "teknologi": 62, "selskapstype": 57}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0003", "dato": "2026-06-04T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0003", "tittel": "Fagleder digitalisering", "arbeidsgiver": "Storelva kommune", "beslutning": "nei", "arsak": ["geografi"], "notat": "for lang reisevei", "score_da": 62, "delscore": {"fagomrade": 62, "oppgavetype": 57, "teknologi": 52, "selskapstype": 47}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0004", "dato": "2026-06-05T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0004", "tittel": "Systemarkitekt", "arbeidsgiver": "Bratthaug Industri AS", "beslutning": "ja", "arsak": ["fagomrade"], "notat": "verdt det tross lonna", "score_da": 83, "delscore": {"fagomrade": 83, "oppgavetype": 78, "teknologi": 73, "selskapstype": 68}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0005", "dato": "2026-06-06T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0005", "tittel": "Teknisk radgiver", "arbeidsgiver": "Solvang Helse AS", "beslutning": "nei", "arsak": ["lonn"], "notat": "gulvet er ikke naadd", "score_da": 70, "delscore": {"fagomrade": 70, "oppgavetype": 65, "teknologi": 60, "selskapstype": 55}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0006", "dato": "2026-06-07T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0006", "tittel": "Utvikler", "arbeidsgiver": "Myrvang Teknologi AS", "beslutning": "nei", "arsak": ["lonn"], "notat": "gulvet er ikke naadd", "score_da": 71, "delscore": {"fagomrade": 71, "oppgavetype": 66, "teknologi": 61, "selskapstype": 56}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0007", "dato": "2026-06-08T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0007", "tittel": "Prosjektleder", "arbeidsgiver": "Aurland Maritim AS", "beslutning": "nei", "arsak": ["lonn"], "notat": "gulvet er ikke naadd", "score_da": 72, "delscore": {"fagomrade": 72, "oppgavetype": 67, "teknologi": 62, "selskapstype": 57}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0008", "dato": "2026-06-09T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0008", "tittel": "Analytiker", "arbeidsgiver": "Fjelltun Analyse AS", "beslutning": "nei", "arsak": ["lonn"], "notat": "gulvet er ikke naadd", "score_da": 73, "delscore": {"fagomrade": 73, "oppgavetype": 68, "teknologi": 63, "selskapstype": 58}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0009", "dato": "2026-06-10T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0009", "tittel": "Plattformingenior", "arbeidsgiver": "Kvitberg Logistikk AS", "beslutning": "nei", "arsak": ["lonn"], "notat": "gulvet er ikke naadd", "score_da": 74, "delscore": {"fagomrade": 74, "oppgavetype": 69, "teknologi": 64, "selskapstype": 59}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0010", "dato": "2026-06-11T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0010", "tittel": "AI-radgiver", "arbeidsgiver": "Sorvik Media AS", "beslutning": "nei", "arsak": ["geografi"], "notat": "for lang reisevei", "score_da": 62, "delscore": {"fagomrade": 62, "oppgavetype": 57, "teknologi": 52, "selskapstype": 47}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0011", "dato": "2026-06-12T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0011", "tittel": "Dataingenior", "arbeidsgiver": "Tindved Bygg AS", "beslutning": "nei", "arsak": ["lonn"], "notat": "gulvet er ikke naadd", "score_da": 71, "delscore": {"fagomrade": 71, "oppgavetype": 66, "teknologi": 61, "selskapstype": 56}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0012", "dato": "2026-06-13T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0012", "tittel": "Losningsarkitekt", "arbeidsgiver": "Ravnedal Forsikring AS", "beslutning": "nei", "arsak": ["lonn"], "notat": "gulvet er ikke naadd", "score_da": 72, "delscore": {"fagomrade": 72, "oppgavetype": 67, "teknologi": 62, "selskapstype": 57}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0013", "dato": "2026-06-14T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0013", "tittel": "Fagleder digitalisering", "arbeidsgiver": "Ostmarka Naering AS", "beslutning": "nei", "arsak": ["lonn"], "notat": "gulvet er ikke naadd", "score_da": 73, "delscore": {"fagomrade": 73, "oppgavetype": 68, "teknologi": 63, "selskapstype": 58}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0014", "dato": "2026-06-15T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0014", "tittel": "Systemarkitekt", "arbeidsgiver": "Lundvik Kraft AS", "beslutning": "ja", "arsak": ["fagomrade"], "notat": "verdt det tross lonna", "score_da": 83, "delscore": {"fagomrade": 83, "oppgavetype": 78, "teknologi": 73, "selskapstype": 68}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0015", "dato": "2026-06-16T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0015", "tittel": "Teknisk radgiver", "arbeidsgiver": "Bjornstad Verft AS", "beslutning": "nei", "arsak": ["lonn"], "notat": "gulvet er ikke naadd", "score_da": 70, "delscore": {"fagomrade": 70, "oppgavetype": 65, "teknologi": 60, "selskapstype": 55}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0016", "dato": "2026-06-17T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0016", "tittel": "Utvikler", "arbeidsgiver": "Granheim Utdanning AS", "beslutning": "nei", "arsak": ["lonn"], "notat": "gulvet er ikke naadd", "score_da": 71, "delscore": {"fagomrade": 71, "oppgavetype": 66, "teknologi": 61, "selskapstype": 56}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0017", "dato": "2026-06-18T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0017", "tittel": "Prosjektleder", "arbeidsgiver": "Skarnes Transport AS", "beslutning": "nei", "arsak": ["geografi"], "notat": "for lang reisevei", "score_da": 62, "delscore": {"fagomrade": 62, "oppgavetype": 57, "teknologi": 52, "selskapstype": 47}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0018", "dato": "2026-06-19T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0018", "tittel": "Analytiker", "arbeidsgiver": "Elvebakken Bank AS", "beslutning": "nei", "arsak": ["lonn"], "notat": "gulvet er ikke naadd", "score_da": 73, "delscore": {"fagomrade": 73, "oppgavetype": 68, "teknologi": 63, "selskapstype": 58}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}
{"type": "beslutning", "skjema": 1, "id": "b-0019", "dato": "2026-06-20T09:00:00+02:00", "kilde": "manuell", "url": "https://stillinger.example/sak-0019", "tittel": "Plattformingenior", "arbeidsgiver": "Holtan Romteknikk AS", "beslutning": "nei", "arsak": ["lonn"], "notat": "gulvet er ikke naadd", "score_da": 74, "delscore": {"fagomrade": 74, "oppgavetype": 69, "teknologi": 64, "selskapstype": 59}, "vekter": {"fagomrade": 40, "oppgavetype": 30, "teknologi": 20, "selskapstype": 10}, "vekt_hash": "sha256:e41763ee596e56a3916a7017ac4952a073eff1b48ea69906816217e10b178a41", "korrigerer": null}

View file

@ -0,0 +1,4 @@
{"ts": "2026-08-21T12:00:00+02:00", "hendelse": "opprettet", "kilde": "manuell", "ref": null, "notat": null}
{"ts": "2026-08-22T12:00:00+02:00", "type": "beslutning", "skjema": 1, "beslutning": "ja", "id": "b-2026-0821", "notat": "passer profilen"}
{"ts": "2026-08-26T12:00:00+02:00", "hendelse": "soknad_sendt", "kilde": "e-post", "ref": "soknad-v1.md", "notat": null}
{"ts": "2026-09-05T12:00:00+02:00", "hendelse": "trukket", "kilde": "manuell", "ref": null, "notat": "reisekravet"}

View file

@ -0,0 +1,35 @@
---
sak_id: 2026-09-aurland-maritim-as-prosjektleder
arbeidsgiver: Aurland Maritim AS
rolle: Prosjektleder
kilde: manuell
url: https://stillinger.example/aurland-12
opprettet: 2026-08-21
status: trukket
neste_frist: null
ventende_part: ingen
sist_aktivitet: 2026-09-05
score: 58
cv_variant: cv-generell-v3
soknad_versjon: v1
---
## Hvorfor denne
Trukket etter at reisekravet ble tydelig i annonseteksten.
## Status naa
Generert fikstur. Proveniens: syntetisk, skrevet for testkorpuset.
## Neste handling
Avventer det statusmaskinen utleder fra logg.jsonl.
## Aapne sporsmaal
- Ingen.
## Tidslinje
Genereres fra logg.jsonl.

View file

@ -0,0 +1,5 @@
{"ts": "2026-08-01T12:00:00+02:00", "hendelse": "opprettet", "kilde": "manuell", "ref": null, "notat": null}
{"ts": "2026-08-02T12:00:00+02:00", "type": "beslutning", "skjema": 1, "beslutning": "ja", "id": "b-2026-0716", "notat": "passer profilen"}
{"ts": "2026-08-06T12:00:00+02:00", "hendelse": "soknad_sendt", "kilde": "e-post", "ref": "soknad-v1.md", "notat": null}
{"ts": "2026-08-16T12:00:00+02:00", "hendelse": "intervju_avtalt", "kilde": "e-post", "ref": null, "notat": null}
{"ts": "2026-08-26T12:00:00+02:00", "hendelse": "intervju_gjennomfort", "kilde": "manuell", "ref": null, "notat": "forste runde, to fra teamet"}

View file

@ -0,0 +1,35 @@
---
sak_id: 2026-09-bratthaug-industri-as-systemarkitekt
arbeidsgiver: Bratthaug Industri AS
rolle: Systemarkitekt
kilde: manuell
url: https://stillinger.example/bratthaug-9
opprettet: 2026-08-01
status: intervju
neste_frist: 2026-09-05
ventende_part: dem
sist_aktivitet: 2026-08-26
score: 77
cv_variant: cv-arkitekt-v1
soknad_versjon: v1
---
## Hvorfor denne
De eier hele stacken selv, og det er sjeldent.
## Status naa
Generert fikstur. Proveniens: syntetisk, skrevet for testkorpuset.
## Neste handling
Avventer det statusmaskinen utleder fra logg.jsonl.
## Aapne sporsmaal
- Ingen.
## Tidslinje
Genereres fra logg.jsonl.

View file

@ -0,0 +1,4 @@
{"ts": "2026-08-16T12:00:00+02:00", "hendelse": "opprettet", "kilde": "manuell", "ref": null, "notat": null}
{"ts": "2026-08-17T12:00:00+02:00", "type": "beslutning", "skjema": 1, "beslutning": "ja", "id": "b-2026-0801", "notat": "passer profilen"}
{"ts": "2026-08-26T12:00:00+02:00", "hendelse": "soknad_sendt", "kilde": "e-post", "ref": "soknad-v2.md", "notat": null}
{"ts": "2026-08-27T12:00:00+02:00", "hendelse": "bekreftelse_mottatt", "kilde": "e-post", "ref": null, "notat": "automatisk kvittering, ikke et svar"}

View file

@ -0,0 +1,35 @@
---
sak_id: 2026-09-havbris-energi-as-losningsarkitekt
arbeidsgiver: Havbris Energi AS
rolle: Løsningsarkitekt
kilde: manuell
url: https://stillinger.example/havbris-233
opprettet: 2026-08-16
status: dialog
neste_frist: 2026-09-09
ventende_part: meg
sist_aktivitet: 2026-08-27
score: 81
cv_variant: cv-arkitekt-v1
soknad_versjon: v2
---
## Hvorfor denne
Storst faglig spenn av alle sakene i denne runden.
## Status naa
Generert fikstur. Proveniens: syntetisk, skrevet for testkorpuset.
## Neste handling
Avventer det statusmaskinen utleder fra logg.jsonl.
## Aapne sporsmaal
- Ingen.
## Tidslinje
Genereres fra logg.jsonl.

View file

@ -0,0 +1,4 @@
{"ts": "2026-07-17T12:00:00+02:00", "hendelse": "opprettet", "kilde": "manuell", "ref": null, "notat": null}
{"ts": "2026-07-18T12:00:00+02:00", "type": "beslutning", "skjema": 1, "beslutning": "ja", "id": "b-2026-0623", "notat": "passer profilen"}
{"ts": "2026-07-22T12:00:00+02:00", "hendelse": "soknad_sendt", "kilde": "e-post", "ref": "soknad-v1.md", "notat": null}
{"ts": "2026-08-06T12:00:00+02:00", "hendelse": "avslag", "kilde": "e-post", "ref": null, "notat": "stadium: screening"}

View file

@ -0,0 +1,35 @@
---
sak_id: 2026-09-myrvang-teknologi-as-utvikler
arbeidsgiver: Myrvang Teknologi AS
rolle: Utvikler
kilde: manuell
url: https://stillinger.example/myrvang-55
opprettet: 2026-07-17
status: avslag
neste_frist: null
ventende_part: ingen
sist_aktivitet: 2026-08-06
score: 52
cv_variant: cv-generell-v3
soknad_versjon: v1
---
## Hvorfor denne
Lav score, sokt fordi teknologien var interessant.
## Status naa
Generert fikstur. Proveniens: syntetisk, skrevet for testkorpuset.
## Neste handling
Avventer det statusmaskinen utleder fra logg.jsonl.
## Aapne sporsmaal
- Ingen.
## Tidslinje
Genereres fra logg.jsonl.

View file

@ -0,0 +1 @@
{"ts": "2026-09-13T12:00:00+02:00", "hendelse": "opprettet", "kilde": "manuell", "ref": null, "notat": null}

View file

@ -0,0 +1,35 @@
---
sak_id: 2026-09-nordlys-data-as-ai-radgiver
arbeidsgiver: Nordlys Data AS
rolle: AI-rådgiver
kilde: manuell
url: https://stillinger.example/nordlys-1041
opprettet: 2026-09-13
status: vurderer
neste_frist: 2026-09-25
ventende_part: meg
sist_aktivitet: 2026-09-13
score: 74
cv_variant: cv-generell-v3
soknad_versjon: null
---
## Hvorfor denne
Fagomradet treffer, men lonnsnivaet er ikke oppgitt.
## Status naa
Generert fikstur. Proveniens: syntetisk, skrevet for testkorpuset.
## Neste handling
Avventer det statusmaskinen utleder fra logg.jsonl.
## Aapne sporsmaal
- Ingen.
## Tidslinje
Genereres fra logg.jsonl.

View file

@ -0,0 +1,6 @@
{"ts": "2026-07-27T12:00:00+02:00", "hendelse": "opprettet", "kilde": "manuell", "ref": null, "notat": null}
{"ts": "2026-07-28T12:00:00+02:00", "type": "beslutning", "skjema": 1, "beslutning": "ja", "id": "b-2026-0703", "notat": "passer profilen"}
{"ts": "2026-08-01T12:00:00+02:00", "hendelse": "soknad_sendt", "kilde": "e-post", "ref": "soknad-v1.md", "notat": null}
{"ts": "2026-08-11T12:00:00+02:00", "hendelse": "intervju_avtalt", "kilde": "e-post", "ref": null, "notat": null}
{"ts": "2026-08-16T12:00:00+02:00", "hendelse": "intervju_gjennomfort", "kilde": "manuell", "ref": null, "notat": null}
{"ts": "2026-09-12T12:00:00+02:00", "hendelse": "tilbud_mottatt", "kilde": "e-post", "ref": null, "notat": "frist for svar er ikke satt"}

View file

@ -0,0 +1,35 @@
---
sak_id: 2026-09-solvang-helse-as-teknisk-radgiver
arbeidsgiver: Solvang Helse AS
rolle: Teknisk rådgiver
kilde: manuell
url: https://stillinger.example/solvang-402
opprettet: 2026-07-27
status: tilbud
neste_frist: null
ventende_part: meg
sist_aktivitet: 2026-09-12
score: 70
cv_variant: cv-generell-v3
soknad_versjon: v1
---
## Hvorfor denne
Minst spennende fagligt, men de svarer raskt og ryddig.
## Status naa
Generert fikstur. Proveniens: syntetisk, skrevet for testkorpuset.
## Neste handling
Avventer det statusmaskinen utleder fra logg.jsonl.
## Aapne sporsmaal
- Ingen.
## Tidslinje
Genereres fra logg.jsonl.

View file

@ -0,0 +1,5 @@
{"ts": "2026-08-06T12:00:00+02:00", "hendelse": "opprettet", "kilde": "manuell", "ref": null, "notat": null}
{"ts": "2026-08-07T12:00:00+02:00", "type": "beslutning", "skjema": 1, "beslutning": "ja", "id": "b-2026-0722", "notat": "passer profilen"}
{"ts": "2026-08-11T12:00:00+02:00", "hendelse": "soknad_sendt", "kilde": "e-post", "ref": "soknad-v1.md", "notat": null}
{"ts": "2026-08-21T12:00:00+02:00", "hendelse": "henvendelse_mottatt", "kilde": "e-post", "ref": null, "notat": "sporsmal om tilgjengelighet"}
{"ts": "2026-08-22T12:00:00+02:00", "hendelse": "svar_sendt", "kilde": "e-post", "ref": null, "notat": null}

View file

@ -0,0 +1,35 @@
---
sak_id: 2026-09-storelva-kommune-fagleder-digitalisering
arbeidsgiver: Storelva kommune
rolle: Fagleder digitalisering
kilde: manuell
url: https://stillinger.example/storelva-17
opprettet: 2026-08-06
status: dialog
neste_frist: 2026-08-28
ventende_part: dem
sist_aktivitet: 2026-08-22
score: 63
cv_variant: cv-generell-v3
soknad_versjon: v1
---
## Hvorfor denne
Offentlig virksomhet med et reelt digitaliseringsmandat.
## Status naa
Generert fikstur. Proveniens: syntetisk, skrevet for testkorpuset.
## Neste handling
Avventer det statusmaskinen utleder fra logg.jsonl.
## Aapne sporsmaal
- Ingen.
## Tidslinje
Genereres fra logg.jsonl.

View file

@ -0,0 +1,2 @@
{"ts": "2026-09-09T12:00:00+02:00", "hendelse": "opprettet", "kilde": "manuell", "ref": null, "notat": null}
{"ts": "2026-09-10T12:00:00+02:00", "type": "beslutning", "skjema": 1, "beslutning": "ja", "id": "b-2026-0912", "notat": "passer profilen"}

View file

@ -0,0 +1,35 @@
---
sak_id: 2026-09-vaeroy-sjomat-as-dataingenior
arbeidsgiver: Værøy Sjømat AS
rolle: Dataingeniør
kilde: manuell
url: https://stillinger.example/vaeroy-88
opprettet: 2026-09-09
status: soker
neste_frist: 2026-09-20
ventende_part: meg
sist_aktivitet: 2026-09-10
score: 68
cv_variant: cv-data-v2
soknad_versjon: null
---
## Hvorfor denne
Naert nok til basen, og de bygger datplattform fra bunnen.
## Status naa
Generert fikstur. Proveniens: syntetisk, skrevet for testkorpuset.
## Neste handling
Avventer det statusmaskinen utleder fra logg.jsonl.
## Aapne sporsmaal
- Ingen.
## Tidslinje
Genereres fra logg.jsonl.

View file

@ -0,0 +1,133 @@
"""The eight-case fixture workspace every later milestone reads (plan Step 19).
A corpus is a contract with the milestones that have not been written yet.
M3 ingests into it, M4 drafts against it, M6 counts from it, and each of those
will assume the corpus says what this file asserts it says. So the assertions
here are about the corpus itself -- that each case really does resolve to the
state its name claims, that the one case built to disagree with its own
frontmatter actually disagrees, and that nothing in it carries a real name, a
real employer or a resolvable host.
The decision fixtures are M6's, written now on purpose. `beslutninger.jsonl`
is append-only, so its schema is irreversible: `type` and `skjema` have to be
right at the first write or they are wrong forever (risk H10). Writing M6's
counting fixtures in M2 is what forces that schema to be decided while it can
still be changed.
The ASCII assertion is not decoration. macOS hands back filenames in NFD, so a
Norwegian employer name can produce two directories that look identical and
are different byte strings (risk H8). One case in the corpus is named for an
employer with three of the four characters that provoke it.
Style note: this file follows tests/test_fixture_hygiene.py.
"""
import os
import test_fixture_hygiene as hygiene
import sak_status
from jobbsok_lib import jsonl
FIXTURES = os.path.join(os.path.dirname(os.path.abspath(__file__)), "fixtures")
KORPUS = os.path.join(FIXTURES, "workspace")
BESLUTNINGER = os.path.join(FIXTURES, "beslutninger")
TODAY = "2026-09-15"
#: sak-id -> (status, ventende_part, flags). One case per state in build-brief
#: 6, dated relative to the frozen today.
FORVENTET = {
"2026-09-aurland-maritim-as-prosjektleder": ("trukket", "ingen", []),
"2026-09-bratthaug-industri-as-systemarkitekt": ("intervju", "dem", ["intervju_10"]),
"2026-09-havbris-energi-as-losningsarkitekt": ("sendt", "dem", ["sendt_14"]),
"2026-09-myrvang-teknologi-as-utvikler": ("avslag", "ingen", []),
"2026-09-nordlys-data-as-ai-radgiver": ("vurderer", "meg", []),
"2026-09-solvang-helse-as-teknisk-radgiver": ("tilbud", "meg", []),
"2026-09-storelva-kommune-fagleder-digitalisering": ("dialog", "dem", ["dialog_7"]),
"2026-09-vaeroy-sjomat-as-dataingenior": ("soker", "meg", []),
}
#: The one case whose cached frontmatter is deliberately wrong, and the keys
#: it is wrong about.
UENIG = "2026-09-havbris-energi-as-losningsarkitekt"
UENIG_NOKLER = ["status", "ventende_part"]
#: M6's counting fixtures. The name says what each one is for, because a
#: counting rule tested against a file called `data2.jsonl` is a rule nobody
#: can check.
BESLUTNINGSFIKSTURER = (
"ni-beslutninger.jsonl",
"ti-beslutninger.jsonl",
"tjue-lonnsdominert.jsonl",
"tjue-faa-ja.jsonl",
"med-korrigering.jsonl",
"med-utfall.jsonl",
)
def test_each_of_the_eight_cases_resolves_to_the_state_its_name_claims():
funnet = sak_status.alle_saker(KORPUS)
assert funnet == sorted(FORVENTET), (
"the corpus holds %r, the contract names %r" % (funnet, sorted(FORVENTET))
)
for sak_id, (status, ventende, flagg) in sorted(FORVENTET.items()):
resultat = sak_status.avgjor(sak_status.les_sak(KORPUS, sak_id)[2], TODAY)
assert resultat["status"] == status, sak_id
assert resultat["ventende_part"] == ventende, sak_id
assert resultat["flagg"] == flagg, sak_id
def test_the_case_built_to_disagree_with_its_frontmatter_reports_the_divergence():
avvik = sak_status.divergenser(KORPUS, TODAY)
assert [post["sak_id"] for post in avvik] == [UENIG], (
"exactly one case is supposed to disagree; found %r"
% ([post["sak_id"] for post in avvik],)
)
nokler = sorted(d["nokkel"] for d in avvik[0]["divergens"])
assert nokler == UENIG_NOKLER
resultat = sak_status.status_for_sak(KORPUS, UENIG, TODAY)
assert resultat["status"] == "sendt", "the log wins over the cache (risk H3)"
def test_every_generated_path_component_in_the_corpus_is_pure_ascii():
komponenter = []
for dirpath, dirnames, filenames in os.walk(KORPUS):
dirnames.sort()
komponenter.extend(dirnames)
komponenter.extend(sorted(filenames))
assert komponenter, "walked an empty corpus; the assertion below proves nothing"
for navn in komponenter:
assert navn.encode("ascii", "ignore").decode("ascii") == navn, (
"%r is not pure ASCII; on macOS its NFD twin is a second directory "
"(risk H8)" % navn
)
# The corpus must actually contain a name that could have gone wrong.
assert any("vaeroy" in navn for navn in komponenter), (
"no Norwegian-derived slug in the corpus, so the rule has no teeth"
)
def test_the_hygiene_scan_passes_over_the_new_corpus_and_states_its_denominator():
resultat = hygiene.scan(KORPUS)
assert resultat["findings"] == [], "hygiene findings: %r" % (resultat["findings"],)
melding = hygiene.report(resultat, KORPUS)
assert resultat["files"] == 2 * len(FORVENTET), (
"expected a sak.md and a logg.jsonl per case, scanned %d files"
% resultat["files"]
)
assert resultat["bytes"] > 0 and str(resultat["files"]) in melding
def test_every_decision_fixture_parses_and_carries_type_and_skjema():
funnet = sorted(os.listdir(BESLUTNINGER))
assert funnet == sorted(BESLUTNINGSFIKSTURER), funnet
for navn in funnet:
linjer = jsonl.read_lines(os.path.join(BESLUTNINGER, navn))
assert linjer, "%s is empty" % navn
for nummer, linje in enumerate(linjer, start=1):
assert linje.get("type") in jsonl.TYPES, (navn, nummer, linje.get("type"))
assert linje.get("skjema") == jsonl.SKJEMA, (navn, nummer)
# fold() is M6's reader; a fixture it cannot fold is a fixture that
# will fail in M6 instead of here.
jsonl.fold(linjer)