Endpoints that returned success and did nothing
An endpoint queued an outbox event for a dispatcher that did not exist, so it returned 200 and no email was ever sent.
Built, and nothing used it
Shipped, typechecked, dependency-injected, unreachable. Nothing ever called it.
Two features looked finished from the API's point of view and weren't.
The reviewer invite wrote a ReviewerInvite row and queued an email.reviewer_invite outbox event, but no outbox dispatcher existed to drain it. The endpoint returned success and nothing reached a human. Consent revocation had scrub logic and a preview endpoint behind a typed confirmation, and no worker job to run it, so a revocation could be requested and nothing would process it.
Both are the same shape: the synchronous half of a feature is done, the asynchronous half that makes it real isn't, and from the API's point of view everything looks fine. A 200 means the request was accepted, not that the thing the user asked for will happen.
Closed by building the worker out properly. control-plane/worker registers five jobs: an outbox dispatcher that claims with FOR UPDATE SKIP LOCKED, renders and sends through Resend/SMTP and marks each row sent or failed; an hourly consent-revocation scrub, verified against real data to null the submission identifiers, flip rights_status to revoked and write a no-identifier audit row; an hourly pending-upload sweep; a claim-expiry job; and a nightly stats recompute.
The lesson outlives the two instances. A feature's synchronous half looking done tells you nothing about whether its asynchronous half exists, and the API can't tell the difference either.