CCDVF-D2.1 · Domain 2 · Applications & Integration · 33.1% of CCD-F

Systems Life Cycle Management for Claude Applications.

8 min read·8 sections·Tier A

Systems life cycle management is a general IT discipline - plan, develop, test, deploy, operate, maintain, retire - not an Anthropic invention; NIST's SDLC bulletin frames it as "the overall process of developing, implementing, and retiring information systems." NIST SDLC bulletin What this objective actually tests is mapping that generic skeleton onto concrete Claude-specific mechanics at three phases: test (evals as a first-class artifact), deploy (model IDs are pinned snapshots, not evergreen pointers, plus versioned agent rollback), and operate (usage/cost telemetry). Assuming a dateless model ID auto-upgrades, or assuming Anthropic authored a proprietary lifecycle framework, are both wrong.

NIST/FFIEC SDLC standards + Claude API docsCCD-F Domain 2 · Applications & IntegrationCCD-F only
Systems Life Cycle Management for Claude Applications, hero illustration featuring Loop mascot in a warm gallery scene.
Domain CCDVF-D2Applications & Integration · 33.1%
On this page
01 · Summary

TLDR

Systems life cycle management is a general IT discipline - plan, develop, test, deploy, operate, maintain, retire - not an Anthropic invention; NIST's SDLC bulletin frames it as "the overall process of developing, implementing, and retiring information systems." NIST SDLC bulletin What this objective actually tests is mapping that generic skeleton onto concrete Claude-specific mechanics at three phases: test (evals as a first-class artifact), deploy (model IDs are pinned snapshots, not evergreen pointers, plus versioned agent rollback), and operate (usage/cost telemetry). Assuming a dateless model ID auto-upgrades, or assuming Anthropic authored a proprietary lifecycle framework, are both wrong.

7 (plan→develop→test→deploy→operate→maintain→retire)
Lifecycle phases (this mapping)
CCDVF-D2
Exam domain
33.1%
Domain weight
Fixed per ID, never updated
Model ID mutability (4.6+ generation)
Re-pin `version` number
Managed Agents rollback mechanism
02 · Definition

What it is

This objective is a general software/IT-engineering discipline applied to Claude-based systems, not an Anthropic-specific API feature. NIST describes it as "the overall process of developing, implementing, and retiring information systems" through initiation, analysis/development, implementation, and operations/maintenance phases, ending in disposal; FFIEC and NIST SP 800-64 describe the same skeleton for regulated environments. Mapped onto a plan → develop → test → deploy → operate → maintain → retire sequence, three phases have concrete, citable Claude-specific mechanics worth knowing cold: test (evals), deploy (model/agent version pinning), and operate (usage telemetry). The other phases (plan, develop, maintain, retire) apply standard engineering practice with no Claude-specific twist worth memorizing beyond what already appears elsewhere on this site (see Study Next).

The exam-relevant insight is less about the phase names themselves and more about which concrete artifact backs each phase in a real Claude deployment: a labeled eval suite backs "test," a pinned model ID plus a pinned agent version backs "deploy," and the Admin Usage & Cost API plus SDK-level request logging backs "operate." An architect who can't name the artifact behind a phase hasn't actually operationalized the lifecycle - they've just recited its name.

03 · Mechanics

How it works

Test - evals as a first-class artifact, not an afterthought. Define success criteria that are specific and measurable (task fidelity, consistency, tone, latency, price), then grade test cases via exact-match, cosine similarity, ROUGE-L, or LLM-based grading (Likert or binary). Anthropic's stated best practice: "use a different model to evaluate than the model used to generate the evaluated output" - grading with the same model that produced the answer risks self-preference bias contaminating the score. The Console also ships an interactive Evaluation tool for pre-ship testing. For grading methodology and dataset design in depth, see the evaluation concept page - see Study Next.

