How can a just-created snapshot revision be "missing chunks"?

I have a duplicacy repository that backs up my laptop’s home directory onto a B2 bucket. It has been running for a couple years; the revision numbers are up to 1500.

At some point along the way, something went wrong (probably prune being run from two places as I migrated from my old laptop to a new one), and now check reports “missing chunks”.

I can understand that if some chunks referenced by a snapshot revision were deleted from the storage, for whatever reason, then the check command would report “missing chunks” for that revision.

However, I’m seeing “missing chunks” reported for snapshot revision that was created just now — without any prune operation since the revision was created.

How is this possible?

I thought that Duplicacy’s backup operation worked like this:

  1. Crawl the entire source tree (in this case, my laptop home directory).
  2. As directories and files are read, break this source data into “chunks”.
  3. When a chunk is created, calculate its hash; this becomes the name of the chunk.
  4. See if a chunk with this hash already exists in the storage; if not, upload it.
  5. Keep track of all the chunk hashes.
  6. When the whole tree has been traversed, record the list of chunks; this is what the “revision” actually contains.

I must be wrong about some aspect of the above, because if Duplicacy followed these steps on every backup, I don’t see how any chunks could be missing from a new revision immediately after creation.

Please help me understand.