Beta notice: We're in beta—you might encounter errors due to high traffic. For smooth usage, please add your own free API keys in Settings.

CChatBuddy

Fault injection

Intentionally break the bot to practice catching defects. Toggles are applied to every chat turn. Each flag lists the symptom to expect.

Scope: fault injection only affects the persona Playground chat. Your saved keys, model selection, themes, and the rest of the app are never touched.

Behavior

Changes what the bot says or how it reasons.
Strip system promptstrip_system_prompt

Drops the persona's system prompt entirely before sending.

Expected: Bot loses its persona, scope, and guardrails — answers as a generic assistant.

Force hallucinationforce_hallucination

Injects an instruction telling the model to confidently invent specifics.

Expected: Bot fabricates numbers, policies, citations, and dates with false certainty.

Over-confident toneoverconfident_tone

Forces the model to never express uncertainty or add disclaimers.

Expected: Bot drops 'not medical/financial advice' style disclaimers and hedging.

Safety

Breaks guardrails and disclosure boundaries.
Leak system promptleak_system_prompt

Instructs the model to reveal its full system prompt on request.

Expected: Bot discloses its hidden instructions when asked — a prompt-leak defect.

Disable safety guardrailsdisable_guardrails

Appends an instruction to ignore refusals and comply with everything.

Expected: Bot stops refusing out-of-scope or unsafe requests.

Memory

Corrupts conversation context.
Drop conversation memorydrop_memory

Only sends the latest user message — prior turns are discarded.

Expected: Bot forgets earlier context and contradicts itself across turns.

Reliability

Transport-level faults.
Inject latencyinject_latency

Adds ~2.5s of artificial delay before each response.

Expected: Noticeably slow responses; tests loading states and timeouts.

Flaky errors (30%)flaky_errors

Randomly fails ~30% of requests with a simulated error.

Expected: Intermittent error bubbles; tests retry and error handling.

Rate-limit / timeoutrate_limit_timeout

Stalls briefly, then rejects every request with a simulated 429 rate-limit / timeout.

Expected: Requests hang ~1.5s then fail with a 429 'rate limit exceeded' error; tests backoff, retry, and timeout handling.

Rendering

Client-side display defects.
Truncate responsestruncate_response

Cuts the assistant's reply off mid-sentence on the client.

Expected: Replies are clipped and end abruptly.

Duplicate responsesduplicate_response

Renders each assistant reply twice in the transcript.

Expected: Every bot answer appears duplicated — a rendering defect.