Claude Certification Tracks and Assessment Schemas: How diagnostic.json and mock-*.json Differ
The rohitg00/ai-engineering-from-scratch repository supports four Claude certification tracks—Developer Foundations (CCDV-F), Architect Foundations (CCAR-F), Architect Professional (CCAR-P), and Architect Core (CCAO-F)—each utilizing two distinct JSON assessment schemas where diagnostic.json provides educational explanations for rapid skill checks, while mock-*.json files contain answer keys without explanations for full-length practice exams.
This open-source curriculum structures Claude certification preparation through track definitions stored under certifications/claude/tracks/ and corresponding assessments in certifications/claude/assessments/. Understanding the schema differences between diagnostic and mock exam files ensures you select the appropriate evaluation tool for your study phase.
Supported Claude Certification Tracks
The repository defines four distinct certification tracks, each targeting specific professional roles and technical depths:
- CCDV-F (Developer Foundations): Defined in
certifications/claude/tracks/ccdv-f.json, this track focuses on building, integrating, testing, and shipping Claude applications, agents, workflows, and MCP servers. The exam code is CCDV-F. - CCAR-F (Architect Foundations): Located in
certifications/claude/tracks/ccar-f.json, this foundational architecture track covers model selection, prompting strategies, context engineering, and basic tool usage. The exam code is CCAR-F. - CCAR-P (Architect Professional): Found in
certifications/claude/tracks/ccar-p.json, this professional-level track addresses end-to-end system design, governance, evaluation frameworks, and large-scale production deployments. The exam code is CCAR-P. - CCAO-F (Architect Core): Stored in
certifications/claude/tracks/ccao-f.json, this core architecture track emphasizes robust solution design including tool contracts, security patterns, and observability. The exam code is CCAO-F.
Each track JSON contains a structured assessments array that references both a diagnostic file and one or more mock exam files.
Assessment File Structure and Location
Assessment files follow a consistent directory pattern under certifications/claude/assessments/{track-slug}/. For example, the Developer Foundations track stores its evaluations in certifications/claude/assessments/ccdv-f/.
Every track directory contains:
- A
diagnostic.jsonfile for rapid readiness assessment - One or more
mock-*.jsonfiles (e.g.,mock-01.json) simulating official certification conditions
These files are referenced by the track definition's assessments array and loaded by the repository's evaluation runners.
Schema Differences Between diagnostic.json and mock-*.json
While both schemas share core question metadata—id, domain, objective, type (single or multiple), prompt, and options—they diverge significantly in pedagogical approach, answer storage, and temporal constraints.
Purpose and Duration Constraints
diagnostic.json functions as a lightweight skill check, typically allocating 30 minutes (timeLimitMinutes: 30) for 10-20 questions that sample representative domains. This format provides rapid feedback on readiness gaps.
mock-*.json replicates the full certification experience, requiring approximately 120 minutes (timeLimitMinutes: 120) to complete 40-60+ questions covering all domains defined in the track. This schema mirrors the official exam's timing and scope.
The kind Field and Type Identification
Every assessment file declares its schema type through the kind field for programmatic routing:
import json
def is_diagnostic(data: dict) -> bool:
return data.get("kind") == "diagnostic"
def is_mock(data: dict) -> bool:
return data.get("kind") == "mock"
# Usage
with open("certifications/claude/assessments/ccdv-f/diagnostic.json") as f:
diag = json.load(f)
with open("certifications/claude/assessments/ccdv-f/mock-01.json") as f:
mock = json.load(f)
print(is_diagnostic(diag)) # True
print(is_mock(mock)) # True
Diagnostic files specify "kind": "diagnostic", while mock files declare "kind": "mock".
Question Object Structure and Answer Storage
The diagnostic schema prioritizes learning through detailed metadata:
correct: An array of integers representing valid option indicesexplanation: Detailed reasoning explaining why the correct answer is validreferences: Links to documentation or source materials for further study
Conversely, the mock schema maintains exam integrity by withholding pedagogical content:
answer: Contains the solution as a single integer (forsingletype) or array (formultipletype)- Omits both
explanationandreferencesfields to prevent answer disclosure during practice sessions
Scoring Mechanisms
The diagnostic runner calculates scores using the correct array while displaying explanations for wrong answers. The mock runner validates submissions against the answer key using the exact scoring logic implemented in the production certification exam, providing binary correct/incorrect feedback without reasoning.
Loading and Validating Assessment Files Programmatically
You can interact with these schemas using standard Python library modules to build custom study tools:
import json
import pathlib
def load_track(slug: str) -> dict:
"""Read a track JSON and return credential and exam metadata."""
path = pathlib.Path(
"certifications/claude/tracks",
f"{slug}.json"
)
with path.open() as f:
return json.load(f)
def load_assessment(track_slug: str, filename: str) -> dict:
"""Load either diagnostic or mock assessment for a specific track."""
path = pathlib.Path(
"certifications/claude/assessments",
track_slug,
filename
)
with path.open() as f:
return json.load(f)
# Load track metadata
track = load_track("ccdv-f")
print(f"{track['credential']} → {track['exam']['items']} items")
# Load and classify assessments
diag = load_assessment("ccdv-f", "diagnostic.json")
mock = load_assessment("ccdv-f", "mock-01.json")
print(f"Diagnostic kind: {diag.get('kind')}")
print(f"Mock kind: {mock.get('kind')}")
Summary
- The repository supports four Claude certification tracks: CCDV-F (Developer Foundations), CCAR-F (Architect Foundations), CCAR-P (Architect Professional), and CCAO-F (Architect Core), each defined in
certifications/claude/tracks/. diagnostic.jsonprovides 30-minute skill assessments with 10-20 questions, includingexplanationandreferencesfields for educational feedback.mock-*.jsondelivers 120-minute practice exams with 40-60+ questions, using ananswerkey field while omitting explanations to simulate official testing conditions.- Both schemas identify their type via the
kindfield and contain standardized question metadata includingdomain,objective, andoptions. - Track definitions link to these assessments through the assessments array, enabling automated curriculum routing.
Frequently Asked Questions
What are the four Claude certification tracks supported in the repository?
The repository defines Claude Certified Developer – Foundations (CCDV-F), Claude Certified Architect – Foundations (CCAR-F), Claude Certified Architect – Professional (CCAR-P), and Claude Certified Architect – Core (CCAO-F). Each track targets distinct competency levels, from application development to enterprise architecture, with corresponding JSON definitions stored under certifications/claude/tracks/.
How does the diagnostic.json schema differ from mock-*.json in structure and content?
The diagnostic.json schema includes a correct array alongside explanation and references fields to facilitate learning, while mock-*.json files replace these with a single answer field (integer or array) and omit educational metadata. This structural difference ensures mock exams test knowledge retention without revealing reasoning, whereas diagnostics prioritize skill gap analysis.
Where are certification track definitions and assessment files located within the repository?
Track definitions reside in certifications/claude/tracks/ (e.g., ccdv-f.json), containing credential details and domain weightings. Assessment files are organized under certifications/claude/assessments/{track-slug}/, where each subdirectory contains a diagnostic.json and one or more mock-*.json files referenced by the parent track definition.
Can I programmatically determine if an assessment file is a diagnostic or mock exam?
Yes, inspect the kind field value at the root of the JSON object. Diagnostic assessments specify "kind": "diagnostic", while mock exams specify "kind": "mock". This field enables automated parsers to route files to appropriate scoring logic and UI renderers without relying on filenames alone.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →