paper/norge_2025.json holds 2025 and October 2026 figures for police and prosecution, district courts, appeal courts and prison, each with its source (POD report 1/2026, Domstoladministrasjonen annual report 2025, Kriminalomsorgen key figures October 2026 and annual report 2025, SSB). Derived values are marked as estimates. Result: police and prosecution bind (utilization 1.09 once dismissals for lack of capacity are counted as untreated), with prison (1.06) and district courts (1.04) also above full utilization; appeal courts are below (0.88). README shows the table and its caveats. diagnose.py accepts an acceptable backlog instead of a target time, and cases closed without treatment, and lists other links above capacity. The stylized example still reproduces section 9.5. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2.8 KiB
2.8 KiB
den-dynamiske-rettsstaten
Context
Concept note (Norwegian, LaTeX) and its simulation code. The principle: enforcement effort should track how much, and how seriously, laws are actually broken. Published as open, non-commercial material. Readers are Norwegian, so README and paper are in Norwegian (bokmål); CLAUDE.md and code comments may stay as they are.
Stack
paper/sim.py: Python 3, numpy + scipy (pinned inrequirements.txt). Writespaper/data/*.dat, which pgfplots in the LaTeX source reads.paper/*.tex: LaTeX.main.texandnotat.texbuild with pdflatex,karusell.texwith xelatex (font Inter from TeX Live).main.tex= the note (inputspart1-part4,refs),notat.tex= 2-page summary,karusell.tex= slides. Sharedpreamble.tex. Bibliography is a hand-writtenthebibliographyinrefs.tex.pdf/: the published PDFs. They are build output committed on purpose; rebuild and replace them together with source changes.
Conventions
- The core sentence must be quoted verbatim everywhere: «Innsatsen for å håndheve lover og regler bør løpende stå i forhold til hvor mye, og hvor alvorlig, de faktisk brytes.» Short form of the clarification: «Straffebud og strafferammer ligger fast.»
- Any change to
sim.pymust keeppaper/data/byte-identical unless the change is meant to alter results; then text, figures and PDFs change in the same commit. - Licensing is split: text (
pdf/,paper/*.tex) is CC BY 4.0 (LICENSE-CC-BY-4.0.txt); code and data (paper/sim.py,paper/diagnose.py,paper/eksempel_domstol.json,paper/norge_2025.json,requirements.txt,paper/data/) are MIT (LICENSE). New files follow the same split. - Never commit anything under
private/(working documents: peer review, change list, social-media drafts, original source zip).
Commands
- Setup:
python3 -m venv .venv && .venv/bin/pip install -r requirements.txt - Run simulation (about 2 min, from
paper/):../.venv/bin/python sim.py - Bottleneck diagnosis from own numbers (stdlib only, from
paper/):python3 diagnose.py eksempel_domstol.json; must reproduce section 9.5 (utilization 1,28, +19 % capacity). - Reproduction check after a run:
git status paper/datashows no changes (verified 2026-11-10: 22/22 files identical with Python 3.14.0, numpy 2.5.4, scipy 1.18.1) - LaTeX build (from
paper/, TeX Live 2026 in/Library/TeX/texbin):pdflatex main.texandpdflatex notat.texthree times each,xelatex karusell.textwice; copy topdf/(verified 2026-11-10: main 57 pages, notat 2, karusell 16, no undefined references). Build in a scratch copy ofpaper/to keep aux files out of the repo.
Workflow
- Repository starts private under
ktg/; moving it toopen/is the operator's decision. - Run the repo-standard skill before publishing.