Deploy - model IDs are pinned snapshots, not evergreen pointers, from the 4.6 generation onward. Dateless IDs like claude-sonnet-5 or claude-opus-4-8 are each one fixed weight snapshot forever: "Anthropic does not update the weights or configuration of an existing model ID. When an updated version is available, it ships under a new model ID." This is the opposite behavior from pre-4.6 models, which used dated IDs (claude-sonnet-4-5-20250929) plus a *separate*, undated alias (claude-sonnet-4-5) that silently rolls to the latest dated snapshot for that minor version - pinning the alias instead of the dated ID is a real production risk on legacy models. Every model ID, dated or dateless, carries its own independent deprecation schedule, and serving infrastructure (routers, safety classifiers, sampling logic) can shift observable behavior slightly even when the weights underneath haven't changed.

Deploy - server-side prompt/agent versioning with rollback, on Managed Agents. agents.update() requires the agent's CURRENT version as an explicit argument, not just the fields you're changing: agent = client.beta.agents.update(AGENT_ID, version=agent.version, system=V2_SYSTEM). That current-version argument is an optimistic-concurrency check - passing a stale version (someone else updated the agent since you last read it) returns a 409 conflict_error instead of silently overwriting their change; the pattern is fetch-then-update, not update-blind. Each successful call produces a new immutable version automatically, numbered sequentially (v1, v2, v3...) on the same agent ID. Production sessions pin explicitly: session = client.beta.sessions.create(agent={"type": "agent", "id": AGENT_ID, "version": N}, environment_id=ENV_ID); passing a bare agent ID string instead resolves to whatever the latest version happens to be, which is not recommended for production. Rollback requires no redeploy - it's just re-pinning the version field to a prior number, since "versions live server-side." Anthropic's own cookbook example makes the stakes concrete: a v2 prompt change dropped billing-ticket routing accuracy from 4/5 to 2/5 (a broadened routing rule over-captured billing tickets that merely mentioned API usage costs); re-pinning production sessions back to v1 immediately restored 4/5 accuracy, with zero code deployed.

Operate / maintain - usage and cost telemetry, plus request-level logging. The Admin Usage & Cost API returns token usage bucketed by minute, hour, or day, sliceable by product, model, context window, or region - the concrete artifact that lets "maintain" decisions (which model to keep running, where cost is concentrated) be data-driven rather than anecdotal. SDKs separately expose a middleware/interceptor hook that runs before a request is sent and after a response is received, for request-level logging independent of the Admin API's aggregate view.

Worked full-cycle example. A support-ticket router on Claude: plan (routing-accuracy target, latency budget) → develop (system prompt) → test (a labeled-ticket eval set, exact-match or LLM-graded, per the develop-tests methodology above) → deploy (pin the model ID, e.g. claude-sonnet-5; ship the prompt as an immutable agent version pinned by production sessions) → operate (per-model token/cost visibility via the Admin API; request logging via SDK middleware) → maintain (a PM edits routing rules to v2; v2 is evaluated against the same labeled set before any session is re-pinned to it) → if v2 regresses in production the way the cookbook's own billing example did, rollback is just re-pinning sessions to v1, no redeploy required.

Systems Life Cycle Management for Claude Applications mechanics, painterly diagram featuring Loop mascot.
04 · In production

Where you'll see it

Support-ticket router, full lifecycle

plan (accuracy/latency targets) → develop (system prompt) → test (labeled eval set, LLM-graded by a different model) → deploy (pinned model ID + pinned agent version) → operate (Admin API cost telemetry + SDK middleware logging) → maintain (v2 prompt evaluated before re-pinning) → rollback (re-pin to v1 if v2 regresses).

Managed Agents billing-routing regression

A v2 prompt change dropped billing-ticket accuracy from 4/5 to 2/5 in production; re-pinning sessions to the immutable v1 agent version restored accuracy instantly, with no redeploy - the concrete shape of a change-controlled "deploy" artifact paying off during "maintain."

05 · Compare

Side-by-side

Lifecycle phaseGeneric SDLC concernConcrete Claude mechanicArtifact / API
TestVerify the system meets requirements before shippingEvals graded by a different model than the one that generated the outputLabeled eval suite; Console Evaluation tool
DeployRelease a specific, known-good version to productionDateless model IDs (4.6+) are immutable snapshots; Managed Agents versions are immutable and pinned explicitlymodel field; agent={"id":..., "version": N}
OperateMonitor the running systemToken usage bucketed by minute/hour/day, by product/model/context window/regionAdmin Usage & Cost API
MaintainChange the system safely, with a way back if it regressesRe-pinning a prior agent version number reverts instantly, server-side, no redeployagents.update() + version pin/rollback
06 · When to use

