CCAR-F Claude Certified Architect — Foundations

Deck 1 — Agentic Architecture & Orchestration (Domain 1, 27%)

60 cards. Largest deck for the largest domain. Cards 1–20 = the loop. 21–40 = multi-agent. 41–60 = enforcement, hooks, handoffs, sessions.

Use: cover the answer, say it out loud, then check. Move any card you miss to a separate pile and re-run that pile daily.


1

Q: What stop_reason value means the agentic loop must continue? A: "tool_use".

2

Q: What stop_reason value means the loop terminates? A: "end_turn".

3

Q: How do you add the model's turn to the message history in the loop? A: Append the assistant message verbatim — every content block, unmodified.

4

Q: An assistant turn contained three tool_use blocks. How many user messages carry the results? A: One. All tool_result blocks for one assistant turn go in a single user message.

5

Q: What links a tool_result to the call it answers? A: tool_use_id.

6

Q: Anti-pattern: terminating the loop by parsing phrases like "I'm done." Why wrong? A: Natural-language phrasing varies. It produces both false positives and false negatives. Use stop_reason.

7

Q: Anti-pattern: using an iteration cap as the primary termination condition. Why wrong? A: It truncates legitimate multi-turn work. A cap is a safety net, not a termination condition.

8

Q: Anti-pattern: terminating when the assistant text is non-empty. Why wrong? A: Text and tool calls co-occur in a single turn. Non-empty text says nothing about whether tools were requested.

9

Q: Anti-pattern: terminating after the first tool result. Why wrong? A: Real tasks need several turns — a lookup often only enables the next call.

10

Q: When is a model-driven decision the right architecture? A: When inputs vary, the path can't be enumerated in advance, and judgement is required.

11

Q: When is a pre-configured decision tree the right architecture? A: When the path is fixed, must be auditable, and must be identical every time.

12

Q: tool_choice: "auto" — behaviour? A: The model decides whether to use a tool. Default.

13

Q: tool_choice: "any" — behaviour? A: The model must use some tool, its choice which.

14

Q: How do you force one specific tool? A: tool_choice: {"type": "tool", "name": "extract_invoice"}.

15

Q: What is the loop's driving signal, in one phrase? A: The API's structured stop_reason, never interpreted text.

16

Q: A tool errors mid-loop. Does the loop stop? A: No. Return the error as a tool_result with isError: true and let the model adapt.

17

Q: Where does an iteration cap legitimately belong? A: As a runaway-loop backstop, set far above any expected real iteration count.

18

Q: Two tools were called in one turn and one failed. What do you send back? A: Both results, in one user message — the success and the error, each with its tool_use_id.

19

Q: What breaks if you summarize or reformat the assistant turn before appending it? A: The tool_use blocks and their IDs are lost, so results can't be matched. Append verbatim.

20

Q: Which SDK does the exam associate with building custom agents like the support agent? A: The Claude Agent SDK.


21

Q: In a coordinator–subagent system, which topology does the exam expect? A: Hub-and-spoke — all communication passes through the coordinator.

22

Q: Can subagents communicate directly with each other? A: No. Everything routes via the coordinator.

23

Q: What context does a subagent inherit from the coordinator? A: Nothing. Isolated context. Not the conversation, not prior findings, not the original question.

24

Q: Consequence of subagent context isolation for prompt writing? A: Every delegating prompt must state literally every identifier, path, constraint, and prior finding needed.

25

Q: Which tool does a coordinator use to delegate? A: The Task tool.

26

Q: A coordinator does all the work itself instead of delegating. First thing to check? A: Whether "Task" is in its allowedTools.

27

Q: How do you run subagents in parallel? A: Emit multiple Task calls in a single coordinator response.

28

Q: Is there a parallel: true flag for subagents? A: No. Non-existent option; a distractor.

29

Q: What three things does an AgentDefinition carry? A: A description (coordinator uses it for routing), a prompt, and scoped tools.

