Report: Alert History

Screen: /dashboard/reports/alert-logUpdated 2026-09-22For: Staff / caseworker, Founder

What this screen is for

Screenshot of the report alert log screen at /dashboard/reports/alert-log, illustrating “What this screen is for”, with numbered callouts: 1. Alert History.
Figure 1 — What this screen is for.

Alert History (/dashboard/reports/alert-log) records every decision GraceBridge made, at what level, who (if anyone) was told, and what a human made of it afterward. It's the honesty check on GraceBridge itself — every alert it raised, who was told, and how the church responded.

What you see, in the screen's own labels

Screenshot of the report alert log screen at /dashboard/reports/alert-log, illustrating “What you see, in the screen's own labels”, with numbered callouts: 2. Why —.
Figure 2 — What you see, in the screen's own labels.
  • H1 "Alert History." (RUN 192 dropped the parenthetical "(Every alert, who was told, and what was done)" subtitle.)
  • Band tiles: "Decisions, last {n} weeks," "Act now," "Reach out soon," "Keep in mind," "Alerted a human," plus a sparkline labeled "Alerted a human, by week."
  • Table columns: Level · When · Person · What fired · Who was alerted · Outcome.
  • Level meanings, verbatim (RUN 189: the old severity words were renamed so the words say what a reader should do, not just that something went wrong; a row at the "Crisis" level may still say so, since that level IS "crisis language was found"): - Crisis (tile: Act now) — "Crisis language was found — in an intake story or in a reply on the after-care journey. GraceBridge called for a human immediately." - Reach out soon — "A human was called for without crisis language: the person declared crisis-today on their intake, or GraceBridge judged the story needed someone to reach out soon." - Keep in mind — "No human was called. GraceBridge named a service track of care at medium or high confidence — a suggestion a volunteer carries in person, never an automated offer." - For information — "GraceBridge read it and raised nothing — no crisis language, no crisis declared, and no service track named, or one named at low confidence."
  • Outcome labels: "Checked — no action needed," "Acted," "Acknowledged," "Not yet."
  • Delivery labels, plain words now: "Delivered," "Text service accepted it," "Sent to the text service," "Not delivered," "No way to send yet (texting not set up)," "No crisis contact set," "Send failed."
  • Each row can be expanded for "Why — {GraceBridge's own reasoning}" — or, when a person hasn't consented to their story being shown: "Why: withheld — this person did not consent to their story being shown, so nothing written about it is printed."

What to do

Screenshot of the report alert log screen at /dashboard/reports/alert-log, illustrating “What to do”, with numbered callouts: 2. Not yet.
Figure 3 — What to do.
  • Use this report to audit GraceBridge, not just to find alerts. Reading the Outcome column against the Level column tells you whether GraceBridge's checks are actually landing on real crises.
  • Close the loop. If an alert's outcome still reads "Not yet," that's a live prompt to record what actually happened.

What NOT to do

Screenshot of the report alert log screen at /dashboard/reports/alert-log, illustrating “What NOT to do”, with a highlighted region and numbered callouts: 1. DON'T — Watch.
Figure 4 — What NOT to do.
  • Don't confuse "Keep in mind" with a human being notified. By definition, that level never calls a human — it's a suggestion a volunteer carries in person, nothing automated is sent.

When something goes wrong

Screenshot of the report alert log screen at /dashboard/reports/alert-log, illustrating “When something goes wrong”, with numbered callouts: 1. A log with no decision on it is replaced by a sentence.
Figure 5 — When something goes wrong.
  • No decisions in the window: "GraceBridge recorded no decision in the last {n} weeks as of {date} — there is nothing to put on this log."
  • Decisions exist, but none needed a person: "0 of {n} weekly check(s) needed a person (as of {date}) — that is not a bug."
  • Every alert already has a human outcome recorded: "Every one of the {n} alert(s) in the last {n} weeks has a human outcome recorded — 0 not yet, as of {date}."
  • A decision receipt couldn't be read: it's counted and disclosed rather than silently dropped: "{n} decision receipt(s) in this window could not be read and are not on this log. They are counted here rather than guessed at."