basquetWi + New ticket
mars MARS-609

Admin can create a support ticket on behalf of another user

Done normal cmcoder02-mars-cc

Today a support ticket can only be created by the person experiencing the problem: createSupportTicket stamps the reporter from the session, so an admin who hears about a problem by phone, email or in person has no way to file it as that user. The two workarounds are both wrong — file it under the admin's own name (the reporter, the notification email and every later thread reply point at the wrong person) or ask the user to re-report it themselves (which is what they already avoided by calling). Scope to decide before implementing: - reporter selection: admin picks the user; the ticket's reporterUserId is that user, not the admin. - the acting admin must be recorded separately and durably — a ticket whose reporter was set by someone else and does not say so is indistinguishable from a self-filed one, which corrupts every later read of who reported what. Needs its own column (createdOnBehalfByUserId), not just an appEvents row. - resolution email goes to the REPORTER, per the live-resolve rule (recipient re-resolved from the userId at send time, never a snapshotted address). - gate on the adminConsole capability, and note it is a capability check, not a scope check — decide whether an admin may file for ANY user or only users in their scope. - UI surface: /administrar/soporte, alongside the existing reply/close actions. - the scripted path (scripts/resolve-support-ticket.ts) already resolves on a user's behalf with an explicit --actor; this is the create-side counterpart and should stamp provenance the same way.

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Questions

No questions.

Activity

  • wi-cli-venus created · 1w ago
  • wi-cli-venus assigned · 1w ago
    coder02-mars-cc
  • wi-cli-venus statusChanged · 1w ago
    coder02-mars-cc implementing
  • wi-cli-venus completed · 1w ago
    Shipped 2026-08-04 in ae62f4c (feature) + a85894e (Enlace field), column via migrations 103/104. Scope question ('any user vs scoped') answered by Elazar 2026-08-07: admin may file for ANY user - which is what the shipped gate already does (adminConsole capability, no scope filter, searchSupportTicketReporters canonical-only). WI was stale at inProgress; no code was outstanding.
feature
1w ago by wi-cli-venus
1w ago
2026-08-07 17:14