---
id: troubleshooting.unrealistic-synthetic-cases
title: Synthetic Cases That Feel Unrealistic
summary: Improve generated candidates whose surface details or behavior assumptions do not represent plausible target-system use.
kind: error
product_area: troubleshooting
status: stable
updated: 2026-09-07
canonical: /docs/troubleshooting/unrealistic-synthetic-cases
---

# Synthetic Cases That Feel Unrealistic

## Symptoms

- Generated language sounds artificial or describes a user who would not exist in the product.
- Required context appears conveniently in the prompt even though the real system would retrieve it elsewhere.
- The Case combines incompatible ontology values or violates product constraints.
- Reviewers can identify the intended coverage tuple but would never admit the Case to a Benchmark.
- Many generated candidates repeat the same template with superficial wording changes.

## Likely causes

- The synthesis request lacks representative source Cases or product constraints.
- A coverage tuple combines values that cannot coexist in the target system.
- A Comparison Direction is too broad, stale, or duplicative.
- Generation is being judged as finished benchmark evidence instead of candidate material.

## Diagnose the generation boundary

1. Identify the entry surface. **Assets → Cases → Synthesize** creates reusable project Case candidates; **Coverage Management → Case Foundry** coordinates candidates for a named benchmark need.
2. Compare the generated Case with real in-use Cases from the same behavior region.
3. Separate a bad surface realization from a bad coverage target. Awkward wording may need editing; an impossible product state requires different inputs or directions.
4. Check whether the generator lacked constraints that operators hold only in private memory.
5. Inspect the synthesis lifecycle and candidate state. A completed generation is still candidate material, not selected Benchmark Dataset evidence.

## Fix

- Add representative source Cases or explicit product constraints to the synthesis context.
- Narrow, edit, archive, or delete a Comparison Direction that produces implausible combinations.
- Generate from a specific missing coverage tuple rather than asking for generic diversity.
- Edit a promising candidate when its behavioral boundary is sound and only presentation is weak.
- Reject candidates whose premise is impossible or whose source context cannot be justified.
- Review duplicates before adding any generated Case to a Benchmark.

Validate revised candidates with an expert who knows the target workflow. Ask whether the situation could occur, whether the system would receive the shown context, and whether the requested judgment matters. Only then classify and curate the Case for possible benchmark use.

## Prevention

Ground synthesis in reviewed source Cases, explicit product constraints, and a named coverage gap. Keep Comparison Directions narrow, inspect duplicates, and require Case review before adding generated candidates to a Benchmark or Snapshot.

{% example-demo title="Example: impossible refund request" %}
Synthesis produces a Case where an anonymous visitor requests an enterprise-contract refund and supplies internal approval metadata in chat. The tuple is valuable—exception request with conflicting authority—but the realization is impossible. The team adds authentication and channel constraints, narrows the Comparison Direction, and regenerates. The realistic candidate still goes through Case review before selection.
{% /example-demo %}

## Source confidence

Code-backed: the Assets Case synthesizer, generated Case cards, synthesis lifecycle, and benchmark-scoped Case Review establish the candidate-generation and admission boundary. Case Foundry provides the benchmark-scoped coordination path. Realism remains domain-specific and requires customer product knowledge.

## Related task pages

{% related-card-grid title="Related workflows" %}
- [Synthesize Cases](/docs/coverage-engineering/synthesize-cases)
- [Comparison Directions](/docs/assets/comparison-directions)
- [Boundary Cases](/docs/coverage-engineering/boundary-cases)
- [Case Pool](/docs/coverage-engineering/case-pool)
{% /related-card-grid %}

## Related reference pages

{% related-card-grid title="Related reference" %}
- [Case Pool](/docs/object-model/case-pool)
- [Cases](/docs/object-model/cases)
- [Coverage dimensions](/docs/object-model/coverage-dimensions)
{% /related-card-grid %}
