Draw three servers with terms, log indexes, commit indexes, and a client command. For each scenario, mark which messages arrive, which server can lead, and whether the command is merely appended or committed.
Use a majority quorum and the Raft paper's current-term and log-matching rules. Then answer what the client can know if its request times out after the leader replicated the command but before the reply arrives. Distinguish protocol safety from application-level duplicate handling.
The linked Raft site collects the paper and related resources. Do not assume a single visualization captures every membership-change or snapshot rule.