30

Q: What is the description field of an AgentDefinition actually for? A: The coordinator reads it to decide which subagent to route to.

31

Q: Symptom: the coordinator's subtasks all cluster into one or two dimensions of a multi-dimensional question. Name the bug. A: Overly narrow decomposition.

32

Q: Fix for narrow decomposition? A: Explicit scope partitioning across named dimensions, plus a coverage check that re-delegates for gaps.

33

Q: Narrow decomposition — which layer do you blame? A: The coordinator's decomposition. The subagents worked correctly within the scope they were given.

34

Q: Three subagents return overlapping, duplicated sources. Fix? A: Scope partitioning — disjoint scopes, each prompt stating what the others cover.

35

Q: Name the pattern: choosing which subagents to invoke based on what the task actually needs. A: Dynamic subagent selection.

36

Q: Name the pattern: checking coverage of returned results and re-delegating for what's missing. A: Iterative refinement (re-delegation).

37

Q: Goal-oriented prompts or procedural step lists for subagents? A: Goal-oriented — state the goal and the quality criteria, not the procedure.

38

Q: Why do procedural subagent prompts fail? A: They're brittle — they break when the situation deviates from the assumed steps, and they can't adapt.

39

Q: Should each subagent get the full tool set? A: No. Least privilege — only the tools its role needs. Also improves selection accuracy.

40

Q: Prompt chaining vs dynamic adaptive decomposition — which when? A: Chaining for a fixed sequence of known steps; dynamic decomposition when later steps depend on what earlier ones discover.


41

Q: Deterministic vs probabilistic — classify hooks and prompt instructions. A: Hooks = deterministic. Prompt instructions = probabilistic.

42

Q: The exam's phrase for why prompt instructions aren't enough for financial actions? A: "Prompt instructions have a non-zero failure rate."

43

Q: When must you use programmatic enforcement rather than prompt guidance? A: When errors have financial, compliance, or irreversible consequences.

44

Q: Which hook blocks or redirects a tool call? A: PreToolUse.

45

Q: Which hook transforms a tool result? A: PostToolUse.

46

Q: Requirement: process_refund must never run before a verified customer ID exists. Implementation? A: A PreToolUse gate that blocks the call when no verified ID is in session state.

47

Q: Requirement: refunds over $500 must go to a human. Implementation? A: A PreToolUse interception that blocks the refund and redirects to escalate_to_human.

48

Q: Tools return timestamps as Unix epoch, ISO 8601, and numeric status codes. Fix? A: A PostToolUse hook that normalizes all of them before they reach the model.

49

Q: Why not just describe the timestamp formats in the system prompt? A: It's probabilistic. The model will misread formats some fraction of the time. Normalization is deterministic.

50

Q: What belongs in a structured handoff to a human in the support scenario? A: Customer ID · root cause · refund amount · recommended action.

51

Q: Should the handoff include the full conversation transcript? A: No — a structured summary. The transcript makes the human re-derive what the agent already knows.

52

Q: Which three boundaries use the same structured-summary principle? A: Agent→human, agent→agent, tool→model.

53

Q: Symptom: a multi-file review misses issues it catches when reviewing one file. Name it. A: Attention dilution.

54

Q: Fix for attention dilution? A: Per-file passes plus a separate cross-file integration pass.

55

Q: Does a larger context window fix attention dilution? A: No. It's attention distribution, not capacity.

56

Q: What does the cross-file integration pass catch that per-file passes cannot? A: Cross-boundary problems — a changed signature with unchanged callers, contract mismatches across modules.

57

Q: Resuming a named session — flag? A: --resume <session-name>.

58

Q: Branching a session to try a variant without losing the original? A: fork_session.

59

Q: Prior session's tool results are now stale. Resume or start fresh? A: Fresh session plus a structured summary. Resuming would carry stale results forward.

60

Q: Same session, context filling, history still valid? A: /compact.