Backlog & Ideias — parking lot
Lugar pra não perder ideias e decisões que surgem nas discussões mas ainda não entram numa proposta/task específica. Cada item diz o quê, por que foi adiado e o gatilho pra retomar — pra quando voltar, ninguém precisar reconstruir o raciocínio.
Não é backlog de execução (isso é o facter-tasks). É o caderno de "guardar pra depois com contexto".
1. Mão de obra — oficina terceirizada (Fase 2)
O quê: o app pode gerenciar oficinas terceirizadas (a contratante manda serviço pra fora). A peça é da contratante (mesma conta), mas a MO muda: a terceirizada cobra por preço fechado / tabela por serviço / nota fiscal, não pela nossa hora. Exigiria: cadastro de oficina externa, tabela de preço por serviço, possível aprovação de orçamento, e marcar a origem de cada OS (própria vs qual terceirizada).
Por que adiado: cada empresa do ramo cobra terceirizada diferente → construir agora é chutar a abstração (boa abstração vem de 2–3 casos reais). MO própria é o 80% que todo cliente precisa; a estrutura externa é grande e atrasaria o valor.
Costura atual (já existe): o campo externalCost na OS aceita a fatura da terceirizada como
número manual — sem estrutura nova, sem fechar porta.
Gatilho pra retomar: um cliente real pedir controle estruturado de terceirizada (aí a gente tem as regras dele na mão pra generalizar).
Origem: discussão da proposta Custeio de Mão de Obra.
2. Tempo / valor padrão por serviço (tempário)
O quê: cada serviço ter um tempo padrão ("troca de embreagem = 4h") ou um preço de referência. Serve pra: (a) orçar a OS antes de executar, (b) medir eficiência (horas reais vs padrão) e (c) ser a base de preço pra terceirizada.
Por que adiado: o custo real próprio não precisa disso — ele sai de horas reais × R$/hora. Tempo padrão é uma camada a mais, de estimativa/eficiência, não de custo realizado.
Gatilho pra retomar: quando quiserem orçamento pré-OS ou indicador de eficiência; ou junto da Fase 2 (terceirizada), onde a tabela de preço por serviço é o modelo natural.
Origem: discussão sobre "valor do serviço" vs custo real (intuição de produto que estava certa — só era pro caso da terceirizada).
3. Dívida técnica — modelagem do ServiceExecution
O quê: limpezas na família ServiceExecution (encontradas ao analisar as horas de MO):
actualDurationHoursé bruto (inclui pausas) — pro custo/produtividade precisa do líquido. Calculado em 2 lugares (change-assigments-status.ts,service-execution-logger.listener.ts).- Duas tabelas de transição quase idênticas (execução vs colaborador) — status da execução parece derivável do dos colaboradores.
statusduplicado (na execução e no colaborador) — definir a fonte da verdade.- Colunas legadas
service_assignment_id(do renameServiceAssignment → ServiceExecution).
Por que adiado: não bloqueia nada hoje; o item (1) vira requisito quando o custo de MO for implementado.
Gatilho pra retomar: implementação do custo de MO (precisa do tempo líquido) — resolver (1) junto; (2)–(4) quando tocar nessa área.
Origem: proposta de MO — Nota técnica.
4. Custo por unidade — bug de conversão (#10)
O quê: peças com conversionFactor ≠ 1 (estoque em balde, consumo em litro) têm o custo de
consumo inconsistente — hoje approvedQuantity × costPrice vs valor de estoque
stockQuantity × costPrice. Corrigir para uma convenção única.
Status: tem proposta própria em discussão → Convenção de Custo por Unidade. Aguarda a decisão de produto (costPrice por estoque ou por consumo).
Origem: análise que precede o custo real (afeta peças já no ar).
5. RBAC de custo (junto do #9)
O quê: gatear valor/hora e custo de MO por permissão de custo (padrão de mercado — custo por OS quase revela salário). Implementar junto do custeio de MO.
Gatilho: implementação do #9.