Looking for a precise documentation of Algorand

Hi, all!
I’m new to Algorand and trying to understand its consensus algorithm from several papers.
Specifically, I’m looking for a precise documentation for the latest version of the Algorand protocol and its correctness proof.
The papers I’ve read describe VRF and commitee selection in a common way, but other details of them seem to be somewhat different, so I’m confused.

First, the white paper (the longest version) and the TCS journal paper say that the algorithm runs a graded consensus (GC) protocol and then Binary BA*.
The SOSP conference paper contains a similar description, but it has a two-step reduction process instead of GC.
On the contrary, the official Algorand website and another version of white paper (ALGORAND AGREEMENT: Super Fast and Partition Resilient Byzantine Agreement) describe the algorithm with soft-vote, cert-vote, and next-vote.

I’m curious about which one is close to the current official implementation of Algorand. (Of course, implementation often diverge from design.)
Has the algorithm been changed over time, or can we see them as just multiple descriptions of a single algorithm?

Thank you!

Welcome to Algorand!

The implemented consensus is described in specs/abft.md at master · algorandfoundation/specs · GitHub

Thank you! It’s very helpful to me.