basquetWi + New ticket

New ticket

Sub-ticket of MARS-206 practicaDailySeq gap-fill needs partial unique index first: uq_practicas_student_date_seq is non-partial, so a soft-deleted práctica keeps its (studentUserId,date,seq) slot. Adding deletedAt IS NULL to the seq-counter MAX (MARS-203 item-1) would let re-mint reuse a taken slot → unique_violation 500. Audit BLOCKED + reverted item-1 (guard comment left documenting the trap). REAL fix (2 steps): (1) db migration — make uq_practicas_student_date_seq PARTIAL (WHERE deletedAt IS NULL), audit pre-apply review; (2) THEN coder re-adds the deletedAt filter to the seq counter so gap-fill is safe. Benign/cosmetic today (folio gap after same-day delete-recreate), low urgency. Same partial-index class as MARS-181. · mars