Chapter 01 — Exam Strategy: How CCAR-F Items Are Built
Read this chapter first and re-read it the day before the exam. It is not content — it is the lens through which every other chapter becomes usable.
1. What kind of exam this is
CCAR-F is a judgement exam wearing a knowledge exam's clothes. There are facts you must know cold (which file, which flag, which field), but the facts are rarely the answer by themselves. The typical item gives you a failing system and four plausible repairs, and asks which one to do first.
That structure has consequences:
- All four options are usually things a competent person might do. You're not eliminating nonsense; you're ranking legitimate actions. (The exception: some items include one fabricated flag or file — see §5.)
- "First" is load-bearing. An option can be correct as an eventual step and wrong as the first step.
- Effort and blast radius matter. A one-line fix that addresses the root cause beats a redesign that also addresses it.
- Guessing from vibes fails. Two options will feel right. The tiebreak is always a principle, and the principles are a short list (§4).
The scenario structure
You get four scenarios, drawn at random from a bank of six, with items grouped under each. The scenarios are published in the exam guide, which means you can pre-load all six before you walk in. This is the single largest free advantage available on this exam and most candidates don't take it. Chapter 13 exists for exactly this.
Practically: when a block opens with "A company is building a customer support agent with tools get_customer, lookup_order, process_refund, and escalate_to_human," you should already know this is Scenario 1, that its domains are 1/2/5, and that its recurring themes are ordering enforcement before refunds, escalation triggers, and context loss across a long conversation. You've effectively read the question before it was asked.
2. Anatomy of an item
Every item decomposes into four parts. Train yourself to separate them.
[SCENARIO] A company is building an automated code review agent
using Claude Code in CI. Reviews run on every PR.
[SYMPTOM] Developers report that 40% of flagged issues are not
actual problems, and they have started ignoring the
review comments entirely.
[CONSTRAINT] The team wants to preserve coverage of genuine issues.
[ASK] What is the most effective first step to address this?
- Scenario — shared across the block; extract once, don't re-read.
- Symptom — the diagnostic evidence. This is where the answer is hiding. "40% false positives" and "developers ignoring output" together point at precision, not recall.
- Constraint — the filter that kills otherwise-good options. Here, "preserve coverage" kills "only flag critical issues," which would trade recall away.
- Ask — determines the answer shape. "First step" → smallest root-cause fix. "Which two" → count your selections. "Most likely cause" → diagnosis, not remedy.
🎯 The symptom points at a layer
The most common way candidates lose points is fixing the wrong layer. The evidence in the stem tells you which layer is broken:
| Evidence in the stem | Broken layer | Wrong instinct |
|---|---|---|
| Agent picks the wrong tool among similar ones | Tool descriptions | Reduce the number of tools / restructure agents |
| Subagents each did their job, output still incomplete | Coordinator decomposition | Improve the subagents' prompts |
| Refund processed without verification | Missing enforcement gate | Strengthen the prompt instruction |
| Model cites "typical patterns" instead of real class names | Context degradation | Extend max_tokens |
| Extraction is valid JSON but the totals don't add up | Semantic validation | Tighten the JSON schema |
| Aggregate accuracy is high, one document type fails | Sampling / measurement design | Retrain the prompt broadly |
Learn this table. It converts a large fraction of items into a lookup.
3. Reading the options
Score each option against four questions, in this order:
- Does it exist? Is this a real flag / file / field? (§5)
- Does it address the symptom's layer? If not, discard regardless of how good it sounds.
- Is it deterministic where determinism is required? If the stem mentions money, compliance, irreversibility, or "must never," a prompt-based option loses to a programmatic one.
- Is it the smallest sufficient change? Among survivors, prefer targeted over structural.
⚠️ Distractor families you will see repeatedly
| Family | Example phrasing | Why it's wrong |
|---|---|---|
| More context | "Use a model with a larger context window" | Larger context doesn't fix attention dilution or position effects |
| Vague virtue | "Instruct the model to be conservative and only flag high-confidence issues" | Unmeasurable adjectives don't change behaviour; explicit criteria do |
| Self-reported confidence | "Have the agent escalate when its confidence is below 0.7" | LLM self-confidence is poorly calibrated unless validated on labeled data |
| Sentiment proxy | "Escalate when the customer's message is negative in tone" | Frustration ≠ complexity; the real triggers are explicit request / policy gap / no progress |
| Prompt instead of gate | "Add to the system prompt that it must call get_customer first" |
Prompt instructions have a non-zero failure rate |
| Blame downstream | "Improve the document-analysis subagent's prompt" when logs show it did its job | Fixes a working component |
| Over-engineering | "Redesign as a multi-agent system with a supervisor" for a description bug | Not the first step |
| Non-existent surface | CLAUDE_HEADLESS, --batch, a commands array in .claude/config.json |
Fabricated |
| Silent success | "Return an empty result so the workflow continues" | Suppressing an error as success is a named anti-pattern |
| Total abort | "Terminate the workflow when any subagent fails" | So is killing everything on one failure |
Two of these deserve special emphasis because they show up in more than one domain: "more context" and "self-reported confidence." Both feel technically sophisticated. Both are wrong nearly every time they appear.
4. The ten Core Reflexes
Every correct answer on this exam is an application of one of these. When you miss an item, identify which reflex you failed to apply — that's the entire remediation loop.
Reflex 1 — Deterministic enforcement beats prompt instruction when consequences are real
If a wrong action costs money, violates policy, or can't be undone, the answer is a hook, a prerequisite gate, or a programmatic check — not a better prompt, not few-shot examples, not a stronger system message. The guide's own framing: hooks are deterministic, prompts are probabilistic. Prompt guidance is appropriate for style, preference, and soft conventions. It is not appropriate for "must never process a refund before verifying the customer."
Reflex 2 — Fix the root cause with the lowest-effort, highest-leverage change
"Most effective first step" is an efficiency question. If the diagnosis is "two tool descriptions overlap," the answer is "rewrite the descriptions," not "consolidate the tools" or "add a routing agent." Rank by (leverage ÷ effort), then pick the top.
Reflex 3 — Tool descriptions are the primary mechanism for tool selection
The model chooses tools by reading their descriptions. Therefore misrouting is a description problem until proven otherwise. Before you reduce tool count, split tools, or add orchestration, make the descriptions unambiguous: input formats, example queries, edge cases, and explicit boundaries against neighbouring tools.
Reflex 4 — Least privilege on tool distribution; scope the common case, route the exception
Giving every agent every tool degrades selection accuracy (the guide's example: 18 tools instead of 4–5 measurably degrades selection). Give each agent the tools its role requires. When one agent occasionally needs a capability outside its specialization, prefer a narrowly scoped variant of that tool over the general one — e.g. a verify_fact limited to the sources it already has, rather than full web access.
Reflex 5 — Subagents have isolated context and inherit nothing
A subagent does not see the parent's conversation history, tool results, or reasoning. Anything it needs must be in its prompt. Consequences: pass identifiers and constraints explicitly; expect duplicated work if you don't partition scope; route all inter-subagent communication through the coordinator.
Reflex 6 — Structured errors beat generic failures; never suppress, never nuke
An error crossing a boundary should carry: failure type/category, whether it's retryable, what was attempted, partial results if any, and suggested alternatives. "search unavailable" is a failure of design, not just of the search. Two symmetric anti-patterns: silently treating an error as an empty success, and terminating the entire workflow because one component failed.
Reflex 7 — Attention dilution is fixed by splitting passes, not by enlarging context
When a review misses issues because too much is in one prompt, the answer is per-file passes plus a cross-file integration pass. A bigger window holds more; it doesn't attend better. This reflex also covers "lost in the middle": position matters, so put key findings first and use explicit section headers.
Reflex 8 — Schemas eliminate syntax errors, not semantic ones
tool_use with a JSON schema guarantees well-formed, type-correct output. It does not guarantee the line items sum to the total, that the value in vendor_name is actually the vendor, or that a date was read from the right field. Semantic correctness needs separate validation: computed-vs-stated comparisons, conflict flags, and retry-with-error-feedback.
Reflex 9 — Explicit testable criteria plus 2–4 examples beat adjectives
Replace "check that comments are accurate" with "flag a comment only when the behaviour it claims contradicts the actual behaviour of the code below it." Replace "be conservative" with severity definitions plus code examples of each. Few-shot with 2–4 targeted examples is the guide's named most-effective technique for consistency, ambiguous-case handling, and hallucination reduction.
Reflex 10 — Self-reported confidence and sentiment are uncalibrated
Don't route, escalate, or auto-approve based on the model's stated confidence — unless that confidence has been calibrated against a labeled validation set, per field. Don't infer complexity from tone. The legitimate escalation triggers are: the customer asks for a human, the situation falls outside or against policy, or the agent cannot make progress. Complexity alone is not one.
5. Non-existent options
The published sample questions deliberately include fabricated technical surface. Two confirmed examples: an option citing a CLAUDE_HEADLESS environment variable and one citing a --batch flag — neither exists; the real answer was the -p / --print flag. Another cited a commands array inside .claude/config.json; the real mechanism is one Markdown file per command in .claude/commands/.
Defence: for every configuration answer, ask "can I picture the exact path and the exact file contents?" If you can't, treat the option as suspect. This is why Chapter 07 drills exact paths rather than concepts — the paths themselves are the tested unit.
📎 The surface you must be able to write out from memory:
~/.claude/CLAUDE.md·.claude/CLAUDE.md·./CLAUDE.md· directory-levelCLAUDE.md.claude/rules/*.mdwithpaths:frontmatter.claude/commands/*.md·~/.claude/commands/*.md.claude/skills/<name>/SKILL.mdwithcontext:,allowed-tools:,argument-hint:.mcp.json(project) ·~/.claude.json(user)-p/--print·--output-format json·--json-schema·--resume/memory·/compact
6. Time management
120 minutes, 60 items, four scenario blocks.
| Phase | Budget | What you do |
|---|---|---|
| Scenario read (×4) | ~2 min each, 8 min total | Read once. Note the metric, the tool list, the stated constraint, the stated failure. |
| First pass | ~85 min | ~85 s/item. Answer confidently or flag and move. Never burn 4 minutes on one item. |
| Flagged pass | ~20 min | Return to flags. Apply the reflexes explicitly — name the reflex, then pick. |
| Final sweep | ~7 min | Verify every multiple-response item has the right number selected. Verify nothing is blank. |
There is no reward for finishing early and no penalty for guessing, so every item gets an answer. On a pure guess, prefer the option that is (a) real, (b) deterministic, and (c) smallest — that combination is the base rate for correct answers on this exam.
7. Decision reflexes (reproduce this box from memory)
- The stem's evidence names the broken layer; fix that layer.
- "First step" = smallest change that removes the root cause.
- Money/compliance/irreversible → deterministic mechanism, never a prompt.
- Misrouting → descriptions. Incompleteness with healthy subagents → coordinator decomposition.
- Bigger context, self-reported confidence, sentiment, and vague virtue are all distractors.
- If you can't picture the file path or flag, it probably doesn't exist.
- Count the selections on multiple-response items.
- Answer every item.