Move checks-macos and macos-app jobs from ci.yml to a separate
ci-macos.yml workflow with path-based filtering. This prevents
macOS CI jobs from blocking PRs that don't touch relevant files.
The new workflow only triggers on PRs that change:
- Node source: src/**, extensions/**, package.json, pnpm-lock.yaml,
tsconfig.json, vitest.config.ts, **/*.test.ts
- Swift app: apps/macos/**, .swiftlint.yml, .swiftformat
PRs that only touch docs, Android, iOS, or other unrelated files
will no longer trigger macOS runners.