Initialize with an existing database instance (for testing).
Initialize the storage backend.
Store a routing decision.
Store a task outcome.
Store a computed reward.
Get routing decision by ID.
Get outcome for a routing decision.
Get aggregated statistics per model.
Get recent decisions for a model.
Get decisions by request ID (for audit trail integration).
Get total record counts.
Close the database connection.
SQLite-based outcome storage implementation.