···11# Test Audit Status
2233-As of 2026-03-12, the focused test-correctness and reference-audit pass is complete on rewritten history through `16c510b`.
33+As of 2026-03-12, the focused test-correctness and reference-audit pass is complete on rewritten history through `9a3afbb`.
4455That does not mean every test has been manually revalidated against every other PDS implementation line by line. It means:
66···1313The current baseline for saying "the audited suite is green" is:
14141515- `prove -lr t`
1616- - last full green result in the realigned Meridian worktree: `Files=44, Tests=2525`
1616+ - last full green result in the realigned Meridian worktree before the current migration-auth follow-up: `Files=48, Tests=2758`
1717- `prove -lv t/server-auth.t`
1818- `perl -c script/differential-validate`
1919- `PERLSKY_RUN_REFERENCE_DIFF=1 prove -lv t/reference-differential.t`
···5454- Remote `did:web` DID docs, conservative `resolveIdentity` handle validation, and external handle adoption all need explicit coverage because small resolver-policy drifts turn into visible interop bugs quickly.
5555- `com.atproto.repo.getRecord` must honor `cid` when present, and `putRecord` / `deleteRecord` must actually enforce `swapRecord`; those negative edges are now covered directly.
5656- `com.atproto.server.requestPasswordReset` and `com.atproto.server.deleteAccount` now follow the reference form-token flow, with focused regression coverage for missing-account and bearerless deletion semantics.
5757+- `com.atproto.server.createAccount` with an explicit `did` must behave like an authenticated migration flow: require auth from that same DID, keep the existing DID document, and start the new account deactivated until activation catches the DID document up to the new PDS.
5758- `com.atproto.server.checkAccountStatus` must validate the stored DID document against the PDS service endpoint and signing key, and `com.atproto.repo.describeRepo` must derive `didDoc` / `handleIsCorrect` from that document instead of hardcoding success.
5859- `com.atproto.sync.getBlob` should ship the same download-hardening headers as the reference PDS (`X-Content-Type-Options`, `Content-Disposition`, `Content-Security-Policy`).
5960···8283| `t/api-util.t` | audited local regression | helper semantics, cursor validation, service-auth helper behavior |
8384| `t/app-routes.t` | local correctness/infrastructure | app route exposure and startup wiring smoke |
8485| `t/app.t` | audited local regression | application bootstrap plus malformed-handle rejection and startup hardening |
8686+| `t/account-migration-auth.t` | audited local regression | explicit-`did` account creation requires authenticated migration service-auth and preserves remote DID-doc state while starting deactivated |
8587| `t/auth-jwt.t` | local correctness/infrastructure | JWT signing and validation behavior |
8688| `t/browser-smoke.t` | local correctness/infrastructure | optional browser-driven end-to-end wrapper |
8789| `t/catalog.t` | local correctness/infrastructure | lexicon/catalog exposure smoke |