I notice that transam/README does not mention multixact except one place in section "Transaction Emulation during Recovery". I expected it to document how pg_multixact/members and pg_multixact/offset are used and what is their layout. It's not the responsibility of this patchset to document it, but it will be good if we add a section about multixacts in transam/README. It will make reviews easier.
Yeah, I agree, this is a big overlook, I think. Anyone who tries to understand how pg_multixact works has to deal with the code.
Certainly, we need to address this issue.
But for now, here is a new rebase @ 70a13c528b6e382a381f.
The only change is that following commits 15a79c7 and a0ed19e, we must also switch to PRIu64 format.