# Curso preparatório CCAR-F — Claude Certified Architect (Foundations)

Curso completo, em português do Brasil, de preparação para a certificação **Claude Certified Architect – Foundations (CCAR-F)** da Anthropic. Projeto estático em HTML, CSS e JavaScript puro — sem framework, sem etapa de build.

## Como usar

### Abrir localmente

Basta abrir `index.html` no navegador (duplo clique). Todo o site funciona via `file://`, inclusive o simulado — as questões são carregadas por espelhos `.js` gerados a partir dos JSON, justamente para não depender de `fetch()` (que os navegadores bloqueiam em `file://`).

Se preferir um servidor local:

```bash
python -m http.server 8000
# abra http://localhost:8000
```

### Publicar no GitHub Pages

1. Suba o conteúdo desta pasta para um repositório.
2. Em *Settings → Pages*, aponte para a branch principal (raiz).
3. O site fica disponível em `https://<usuario>.github.io/<repo>/`.

Não há etapa de build: os arquivos são servidos como estão.

### Estrutura

```
curso-ccar-f/
├── index.html            # visão geral do exame, progresso e plano de 4 semanas
├── simulado.html         # motor de simulado (3 modos)
├── assets/
│   ├── style.css         # tema claro/escuro, layout responsivo
│   └── app.js            # navegação, progresso, quiz e motor do simulado
├── content/dominio-N/    # lições em HTML (31 lições no total)
├── questions/
│   ├── dominio-N.json    # banco de questões (fonte canônica, 150+ questões)
│   └── dominio-N.js      # espelhos gerados — NÃO editar manualmente
└── scripts/validate.py   # validador + gerador dos espelhos .js
```

### Validação

```bash
python scripts/validate.py
```

O script valida o esquema de todas as questões (IDs únicos, `answer` presente em `options`, distribuição por domínio, ≥60% com cenário), compila todos os exemplos Python das lições, confere as seções obrigatórias de cada lição e regenera os espelhos `questions/dominio-N.js`. **Rode-o sempre que editar questões.**

## Dados do exame (verificados nas fontes oficiais)

Todos os dados abaixo foram confirmados no **Exam Guide oficial v1.0 (vigente desde julho de 2026)**, PDF publicado pela Anthropic e linkado pela página do programa na Pearson VUE e pelo Skilljar de parceiros da Anthropic:

| Item | Valor confirmado |
|---|---|
| Formato | 60 questões, *multiple-choice* e *multiple-response* (cada questão indica quantas respostas selecionar), organizadas em **4 cenários sorteados de um banco de 6** |
| Duração | 120 minutos |
| Pontuação | Escala 100–1.000, aprovação com score escalado de 720; relatório com % por domínio |
| Aplicação | Pearson VUE (OnVUE online com proctor e/ou test center); retakes com esperas de 14/30/90 dias, máx. 4 tentativas em 12 meses |
| Custo | US$ 125 |
| Validade | 12 meses a partir da concessão |
| Domínios/pesos | 1) Agentic Architecture & Orchestration 27% · 2) Tool Design & MCP Integration 18% · 3) Claude Code Configuration & Workflows 20% · 4) Prompt Engineering & Structured Output 20% · 5) Context Management & Reliability 15% |

Divergência relevante encontrada em relação ao briefing inicial: nenhuma nos valores; apenas a precisão de que o formato oficial inclui *multiple-response* e a estrutura de 4 cenários sorteados de 6, e de que a página pública `anthropic.skilljar.com` **não** lista a certificação — ela vive no Skilljar de parceiros (`anthropic-partners.skilljar.com`, programa voltado à Claude Partner Network).

### Fontes

- Página do programa na Pearson VUE: <https://www.pearsonvue.com/us/en/anthropic.html>
- Página oficial do exame (Skilljar de parceiros): <https://anthropic-partners.skilljar.com/claude-certified-architect-foundations-certification>
- Anúncio oficial: <https://claude.com/blog/four-role-based-claude-certifications>
- Documentação da Claude API: <https://platform.claude.com/docs>
- Documentação do Claude Code e do Claude Agent SDK: <https://code.claude.com/docs>
- Documentação do MCP: <https://modelcontextprotocol.io>

## Premissas adotadas

1. **Score do simulado**: a prova real usa *scaled scoring* proprietário (100–1.000, corte 720). O simulado usa conversão linear `score = 100 + 900 × (acertos/total)`, o que coloca o corte de 720 em ≈69% de acertos — aproximação razoável, mas não idêntica ao algoritmo real.
2. **Cenários**: a prova agrupa questões em 4 cenários sorteados de 6. O simulado sorteia questões individualmente (proporcional ao peso por domínio), mas ≥60% das questões trazem cenário próprio no enunciado, preservando o estilo.
3. **Modelo padrão dos exemplos**: `claude-opus-5`, com `thinking: {"type": "adaptive"}` e `output_config` para structured outputs — os padrões atuais da API. Padrões antigos (`budget_tokens`, `output_format`, prefill de assistente) aparecem apenas como contraexemplo, sinalizados como obsoletos.
4. **Recursos beta**: quando uma lição cita recurso beta (ex.: compaction, context editing, tool search, MCP connector na API), isso é dito explicitamente.
5. **Termos técnicos**: mantidos em inglês quando é assim que aparecem na prova e na documentação (`stop_reason`, `tool_use`, `CLAUDE.md`, `hooks`, `MCP` etc.).
6. **Persistência**: progresso de lições e histórico de simulados ficam em `localStorage` do navegador — nada é enviado a servidor.
7. **Mermaid**: os diagramas usam Mermaid via CDN (única dependência externa, opcional). Sem internet, o site continua funcional e o diagrama exibe o código-fonte textual.
8. **Modo revisão de erros**: uma questão sai da lista de pendências quando é acertada em qualquer tentativa posterior à última em que foi errada (a lista deriva do histórico completo).

## Como contribuir

1. **Questões**: edite `questions/dominio-N.json` seguindo o esquema existente (`id` no padrão `DN-Qnnn`, `answer` como lista de chaves presentes em `options`, explicação que justifique a correta **e** desmonte os distratores, `reference` com URL da documentação oficial). Rode `python scripts/validate.py` antes de commitar — ele também regenera os espelhos `.js`.
2. **Lições**: cada lição em `content/dominio-N/licao-M.html` precisa das 8 seções obrigatórias (objetivos, explicação, exemplo de código, diagrama quando houver fluxo, pegadinhas, resumo em 5 linhas, links oficiais, 3–5 questões de fixação).
3. **Nunca edite** `questions/*.js` manualmente — são gerados.

## Aviso

Curso não oficial, sem afiliação com a Anthropic. As questões são originais, criadas a partir da documentação pública e do Exam Guide, e não reproduzem itens reais da prova.
