Reference · Claude Certified Architect — Foundations

Glossary

Canonical terms, seeded from the exam guide Appendix. Adhere to these definitions in every lesson.

Domain 1 · Agentic Architecture & Orchestration

stop_reason D1
The field on a Claude response that drives loop control. "tool_use" → the model wants to call a tool; execute it, append the result, and loop. "end_turn" → the model is done; stop. Anti-patterns: using iteration caps as the primary stop signal, or parsing assistant text for words like "done." Guide: Domain 1, Task 1.1; Appendix.
agentic loop D1
Send request → inspect stop_reason → if tool_use, run the tool and append its result to conversation history → loop; if end_turn, finish. Tool results must be added to context so the model can reason about the next action. Guide: Domain 1, Task 1.1.
coordinator–subagent (hub-and-spoke) D1
A coordinator decomposes the task, delegates to specialized subagents, and aggregates results; all inter-agent communication routes through it for observability and consistent error handling. Subagents run with isolated context — they do not inherit the coordinator's history. Risk: overly narrow decomposition → incomplete coverage of broad topics. Guide: Domain 1, Tasks 1.2–1.3.
multi-agent (orchestrator–worker) D1
A lead/coordinator agent decomposes a query and spawns specialized subagents that work in parallel, each in isolated context, each returning a condensed summary (not its full context). Big quality win on breadth-first research (Anthropic: +90.2% vs single-agent) but ~15× the tokens of a chat. Avoid when steps are dependent or must share context (e.g., most coding). Scale effort to complexity: simple fact → 1 agent; broad research → 10+. Anthropic, multi-agent research system; Guide Domain 1 Tasks 1.2–1.3.
Task tool / allowedTools D1
Subagents are spawned via the Task tool; a coordinator's allowedTools must include "Task" to invoke them. Subagent context must be passed explicitly in the prompt. Emit multiple Task calls in a single response to run subagents in parallel. Guide: Domain 1, Task 1.3.
--resume <name> / fork_session D1
--resume <session-name> continues a specific prior conversation. fork_session branches independently from a shared baseline to explore divergent approaches. Prefer starting fresh with a structured summary over resuming with stale tool results. Guide: Domain 1, Task 1.7.
PostToolUse hooks / tool-call interception D1
Hooks intercept tool I/O deterministically. PostToolUse transforms tool results (e.g., normalize timestamps) before the model sees them; interception hooks block outgoing tool calls that violate policy (e.g., refunds > $500). Choose hooks over prompt instructions when compliance must be guaranteed. Guide: Domain 1, Tasks 1.4–1.5.

Domain 2 · Tool Design & MCP Integration

tool_choice D2 · D4
Controls whether/which tool Claude must call. "auto" (default) — model may call a tool or reply with text. "any" — must call some tool, model picks which. {"type":"tool","name":"…"} — must call that named tool (forced). "none" — no tools. With any/forced, the API forces a tool, so no natural-language preamble is emitted. See Lesson 0002. Guide: Domain 2 Task 2.3, Domain 4 Task 4.3; docs.claude.com.
tool_use (guaranteed structured output) D2 · D4
Defining a tool with a JSON schema and reading the model's tool_use response is the most reliable way to get schema-compliant output — it eliminates JSON syntax errors. It does not eliminate semantic errors (wrong field values, line items that don't sum). Guide: Domain 4, Task 4.3.
isError flag D2
MCP mechanism for signaling a tool failure back to the agent so it can react, rather than silently treating failure as success. Guide: Domain 2, Task 2.2.
structured error context D2 · D5
Return errorCategory (transient / validation / business / permission), an isRetryable / retriable:false flag, what was attempted, and partial results — so a coordinator can recover intelligently. Distinguish access failures (needing retry) from valid empty results (a successful query with no matches). Anti-patterns: generic "Operation failed"; suppressing errors as success; aborting the whole workflow on one failure. Guide: Domain 2 Task 2.2, Domain 5 Task 5.3.
.mcp.json scoping D2
Project-level .mcp.json — shared, version-controlled team tooling. User-level ~/.claude.json — personal / experimental servers. Use env-var expansion (${GITHUB_TOKEN}) for credentials without committing secrets. Tools from all configured servers are discovered at connection time. Guide: Domain 2, Task 2.4.
MCP resources vs tools D2
Tools perform actions. Resources expose content catalogs (issue summaries, doc hierarchies, schemas) so agents gain visibility into available data without exploratory tool calls. Guide: Domain 2, Task 2.4.

