Replace /tmp state file IPC with SQLite session store #9

Open
opened 2026-04-05 21:36:54 -07:00 by pyr0ball · 0 comments
Owner

Currently the webhook server and dialer communicate via /tmp/osprey_call_state.txt. This is fragile (lost on reboot, no history, race conditions), and breaks once Osprey is Dockerized (separate containers).

Deliverables

  • SQLite sessions table: call_sid, status, agency, started_at, bridged_at, ended_at, transcript
  • Webhook handlers write to DB instead of state file
  • Dialer polls DB instead of file
  • Retains call history (useful for case tracking later)

Notes

  • Use cf-core db module once integrated
  • In-process SQLite is fine for single-host MVP; can migrate to Postgres later if needed
Currently the webhook server and dialer communicate via `/tmp/osprey_call_state.txt`. This is fragile (lost on reboot, no history, race conditions), and breaks once Osprey is Dockerized (separate containers). ## Deliverables - SQLite `sessions` table: `call_sid`, `status`, `agency`, `started_at`, `bridged_at`, `ended_at`, `transcript` - Webhook handlers write to DB instead of state file - Dialer polls DB instead of file - Retains call history (useful for case tracking later) ## Notes - Use cf-core `db` module once integrated - In-process SQLite is fine for single-host MVP; can migrate to Postgres later if needed
pyr0ball added this to the Alpha — Pipeline milestone 2026-04-05 21:36:54 -07:00
Sign in to join this conversation.
No labels
backlog
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Circuit-Forge/osprey#9
No description provided.