Mock Exam 1 — Answer Key
Each item gives the answer, the reason, and why the distractors fail. The D tag is the domain the item scores against; the R tag is the Core Reflex from Chapter 01.
Quick reference table at the bottom for fast marking.
Scenario A — Customer Support Resolution Agent
1 — B · D1 · R1
A PreToolUse hook is a deterministic gate: it runs before the tool executes and cannot be talked around. Prompt instructions have a non-zero failure rate, which is unacceptable for a financial action.
- A — Position and emphasis reduce the failure rate; they don't eliminate it. The exam's "firmer prompt" distractor family.
- C — Examples shape typical behaviour, not guaranteed behaviour.
- D —
PostToolUseruns after the refund. Detection, not prevention.
2 — C · D1
PostToolUse normalizes heterogeneous formats before the model ever sees them. The canonical use of the hook.
- A — Documentation makes the model responsible for conversion it will sometimes get wrong.
- B — Same problem at the prompt layer.
- D — Wrong layer. The issue is inconsistent input, not arithmetic weakness.
3 — B · D1 · R1
Deterministic threshold enforcement, plus a defined route for the blocked case.
- A — Probabilistic mechanism for a compliance rule.
- C — Destroys first-contact resolution for every legitimate small refund. Over-correction.
- D — A schema
maximummakes a valid request unrepresentable: the agent can't express "$780" at all, so it can't route it to escalation either. Half-right and the best distractor here.
4 — A · D1 · R4
stop_reason is the loop's control signal. "end_turn" means done; "tool_use" means continue.
- B — Checking assistant text is exactly the described bug. A model can emit explanatory text alongside tool calls.
- C — An iteration cap is a safety backstop, never the primary condition.
- D — Parsing natural-language termination signals. Named anti-pattern.
5 — B · D1
All tool_result blocks for one assistant turn go in one user message, each keyed to its tool_use_id.
- A — Breaks the turn structure; the API expects one response message.
- C — Loses the
tool_use_idcorrelation. - D — Tool results are always
userrole.
6 — B · D5
Resolvable ambiguity: ask for one more identifier.
- A — Guessing, and a wrong guess acts irreversibly on someone else's account.
- C — Premature escalation. Ambiguity isn't an escalation trigger.
- D — Acts first, documents the risk after.
7 — A · D2
Category + retryability + specific reason + alternative. All four elements.
- B — Misclassified. The input was valid; policy prohibits the action. Marking it retryable wastes turns.
- C — A failure reported as success.
- D — Correct flag, useless payload.
8 — A, B, C · D5
The three named triggers.
- D — Complexity is what the agent exists to handle. Escalating on complexity defeats the 80% target.
9 — A · D5
An explicit request for a human is honoured immediately.
- B — Optimizes the metric against the customer's stated wish.
- C — A structured handoff is required, but built from what the agent already knows — don't make the customer re-explain after they've asked to leave.
- D — Subordinates an explicit request to an uncalibrated signal.
10 — B · D1
The four-element structured handoff: customer ID, root cause, refund amount, recommended action.
- A — Makes the human read 20+ turns. The point of a handoff summary is that they don't have to.
- C — Too thin to act on.
- D — Transcript problem plus uncalibrated confidence.
11 — A · D5 · R2
The stem names the exact four categories summarization destroys: numbers, dates, amounts, customer-stated expectations. A persistent case-facts block protects them and keeps them positionally prominent.
- B — Defers the limit; does nothing about position effects.
- C — Loses the same categories later rather than never.
- D — If it's being summarized, it doesn't fit to re-read.
12 — A · D5
Compounds across every call in a long conversation. Trim at the boundary.
- B — Latency isn't the concern.
- C — Extra fields don't cause hallucination.
- D — False. Unused fields still consume context and dilute attention.
13 — A, B · D2
Both shrink the candidate set the model discriminates across.
- C — Duplicates the descriptions in a weaker location and costs context on every call.
- D — Forces tool use without improving which tool.
14 — A · D2 · R3
Descriptions are the primary selection mechanism. Two descriptions with the same opening give the model nothing to discriminate on; explicit cross-referencing boundaries are the direct fix.
- B — Discards a real capability distinction.
- C — Weaker layer, doesn't scale.
- D — Half-right. Better names help marginally; the descriptions remain indistinguishable.
15 — A · D5 + D4
Explicit criteria first, then 2–3 boundary examples including near-miss negatives.
- B — Uncalibrated self-reported confidence.
- C — Sentiment measures emotion, not resolvability.
- D — Tool-call count is a proxy for nothing. A five-call case may be perfectly resolvable.
Scenario B — Code Generation with Claude Code
16 — B · D3
Project CLAUDE.md is committed, so everyone gets it on clone.
- A — User-level and not version-controlled.
- C — Slash commands, not always-loaded context.
- D — MCP server configuration.
17 — B · D3
User-level memory: all their projects, not version-controlled, invisible to teammates.
- A, C — Both committed; both impose it on the team.
- D — A skill is an on-demand procedure, not a standing preference.
18 — B · D3
A paths: glob matches test files wherever they live, including new directories, and loads nothing when you're not on test code.
- A — Duplication across dozens of directories; misses every new one.
- C — Works, but loads testing conventions into every session. Path-scoped rules are the preferred answer for cross-directory, pattern-defined conventions.
- D — Commands are invoked deliberately; conventions must apply automatically.
19 — A · D2
.mcp.json is the project-level, committed configuration. ${ENV_VAR} expansion shares the config without sharing the secret.
- B — Commits a credential. Never correct.
- C — Works but isn't shared; every developer configures it manually and it drifts.
- D —
~/.claude.jsonis user-level, outside the repository, and holds unrelated personal config.
20 — A · D3
@import composes the file's contents into loaded memory.
- B — Duplication that drifts.
- C — A prose pointer isn't a load mechanism.
- D — Discards everything else CLAUDE.md holds.
21 — A · D2
Glob matches file paths. This is exactly its job.
- B — Grep searches contents; it misses files using a different test idiom and matches non-test files containing the string.
- C — Read operates on files, and tests sit beside their components rather than in one directory.
- D — Works, but reaching for Bash when a purpose-built tool exists is the wrong instinct, and the exam tests the Grep/Glob distinction directly.
22 — A · D3
One Markdown file per command, in the project commands directory, committed.
- B — User-level; not shared.
- C —
.claude/config.jsonwith acommandsarray does not exist. - D — Would work as a skill, but the requirement is a named slash command.
23 — B · D3
Skills are on-demand; CLAUDE.md is always loaded. context: fork keeps the verbose middle out of the main conversation.
- A, C — Always-loaded locations for something needed monthly.
- D — Rules are scoped by file pattern; this is scoped by occasion.
24 — B · D2
Edit requires a unique anchor. Four occurrences means no unique anchor, so Read + Write is correct.
- A — Fails, or edits the wrong occurrence.
- C — Grep locates it; the edit still has no unique anchor.
- D — Bypasses the file tools with an unreviewable in-place mutation.
25 — A, C, D · D3
Large scale, multiple viable approaches, architectural change.
- B — Single-file, one obvious approach. Direct execution.
26 — A · D3 + D5
The Explore subagent isolates verbose discovery and returns findings rather than the search output that produced them.
- B — Reactive and lossy. Preventing pollution beats compacting it.
- C — Capacity distractor.
- D — Trades discovery quality for context. Wrong trade.
27 — A · D3
One message lets the agent reconcile the issues together. Sequential fixes cause churn — fixing #1 can undo #3.
- B — The intuitive-but-wrong option.
- C — CLAUDE.md is for standing conventions, not transient feedback.
- D — No mechanism, no benefit.
28 — A, B, C · D3
- D —
--cidoes not exist. Nor do--batch,--non-interactive, orCLAUDE_HEADLESS.
29 — A · D3
CLAUDE.md is the CI context carrier — already committed, already the source of truth.
- B — False, and it duplicates conventions in two places.
- C — No such flag.
- D — Not a mechanism for conventions.
30 — B · D1 + D3
Stale tool results and stale file contents make resuming actively harmful — the agent reasons from a snapshot that no longer holds. A fresh session with a structured summary carries the decisions without the stale state.
- A — Restores the stale results.
- C — Forking also inherits the stale context; it's for branching a valid session.
- D — Compacting stale context yields a compact summary of stale context.
Scenario C — Multi-Agent Research System
31 — B · D1 · R10
The logs implicate the coordinator: the subagents did correct work inside the scope they were given, and the scope was wrong.
- A — Tool access explains failure to retrieve, not failure to cover a dimension.
- C — Synthesis can't merge dimensions nobody researched.
- D — Capacity distractor.
32 — A · D1
Explicit dimension naming + a coverage check + re-delegation for gaps. Scope partitioning plus iterative refinement.
- B — More subagents on the same narrow decomposition produce more narrow results.
- C — Pre-configured procedural steps in place of goal-directed decomposition. The exam prefers goal and quality criteria.
- D — Maximum redundancy; this is the item-33 failure.
33 — A · D1
Each prompt states its own scope and what the others cover.
- B — Choosing which subagents to spawn, not partitioning their work.
- C — Handles gaps after the fact; doesn't prevent overlap.
- D — Discards parallelism to solve a scoping bug.
34 — A · D1 · R4
Delegation requires the Task tool in allowedTools. Without it the agent physically cannot delegate, so it does the work itself. Check capability before prompt quality.
- B — Would affect routing quality, not the ability to delegate at all.
- C — Not a real distinction the exam makes.
- D —
parallel: truedoes not exist.
35 — B · D1
Parallelism comes from multiple Task calls in a single assistant response.
- A —
parallel: truedoesn't exist. - C — That's sequential.
- D — Invented field.
36 — B · D1
The description is how the coordinator decides where to route a task — functionally analogous to a tool description.
- A — Underestimates it; it's operative.
- C — That's the
promptfield. - D — Not user-facing.
37 — B · D1 · R5
Subagents have isolated context and inherit nothing. "The company we discussed" refers to a conversation the subagent never saw.
- A — Tools aren't the issue; the target is undefined.
- C — Position effect, not a missing-referent problem.
- D — Out-of-scope model-capability distractor.
38 — B · D1
Hub-and-spoke: all inter-subagent communication routes through the coordinator.
- A — Direct subagent-to-subagent channels are the anti-pattern.
- C — A scratchpad is a context-management technique for a single agent's own findings, not the topology answer.
- D — Too absolute; they can share, via the coordinator.
39 — B · D2 · R6
An access failure is not a valid empty result. Because the tool reported success, nothing downstream could distinguish "we looked and found nothing" from "we couldn't look."
- A — Downstream verification can't recover concealed information.
- C — Retrying a permission failure fails identically — and nobody knew there was a failure.
- D — A confidence score on a false premise is still false.
40 — A · D2 + D5
Recover what you can locally; propagate what you can't, with partial results attached.
- B — Hides category, scope, retryability, and what succeeded.
- C — Silent suppression.
- D — Discards three successful streams.
41 — A, B · D5
The two symmetric anti-patterns.
- C, D — Both parts of the correct middle path.
42 — C, D · D2
Business-rule violations and permission denials don't change on retry.
- A — Retryable by definition.
- B — Retryable after input correction — the model can fix a malformed ID.
43 — A, C · D5
Structured returns stop verbose reasoning from consuming coordinator context; a scratchpad makes accumulated findings survive independently of it.
- B — Capacity distractor.
- D — Breaks hub-and-spoke.
44 — A · D5
The mapping must survive synthesis in a structured form.
- B — Reattaching means guessing which source supported which sentence — the exact information lost. Named wrong approach.
- C — A bibliography doesn't map claims to sources.
- D — Uncalibrated confidence, and it discards valid provenance.
45 — A · D5
Preserve the disagreement with attribution, dates, and methodology so the reader can judge.
- B, C — Both discard information; C may hide a chronology rather than a conflict.
- D — Meaningless for figures computed on different bases.
Scenario D — Structured Data Extraction
46 — A · D4 · R8
Schema-valid and semantically wrong. A schema cannot express a cross-field arithmetic relationship; a computed check can.
- B — The named trap. No numeric constraint expresses a sum across array elements.
- C — Would cause truncation, not arithmetic error.
- D — Loosens an existing guarantee; touches nothing semantic.
47 — A, B · D4
Syntax, not semantics. C and D are exactly what a schema cannot guarantee.
48 — A · D4
A required non-nullable field forces the model to produce something, and the something is invented.
- B —
"N/A"is a sentinel that pollutes downstream data and doesn't distinguish absent from unreadable. - C — It's already required; that's the cause.
- D — A minimum-length constraint makes fabrication more likely by removing the empty escape.
49 — A, B · D4
"unclear" = can't determine. "other" = determinate but unlisted.
- C — Conflates a vendor problem with a document-type category.
- D — Confuses an output category with a workflow state.
50 — B · D4
The detail field is the feedback loop: 200 other values turn out to be "proforma invoice," which becomes a proper enum member.
- A — Not a validation requirement.
- C — Reasoning isn't the purpose.
- D — Different field, different purpose.
51 — A · D4
A regex catches a malformed shape; "3/4/25" is well-formed and ambiguously interpreted. The schema constrains shape; rules constrain interpretation.
- B — Half-right, and the strongest distractor. Enforces ISO 8601 shape, not correct interpretation.
- C — Post-hoc parsing faces the same ambiguity with less context.
- D — Retrying an ambiguous source produces a different guess.
52 — A, B, C · D4
- D — Exhortation. Adds nothing the three concrete elements don't supply.
53 — A · D4
Retry cannot recover information absent from the source; continuing to retry invites fabrication.
- B — More attempts at an impossible task.
- C — Guidance against a structural pressure the schema creates. Fix the schema.
- D — Makes the same wrong answer more reproducible.
54 — A, B, C · D4
The model reports what the document states, sums the line items itself, and flags disagreement — all while the document is in context. You still re-sum in your own code: two independent checks.
- D — Uncalibrated self-reported confidence. Not the mechanism.
55 — A · D5 + D4
An aggregate over a corpus that's 85% invoices is dominated by invoices. 97% overall is consistent with 99% on invoices and 43% on statements.
- B — Arithmetically correct, architecturally wrong. The trap.
- C — Uniform sampling under-samples the rare, risky types.
- D — Uncalibrated confidence.
56 — A · D5
Stratification guarantees each category gets enough samples to yield a usable estimate.
- B — In this corpus you'd get ~2 statements out of 50.
- C — Not random; batches may be ordered by source or type.
- D — Over-samples one stratum and measures nothing about the others.
57 — A · D5
Once "0.85 on total for invoices" maps to a measured 98.1% accuracy, it's actionable. Raw, it's noise.
- B — Instructing conservatism calibrates nothing.
- C — Two uncalibrated estimates agreeing is still uncalibrated.
- D — Too absolute; the exam permits it after calibration.
58 — A, B, C · D4
- D — The key limitation, stated backwards. Single-pass structured output works; an agentic loop does not.
59 — C · D4
Worst case = wait for the next submission window + the full processing window:
interval + 24 ≤ 30 → interval ≤ 6
- A, B — Forget the first term.
- D — Safe but not the maximum. (The guide's own variant uses 4-hour windows for margin — a choice, not the limit.)
60 — A · D4
custom_id correlation exists so you can target exactly the failures.
- B — Pays for 50,000 successes twice.
- C — Loses the discount unnecessarily; the failures aren't latency-sensitive.
- D — Not an engineering answer.
Marking sheet
| # | Ans | D | # | Ans | D | # | Ans | D | # | Ans | D |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | B | 1 | 16 | B | 3 | 31 | B | 1 | 46 | A | 4 |
| 2 | C | 1 | 17 | B | 3 | 32 | A | 1 | 47 | A,B | 4 |
| 3 | B | 1 | 18 | B | 3 | 33 | A | 1 | 48 | A | 4 |
| 4 | A | 1 | 19 | A | 2 | 34 | A | 1 | 49 | A,B | 4 |
| 5 | B | 1 | 20 | A | 3 | 35 | B | 1 | 50 | B | 4 |
| 6 | B | 5 | 21 | A | 2 | 36 | B | 1 | 51 | A | 4 |
| 7 | A | 2 | 22 | A | 3 | 37 | B | 1 | 52 | A,B,C | 4 |
| 8 | A,B,C | 5 | 23 | B | 3 | 38 | B | 1 | 53 | A | 4 |
| 9 | A | 5 | 24 | B | 2 | 39 | B | 2 | 54 | A,B,C | 4 |
| 10 | B | 1 | 25 | A,C,D | 3 | 40 | A | 2 | 55 | A | 5 |
| 11 | A | 5 | 26 | A | 3 | 41 | A,B | 5 | 56 | A | 5 |
| 12 | A | 5 | 27 | A | 3 | 42 | C,D | 2 | 57 | A | 5 |
| 13 | A,B | 2 | 28 | A,B,C | 3 | 43 | A,C | 5 | 58 | A,B,C | 4 |
| 14 | A | 2 | 29 | A | 3 | 44 | A | 5 | 59 | C | 4 |
| 15 | A | 5 | 30 | B | 1 | 45 | A | 5 | 60 | A | 4 |
Multiple-response items are all-or-nothing. Partial selections score zero.
Domain tally
| Domain | Items | Count | Your score | Minimum |
|---|---|---|---|---|
| D1 — Agentic Architecture & Orchestration | 1, 2, 3, 4, 5, 10, 30, 31, 32, 33, 34, 35, 36, 37, 38, 43 | 16 | / 16 | 12 |
| D2 — Tool Design & MCP Integration | 7, 13, 14, 19, 21, 24, 39, 40, 42, 12, 26 | 11 | / 11 | 8 |
| D3 — Claude Code Configuration & Workflows | 16, 17, 18, 20, 22, 23, 25, 27, 28, 29, 46, 60 | 12 | / 12 | 9 |
| D4 — Prompt Engineering & Structured Output | 47, 48, 49, 50, 51, 52, 53, 54, 58, 59, 15, 44 | 12 | / 12 | 9 |
| D5 — Context Management & Reliability | 6, 8, 9, 11, 41, 45, 55, 56, 57 | 9 | / 9 | 7 |
Several items are genuinely cross-domain — the real exam is the same, and the guide's own scenario-to-domain mapping overlaps. The assignment above is one defensible allocation that reproduces the exact blueprint weights; the per-item D tags in the rationales name the primary domain. If you'd rather tally by the rationale tags, do that instead — the total is what predicts your result.
Total: ___ / 60. Go to scoring-grid.md.