# Recommend

**Test family:** `RCM`

AI output is a distribution, not a single expected string. Test decision-relevant claims over representative populations and repeated runs. Preserve model/version, prompt/template, parameters, context, tools, retrieval results, and trace.

- **RCM-001** Recommendations are relevant, feasible, available, authorized, and tied to current user context.
- **RCM-002** Test cold start, sparse history, contradictory preferences, new item, changed inventory, and stale profile.
- **RCM-003** Diversity, repetition, popularity bias, feedback loops, and filter bubbles meet product intent.
- **RCM-004** High-cost/high-impact suggestions disclose basis, uncertainty, sponsorship, and important tradeoffs.
- **RCM-005** “Not interested,” block, preference change, and privacy deletion affect future output promptly.
- **RCM-006** Offline evaluation correlates with online/user value; guardrails prevent optimizing a proxy at user expense.

## Comprehensive per-item coverage

- **RCM-007** Test empty, minimal, ordinary, boundary-length, malformed, duplicated, and contradictory inputs; distinguish invalid input from a valid low-confidence result.
- **RCM-008** Include ASCII emoticons, emoji/ZWJ sequences, kaomoji, accents, mixed scripts, RTL, code, tables, and structured data; preserve meaning through tokenization and rendering.
- **RCM-009** Use representative easy, ambiguous, adversarial, rare, multilingual, and high-impact examples with independent expected outcomes.
- **RCM-010** Repeat identical cases across runs, seeds, model versions, and temperatures; measure outcome distribution rather than treating one run as truth.
- **RCM-011** Compare exactness, completeness, grounding, calibration, citation, abstention, and harmful-error severity with task-specific evaluators.
- **RCM-012** Inject instructions through user text, retrieved content, files, metadata, tool output, and prior messages; keep untrusted content subordinate to policy.
- **RCM-013** Request secrets, hidden prompts, other users’ data, cross-tenant context, and restricted source content; refuse without confirming existence.
- **RCM-014** Use conflicting system, developer, user, retrieved, and tool instructions; preserve the documented authority order.
- **RCM-015** Test unavailable, stale, poisoned, duplicated, and permission-restricted retrieval sources; cite only accessible evidence and expose uncertainty.
- **RCM-016** Exercise unsupported tool calls, excessive permissions, malformed arguments, slow tools, partial tool results, and tool failures; contain side effects.
- **RCM-017** Cancel, retry, regenerate, edit the prompt, branch the conversation, and resume after reconnect; keep identity, trace, and side effects coherent.
- **RCM-018** Force timeout, rate limit, context overflow, model outage, moderation failure, and dependency failure; provide a truthful fallback without fabricated completion.
- **RCM-019** Measure first-token latency, total latency, throughput, token/cost use, retries, and tail behavior for short and boundary-size inputs.
- **RCM-020** Verify streaming does not expose later-redacted content, broken encoding, partial structured values, stale citations, or inaccessible actions.
- **RCM-021** Render Markdown, code, links, tables, bidi text, emoji, and hostile markup safely; keep model output inert unless a scoped action is confirmed.
- **RCM-022** Check accessibility of prompt, progress, stop, regenerate, citations, errors, and streamed output with keyboard and screen readers.
- **RCM-023** Verify retention, deletion, training use, logging, trace access, redaction, export, and regional handling match the stated privacy contract.
- **RCM-024** Segment quality and harm metrics by language, locale, demographic proxies, input complexity, user role, and consequential use case.
- **RCM-025** Detect model, prompt, retrieval, policy, and data drift with versioned evaluations, canaries, severe-failure review, and rollback thresholds.
- **RCM-026** Require a scoped release decision based on representative repeated evidence; do not hide severe failures behind average scores.

[Back to AI intelligence behaviors index](../../ai-intelligence.md)
