* ci: shard E2E, skip docs-only PRs, and drop the inert visual-regression gate
The visual-regression workflow never had committed baselines, so every run
skipped its comparison and passed. Remove it with its spec and Playwright
project.
E2E now runs as four parallel shards, each with its own app and database,
and no longer waits on the backend job. A single aggregator job keeps the
required check name. CI retries drop from 2 to 1 so a real failure no longer
runs three times.
A change-detection job skips the build, test, and image jobs when a PR only
touches docs/, .claude/, .opencode/, or markdown. It fails closed: an empty
file list, a detection failure, or a rename out of code runs everything.
* test(e2e): create the test admin in global setup so specs do not depend on file order
Sharded runs start each shard on a fresh instance. A spec that logs in
through the API in beforeAll failed with 401 when it ran first, because the
admin was previously created by whichever earlier spec clicked through the
setup screen.