Esta página responde:Em que nível estou e quantas pessoas faltam para o próximo?
A determinação olha apenas para este número, o de pessoas indicadas: com 1 pessoa sobe-se para T1, com 7 sobe-se para T3, com 30 sobe-se para T7 (no código THRESHOLDS = {"T1": 1, "T3": 7, "T7": 30}, linha 21). Progresso = a posição que o número de pessoas alcança dentro do intervalo do seu nível: T0 usa c÷1, T1 usa (c−1)÷6, T3 usa (c−7)÷23, T7 é sempre 1; no fim round(min(1, max(0, p)), 2) (linha 59 do código). Os limiares são fixos e não variam com o número de pessoas.
/opt/algorithms/functional/motivation_level.py (62 linhas, IMPORTED), corresponde a MotivationLevelModule.run(), linhas 29-63. Os limiares 1/7/30, a ordem de decisão dos quatro níveis, a fórmula de progresso e o arredondamento para 2 casas são copiados tal e qual.earnings_rate do código (0.70 / 0.75 / 0.80 de participação vitalícia), e os dois textos de incentivo interno da tabela de benefícios — «70%/75%/80% de participação vitalícia» e «recompensa de balinhas ×5 por pessoa» —; este é o critério de participação / balinhas do site chinês, inaplicável ao site internacional, e esta página não o exibe. Só esse tipo de textos e campos é removido; níveis, limiares e progresso não foram tocados nem uma palavra.min_invites — não bate com a versão functional (1/7/30) que esta página porta. Esta página porta a versão functional indicada na lista de candidatos; não foi possível confirmar qual das duas versões está realmente em vigor na cadeia de produção.BaseModule / DataBus e a etapa de escrita no barramento. Camada de entrada: o código não valida tipos (passar uma string lança exceção na linha 34), enquanto esta página dá uma mensagem de erro clara diante de algo que não seja número.
/opt/algorithms/functional/motivation_level.py (63 linhas, somente leitura): limiares THRESHOLDS = {"T1": 1, "T3": 7, "T7": 30} = linha 21; tabela de níveis LEVEL_INFO = linhas 22-27; MotivationLevelModule.run() = linhas 29-61; progresso round(min(1.0, max(0.0, progress)), 2) = linha 59.spread_algorithms/algo_motivation_level.py, mas esse arquivo tem limiares 1/3/7 e nomes de nível diferentes — as duas versões não batem, não se confirmou qual delas está realmente em vigor na cadeia de produção, e a base final dos limiares desta página fica em dúvida.0 → T0; 1 → T1; 7 → T3; 30 → T7; informe 3 → T1 e o progresso deve ser (3−1)/(7−1) = 0.33. Com esses cinco números nas linhas 34-49 do código, a classificação e o progresso devem coincidir.
Ainda não há slices a jusante.
/opt/slices_build/build.py a partir da especificação /_shared/slices/motivation-level.json — para alterar esta página, edite a especificação e rode o gerador de novo; nunca edite o HTML à mão.