dynamisk-rettsstat/CHANGELOG.md
Kjell Tore Guttormsen 13f6c28dc0
fix: findings from the Cowork test, released as v0.1.1
The operator tested v0.1.0 in Cowork on 2026-11-11. README now says what
was measured there and what was not.

- miljo: no longer claims that kontroll compares "with tolerance, not bit
  for bit" when numpy or scipy differ from the note's versions. kontroll
  always compares byte for byte first, and numpy 2.5.3 gave bit for bit.
- kontroll --alt: show every differing line. The cut-off line now names
  the option instead of only counting the lines left out.
- skill simuler: the question before a run must be answerable with yes or
  no. In the test it became a choice between variants and the run stalled.
- skill forbedre: offer the working copy as a zip when the user cannot
  open the folder it was made in, as in Cowork.

263 tests pass; full kontroll: bit for bit with the note.

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

4.3 KiB

Changelog

All notable changes to this project will be documented in this file.

0.1.1 — 2026-11-11

Etter forfatterens prøve av 0.1.0 i Cowork.

  • README: hva som er målt i Cowork, og hva som ikke er det. Zip-fila fra Forgejo lastes opp som den er, de fire ferdighetene virker, diagnosen og forløpet gir notatets tall, og kontrollen gir «bit for bit som notatet» også med Python 3.13.18, numpy 2.5.3 og scipy 1.18.1 på Linux. Ikke målt der: en egen simulering med figur, installasjon av numpy og scipy, og om en arbeidskopi blir liggende til neste økt.
  • Rettet: miljo sa at kontrollen «sammenligner med toleranse, ikke bit for bit» når numpy eller scipy ikke er notatets versjoner. Det stemte ikke: kontrollen sammenligner alltid byte for byte først, og i Cowork ga numpy 2.5.3 bit for bit. Meldingen sier nå at tallene kan avvike i siste siffer, og at kontrollen sier hva de gjør.
  • Nytt: kontroll --alt viser alle linjene som er ulike. Før ble alt etter de 40 første per sammenligning bare talt («… linjer til»), uten noen måte å få dem fram på. Linja sier nå hvordan.
  • Ferdigheten simuler: spørsmålet før kjøringen skal kunne besvares med ja eller nei. I prøven ble det et valg mellom varianter, og kjøringen ble stående.
  • Ferdigheten forbedre: ligger arbeidskopien et sted brukeren ikke åpner selv, som i Cowork, sier Claude hvor, og tilbyr den som zip-fil sammen med kontrollutskriften.

0.1.0 — 2026-11-11

Første versjon.

  • Fire ferdigheter på norsk: diagnose (leddet som binder, tiltakstype og kapasitetsbehov fra egne tall), forlop (stabilitetssjekk og forløp måned for måned), simuler (fra «hva om …» til scenariofil, kjøring, tabell og figur) og forbedre (arbeidskopi, modellkart, utvidelser med grensetilfelle og kontroll av hva en endring flytter). Finnes en egen versjon av modellen i brukerens mappe, spør ferdighetene før de bruker den, og sier hva kontrollen sier om den.
  • Modellen bak notatet Den dynamiske rettsstaten: modell/kjerne/ har uendrede kopier av sim.py, diagnose.py og forlop.py fra notatets repository ved commit 2badc25.
  • modell/kjor.py: én inngang for alle kommandoene (diagnose, forlop, scenario, notatet, kontroll, miljo, arbeidskopi), bare standardbiblioteket. Den finner en Python med numpy og scipy, og installerer dem bare i en egen mappe etter miljo --opprett. Feltnavn den ikke kjenner i inndata til diagnosen og forløpet, stopper regningen med et forslag til riktig navn.
  • kontroll: måler kjernen og fasiten mot notatets egne sjekksummer, og sammenligner diagnosen, forløpet, en full kjøring av notatets simulering (22 datafiler og utskriften), utvidelsenes grensetilfeller og scenariokjøreren med fasiten. Sier om modellen regner bit for bit som notatet, innenfor toleranse eller er endret, og hva som ikke er kontrollert når numpy eller scipy mangler.
  • Scenariokjøreren med scenarioformat på norsk (docs/scenarioformat.md): alle fem simulatorene i kjernen, overstyring av parameterne, beslutningsregler, sjokk, tiltak og sveip over én eller to parametere. Endres en parameter som bestemmer utgangspunktet, stopper kjøringen, med mindre scenarioet sier om utgangspunktet skal kalibreres på nytt eller kjøres fra ubalansen (startlikevekt). Ut: sammendrag, CSV per kjøring og resultat.json med alle parametere, versjoner og sjekksummer.
  • 21 scenariofiler som gjenskaper 20 av notatets 22 datafiler (de to siste er analytiske), og seks scenarioer notatet ikke har figur for, blant dem en nullinje uten sjokk.
  • Utvidelser ved siden av kjernen, med regelen fra notatet om et grensetilfelle som gjenskaper kjernen eksakt. Gjennomført eksempel: paadrag_tidsserie (pådraget følger en tidsserie i stedet for ett varig sjokk). Mal i docs/utvidelser.md.
  • arbeidskopi: en kopi av modellen brukeren eier og kan endre, også kjernen.
  • Dokumentasjon: inndata, scenarioformat, modellkart (ligning → funksjon → parameter), utvidelser og forbehold. Forbeholdene sier blant annet at utgangspunktet i notatets modeller med kø i domstolen ikke er en eksakt likevekt, og hvor mye modellen driver uten sjokk. Eksempelfiler: stiliserte tall som gjenskaper avsnitt 9.5, og offentlige norske tall for 2025.
  • BIDRA.md: hvordan en forbedring sendes tilbake.