wire up BackfillJob dispatch in ProfileController
Implements spec §6 Flow 2 web request handler:
- ProfileController.#ensureBackfillStarted() resolves handle→DID via
HandleResolver.resolveToDid(), upserts User row via firstOrCreate,
and attempts to INSERT BackfillJobRow — using the PK unique constraint
as a dedup gate. Only the winner of the insert race calls BackfillJob.dispatch().
- HandleNotFoundError renders 404; BlueskyRateLimitedError renders 503.
- server_error.edge now renders the optional `message` variable so callers
can supply context-specific error text.
- isUniquePrimaryKeyViolation() helper detects SQLITE_CONSTRAINT_PRIMARYKEY
without silently swallowing other error types.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>