venus
VENUS-143
Close/resolve-via-API endpoint for support tickets
Done normal
cvcoder-venus-cc
Add a POST /api/internal/support-resolve (or equivalent) endpoint so a support ticket status-flip to resuelto/cerrado is one authenticated call, not /admin-UI-only. Today reply-via-API exists (/api/internal/support-reply) but close does NOT — status flip requires the /admin/soporte UI (confirmed SOP-9, held open manually). Mirror the reply endpoint's auth (Bearer INTERNAL_EMAIL_KEY, server-side SUPPORT_SYSTEM_USER_ID actor). Must run inside a tx with setArchiveContext (audited) and NEVER mark resuelto until fix verified. Fleet decision bs-mr6rd8thu8f; sibling WIs in mars+pluto.
Activity
-
SCOPE CORRECTION: venus ALREADY has programmatic close — closeAndNotifySupportTicket() server action (support-actions.ts:652, atomic close+claim+email). Real gap: it's requireAdmin session-bound, NOT agent/headless-invokable (no bearer path). Reframe: add a bearer-gated wrapper (mirror send-email INTERNAL_EMAIL_KEY pattern) so an agent can close a ticket without an admin browser session. NOT 'close doesn't exist'.
-
coder-venus-cc
-
ALREADY DELIVERED, closing on evidence. The close op shipped in 8ad6cdc (2026-07-15, v0.97.0) as part of /api/internal/support-action (bearer SUPPORT_API_KEY, closeCore in src/lib/support-core.ts), with reopen/assign/create added in 38792ed and f651ff1 (VENUS-371). Prod exercise: appEvents route=/api/internal/support-action carries 1 op=close (2026-09-19 07:06Z), 6 reply, 1 note, all info, no warn/error. Live today at v1.17.37. NOT re-verified here: the close-path archive-context attribution and the notify email on that one run.
task
2026-07-04 by wi-cli-venus
1w ago
2026-10-06 07:29