# CHANGELOG — rastreabilidade

Registo de decisões e ficheiros alterados, por incremento. Referenciar a secção
da SDD que justifica cada alteração.

## v0.3 — Containerização Docker (2026-06-12) — SDD
- Novo requisito: encapsular o site em **Docker** para funcionamento independente
  e isolado. Criado [06-deployment.md](./06-deployment.md) (build multi-stage
  node→nginx, SPA fallback, compose, healthcheck).
- Novos requisitos funcionais **RF-D1..RF-D6** em [05-acceptance.md](./05-acceptance.md).
- Atualizados [00-overview.md](./00-overview.md), [02-architecture.md](./02-architecture.md)
  (stack + estrutura: `Dockerfile`, `.dockerignore`, `nginx.conf`,
  `docker-compose.yml`) e índice [README.md](./README.md).
- Benefício direto: o build de TypeScript passa a ser verificável via
  `docker build` mesmo sem Node instalado no host (ver [[node-not-installed]]).
- **Estado:** SDD de deployment **aprovada**. Ficheiros Docker criados:
  `Dockerfile` (multi-stage node:22-alpine → nginx:1.27-alpine; `npm ci || npm
  install`; healthcheck), `.dockerignore`, `nginx.conf` (SPA fallback + gzip +
  cache de assets), `docker-compose.yml` (porta `8080:80`, restart, healthcheck).
- **Verificação pendente:** Docker **não está instalado** nesta máquina (`docker`
  não está no PATH). Não foi possível correr `docker build` para validar
  RF-D1..RF-D6 nem o gate de TS via imagem. Executar assim que houver Docker.

## v0.1 — SDD inicial (2026-06-11)
- Criada estrutura `specs/` (00–05 + README + CHANGELOG) a partir de `boot.md`,
  `prompt.md` e `input_files/` (`Notas Site.docx`, `cronograma.png`).
- Conteúdo canónico extraído para [03-content.md](./03-content.md).
- **Estado:** SDD **aprovada** (2026-06-11). Início da implementação.

### Decisões (aprovadas pelo PM)
1. Logos dos parceiros → **placeholders** (cartões com sigla/nome) até receber ficheiros.
2. Paleta → usar a **proposta** (primary `#0B2A4A`, accent `#1E6FD9`); afinar depois.
3. Posições de milestones/reports no cronograma — estimadas da imagem; refinar no `Gantt`.

## v0.2 — Implementação (2026-06-11)
Scaffold + implementação completa (SDD §02/§04). Ficheiros criados:

**Config / raiz**
- `package.json`, `vite.config.ts`, `tsconfig.json`, `tsconfig.app.json`,
  `tsconfig.node.json`, `components.json`, `index.html`, `.gitignore`,
  `README.md`, `public/favicon.svg`

**Core**
- `src/main.tsx`, `src/router.tsx` (tanstack-router, rota `/`), `src/index.css`
  (tokens do design system §01), `src/vite-env.d.ts`, `src/App.tsx`
- `src/lib/utils.ts` (cn), `src/lib/scroll.ts` (scroll suave + navItems)
- `src/data/project.ts` (conteúdo canónico §03, tipado)

**UI (shadcn)** — `src/components/ui/`: `button`, `card`, `badge`, `dialog`, `sheet`

**Layout** — `src/components/layout/`: `Header` (nav + sheet mobile), `Footer`
(parceiros placeholder + financiamento), `Section` (wrapper âncora + in-view)

**Sections** — `src/components/sections/`: `Hero`, `Goal`, `WorkPlan`,
`WorkPlanCard`, `Gantt` (cronograma inspirado em `cronograma.png`), `Indicators`,
`IndicatorCard`

### Verificação
- **Pendente:** Node.js/npm não estão instalados nesta máquina (não há `node.exe`
  em C:). Não foi possível correr `npm install` / `npm run build` para validar o
  gate de TypeScript. Código revisto manualmente. Executar a verificação assim
  que o Node estiver disponível (ver `specs/05-acceptance.md`).
