Playbook
0 / 8 complete0%
  1. 01
  2. 02
  3. 03
  4. 04
  5. 05
  6. 06
  7. 07
  8. 08
Step 04 of 8 4-6 weeks· advanced

Step 4: Behavior Parity Test Framework

Lock down legacy pipeline behavior as ground truth — including the quirks (rounding, null handling, date / sort / aggregation behavior). The new pipelines must match these to keep trust.

What you're doing in this step

Build a reconciliation framework that captures legacy outputs and compares against new outputs with explicit tolerance configuration per data type. Document the quirk catalog (legacy behavior the new system must intentionally preserve). Prepare a sanitized production-data corpus. Run reconciliation in CI for every new pipeline.

Recommended prompts

Use one of these to do the work in your IDE

Open the template to read it in full. Click Copy prompt to grab it (with your stack values pre-filled where they apply) — then paste into Claude Code, Cursor, or wherever you build.

Primary recommendation 1-2 days

Behavior Parity Test Suite

Generate tests that lock down current legacy behavior so the new system doesn't accidentally change it during migration.

View template
Template· Template 1-2 days for initial setup

Data Quality Test Suite

Generate comprehensive data quality tests for ETL pipelines: schema validation, freshness checks, null/duplicate/range checks, and business invariants.

Use this when: DQ checks are the right framework for the parity work in your case

azurepysparkfabric
View template
Recommended skills

Drop these into Claude Code for this phase

Skills auto-trigger on the right kind of request. Install once; they apply to every prompt that fits.

Skill· Skill 5 min setup

Data Validation Skill

Claude Code skill that compares old and new system outputs for parity — running validation queries on both DBs and reporting drift.

claude-codesql
Skill· Skill 5 min setup

Test Generator Skill

Claude Code skill that picks the right test type (unit/integration/E2E) based on context and applies Evoke's testing patterns automatically.

claude-code
Recommended MCP configs

Wire these tools into Claude Code first

MCP servers give Claude Code direct access to external systems (Jira, browsers, databases). Configure once.

MCP config· MCP config 5 min setup

Filesystem MCP for Evoke

Pre-configured filesystem MCP server for Claude Code — safe, scoped read/write access to project files.

claude-codemcp
MCP config· MCP config 10 min setup

Postgres MCP for Evoke

Pre-configured Postgres MCP server for Claude Code — schema inspection and read-only queries to make database work safer and faster.

claude-codemcppostgres
When you're done

Verify these in your own work before moving on

This is a checklist for you to mentally tick off in your repo and IDE — the site doesn't track it, you do.

  • Reconciliation framework built and tested
  • Tolerance configuration documented per data type
  • Quirk catalog started (legacy behaviors intentionally preserved)
  • Sample data corpus prepared (production-realistic, sanitized)
  • Reconciliation runs in CI for new pipelines
  • First pilot pipeline shows parity
Common pitfalls

What goes wrong at this step

  • Skipping parity tests — "we'll just check the counts" is insufficient
  • Not running on production data — synthetic data hides quirks
  • No tolerance configuration — either everything must match exactly (impossible) or nothing matches (useless)
  • Hiding quirks instead of documenting — quirks come back as bug reports
  • No reconciliation in CI — ad-hoc parity checks drift over time
← Previous step

Command Palette

Search for a command to run...