Decision tree

01

Are you deciding whether an output is good enough to ship?

YesThis is the test phase - build a labeled eval suite and grade with a model different from the one that generated the output, rather than spot-checking a handful of examples.
NoCheck the other phases below.
02

Are you deciding which specific model version or agent version goes live?

YesThis is deploy - pin the exact model ID (dateless 4.6+ IDs are immutable snapshots; pre-4.6 needs the dated ID, not the rolling alias) and, on Managed Agents, pin an explicit version number rather than a bare agent ID.
NoCheck operate/maintain instead.
03

Are you trying to understand cost or usage patterns of a live system?

YesThis is operate - query the Admin Usage & Cost API for bucketed token usage by model/product/context window/region, and use SDK middleware for request-level logging.
NoThis may be a maintain-phase or test-phase concern instead.
04

Did a prompt or agent-version change regress a metric in production?

YesRe-pin production sessions to the prior version number - rollback is server-side and requires no redeploy, unlike rolling back a raw code release.
NoNo rollback action needed; continue normal maintain-phase iteration against the eval suite.
05

Does the exam question require Anthropic-specific SDLC terminology to answer correctly?

YesNo such terminology exists to require - the phase names (plan/develop/test/deploy/operate/maintain/retire) come from general standards bodies like NIST, not Anthropic.
NoCorrect - focus on which concrete Claude mechanic backs the phase in question, not on naming conventions.
07 · On the exam

Question patterns

Systems Life Cycle Management for Claude Applications exam trap, painterly cautionary scene featuring Loop mascot.
A team builds an eval suite, then uses the exact same model that generates production output to grade its own eval cases, and reports a high pass rate. What's the methodological problem, and what's the fix?
Self-grading risks self-preference bias inflating the score. Anthropic's stated best practice is to use a different model to evaluate than the one used to generate the output being evaluated. The named distractor "the eval suite is too small, add more cases" may also be true in general but does not address the actual flaw described - grading with the generator model itself, regardless of suite size.
A production app pins `claude-sonnet-5` (a 4.6-generation-and-later dateless ID) and an engineer argues no redeploy is needed to "pick up" a future model improvement, since the ID has no date in it. Is this correct?
No. From the 4.6 generation onward, a dateless model ID is a fixed, immutable snapshot - Anthropic does not update the weights or configuration behind an existing ID; an improved model ships under a brand-new ID instead. The named distractor "dateless IDs are evergreen pointers, like the old undated aliases" conflates the new pinned-ID scheme with the legacy pre-4.6 alias behavior (e.g. claude-sonnet-4-5), which genuinely does roll to the latest dated snapshot - that rolling behavior does not apply to 4.6-generation-and-later IDs.
A Managed Agents production deployment pins sessions with `agent={"type": "agent", "id": AGENT_ID, "version": 2}`. After v2 ships, billing-ticket routing accuracy drops from 4/5 to 2/5 because a broadened routing rule over-captured billing tickets. What is the correct, lowest-risk fix, and does it require a redeploy?
Re-pin production sessions back to version: 1. No redeploy is needed - agent versions are immutable and live server-side, so rollback is purely a config change to which version number sessions reference, and it restores the prior 4/5 accuracy immediately. The named distractor "revert the code and redeploy the previous prompt as a new commit" treats this like a code-release rollback, ignoring that the prior version already exists server-side and just needs to be re-pinned.
A team wants to know which model is driving the majority of their monthly Claude spend, broken down by day and by product surface. Which mechanism answers this?
The Admin Usage & Cost API, which returns token usage bucketed by minute/hour/day and sliceable by product, model, context window, or region. The named distractor "parse SDK middleware request logs manually" is the wrong tool for this - middleware gives per-request logging detail, not the aggregated, bucketed cost/usage view the Admin API is purpose-built to answer.
A candidate studying for this objective assumes Anthropic has published an official, branded "Claude SDLC" framework with its own named phases distinct from general industry practice, and expects exam questions to test that vocabulary. Is this a safe assumption?
No. This objective's phase skeleton (plan/develop/test/deploy/operate/maintain/retire) traces to general standards bodies like NIST and FFIEC, not an Anthropic-authored framework - what IS genuinely Claude-specific and testable is the concrete mechanic behind each phase (eval grading practice, model ID pinning behavior, agent version pin/rollback, Admin API telemetry). The named distractor "study Anthropic's official SDLC phase naming" targets vocabulary that doesn't exist as an Anthropic-specific artifact; the real content to master is the mechanics, not phase-name trivia.
08 · FAQ

