Add recent outreach rejections stream

This commit is contained in:
jjbrunton committed 2026-08-14 15:45:57 +01:00
1 parent 0c21202253
commit 94049ed9c4
9 files changed
+170 -16

No files matched your search

+1 -1
View File
@@ -36,7 +36,7 @@ Prepared cards in the authenticated outreach funnel expose the exact opener, gro
The funnel header also offers a destructive, confirmed **Clear funnel** action. Its dialog names the number of cancellable candidates, explains that audit rows remain and running discovery can refill the queue, and separately identifies any in-flight sends that cannot safely be cancelled. Success is reported from the authoritative API response before the funnel query refreshes.
The outreach funnel separates the live queue from its terminal screening outcomes. Its **Rejections** tab groups durable rejected candidates by their recorded reason, so an empty queue can be diagnosed without exposing the rejected post content or treating a rejection as an operator action.
The outreach funnel separates the live queue from its terminal screening outcomes. Its **Rejection reasons** tab groups durable rejected candidates by their recorded reason, while **Recent rejections** is a latest-50 audit stream with the scanned source content, author, timestamp, and recorded reason. Candidates manually cleared or removed by an operator remain counted in the reason summary but are excluded from the scan stream. Both are read-only diagnostic views.
Each non-sending candidate has a confirmed **Remove** action. Prepared candidates in ready or retrying state also have **Edit message**: the modal validates the 1–2000 character limit, the server re-applies outbound safeguards, and a successful edit is shown as operator-authored attribution. Buttons are intentionally absent once the candidate is sending, while the server still enforces the state boundary against stale pages.