Why the id is assigned at read
The index holds ids only. An id assigned later is an id that changes the index, and changing the index is a rebuild.
The record of a read
Count, refused, and the reason for each refusal. The record is the claim that the library was read completely.