Frequently asked

Did Anthropic invent the systems-life-cycle framework this objective refers to?
No. The phase skeleton (initiation/development/implementation/operations-maintenance, ending in disposal) comes from general IT/government standards bodies like NIST and FFIEC. What's Claude-specific is the concrete mechanic behind each phase - evals, model ID pinning, agent versioning, usage telemetry.
Do Claude model IDs automatically update to the newest, best-performing version over time?
No, not for the 4.6 generation and later - those dateless IDs are fixed, immutable snapshots forever. Only legacy pre-4.6 undated aliases (e.g. claude-sonnet-4-5) roll to the latest dated snapshot; that behavior does not carry forward to newer IDs.
09 · Practice with AI

Work this with your AI

Work this concept hands-on with Claude Code, Codex, or claude.ai. Copy a prompt, paste it into your assistant, and practise in tandem. Each one keeps you active (explain it back, get drilled, or build) rather than just reading.

  • Drill it like the exam (scenario MCQs)
    Practice in the exam's scenario-MCQ format with trap awareness.
  • Explain it back (Feynman)
    Build durable, transferable understanding of a concept you can half-state.
  • Test me, adapting the difficulty
    Active recall practice on a concept you think you know.
  • Check my prerequisites first
    Before studying a concept that keeps not sticking.
  • Find the high-leverage 20%
    When a domain feels too big and you are short on time.
Self-check

Test yourself

Three diagnostic questions on this primitive. Reveal each answer when you have a guess. Want a full 60-question mock? Open the mock hub →

Q1A team builds an eval suite, then uses the exact same model that generates production output to grade its own eval cases, and reports a high pass rate. What's the methodological problem, and what's the fix?
Self-grading risks self-preference bias inflating the score. Anthropic's stated best practice is to use a different model to evaluate than the one used to generate the output being evaluated. The named distractor "the eval suite is too small, add more cases" may also be true in general but does not address the actual flaw described - grading with the generator model itself, regardless of suite size.
Q2A production app pins `claude-sonnet-5` (a 4.6-generation-and-later dateless ID) and an engineer argues no redeploy is needed to "pick up" a future model improvement, since the ID has no date in it. Is this correct?
No. From the 4.6 generation onward, a dateless model ID is a fixed, immutable snapshot - Anthropic does not update the weights or configuration behind an existing ID; an improved model ships under a brand-new ID instead. The named distractor "dateless IDs are evergreen pointers, like the old undated aliases" conflates the new pinned-ID scheme with the legacy pre-4.6 alias behavior (e.g. claude-sonnet-4-5), which genuinely does roll to the latest dated snapshot - that rolling behavior does not apply to 4.6-generation-and-later IDs.
Q3A Managed Agents production deployment pins sessions with `agent={"type": "agent", "id": AGENT_ID, "version": 2}`. After v2 ships, billing-ticket routing accuracy drops from 4/5 to 2/5 because a broadened routing rule over-captured billing tickets. What is the correct, lowest-risk fix, and does it require a redeploy?
Re-pin production sessions back to version: 1. No redeploy is needed - agent versions are immutable and live server-side, so rollback is purely a config change to which version number sessions reference, and it restores the prior 4/5 accuracy immediately. The named distractor "revert the code and redeploy the previous prompt as a new commit" treats this like a code-release rollback, ignoring that the prior version already exists server-side and just needs to be re-pinned.
Last reviewed: 2026-05-04·Refresh cadence: monthly
CCDVF-D2.1 · CCDVF-D2 · Applications & Integration

Systems Life Cycle Management for Claude Applications, complete.

You've covered the full ten-section breakdown for this primitive, definition, mechanics, code, false positives, comparison, decision tree, exam patterns, and FAQ. One technical primitive down on the path to CCA-F.

More platforms →