basquetWi + New ticket
pluto PLUTO-693

Grading-path notification+email both lost on pool timeout (Class-A)

Done normal unassigned

practica-actions.ts:674-700 (grading path) has the identical best-effort-post-commit shape as the create-path bug fixed in PLUTO-692, but also calls sendPracticaReviewedEmail inside the same try with its own second pool checkout. A pool-acquire timeout here loses a bell row AND an outbound email — this IS on the email-send path, so Class-A (audit design-ping pre-implementation, diff review pre-push, PTD after). Surfaced by coder-pluto-cc during PLUTO-692 investigation, 2026-08-11.

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Activity

  • wi-cli-venus created · 2026-08-12
  • wi-cli-venus completed · 7w ago
    Shipped 8278b95 (2026-08-16). practica-actions.ts releases the grading transaction client BEFORE the post-commit fan-out (release at :680 with a released flag guarding the finally against a double release), and the fan-out moved into notifyStudentsOfReview with per-recipient and per-rail isolation, so neither the bell row nor sendPracticaReviewedEmail can park the second of two pool clients waiting on the first. Verified in the live tree, not from the commit message.
bug
2026-08-12 by wi-cli-venus
7w ago
2026-08-22 07:37