Este post é de infraestrutura, mas com efeito bem visível na tela. E aqui não havia incidente nenhum — havia número errado, todo dia, discretamente.
Dois sintomas que talvez você tenha vivido:
- O mês fechava em prejuízo com você lucrando. Um mês com 3 hunts lançadas reportava ~30 dias de gasto contra 3 dias de receita.
- O valor do card HOJE não batia com a aba Financeiro, que não batia com o hero card do personagem.
Não eram três bugs. Era um: três caminhos diferentes calculando a mesma coisa. A correção foi consolidar, e no caminho retirar o que não deveria existir.
1. Custo só existe em dia lançado
A regra nova é uma frase: consumível só é cobrado num dia em que você lançou hunt. Um dia sem lançamento tem custo zero — não custo projetado, não custo do template: zero.
Antes, o template de consumíveis era cobrado em todo dia que não fosse folga marcada. Quem lança 3 vezes no mês pagava 30 dias de imbuement no relatório. Daí o "prejuízo" que não existia.
Isso muda como você usa a folga: marcar dia de folga continua sendo útil para o seu histórico, mas não é mais obrigatório para o número fechar. Dia que você não lançou já não custa nada. Montar o template de consumíveis segue igual — está no guia Como configurar os custos da hunt e ver seu lucro real.
2. Uma definição de "dia lançado"
Parece detalhe de engenharia, e é o que faz as médias serem confiáveis. Existe uma função que responde "esse dia foi lançado?", e tudo que conta dias chama ela: o denominador das médias, o consolidado do mês, as flags do histórico diário e a coluna do XLSX exportado.
Consequência prática: média/dia agora é por dia lançado, não por dia do calendário. Se você caçou 8 dias no mês, o divisor é 8. Antes, dependendo da tela, podia ser 30.
3. O dia congela quando é lançado
Cada dia lançado virou um retrato imutável. Ele só é recalculado se você mudar algo daquele dia — a linha de agenda, uma transação manual, a folga. Nada mais invalida.
Isso inclui uma coisa que a gente decidiu de propósito e vale dizer com clareza: mudar a regra de cálculo não reescreve o seu histórico. Se amanhã melhorarmos a fórmula, os seus meses fechados continuam exatamente como você os viu. Reparo de histórico é operação explícita, feita com ferramenta própria e sob pedido — nunca um efeito colateral de deploy.
É a escolha mais chata das duas, e a única em que o seu relatório de junho não muda sozinho em agosto.
4. Um número, uma fonte
Card HOJE, aba Financeiro, hero card do personagem, Party Hunt e os insights de IA passaram a ler a mesma fachada. Não existe mais "o número do dashboard" e "o número do relatório": existe o número.
5. Progressão da PT
Nova seção no painel da party: um gráfico de progressão por semana ou mês, com XP, XP RAW, saldo, dias caçados e mortes na mesma linha do tempo — e a contagem de períodos ativos, para você ver de relance se a PT andou ou parou.
Ele aparece quando a party registra o primeiro loot split. Sem lançamento, sem gráfico: mesma regra do resto.
6. XP com uma derivação só
O ganho de XP diário era derivado em mais de um lugar, e por isso um personagem do RubinOT conseguia aparecer com XP 0 enquanto o histórico dele tinha XP. Agora existe uma derivação, no momento em que a leitura do dia é gravada, e todos os consumidores — agenda, hero card, lista de slots, consolidado, dominance, insights de IA — leem a mesma coluna.
Duas honestidades sobre XP no RubinOT, porque preferimos dizer do que deixar você adivinhar:
- O RubinOT publica XP só no ranking do mundo, top 1000. Personagem abaixo do corte é estruturalmente sem leitura de XP. Nesse caso mostramos "sem dados de XP" — não um número estimado a partir do level. Preferimos um espaço vazio honesto a um número que parece medido e não é.
- A média por hora depende de minuto online. No RubinOT o minuto online vem do log de presença; se o mundo do personagem não está no catálogo, a média fica em zero mesmo com XP real. É configuração nossa, não erro seu — se você vê isso, abra ticket com o nome do mundo.
No caminho, um bug de perda de dado foi fechado: as leituras parciais do RubinOT (level a cada 3h, XP a cada 6h) estavam zerando mortes e custos ao gravar, porque zero era interpretado como "grave zero" em vez de "não veio leitura". Agora campo sem leitura não sobrescreve nada.
7. O que a gente retirou: Hunts Recorrentes
As Hunts Recorrentes — o lançamento automático diário pela média das últimas 7 hunts — foram removidas.
O motivo é direto e vem da regra 1: elas criavam dia lançado onde não houve hunt. Isso é exatamente o que produzia o mês inflado. Um recurso que fabrica atividade briga com um relatório que só quer contar atividade real, e nesse conflito quem sai é o recurso.
Se você usava para não perder o hábito de lançar, o caminho hoje é a agenda: lançar o loot split cria a entrada, materializa os consumíveis do dia e congela o dia, na ordem certa e num passo.
Isso não é uma promessa de volta. É uma decisão: o relatório conta o que aconteceu.
E também
O Cofre da Guild ganhou reconhecimento de mensalidade pelo Main: declarado, isenção por cargo protegido, valor vindo da planilha, cargo de quem pagou e histórico de pagamentos. Quem tem o add-on vê tudo isso na aba Guild Bank do painel, e o membro consulta a própria situação com !guildbank no TeamSpeak.
E a verificação automática, que também mudou de estrutura, está no passo a passo do fluxo de verificação.
O que isso significa para você
O mês fecha com o que você caçou. Dia sem lançamento não gera despesa.
Média é por dia lançado. O divisor é a sua atividade, não o calendário.
Seu histórico é seu. Mudança de fórmula não reescreve mês fechado.
Vazio honesto em vez de número inventado. Onde não há leitura de XP, dizemos que não há.
Precisa de ajuda?
Abra um ticket no dashboard em tibiawatch.com/dashboard?hub=support — ou pelo TeamSpeak com !ticket.