1 parent
6e23f1533b
commit
419325db12
52 files changed
+1329
-110
No files matched your search
@@ -1,5 +1,5 @@
|
||||
# ADR 0004 — TTL de temporários
|
||||
|
||||
Status: aberta.
|
||||
Status: política operacional definida; o número de produto continua configurável.
|
||||
|
||||
`SPREADSHEET_TEMP_TTL_SECONDS` é obrigatório em produção e aceita de 1 segundo a 7 dias para não gravar um número de produto no código. Fora de produção, a omissão usa 3600 segundos só para o ambiente local. A limpeza não apaga chaves que contenham `/models/`.
|
||||
`SPREADSHEET_TEMP_TTL_SECONDS` é a política única. Em produção é obrigatório e o processo recusa subir sem um inteiro entre 1 e 604800. Fora de produção, a omissão usa 3600 segundos. A limpeza compara `expires_at` com o relógio injetado, é idempotente, só apaga chaves `workspaces/{workspaceId}/tmp/` e não interrompe o processamento se um delete falhar. O valor numérico aprovado pelo negócio ainda não foi fixado; o piloto define o número na configuração, não no código.
|
||||
@@ -2,8 +2,18 @@
|
||||
|
||||
## Azul de ação
|
||||
|
||||
O escopo fixa Bright Blue `#2F8FFF` e pede o azul primário do token oficial, que não estava no repositório. Uso provisório: `#0B3D91` em `--color-action`, com texto branco. Substituir quando o pacote do Design System Elo Pro for ligado.
|
||||
O escopo fixa Bright Blue `#2F8FFF` e pede o azul primário do token oficial, que não estava no repositório. Uso provisório: `#0B3D91` em `--color-action`, com texto branco. Esse valor não é token oficial e não deve ser promovido por conveniência. Substituir somente quando o pacote do Design System Elo Pro for disponibilizado.
|
||||
|
||||
## Exclusão
|
||||
|
||||
Status: aberta. O schema marca `deleted` e preenche `deleted_at`, mantém o arquivo e o histórico. A exclusão física pode ser feita depois sem migração destrutiva. Enquanto houver job em `validating`, `ready`, `queued` ou `processing`, a exclusão é recusada.
|
||||
Status: provisória e centralizada em `src/domain/spreadsheet-adapter/retention-policy.ts`.
|
||||
|
||||
| Entidade | Tratamento |
|
||||
| --- | --- |
|
||||
| Configuração de mapeamento | Permanece com o job |
|
||||
| Modelo | Soft delete (`deleted` + `deleted_at`); arquivo retido |
|
||||
| Fonte e resultado | Hard delete do blob após o TTL |
|
||||
| Job | Metadados permanecem |
|
||||
| Auditoria | Append-only; `app_user` não recebe update nem delete |
|
||||
|
||||
A exclusão física do modelo pode ser feita depois sem migração destrutiva. Enquanto houver job em `validating`, `ready`, `queued` ou `processing`, a exclusão do modelo é recusada. O prazo dos temporários continua em `SPREADSHEET_TEMP_TTL_SECONDS`.
|
||||
Reference in new issue
Block a user