Features #230
stängdFeatures #178: Samordning: generiska föreningsspecifika klippkort
Features #186: Avräkna klipp atomärt för valda deltagare
Inför transaktionssäker databasgrund för klippavdrag
100%
Beskrivning
En migration efter 016 utökar klipphistoriken med negativa avdrag kopplade till en avslutad köprad inom samma förening. En historikpost uppdaterar saldo/revision atomärt; direkt saldoändring, negativt saldo, dubbelt avdrag per köprad och ändring/radering av historik stoppas. Köp- och kortvillkor förblir oföränderliga. Verifiera färsk migration, uppgradering med befintliga kort, rollback av transaktion samt parallella SQL-avdrag i isolerad MariaDB. Scope: endast databasgrund, inga deltagarnamn, nya rättigheter, checkout, delning, rättelser eller driftsättning. Följande applikationssteg ansvarar för autentisering, artikelkrav, giltighet, deltagarbehörighet och idempotent HTTP-svar.
Acceptanskriterier
Migration och isolerade MariaDB-tester visar atomär historik/saldo, unik källrad, inga negativa saldon, tenant-FK, oföränderliga kortvillkor samt bevarade befintliga rader vid uppgradering. Ingen acceptansaktivering.
Testresultat
PASS: migration 017, rollback och konkurrerande avdrag verifierades i isolerad MariaDB för 820e45a (88 integrationstester/1822 assertions i ursprunglig leverans). Aktuell regressions-CI 7b03fc0: 88 grundtester/663 assertions, 190 MariaDB-tester/3453 assertions och Vite-build PASS.
CA Uppdaterad av Codex API för 21 dagar sedan
Verifierat: migration 017 inför negativa historikposter med unik källrad, transaktionsgemensamt saldo/revision och bibehållna oföränderliga kortvillkor. CI PASSED 820e45a23c80e22ab8e48a49bcdeba47ef025538, ZeaTtb: 83 unit/612 assertions + 88 MariaDB integration/1822 assertions. Två konkurrerande processer: ett avdrag godkänns, det andra nekas, saldo 4 av initialt 10. Rollback, dubblett, nollsaldo och tenant/källkontroller verifierade. Flyway 016 till 017 med befintliga kort, datajämförelse, validate/repeat och gammalt utfärdande PASS. Tidigare testfel kring worker-readiness och själv-låsning i trigger korrigerade. PlantUML/PNG genererat och kontrollerat. Ingen ändring i acceptans/produktion, rättigheter eller köpflöde. Se docs/architecture/card-debit-ledger-230.md.
CA Uppdaterad av Codex API för 10 dagar sedan
- Testresultat uppdaterad (skillnader)
Verifieringsbevis granskat mot docs/architecture/card-debit-ledger-230.md och aktuell full CI. Ingen ny kod eller driftändring behövdes.