| type | Playbook | ||||
|---|---|---|---|---|---|
| title | Change authoring verification | ||||
| description | Mandatory local verification before commit or push when a change can affect CI outcomes. | ||||
| tags |
|
||||
| timestamp | 2026-07-03 00:00:00 UTC |
Before commit or push on any change that touches:
pnpm-workspace.yaml, lockfile, orpackage.jsonfiles (including examples).github/workflows/**,cloudbuild.yaml, or Node/pnpm/CI tool versions- test harness, e2e, or example apps consumed by CI
Normative gate: AD-10. Agents: AGENTS.md points here.
Use the same Node major as CI (see LOCAL_DEVELOPMENT.md). Local Node 26+ can pass tests that fail on CI Node 24 (e.g. jsdom localStorage behavior).
| CI job | Workflow | Local command | Notes |
|---|---|---|---|
| Lint and Format Check | lint.yaml |
pnpm lint:check && pnpm format:check |
|
| Test | test.yaml |
pnpm build then pnpm test |
CI starts Auth emulator; skipped integration tests do not need it |
| E2E | e2e.yaml |
pnpm test:e2e |
Auth emulator via Playwright globalSetup; serial, ~minutes |
Root pnpm build does not compile examples/custom-auth-server. E2E builds it on demand — a deps bump can break e2e while pnpm build passes.
Required extra step when examples/custom-auth-server or its deps change:
pnpm --filter custom-auth-server run buildOr rely on full pnpm test:e2e (includes that build).
Run in order; do not commit until complete:
pnpm installpnpm buildpnpm --filter custom-auth-server run build— if custom-auth-server or firebase-admin/admin deps touched; always safe for deps PRspnpm testpnpm lint:check&&pnpm format:check— includes repository style guide (.gemini/styleguide.md; e.g. Rule 11: catalog duplicate deps)pnpm test:e2e
Dependency-only bumps: also follow dependency-update-verification.md (audit, AD-9).
pnpm install && \
pnpm build && \
pnpm --filter custom-auth-server run build && \
pnpm test && \
pnpm lint:check && \
pnpm format:check && \
pnpm test:e2e| Topic | Document |
|---|---|
| Test layers | architecture/testing-strategy.md |
| Dependency bumps | dependency-update-verification.md |
| E2E scope | decisions.md AD-3, AD-4, AD-6 |
| Local emulator | LOCAL_DEVELOPMENT.md |