CCARP-D1 · 17% of CCA-P · 3 anti-patterns
Solution Design & Architecture
✗Reaching for an agentic architecture before checking if a workflow suffices
Defaulting to a full agent loop with tool use for a problem that's actually a fixed sequence of deterministic steps. Agents add cost, latency, and failure surface that a workflow doesn't need.
✓ ✗Designing the system before naming the business-value pillar it serves
Jumping straight to components and data flow without first stating whether the design is optimizing for cost, efficiency, or a performance SLA. The architecture then has no anchor to justify trade-offs against.
✓Name the business-value pillar explicitly, then design against it
State which pillar (cost, efficiency, performance) the design serves before choosing components. Every later trade-off gets evaluated against that stated pillar.
Deep-dive: /concepts/business-value-alignment →
✗Treating requirements gathering as a one-time input
Capturing requirements once at the start and never revisiting them as the design evolves. Feedback loops get bolted on at the end instead of designed in from the start.
✓ CCARP-D2 · 13% of CCA-P · 2 anti-patterns
Claude Models, Prompting & Context Engineering
✗Defaulting to the largest model regardless of the task
Reaching for the highest-capability model 'to be safe' on every call, even for simple classification or extraction tasks that a cheaper, faster model handles equally well.
✓Choose the model on cost, latency, and capability trade-offs matched to the task
Match model tier to task complexity. Reserve the highest-capability model for the calls that genuinely need it.
✗One monolithic mega-prompt instead of modular, reusable components
Stuffing every instruction, example, and edge case into a single giant system prompt that gets copy-pasted and hand-edited across projects.
✓Optimize context and reuse through caching, modular prompts, and Skills
Break prompts into reusable, cacheable components. This is both a cost optimization (prompt caching) and a maintainability win.
CCARP-D3 · 19% of CCA-P · 3 anti-patterns
Integration
✗Granting an agent broad, standing credentials 'to be safe'
Provisioning wide-scope API keys or roles so the agent 'can do whatever it needs' rather than scoping access per tool. This is the single most-tested Integration security gap.
✓ ✗Loading the full tool and document surface into context up front
Registering every available tool and injecting every relevant document at session start. This is capability bloat and monolithic context in one move - both degrade selection accuracy and burn tokens.
✓ ✗Optimizing for accuracy alone, ignoring latency and cost
Picking the configuration that scores highest on an accuracy benchmark without weighing what it costs in latency or spend for the actual SLA the system needs to meet.
✓Weigh accuracy, latency, and cost trade-offs explicitly against the stated SLA
State the SLA first, then choose the configuration that meets it at the lowest cost and latency - not the one that maximizes accuracy in isolation.
Deep-dive: /concepts/accuracy-latency-cost-tradeoffs →
CCARP-D4 · 16% of CCA-P · 2 anti-patterns
Evaluation, Testing & Optimization
✗Eyeballing a handful of transcripts and calling it 'evaluated'
Reviewing 5-10 sample conversations manually and declaring the system production-ready, with no defined metric and no dataset that represents the actual traffic distribution.
✓Define evaluation metrics and datasets before declaring anything production-ready
Set explicit metrics across accuracy, latency, cost, and safety, and build a test dataset that mirrors real traffic before making a launch call.
✗Shipping without a production monitoring plan
Treating pre-launch testing as the only evaluation gate, with no logging or observability tooling watching for regressions once the system is live.
✓Monitor production performance continuously with logging and observability
Evaluation doesn't stop at launch. Instrument the system so drift and regressions surface in production, not from a customer complaint.
CCARP-D5 · 14% of CCA-P · 2 anti-patterns
Governance, Safety & Risk
✗Relying on system-prompt instructions as the only safety control
Telling the model 'never do X' in the system prompt and treating that as sufficient for a high-stakes action. Probabilistic enforcement fails under load or adversarial input.
✓Implement guardrails and safety controls programmatically, with human-in-the-loop for high-risk actions
Deterministic controls (not prompt instructions) gate irreversible or high-risk actions, with human review where the stakes justify it.
Deep-dive: /concepts/guardrails-and-safety-controls →
✗Assuming a generic risk assessment covers GDPR, HIPAA, or FedRAMP
Running one all-purpose compliance checklist regardless of the actual regulatory regime the deployment falls under.
✓ CCARP-D6 · 14% of CCA-P · 2 anti-patterns
Stakeholder Communication & Lifecycle
✗Designing in isolation, then presenting a finished architecture
Skipping structured discovery and building the full design before ever showing it to the stakeholders who'll depend on it, then treating their feedback as scope creep.
✓ ✗No documentation handoff - the original architect becomes the only source of truth
Shipping a working system with the design decisions living only in the architect's head (or a Slack thread), so the team that inherits it can't safely modify it.
✓ CCARP-D7 · 7% of CCA-P · 1 anti-patterns
Developer Productivity & Operational Enablement
✗Leaving every developer to configure Claude Code individually, ad hoc
No shared team configuration - each developer sets up their own tools, rules, and environment from scratch, so debugging and workflows differ person to person.
✓Configure shared team tooling and environments centrally
Configure Claude tools and environments once for the team, including Claude Code, so operational debugging and workflows stay consistent across contributors.