# 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 in `requirements.txt`). Writes `paper/data/*.dat`, which pgfplots in the LaTeX source reads. - `paper/*.tex`: LaTeX for pdflatex. `main.tex` = the note (inputs `part1`-`part4`, `refs`), `notat.tex` = 2-page summary, `karusell.tex` = slides. Shared `preamble.tex`. Bibliography is a hand-written `thebibliography` in `refs.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.py` must keep `paper/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`, `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` - Reproduction check after a run: `git status paper/data` shows 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: not verified; no TeX installation on this machine. ## Workflow - Repository starts private under `ktg/`; moving it to `open/` is the operator's decision. - Run the repo-standard skill before publishing.