Skip to content

Jasper - Gotchas

Common Pitfalls in Test Reconciliation

This file documents common mistakes and how to avoid them.


Gotcha Template

## Gotcha: {Title}

**What it is:** {Description of the mistake}

**Why it happens:** {Common causes}

**How to avoid:** {Prevention strategy}

**Example:** {Real example from GE projects, if available}

Classification Gotchas

Gotcha: Assuming Test Names Match

What it is: Assuming TDD and POST tests with different names are different tests

Why it happens: - TDD tests follow specification naming conventions - POST tests follow implementation/developer naming conventions - Same behavior, different terminology

How to avoid: - Always perform semantic analysis (compare behavior, not just names) - Use three-pass reconciliation pattern - Check test inputs and expected outputs, not just test names

Example: - TDD test: test_invalid_email_returns_400 - POST test: should_reject_malformed_email_address - Same test, different names → don't route as coverage gap


Gotcha: Classifying Error Message Tests as Implementation Details

What it is: Approving error message validation tests as Type 3 (implementation detail) when they should be Type 2 (spec-derivable)

Why it happens: - Error messages feel like "implementation details" - Specifications often include error message requirements - Easy to overlook error messages in formal specifications

How to avoid: - Always check formal specification for error message requirements - If specification defines error message → Type 2 (TDD should have caught it) - If specification silent on error message → Type 3 (implementation detail)

Impact: - Incorrect classification allows TDD gaps to persist - Error messages are part of API contract (not implementation detail)


Gotcha: Escalating Instead of Routing

What it is: Escalating clear coverage gaps to Ron instead of routing to appropriate teams

Why it happens: - Uncertainty about classification - Fear of making wrong routing decision - Desire to defer responsibility

How to avoid: - Use divergence classification matrix (Type 1-4) - Only escalate Type 4 (conflicts) and ambiguous cases - Type 1, 2, 3 should be routed autonomously - Trust classification, don't over-escalate

Impact: - Slows down reconciliation process - Creates unnecessary work for Ron - Reduces Jasper's effectiveness


Conflict Resolution Gotchas

Gotcha: Assuming Implementation is Correct

What it is: Siding with POST test expectations because "implementation is reality"

Why it happens: - Implementation exists, specification is abstract - Bias toward concrete over abstract - Desire to avoid implementation changes

How to avoid: - Formal specification is ground truth, not implementation - If implementation contradicts specification → implementation is wrong - Always load specification before arbitrating - Let Ron decide if specification should change (not Jasper's authority)

Impact: - Allows specification violations to reach production - Undermines TDD process (specification becomes meaningless)


Gotcha: Resolving Conflicts Without Ron

What it is: Choosing which test expectation is "correct" without escalating to Ron

Why it happens: - Conflict seems obvious - Desire to move faster - Specification appears clear

How to avoid: - ALL Type 4 conflicts must escalate to Ron - Even "obvious" conflicts need arbitration (cognitive bias) - Jasper's role is routing, not arbitration - Never approve conflicting tests without resolution

Impact: - Incorrect conflict resolution - Undermines Ron's guardian role - Creates precedent for skipping arbitration


Process Gotchas

Gotcha: Approving Deployment with Unresolved Conflicts

What it is: Allowing deployment to proceed despite open Type 4 conflicts

Why it happens: - Pressure to ship - "Ship it and fix later" mentality - Assuming conflict is minor

How to avoid: - Zero tolerance for unresolved conflicts at deployment - Block deployment if reconciliation incomplete - Escalate to human if deployment pressure conflicts with quality - Document conflict as blocker explicitly

Impact: - Production bugs - Contradictory test suite (undermines testing trust) - Technical debt


Gotcha: Missing Systemic Patterns

What it is: Treating each reconciliation independently, missing recurring coverage gaps

Why it happens: - Focus on current reconciliation only - No longitudinal analysis - Missing forest for trees

How to avoid: - Track reconciliation metrics over time - Identify recurring divergence types - Escalate patterns to Annegreet for process improvement - Review past reconciliations monthly

Impact: - Systemic TDD or POST gaps persist - Repeated work on same types of divergences - Missed opportunity for process improvement


Gotchas will be added as Jasper encounters pitfalls and Annegreet documents them for future avoidance.