An AT Protocol Personal Data Server written in JavaScript pdsjs.dev
pds atproto

test(core): close the coverage gaps in the backup and repo handlers master

account-backup 71.6% -> 97.5% of statements, xrpc-repo 70.4% -> 88.8%, both at 100% of functions. Floors raised to match. The backup routes were the gap I named when this cluster moved and said extraction had not paid for itself here. It has: accountApi arrives through the context, so a stand-in keeping its contract reaches all three routes with no session and no server. That covers every validation the settings endpoint makes, including the derived-key checks that decide whether a signing key can be sealed. Two of the new prune tests are the ones to keep. Blob GC is skipped entirely unless a kept manifest parsed, because reaping on partial knowledge is how live blobs get deleted; both the unreadable-manifest and no-manifest paths now assert that nothing is removed. For repo it is applyWrites: update, delete and create in one batch, each rkey requirement, the unknown-type rejection, and a schema failure writing nothing. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>