## Why

Infra changes (Prometheus alerts, Caddy config, Grafana dashboards) can only be
validated against staging or production — there is no way to test them locally
first. Meanwhile, CI E2E tests skip ~15 of 20 tests because there is no
PostgreSQL service in the workflow, and BRouter was only recently added to CI
with manual setup instead of reusing the dev compose file. The existing
`docker-compose.dev.yml` covers PostgreSQL and BRouter but nothing else from the
production stack.

## What Changes

- Extend `docker-compose.dev.yml` with an optional monitoring profile
  (Prometheus, Grafana, Loki) so developers can test observability changes
  locally before deploying to production
- Add `pg_stat_statements` and initialization scripts to the dev PostgreSQL
  to match production config
- Improve `scripts/dev.sh` with proper health checks and better error output
- Simplify CI by using the same compose file instead of ad-hoc `docker run`
  commands
- Add a database seed script for consistent test data
- Add a `pnpm dev:reset` command to tear down and recreate the local stack

## Capabilities

### New Capabilities

- `local-monitoring`: Optional local Prometheus + Grafana + Loki stack via
  `--profile monitoring`, matching production monitoring configuration
- `dev-reset`: One command to wipe and recreate the local dev environment

### Modified Capabilities

- `local-dev-environment`: PostgreSQL config aligned with production
  (pg_stat_statements, init scripts), improved health checks, seed data

## Impact

- **docker-compose.dev.yml**: Add monitoring services behind a profile, update
  postgres config to match production
- **.github/workflows/ci.yml**: Replace manual `docker run` with compose-based
  service startup
- **scripts/dev.sh**: Better health checks, error messages, optional monitoring
- **scripts/reset-dev.sh**: New script to wipe volumes and restart
- **scripts/seed.ts**: Test data for local development and E2E tests
- **Dependencies**: None new (all Docker images already used in production)
