Skip to content

Testing

This page is the testing companion to Quickstart and Tooling reference. Use it to decide what to run before opening a pull request or changing release-sensitive behavior.

Core validation matrix

SurfaceCommandRun this when
Frontendcd frontend && npm ci && npm run lint && npm run typecheck && npm run test:unit && npm run buildAny frontend/ change
Backendcd backend && mvn test --no-transfer-progressAny backend/ change
Python servicecd backend/python-service && uv sync --extra dev && uv run pytest -v --tb=shortAny backend/python-service/ change
Docscd docs && npm ci && npm run docs:buildAny docs/ change
gh-aw workflowsgh aw validate && gh aw compileAny .github/workflows/*.md or .github/agents/* change

How to choose the right depth

Fast confidence

Use the commands above for the subsystem you touched. This is the default contributor path.

Cross-cutting confidence

If a change touches multiple layers, run the relevant commands from each affected surface instead of relying on a single top-level check.

Examples:

  • BFF auth change: frontend + backend
  • Python envelope change: backend + python service
  • release flow change: docs + gh-aw + workflow review

Current E2E status

The repository documentation and CI currently treat backend E2E as optional:

  • .github/workflows/ci.yml can run an additional backend E2E stage if scripts/e2e_backend_comprehensive.sh exists
  • when that script is absent, CI emits a notice and skips that stage

Do not document a guaranteed checked-in E2E flow unless that script becomes a maintained part of the repo.

Documentation-specific testing

For docs work:

  1. run npm run docs:build
  2. check navigation and sidebar reachability
  3. confirm new pages are also represented in Documentation site map