Domain 3 · Claude Code Configuration & Workflows

CLAUDE.md hierarchy D3
User-level ~/.claude/CLAUDE.md (personal, not shared via version control), project-level (./CLAUDE.md or .claude/CLAUDE.md, shared), and directory-level (subdirectory CLAUDE.md). Use @import to keep it modular; /memory to see which files are loaded. Guide: Domain 3, Task 3.1.
.claude/rules/ with glob paths D3
Topic rule files with YAML frontmatter paths: ["**/*.test.*"]. They load only when editing matching files and apply by file path regardless of directory — the right tool for conventions spread across the tree (e.g., test files). Preferred over a subdirectory CLAUDE.md (directory-bound) or a monolithic root CLAUDE.md (relies on inference). Guide: Domain 3, Task 3.3; sample Q6.
.claude/commands/ (slash commands) D3
Project-scoped .claude/commands/ = shared via version control, available to everyone who clones the repo. User-scoped ~/.claude/commands/ = personal, not shared. Guide: Domain 3, Task 3.2; sample Q4.
.claude/skills/ — SKILL.md frontmatter D3
Skills support frontmatter: context: fork (run in an isolated sub-agent so verbose output doesn't pollute the main conversation), allowed-tools (restrict tool access during the skill), argument-hint (prompt for required params). Skills = on-demand task workflows; CLAUDE.md = always-loaded universal standards. Guide: Domain 3, Task 3.2.
plan mode vs direct execution D3
Plan mode for large-scale changes, multiple valid approaches, architectural decisions, multi-file work — explore/design before committing. Direct execution for simple, well-scoped changes (single-file bug fix). The Explore subagent isolates verbose discovery output. Guide: Domain 3, Task 3.4; sample Q5.
CLI: -p / --output-format json / --json-schema D3
-p (a.k.a. --print) runs Claude Code non-interactively for CI (prevents hangs waiting on input). --output-format json with --json-schema enforces machine-parseable structured output for pipelines. Guide: Domain 3, Task 3.6; sample Q10.

Domain 4 · Prompt Engineering & Structured Output

Message Batches API D4
50% cost savings, up to a 24-hour processing window, no guaranteed latency SLA; custom_id correlates request/response pairs and identifies failures to resubmit. No multi-turn tool calling within a single request. Good for latency-tolerant jobs (overnight reports); wrong for blocking workflows (pre-merge checks). Guide: Domain 4, Task 4.5; sample Q11.
few-shot prompting D4
2–4 targeted examples — most effective when detailed instructions alone give inconsistent output. Use to demonstrate ambiguous-case handling and exact output format, and to reduce hallucination in extraction. They help the model generalize, not just match the shown cases. Guide: Domain 4, Task 4.2.
Schema design: prefer nullable / optional fields when source data may be absent (prevents fabrication); add an "other" + detail enum for extensible categories; "unclear" for ambiguity. (Domain 4, Task 4.3.)

Domain 5 · Context Management & Reliability

lost-in-the-middle D5
Models reliably use information at the beginning and end of long inputs but may omit content in the middle. Mitigate by placing key findings up front and using explicit section headers. Guide: Domain 5, Task 5.1.
scratchpad / "case facts" files D5
Persist transactional facts (amounts, dates, order #s) in a dedicated block included in every prompt, outside the summarized history — so progressive summarization can't blur them. Trim verbose tool outputs to only relevant fields before they accumulate. Guide: Domain 5, Task 5.1; Task 5.4.
escalation triggers D5
Escalate on: explicit customer request for a human, policy gaps/exceptions, or inability to make meaningful progress. Add explicit criteria + few-shot examples to the system prompt. Unreliable proxies: sentiment analysis and self-reported confidence scores. Multiple matches → ask for another identifier, don't guess. Guide: Domain 5, Task 5.2; sample Q3.
claim-source provenance D5
Preserve claim→source mappings (URL, doc name, excerpt) through synthesis. Annotate conflicting statistics with their sources instead of arbitrarily picking one; require publication/collection dates so temporal differences aren't misread as contradictions. Guide: Domain 5, Task 5.6.