hyperhive/hive-c0re/src
müde 978a3cf391 reminders: persist + surface delivery failures
Broker schema gains attempt_count INTEGER + last_error TEXT
columns via idempotent ALTER TABLE migration (pragma-probed so
fresh + existing dbs converge). reminder_scheduler::tick calls
record_reminder_failure on every deliver_reminder error,
bumping the counter + stashing the message. get_due_reminders
filters out rows where attempt_count >= MAX_REMINDER_ATTEMPTS
(5) so the scheduler stops retrying a stuck row until the
operator intervenes.

new POST /retry-reminder/{id} → reset_reminder_failure clears
the counters; next 5s tick re-attempts. cancel-reminder
unchanged (hard-delete).

dashboard renders failed rows with a red left rule, the error
text inline, and a ⚠ N failed badge. ↻ R3TRY button appears
when attempt_count > 0 — sits next to ✗ C4NC3L in a small
actions row below the body.
2026-05-18 00:08:09 +02:00
..
actions.rs dashboard: tombstones + meta_inputs events — last /api/state refetches drop 2026-05-17 23:52:12 +02:00
agent_server.rs whoami: drop operator_pronouns (redundant — already in system prompts at boot) 2026-05-18 00:04:58 +02:00
approvals.rs nix fmt + rustfmt sweep 2026-05-17 01:40:28 +02:00
auto_update.rs dashboard: tombstones + meta_inputs events — last /api/state refetches drop 2026-05-17 23:52:12 +02:00
broker.rs reminders: persist + surface delivery failures 2026-05-18 00:08:09 +02:00
client.rs hive-c0re: admin socket server + client (stub dispatch) 2026-05-14 20:49:11 +02:00
container_view.rs container row: pending-reminder count chip ( N) 2026-05-17 23:52:56 +02:00
coordinator.rs question/answer text: server-side file_refs 2026-05-17 23:54:35 +02:00
crash_watch.rs phase 6: container events + drop the 5s /api/state poll 2026-05-17 22:01:15 +02:00
dashboard.rs reminders: persist + surface delivery failures 2026-05-18 00:08:09 +02:00
dashboard_events.rs question/answer text: server-side file_refs 2026-05-17 23:54:35 +02:00
events_vacuum.rs events_vacuum: drop row cap, age-only retention (7d min) 2026-05-17 23:19:08 +02:00
forge.rs forge: ensure core/meta repo + mirror meta commits to forge 2026-05-17 01:52:00 +02:00
lifecycle.rs nix fmt + rustfmt sweep 2026-05-17 01:40:28 +02:00
limits.rs limits: raise message body cap 1k → 4k (catches ~95% of conversational overflow) 2026-05-17 22:15:25 +02:00
main.rs path linkify: server attaches file_refs at message ingest 2026-05-17 23:44:50 +02:00
manager_server.rs whoami: drop operator_pronouns (redundant — already in system prompts at boot) 2026-05-18 00:04:58 +02:00
meta.rs forge: ensure core/meta repo + mirror meta commits to forge 2026-05-17 01:52:00 +02:00
migrate.rs nix fmt + rustfmt sweep 2026-05-17 01:40:28 +02:00
open_threads.rs open_threads: new get_open_threads MCP tool on agent + manager surfaces 2026-05-17 22:52:08 +02:00
operator_questions.rs dashboard: surface peer questions + operator override 2026-05-17 22:06:53 +02:00
questions.rs dashboard: surface peer questions + operator override 2026-05-17 22:06:53 +02:00
reminder_scheduler.rs reminders: persist + surface delivery failures 2026-05-18 00:08:09 +02:00
server.rs nix fmt + rustfmt sweep 2026-05-17 01:40:28 +02:00