New script paper/forlop.py reads the same input file as diagnose.py. It checks whether the steering tolerates its own delay, places the binding link in the model as the link with a queue, calibrates the size and start of the increase so that the coordinated rule's first budget decision sees the numbers in the file, and runs simulate_endo month by month with and without measures. It also reports what the measure does to the rest of the chain: police effort, the share diverted, and whether the bottleneck moves to the links after it. The example file reproduces section 9.5 and table 10: +19 % now, +12 % after 12 months, capacity 1,31; 8,3 / 0,74 / 1,10 / 3,5 with measures and 68,7 / 0,65 / 1,26 without. The stability block reproduces section 9.3 with delay 11 and reactivity 3. The script declines to print a time course when the steering is unstable, when the forecast has not settled within the horizon, or when the model cannot build the backlog in the file before the first decision. sim.py is imported unchanged; paper/data is untouched. diagnose.py gives identical output for both input files; the bottleneck selection is now a function so forlop.py can reuse it, and true/false are rejected where a number is expected. Reviewed by an independent agent; its 14 findings are addressed. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
4.6 KiB
4.6 KiB
Changelog
All notable changes to this project will be documented in this file.
2026-11-10 — forløp over tid med egne tall
- Nytt skript
paper/forlop.py: leser samme fil somdiagnose.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.jsonhar fått feltet"styring"(forsinkelse og reaktivitet).diagnose.pygir samme svar som før, og avviser nåtrueogfalseder det skal stå tall.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 isim.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.pygodtar 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.pymed 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.