- In short
- A decomposition made during discovery is a hypothesis, not a final answer; it should be revisited once pattern and reference-architecture decisions surface new constraints. Discovering that a "static knowledge" sub-task is actually live state should trigger re-decomposing that piece into a tool call, not patching it inside the original bucket. A decomposition that never changes after the first draft is a sign it was not tested against real architecture constraints, and revisiting is cheaper early than after implementation.
The decomposition is a first draft
An initial decomposition is made during discovery, when the picture is least complete, which means it is a hypothesis about how the problem breaks apart, not a settled answer. The Claude Certified Architect - Professional (CCAR-P) exam treats iterating the decomposition as an analyse-level skill because the mark of a good architect is revisiting that first draft when downstream work reveals it was wrong, rather than defending it. Choosing a pattern, selecting a reference architecture, and sketching the data flow all surface constraints the discovery step could not see, and some of those constraints contradict the original decomposition. When they do, the decomposition should change.
The most common contradiction is a data-classification error: a piece assumed to be static knowledge turns out to be live state. The correct response is to re-decompose that piece into a tool call to the system that owns the live state, not to patch around the wrong assumption inside the bucket where it was first placed. Re-decomposing propagates the corrected fact cleanly; patching builds further on the error.
- Iterating the decomposition
- Treating an initial decomposition as a hypothesis to be revisited once pattern and reference-architecture decisions surface new constraints, rather than as a final answer. Discovering that a static-knowledge sub-task is actually live state triggers re-decomposing it into a tool call. A decomposition that never changes is a sign it was not tested against real constraints; revisiting is cheaper early than after implementation.
New constraints surface after discovery
The reason the first draft is provisional is that discovery cannot see everything. It is only when you start choosing a pattern and a reference architecture that certain constraints become visible: that a data source is live rather than stable, that a dependency exists that was not obvious, that a piece assigned to Claude actually needs a guaranteed answer. These are constraints the decomposition should have accounted for but could not, because they emerge from the design work that follows it. Treating the decomposition as final means ignoring the very information the later steps exist to produce.
Re-decompose, do not patch
When a constraint contradicts the decomposition, there are two responses, and only one is right. Patching keeps the piece in its original bucket and works around the problem locally, adding a special case to handle the fact that the "static" data is actually live, for instance. Re-decomposing moves the piece to where it now belongs, into a tool call for the live-state case, and lets the corrected classification flow through the rest of the design. Patching accumulates hidden complexity built on a false premise; re-decomposing keeps the design honest. The exam rewards re-decomposing because it is the response that actually fixes the model of the problem rather than concealing the flaw.
A static decomposition is a warning sign
There is a diagnostic in all of this: a decomposition that never changes after its first draft is a sign it was not genuinely tested against the architecture constraints. Real design work almost always surfaces at least one thing the discovery-time decomposition got wrong, so a decomposition that survives untouched has probably not been pressure-tested. And the economics favour iterating early: revisiting a decomposition on paper is far cheaper than discovering the same flaw after implementation has started, when the fix means reworking built code rather than editing a plan. Iterating is not a sign of a poor initial decomposition; it is a sign the decomposition is being taken seriously.
What the CCAR-P exam trips candidates on
The exam tests two traps. The first is treating the initial three-bucket split as fixed once written down, even after later design work reveals a sub-task was miscategorised. The credited answer revisits the decomposition and moves the miscategorised piece to its correct owner, rather than defending the first draft.
The second is continuing to build against an outdated decomposition after discovering a piece of "Claude work" is actually deterministic logic that belongs in code. The reliable reading stops, re-decomposes that piece into the existing-systems bucket, and lets the correction propagate, instead of pressing on with an implementation premised on the wrong assignment.
Worked example
A team's discovery-time decomposition put 'answer questions about current project status' in the Claude-plus-retrieval bucket, assuming a stable project-docs corpus. While choosing a reference architecture, they realise project status is updated continuously in a project-management tool. A developer suggests just adding a note to the retrieval prompt to 'prefer the most recent chunk.' What should happen instead?
Recognise the contradiction for what it is. The decomposition assumed project status was static knowledge safe to retrieve, but the reference-architecture work has surfaced a constraint that contradicts it: project status is live state, updated continuously in the project-management tool. This is precisely the situation where a discovery-time decomposition is revealed as a hypothesis that was wrong, and the honest response is to revisit it, not to defend it.
The developer's suggestion, adding a note to prefer the most recent chunk, is the patch trap. It keeps the piece in the retrieval bucket and works around the live-state problem locally, but retrieval still returns point-in-time snapshots, so "prefer the most recent chunk" cannot make a stale index authoritative for a value another system owns. The patch adds complexity on top of a false premise and does not fix the underlying misclassification.
The correct move is to re-decompose that piece: project status leaves the Claude-plus-retrieval bucket and becomes a tool call to the project-management tool that owns the live state, fetched at query time. The corrected classification then flows through the pattern and data-flow decisions cleanly. Doing this now, on paper, is far cheaper than discovering the stale-status failure after the retrieval pipeline has been built, which is exactly why iterating the decomposition early is the discipline the exam rewards.
Common misreadings to avoid
Misconception
Once the decomposition is written down, it is settled and design proceeds from it unchanged.
What's actually true
Misconception
A miscategorised piece can be handled with a local patch inside its original bucket.
What's actually true
How this shows up on the exam
Domain 1 questions on this knowledge point describe a late discovery that contradicts an earlier decomposition and ask how to respond. The reliable reading treats the decomposition as a revisable hypothesis, re-decomposes the affected piece to its correct owner, most often a static-to-live-state correction into a tool call, and rejects both defending the fixed first draft and patching around the flaw.
Iterating builds on recognising work that does not belong with Claude and dependency ordering in decomposition, and it mirrors the revisability of the architecture brief. The live-state correction draws directly on live state vs static knowledge, and it precedes tuning decomposition granularity.
Mid-design, a team discovers that a sub-task they placed in the Claude bucket, 'compute the exact late-payment penalty', is a fixed deterministic formula that must be auditable. What is the correct response?
People also ask
Why is a decomposition a hypothesis, not a final answer?
What should happen when static knowledge turns out to be live state?
Why is a decomposition that never changes a warning sign?
Watch and learn
Official Anthropic Academy lessons first, then hand-picked walkthroughs. Videos load only when you press play.
No videos curated for this concept yet
We are still curating the best official and community videos for this topic.
Official prep for this domain
Anthropic's own free prep module for this part of the syllabus, on the official prep course. Free with an Anthropic Academy sign-in.
References & primary sources
Master this concept with Archie
Practice it inside an adaptive study session. Archie, your Socratic AI tutor, tracks your mastery with Bayesian Knowledge Tracing and schedules the perfect next review.