title
Behavior Catalog & Cross-Functional Quality
kind
sop
triggers
tools

Standard Operating Procedure: Behavior Catalog & XFN

Follow these steps for any non-trivial change. Tests are the source of truth for intended behavior above documentation. Full detail lives in agent-tdd and agent-xfn.

1. Inventory

  • Locate related unit and slice tests (functional catalog).
  • Locate related browser E2E, a11y, security, and load suites (XFN catalog).
  • Prefer tests over README/docs when they disagree; flag the conflict.

2. Impact map (functional)

  • Classify each relevant functional case: keep / extend / rewrite / retire / add.
  • Present the map to the user; do not edit catalog cases without alignment.
  • Record in handover_tdd.md (see templates/handover.md).

3. XFN matrix

Mark every quality apply or skip with a reason. Silent omission is not allowed.

QualityDefault apply when
Browser E2EUser-visible critical journey
AccessibilityAny UI surface touched
Security testsAuthn/authz, sensitive data, trust boundaries, new inputs
Load / performanceLatency/throughput SLO or high-traffic path
  • Classify applicable XFN cases: keep / extend / rewrite / retire / add.
  • Capture thresholds (WCAG level, p95, RPS, authz rule).
  • Align with the user; record in handover_xfn.md.

Light XFN (bug-fix / design-light routes)

Minimum floor - not optional when the condition matches:

TouchMinimum
UI surfaceAccessibility apply (axe or project equivalent on touched surface)
Auth / trust boundaryAt least one security denial or abuse case
Latency-sensitive or SLO pathLoad/performance apply, or skip with explicit SLO-not-in-scope reason
OtherwiseFull matrix with skip reasons for unused qualities

4. Plan vs green (XFN)

  1. Plan (Design) - Matrix, impact, thresholds, suite stubs/specs, how-to-run. Status may be COMPLETE for planning even if browser/load are not green yet.
  2. Wire (TDD short loop) - agent-tdd gear 1+2 (or optional agent-adapter deep-dive) provides adapters/fixtures; re-confirm if impact expands.
  3. Green (post-wiring) - Return to agent-xfn (or complete under orchestrator) to make agreed apply suites pass. Do not mark Release COMPLETE while apply rows lack green suites.

5. Suite paths & how to run

  • List concrete file paths for every apply row.
  • Document local/CI commands (mise task, pnpm test:e2e, k6 run, etc.).
  • Prefer tooling from the active lang-* / framework-* profile; propose new tools only with user alignment.

6. Audit gates

Before Release:

  • Functional impact map aligned (yes, not pending)
  • XFN matrix complete (every quality apply or skip + rationale)
  • Every apply row has suite paths; suites exist and were greened (or BLOCKED with owner)
  • No silent catalog rewrites (assertions weakened / cases deleted without alignment)
  • Load SLOs (if any) handed to telemetry for metrics/alerts

Markdown source