Skip to main content

Tests

The source of truth for portfolio-level testing. Not the tests themselves — most tests live in their respective code repos under e2e/ and src/**/__tests__/ — but the registries, specs, handoffs, and meta-tests that coordinate them.

The registries

Two YAML files drive a lot of CI + agent behavior. Edit here; downstream workflows pick up changes automatically:

FilePurpose
registry.yamlThe test + critical-path registry. Every tracked test domain (chatbot, voice, visual, knowledge, journeys, smoke, unit) and every critical_path: true entry lives here. PRs touching a critical-path code_files entry must attach a matching Playwright artifact or carry an override label.
tag-registry.yamlPersona + lifecycle + property tag vocabulary. Prevents tag drift across journeys, acceptance specs, and test personas. Add new tags here first, then reference from content.

Derive verification tests

TypeScript unit tests that guard the knowledge-repo derive pipeline itself. Run via pnpm test (vitest):

  • derive-e2e.test.ts, derive-narrative.test.ts, derive-pricing.test.ts, derive-policies.test.ts, derive-products.test.ts, derive-gdrive.test.ts — per-target derive test suites.
  • index-completeness.test.ts, links-integrity.test.ts, manifest.test.ts — cross-cutting structural tests.
  • secret-detection.test.ts, google-oauth-config.test.ts, supabase-auth-config.test.ts — config safety tests.

These run in the knowledge repo's CI and locally before every derive push.

Persona-based tests

Agents (chatbot + voice) are not just tested for "does it respond?" — they're tested for "does Pastor Ruth in crisis feel heard?" Persona-driven tests sit in personas/.

Journeys

Machine-readable YAML journey definitions at journeys/ drive the /journey-runner skill. They're distinct from the human-readable persona × product journey docs at ../journeys/ — these are evaluable, those are narrative. Each file describes a concrete user goal, start URL, expected observations, and success criteria.

Specs + baselines

  • specs/ — per-feature expected-output specs (tier-gating behavior, chatbot response bounds)
  • baselines/ — captured ground-truth outputs for regression comparison
  • results/ — historical test run results preserved for trend analysis
  • scripts/ — helper scripts for test setup, fixture generation, baseline capture
  • manual-test-paths/ — click-through scripts for things too hard to automate (cross-browser manual passes)

Handoffs + audits

Point-in-time context docs that informed the current test infrastructure: