The 6 production scenarios
Every CCA-F question lives inside one of six production settings. If you can recognize the setting and recall its failure modes, half the work is done. For each: the setup, the task statements it leans on, the high-yield traps, and worked mini-cases (click to reveal the reasoning). Reviewed 2026-06-05.
The exam itself is confirmed by multiple independent write-ups; the fine-grained blueprint (exact domain weights, the “4-of-6” rule) is community-reconstructed and verified against code.claude.com/docs — not an official Anthropic publication, and not affiliated with or endorsed by Anthropic.
1 Β· Customer Support Resolution Agent
An agent resolves returns, billing disputes, and account issues through MCP tools
(get_customer, lookup_order, process_refund, escalate_to_human).
High-yield failure modes
Mini-case: the double refund
Situation. Retries on transient API failures occasionally double-charge a
customer β the server processed the first process_refund before the client timed out and retried.
Which fix is complete?
Principle When a failure has two independent causes (already-applied vs never-arrived), no single fix covers both β make the side-effect idempotent and the retry conditional.
Mini-case: which escalation is justified?
Situation. After looking up the customer and order, which case most
justifies firing escalate_to_human?
Principle Escalate on policy silence, not on difficulty or sentiment. If the rules don’t cover the case, a human decides; if they do, the agent acts β even when the request is complex or the customer is angry.
2 Β· Code Generation with Claude Code
Generating, refactoring, debugging, and documenting code in Claude Code β using slash commands/skills, CLAUDE.md, plan mode, and built-in tools.
High-yield failure modes
~/.claude/CLAUDE.md (user scope, not committed). Move to project CLAUDE.md..claude/rules/ with a paths: glob.context: fork frontmatter.Mini-case: the unfamiliar caching task
Situation. A developer who doesn’t know cache-invalidation or stampede prevention asks Claude to “implement Redis caching, now.” What surfaces the design concerns they can’t even name yet?
Principle When the gap is unknown requirements, make the model ask before it builds. Plan mode and TDD refine a spec you already have; the interview pattern discovers one.
Mini-case: personalize a shared command
Situation. A dev wants to tweak the team’s shared, committed
/commit skill β but only for their own machine.
.claude/skills/commit/SKILL.md directly β it’s right there. (Now everyone gets your personal
tweak, and your change fights the next teammate’s.)~/.claude/skills/commit/SKILL.md with the same name. User-scope skills shadow same-named
project skills, so the team’s committed version is untouched and only you get the tweak.Principle Personalize by shadowing, not editing: a same-named user-scope file overrides the project one for you alone. Never edit shared/committed config to get a personal change.
3 Β· Multi-Agent Research System
A coordinator delegates to web-search, document-analysis, and synthesis subagents, producing a cited report.
High-yield failure modes
Mini-case: parallel vs sequential
Situation. The coordinator needs the web-search and document-analysis subagents to run at the same time. How do you get true concurrency?
fork_session because it has “fork” in the
name.fork_session branches your own
exploration, it doesn’t fan out worker types.Principle Concurrency comes from one response with many calls, not many responses. One call per turn is sequential no matter how it’s phrased.
Mini-case: three search outcomes
Situation. One search subagent gets three results: academic = 15 papers; industry = “0 results”; patent = “connection timeout.” How should it report back to the coordinator?
isError:false); patent = isError:true with structured
error context. Each warrants a different coordinator move β accept / accept / consider-retry.Principle “No results” and “couldn’t check” are different facts β never collapse them. Preserve the empty-vs-error distinction so the caller can choose accept vs retry.
4 Β· Developer Productivity with Claude
An agent explores unfamiliar/legacy codebases, generates boilerplate, and automates tasks with built-in tools and MCP.
High-yield failure modes
fetch_url doing ad-hoc search) β replace with a constrained, validating tool (least privilege)..mcp.json with ${ENV} expansion.Mini-case: normalizing third-party output
Situation. Tools return timestamps in Unix, ISO 8601, and numeric status codes; some are third-party MCP servers you can’t modify. What’s the most maintainable way to normalize them?
Principle Normalize once, deterministically, at the boundary β a hook β not per-tool and not in the prompt. Hooks reach even tools you don’t own; prompts are probabilistic and don’t scale.
5 Β· Claude Code for Continuous Integration (CI/CD)
Automated code review, test generation, and PR feedback inside a pipeline.
High-yield failure modes
-p / --print headless flag.--output-format json + --json-schema, then post via API.custom_id.Mini-case: subtle bugs slip through
Situation. Subtle bugs are caught only in human review; the generator’s own reasoning shows it considered and dismissed them. Adding a same-session self-review didn’t help. What architecture catches them?
Principle A reviewer that can see the author’s reasoning inherits its blind spots. For real scrutiny, withhold the rationale and use a fresh instance β in-session self-review catches little.
6 Β· Structured Data Extraction
Extracting from unstructured documents, validating against JSON schemas, maintaining high accuracy at scale.
High-yield failure modes
Mini-case: the tax_id trap
Situation. 40% of invoices carry a tax_id, 60% don’t. You mark
it a required string in the schema. What happens on the 60% that lack one?
null for
“not present.”Principle Required fields are fabrication factories: a “required” field the source often lacks forces invention. Make genuinely-optional data nullable so “not present” is expressible.
Mini-case: removing human review
Situation. The pipeline reports 96% accuracy over 10,000 invoices and the team wants to drop the human reviewer. What’s the first validation step?
Principle An aggregate metric is a ceiling on what you know, not a floor on what you ship. Stratify before trusting it β a high average can hide a segment failing wholesale.