> When do you consider the write/transaction to be completed?
Sending a UPDATE/INSERT/DELETE statement to SQLite is not blocking? I would think it is, because in my code I can read the number of affected rows right after I sent the query.
> What do you do about out-of-sync read replicas?
Delete them and replace them by uploading a checkpoint and replaying a log of the queries since then.
What do you do about out-of-sync read replicas?
ACID gets real hard real fast when introducing replication.