> For the complete documentation index, see [llms.txt](https://lunarie.gitbook.io/lunarie-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lunarie.gitbook.io/lunarie-docs/qualidade/01-principios-de-qualidade.md).

# Princípios de Qualidade

> **Última atualização:** 08/10/2026 Princípios aplicados ao trabalho de qualidade. Os critérios de produto estão em [Princípios do Produto](/lunarie-docs/visao-geral/02-principios-do-produto.md).

## Contexto

A Lunarie não tem testes automatizados nem ambiente de staging ([Testes](/lunarie-docs/desenvolvimento/05-testes.md)). A qualidade vem de uma rede de três camadas, e os princípios abaixo existem para compensar o que ela não cobre.

| Camada               | O que protege                                                         |
| -------------------- | --------------------------------------------------------------------- |
| Verificação estática | `tsc`, `eslint` e `prettier` antes de todo push.                      |
| Banco                | RLS e triggers mantêm as regras críticas mesmo se a interface falhar. |
| Teste manual         | A fundadora testa o fluxo alterado em produção.                       |

## Princípios

1. **Qualidade começa antes do código.** Nada é feito sem tarefa, e mudança estrutural vira ADR. Corrigir depois custa mais, porque tudo roda em produção.
2. **Dados das pessoas vêm primeiro.** Perda ou exposição de dados passa na frente de qualquer funcionalidade ([Critérios de Priorização](/lunarie-docs/roadmap/04-criterios-de-priorizacao.md)).
3. **Causa raiz, nunca sintoma.** Um bug é reproduzido, isolado (interface, banco ou função) e só então corrigido, com evidência do motivo.
4. **O código e o banco valem mais que o texto.** Quando a documentação diverge do produto, o produto é a referência e o texto é corrigido.
5. **Verificar, não presumir.** Toda mudança é conferida no código ou no banco, inclusive o que uma ferramenta (como o Lovable) relata ter feito.
6. **Falha tratada é falha explicada.** O erro diz o que aconteceu e o que fazer, sem culpar a pessoa ([Gestão de Erros](/lunarie-docs/qualidade/03-gestao-de-erros.md)).
7. **Teste cobre o risco, não o catálogo.** O roteiro manual prioriza os poucos casos que pegam a maior parte do risco, porque quem testa é uma pessoa só.

## Padrões de falha a vigiar

Estes problemas já aconteceram e orientam a regressão:

* Diferença de comportamento entre o modal no desktop e a página no mobile.
* Termo técnico vazando para a interface.
* Refatoração em massa (como `sed`) atingindo o elemento errado.
* Arquivo órfão no storage ou ficha sem arquivo.
* Workflow de deploy sobrescrevendo uma função corrigida.
* Importação quebrando a hierarquia de pastas.
* Regras que valem para uma conta comum e não para a administração (que é isenta de limites, e por isso não vê os bloqueios).

## Documentos relacionados

* [Checklist de Entrega](/lunarie-docs/qualidade/02-checklist-de-entrega.md)
* [Critérios de Aceitação](/lunarie-docs/requisitos/05-criterios-de-aceitacao.md)
* [Fluxo de Desenvolvimento](/lunarie-docs/desenvolvimento/01-fluxo-de-desenvolvimento.md)
