Commit graph

7 commits

Author SHA1 Message Date
e6e9d3c74d
fix: correct findings from the pre-publication quality check
Seventeen independent read-only reviews (figures and sources, the diagnosis
tool, the mathematics, simulation numbers, appendix C, references, claims,
language, layout, summary and slides, README and repo, cross-document
consistency), each followed by an independent verifier. Every fix below was
checked against the source or recomputed before it was applied.

Norwegian diagnosis (paper/norge_2025.json, README):
- The prison outflow mixed units: it multiplied "cases handled" (16 000) by
  the share of enforced cases. It now uses enforced cases (KDI annual report
  2025, p. 70: 5 180 in the community = 58 %, so about 3 750 in prison), and
  the queue excludes sentences waiting for electronic monitoring.
- Result changes: prison and police/prosecution tie at utilisation 1,09; the
  tool points to prison on backlog growth. README says the difference is
  smaller than the uncertainty and lists the sensitivity (1,06 to 1,10).
- Police backlog taken directly from POD report 1/2026 fig. 3.2.1 (31 908
  vs 30 295); page references to the courts report corrected (15 and 18).

diagnose.py:
- Norwegian error messages instead of tracebacks for bad input; same
  expansion threshold as sim.py; tie message; honest wording when no
  forecast is given, when the constraint is the first link, and when a
  backlog grows with no link above full utilisation.

Note, summary and slides (PDFs rebuilt: 58, 2 and 16 pages):
- b_sat in (13') lacked the factor 1/T-bar; lowest trust in appendix C is
  0,33, not 0,47; nine numbers rounded or quoted wrongly; one sensitivity
  sentence was wrong for mu_4; the abstract claimed more police effort does
  not reduce crime, which the model contradicts.
- The decommissioning rule is described as the code implements it.
- Three references corrected, one added (Srivastav et al. 2019).
- Core sentence quoted verbatim in README and section 9.
- Layout: duplicate hyperref targets, the overfull box in table 1, three
  figures with colliding labels, one stranded heading.
- Summary and slides no longer say "not tested on Norwegian data"; slide 16
  gives the repository address.

sim.py and paper/data/ are untouched.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
2026-11-10 15:46:23 +01:00
13026a987e
docs(readme): lead with the tool and the first Norwegian diagnosis
The first screen now says what the tool does (binding link, type of
measure, size), states the principle and the fixed penal provisions,
and gives the result on public 2025 figures. Status and non-goals no
longer call the work "not a tool"; they state what the diagnosis can and
cannot do.

The capacity dismissals are now SSB's exact figure (30 334 in 2025,
table 09407, read from the SSB API), and README and the data file note
that SSB counts offences while the police report counts cases: using
SSB's share instead gives utilization 1.11 instead of 1.09.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 13:56:07 +01:00
1723d593f8
feat(diagnose): first bottleneck diagnosis on public Norwegian figures
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>
2026-11-10 13:37:12 +01:00
809dd4ccba
feat(diagnose): bottleneck diagnosis from own numbers, first version
paper/diagnose.py takes inflow, capacity, backlog and target time per
link and returns utilization, throughput time and backlog growth per
link, the binding link, the type of measure in Theory of Constraints
order (exploit, subordinate, elevate) and, for the binding link, the
capacity needed under the coordinated rule from sim.py, sized on the
forecast flow rather than the queue.

The example file holds the stylized month-24 values from the coordinated
run and reproduces section 9.5 (utilization 1.28, +19 % capacity);
checked against simulate_endo("koord"), which orders +19 % in month 24.
sim.py and paper/data/ are unchanged. Time paths and the stability check
for the police rule are not in this version.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 13:25:39 +01:00
5d4557d912
docs(pdf): lead the slides with the tool and rebuild all PDFs from source
The slides now present the model as a tool right after the idea: a new
slide on what it finds (binding link and type of measure, how strong,
effect on the rest of the chain and on trust), the seven steps, and the
worked full-court example with the table from section 9.5 next to the
coordination figure. The findings follow as what the tool builds on. The
separate full-link slide is replaced by the example; 16 slides.

The font path for Inter is no longer a hard-coded Linux path, so the
slides build with TeX Live's copy of Inter.

main (57 pages), notat (2) and karusell (16) are rebuilt from the source
in this repository and replace the PDFs in pdf/. README, CHANGELOG and
CLAUDE.md state the new page counts and the verified build commands.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 13:20:00 +01:00
666d3a1abc
docs(license): license the text under CC BY 4.0, keep MIT for code
PDFs and LaTeX source are CC BY 4.0; sim.py, requirements.txt and the
figure data stay MIT. README and CLAUDE.md state the split.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 10:14:43 +01:00
85bc99b257
feat: initial commit of concept note v2 and simulation
Concept note "Den dynamiske rettsstaten" version 2: PDFs, LaTeX source,
simulation (sim.py) and figure data. Working documents are kept out of
the repository.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 10:10:20 +01:00