Features #417
öppenFeatures #293: Rensa utgångna personfält i purchase_participants
Maintenance #416: Fastställ och fånga LOK-referensår för deltagarsnapshot
Lagra oföränderlig LOK-klassificering per deltagarsnapshot
70%
Beskrivning
Mål: ge nya lok_support-deltagarsnapshots ett oföränderligt policy- och klassificeringsunderlag utan att automatiskt klassificera historiska rader.
Definition of Done:
- En versionshanterad databasmigrering och domäntjänst lagrar ändamålssnapshot, pending_review, policyversion, frister, klassificeringsstatus, klassificerare, tidpunkt, eventuell referensår/UTC-gräns och icke-personlig beslutsreferens.
- Servern kopierar och validerar lok_support vid deltagarregistrering; senare artikeländring ändrar inte snapshoten.
- Databasen nekar ogiltiga status-/års-/gränskombinationer, omskrivning av oföränderliga beslut, återställning efter radering och samtidiga dubbla klassificeringar.
- Befintliga rader lämnas oklassificerade och ändras inte automatiskt.
- Isolerade MariaDB-tester täcker årsskifte, Europe/Stockholm, manipulerade värden, tenantgräns och idempotens.
Utanför scope: administrativ UI, rättelse av ett fattat beslut, gallringsbatch, historisk backfill och produktionsaktivering. Verifieringsmiljö: lokal/isolerad MariaDB-CI.
Acceptanskriterier
Nya LOK-snapshots får oföränderligt ändamål, policy, frister och engångsklassificering. Historiska rader lämnas orörda och MariaDB-tester verifierar årsskifte, tidszon, manipulation, tenantgräns och idempotens.
Testresultat
PASS 2026-09-29: PHP-lint; 101 foundation/845 assertions; 238 MariaDB-integrationstester/4 087 assertions; separat 027→028-kontroll bevarade historisk rad oklassificerad och förseglade endast nya snapshots. Ingen produktionsändring.