den-dynamiske-rettsstaten/CHANGELOG.md
Kjell Tore Guttormsen e354616ffa
docs: mark the work as finished and fix the last two review findings
- README: status line saying the work is finished and no new versions
  are planned; input can still be sent by e-mail.
- Section 9.7: the five kinds of insight were one 18-line sentence and
  are now a list. Same content. A conditional page break keeps the
  heading of 9.8 with its box.
- Appendix C, row for equation (8): states that the budget forecast
  (sim.py line 624) starts from the full state and the forcing as they
  were 3 months earlier, while capacity is known without delay.
- Note PDF rebuilt (59 pages). Summary and slides unchanged.
- sim.py, diagnose.py, forlop.py and paper/data are unchanged.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
2026-11-11 20:55:35 +01:00

59 lines
8.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Changelog
All notable changes to this project will be documented in this file.
## 2026-11-11 — arbeidet er avsluttet
- README sier nå at arbeidet er avsluttet, og at det ikke er planlagt nye versjoner av notatet eller verktøyet. Alt kan fortsatt brukes og bygges videre på etter lisensene, og innspill kan sendes på e-post.
- Notatet, avsnitt 9.7 («Hva beslutningstakeren får»): de fem typene innsikt sto i én setning på 18 linjer og står nå som en punktliste. Innholdet er det samme.
- Notatet, vedlegg C, raden for ligning (8): raden sier nå også at budsjettprognosen (`sim.py`, linje 624) starter i hele tilstanden og pådraget slik de var for 3 måneder siden, mens kapasiteten er kjent uten forsinkelse. Koden er ikke endret; raden utelot dette.
- `paper/sim.py`, `paper/diagnose.py`, `paper/forlop.py` og figurdataene er ikke endret. Ingen tall, tabeller eller figurer er endret.
- Notatet er bygd på nytt og er fortsatt 59 sider. Sammendraget og lysarkene er ikke endret.
## 2026-11-11 — pluginen for Claude, og en begrensning sagt rett ut
- Verktøyet finnes nå som en åpen plugin for Claude, [dynamisk-rettsstat](https://git.fromaitochitta.com/open/dynamisk-rettsstat): flaskehalsdiagnosen, forløpet over tid, egne scenarioer og en kopi av modellen som kan endres, uten kommandolinje. Den regner med koden herfra, uendret. README har en egen seksjon om den, notatet nevner den i sammendraget, innledningen og avsnitt 10 («Kode og verktøy»), sammendraget for beslutningstakere har en boks med lenkene, og lysarkene har et nytt ark 16, «Bruk verktøyet på egne tall».
- Ny begrensning i avsnitt 10, «Utgangspunktet i modellene med kø»: i modellene der domstolen har kø, er utgangspunktet nesten, men ikke helt, en likevekt. Kjørt uten sjokk går kriminaliteten fra 1,000 til 1,007 i måned 11, 1,015 i måned 120 og 1,018 i måned 240, og saksbehandlingstiden fra 3,0 til 3,1, 4,2 og 4,6 måneder. Grunnen er at saker som faller fra køen, aldri trekkes fra kriminaliteten. En liten del av det kjedescenarioene viser, er denne driften. Den er ikke trukket fra, og det er ikke undersøkt om den påvirker rangeringen av tiltakene. Funnet ble gjort under bygging av pluginen. Ingen tall, tabeller eller figurer er endret.
- `paper/sim.py`, `paper/diagnose.py`, `paper/forlop.py` og figurdataene er ikke endret.
- PDF-ene er bygd på nytt: notatet er 59 sider (var 58), sammendraget fortsatt 2, lysarkene 17 (var 16). For å holde sammendraget på to sider er margene og avstanden i listene redusert litt.
## 2026-11-10 — forløpet starter i dagens restanse
- `paper/forlop.py` legger nå restansen i fila rett inn i modellen, så forløpet starter i restansen du oppgir. Før måtte modellen bygge opp restansen selv, og var den større enn modellen rakk på 15 måneder, ble forløpet ikke regnet. En kopi av eksempelfila med restanse 3 000 ga før «ikke regnet» og gir nå et forløp som starter i 3 000 (119 % mer kapasitet i første vedtak, som i `diagnose.py`). En restanse under målet legges også inn som den er, ned til modellens minste restanse.
- Eksempelfila gir samme tall som før: 19 % nå, 12 % året etter og kapasitet 1,31 til slutt. For de norske tallene starter fengselsforløpet nå i køen på 596 dommer i stedet for i 686 (61 over målet på 625). Første vedtak er fortsatt 15 % og neste 7 %; høyeste kapasitet blir 22 % over utgangsnivået (før 23 %).
- `paper/sim.py` er ikke endret, og figurdataene er de samme (22 av 22 filer byte for byte like etter ny kjøring). For å kunne legge inn restansen har `forlop.py` sin egen utgave av regnestegene for den koordinerte regelen og for kjøringen uten tiltak. Hver kjøring kontrollerer at den gir nøyaktig samme svar som `sim.py` når restansen ikke legges inn.
- Nye forbehold i utskriften: når restansen er større enn modellens forhistorie kan forklare, når kriminaliteten i modellen faller under nivået før økningen mens restansen avvikles, og hvor sammenligningen uten tiltak starter. Faller kriminaliteten i modellen under 0,80 eller politiets innsats under 0,50 av nivået før økningen mens restansen avvikles, regnes forløpet ikke.
## 2026-11-10 — forløp over tid med egne tall
- Nytt skript `paper/forlop.py`: leser samme fil som `diagnose.py`, sjekker om styringen tåler sin egen forsinkelse, og viser måned for måned hva som skjer når anbefalingen følges, sammenlignet med å ikke gjøre noe i kjeden. Det viser også hva tiltaket gjør med resten av kjeden: politiets innsats, andelen ledet utenom, og om skranken flytter seg til leddene etter. Eksempelfila gjenskaper avsnitt 9.5 (19 % nå, 12 % året etter, kapasitet 1,31 til slutt). Bare leddet som binder, har kø i modellen. Skriptet regner ikke forløpet når styringen er ustabil eller for nær grensen, eller når restansen i fila er større enn modellen rekker å bygge opp før første vedtak.
- `paper/eksempel_domstol.json` har fått feltet `"styring"` (forsinkelse og reaktivitet). `diagnose.py` gir samme svar som før, og avviser nå `true` og `false` der det skal stå tall.
- README sier nå nøkternt hvem som har gjort hva: forfatteren ga temaet, utgangspunktet og kommentarer underveis, og kunstig intelligens laget i praksis teksten, matematikken, simuleringene og koden. Forfatteren har ikke selv etterprøvd all matematikken.
- `paper/sim.py`: fire henvisninger i kommentarer og én overskrift i utskriften viste til gamle lignings- og tabellnumre. De er rettet til (12), (28) og tabell 3. Datafilene er uendret (22 av 22 byte for byte like).
## 2026-11-10 — kvalitetssjekk før publisering
- Rettet fengselsanslaget i `paper/norge_2025.json`: avgangen var regnet fra «saker håndtert» og er nå regnet fra iverksatte saker (Kriminalomsorgen, Årsrapport 2025, s. 70). Køen til fengsel er skilt fra køen til fotlenke. Restansen i politiet er hentet direkte fra POD-rapporten (31 908 mot 30 295), og sidetallene til Domstoladministrasjonens årsrapport er rettet (s. 15 og 18).
- Nytt resultat av den første norske diagnosen: fengsel og politi og påtale ligger likt (utnyttelse 1,09), og verktøyet peker på fengsel fordi køen der vokser raskest. Forskjellen er mindre enn usikkerheten i tallene. README sier dette og har flere forbehold.
- `paper/diagnose.py`: forståelige feilmeldinger på norsk ved feil i inndata, samme terskel for utvidelse som i `sim.py`, melding når to ledd har samme utnyttelse, og riktigere tekst når ingen prognose er oppgitt, når skranken er første ledd, og når restansen vokser uten at noe ledd er over full utnyttelse.
- Notatet (nå 58 sider): rettet formelen for politimetning i (13′), som manglet en faktor og bare stemte i referanselikevekten, laveste tillit i vedlegg C (0,33, ikke 0,47), ni tall som var avrundet eller gjengitt feil, én setning om følsomhet som var feil for en av parameterne, og sammendragets påstand om at mer politiinnsats ikke gir færre lovbrudd. Nedbyggingsregelen er beskrevet slik koden har den. Tre referanser er rettet og én lagt til.
- Sammendraget og lysarkene: «ikke testet mot norske data» er erstattet med det som stemmer nå, lysark 8 beskriver mekanismen som i notatet, og lysark 16 oppgir adressen til repoet.
## 2026-11-10 — flaskehalsdiagnose med egne tall
- Nytt skript `paper/diagnose.py` (første versjon): fra innstrømning, kapasitet, restanse og mål per ledd til leddet som binder, tiltakstypen og kapasitetsbehovet, etter notatets metode. Eksempelfila gjenskaper avsnitt 9.5. Forløpet over tid er ikke med ennå.
- Første diagnose på offentlige norske tall (`paper/norge_2025.json`, med kilde per tall). Resultatet i denne første utgaven (politi og påtale 1,09, fengsel 1,06, tingrett 1,04) bygde på et feil fengselsanslag og er rettet i oppføringen over. `diagnose.py` godtar nå akseptabel restanse og saker som avsluttes uten behandling.
## 2026-11-10 — PDF-ene bygd på nytt fra kilden
- Notatet (57 sider), sammendraget og lysarkene er bygd fra LaTeX-kilden i repoet og erstatter de første PDF-ene.
- Notatet leder med modellen som et verktøy for å finne løsninger og har et gjennomregnet eksempel fra tall til anbefaling (avsnitt 9.5).
- Nytt vedlegg C kobler hver ligning til koden i `sim.py`.
- «Forholdet til tidligere arbeid» viser hva som finnes fra før, og hva som er nytt.
- Rettet: intervallet for elastisiteten mellom politiinnsats og kriminalitet er nå gjengitt etter Chalfin og McCrary (2017).
- Lysarkene (16) viser verktøyet og eksempelet før funnene. Arket om et fullt ledd i kjeden er erstattet av eksempelet.
## 2026-11-10 — konseptnotat versjon 2
- Første publiserte versjon i repoet: konseptnotatet (49 sider), sammendraget og lysarkene som PDF, LaTeX-kilden og simuleringen `sim.py` med figurdata.
- Versjon 2 kaller arbeidet et konseptnotat, presiserer at straffebud og strafferammer ligger fast, gjør domstolen til et gjennomregnet eksempel, legger til en avdempet styringsregel (regime E) og har et nytt avsnitt 10 om begrensninger og en veiplan.