# Contexto: Sunrise Walk

**Objetivo:** feature pessoal que permite configurar quantos minutos antes/depois
do nascer do sol o usuário deve sair de casa para caminhar, e exibir o horário
calculado do nascer do sol e o horário de saída resultante.

## Requisitos (conforme pedido do usuário)

### Dado

- Tabela `sunrise_walk_config` — terá **eternamente uma única linha** (config
  singleton, não por usuário).
- Campo de minutos relativo ao horário do nascer do sol:
  - Se **negativo** → sair **antes** do nascer do sol.
  - Se **positivo** → sair **depois** do nascer do sol.
  - Valor inicial: **-15**.
  - Nome de coluna a decidir na implementação seguindo `doc/db-naming-guideline.md`
    (candidato: `offset_minutes`; sem suffix padronizado para "deslocamento em
    minutos" no guideline atual — avaliar na hora).

### Endpoint

- Sob o prefixo `personal`, recurso "sunrise walk".
- Convenção REST para URL: **hífen**, não underscore → `personal/sunrise-walk`
  (o underscore fica reservado para nomes de tabela/coluna no banco, conforme
  `doc/db-naming-guideline.md`; a URL segue kebab-case).

### Título da página

- Pedido pelo usuário (pt-BR): "Sair pra caminhar conforme o sol".
- CLAUDE.md do projeto diz que a interface visível ao usuário começa em inglês
  ("The user-facing interface... will initially be in English") — decidir na
  implementação se o título vai traduzido (ex.: "Walk with the sunrise") ou se
  esta feature pessoal foge dessa regra por não ser parte do produto principal.

### Tela / controle

Controle para alterar o valor de minutos:
- Checkbox **"antes"** + texto **"do nascer do sol"**.
- Caixa de texto numérica **sem sinal** (valor absoluto).
- Se o checkbox estiver marcado → o valor salvo é negativo (antes do nascer do
  sol); se desmarcado → valor salvo é positivo.
- Botão **"enviar"** que atualiza o valor salvo (update da linha única).

Abaixo do controle, exibir:
- **Horário do nascer do sol** (calculado — fonte de dados/API ainda a definir
  na implementação).
- **Horário de sair de casa** = horário do nascer do sol + o offset de minutos
  configurado acima (pode ser antes ou depois, conforme o sinal).

## Pontos em aberto para a etapa de implementação

- Fonte do horário de nascer do sol (API externa? biblioteca de cálculo
  astronômico local? localização fixa ou configurável?).
- Nome final da coluna de minutos na tabela `sunrise_walk_config`.
- Fuso horário / localização usada para o cálculo do nascer do sol.
- Se este endpoint exige autenticação (`@login_required`) como o resto do app,
  ou é público por ser uma feature pessoal isolada.
