VelloAula by Vellow Sistemas

VelloAula · da Vellow Sistemas

A grade inteira, sem choque nenhum.

Professor em dois lugares ao mesmo tempo, turma sem aula no meio da manhã, sala ocupada duas vezes: o sistema não gera nenhum dos três — não porque avisa depois, mas porque a regra que os proíbe é parte do modelo que monta o horário.

Motor CP-SAT (OR-Tools) · convenção coletiva dentro do modelo
211 testes na aplicação · 77 no solver · todos verdes em 22/08/2026

De onde vem a nota

CENÁRIO #1 · 220 AULAS

O quadro fechou sem furar nenhuma trava. O que sobra é incômodo: cada linha diz quantas vezes ele aparece e quanto pesou. Mude o peso e veja a conta.

−626 nota total desta proposta
quanto mais perto de zero, melhor

    Reprodução simplificada. No sistema, mudar um peso roda o solver de novo: a grade muda junto, e as contagens acima deixam de ser as mesmas. Aqui só a aritmética se refaz.

    Por que agora

    A planilha fecha o horário. Ela não fecha a convenção.

    Montar o quadro na mão dá certo — em janeiro, com paciência e três semanas. O que não dá é conferir, a cada célula movida, se o professor manteve as onze horas entre um dia e o outro, se a hora-atividade continua sendo um terço da jornada, e se ninguém passou do que foi contratado. São três contas por professor, por vez, e elas se refazem toda vez que alguém troca uma aula de lugar.

    Interjornada

    Onze horas entre o fim e o começo

    Quem sai às 22h40 do noturno não abre a primeira aula às 7h30. Numa escola de três turnos, é a regra que a planilha mais fura — porque ela mora entre dois dias diferentes da mesma tabela.

    piso da lei: 660 min · a escola pode declarar mais

    Hora-atividade

    Um terço da jornada fora da sala

    O limite não é sobre o horário: é sobre quanto do contrato pode virar aula. Se a grade atribui além disso, o problema não aparece no quadro — aparece na folha, no mês seguinte.

    piso da lei: 333 milésimos · Lei 11.738/2008

    Carga contratada

    O teto é o menor de dois números

    O contrato semanal e o que a presença permite (dias marcados × aulas por dia). O sistema usa o mais restritivo dos dois e marca quem está em aperto antes de você rodar — porque a rodada seria inviável, e o diagnóstico apontaria exatamente ali.

    tela de professores · coluna teto
    Tela de professores: os três limites de jornada, o quadro de disponibilidade em livre, disponível e preferido, e a lista de carga contra teto de todos os vinte e um professores.
    Professores — os três limites lado a lado, a disponibilidade em três estados (livre → disponível → preferido) e a carga de cada um contra o próprio teto.

    O que não é negociável

    As travas que a grade não pode furar

    Restrição dura não é aviso na tela: é equação no modelo. Se a combinação de regras não admite nenhuma solução, o sistema não devolve uma grade ruim — devolve o diagnóstico dizendo qual limite estourou e em quem. E uma regra que a sua escola não declarou não vira zero: vira sem limite, que é coisa diferente.

    CHOQUE FÍSICO
    • Um professor, uma sala por vez. Vale também na substituição: sugestão que o põe em dois lugares é um segundo problema para a mesma manhã.
    • Uma turma, uma aula por vez — salvo quando ela está dividida em grupos que a escola declarou paralelos.
    • Capacidade do ambiente. Duas turmas não ocupam o laboratório no mesmo horário, e horário bloqueado por reforma ou locação não recebe aula.
    • A carga curricular sai exata. Não “mais ou menos as quatro aulas de matemática”: quatro.
    JORNADA E CONVENÇÃO
    • Interjornada entre o fim de um dia e o começo do seguinte.
    • Hora-atividade como fração mínima do contrato, em milésimos.
    • Teto de aulas por dia, por semana e de dias na escola — os três valem juntos, e vence o mais restritivo.
    • Teto de minutos e máximo de aulas seguidas sem intervalo.
    • Disponibilidade declarada. Horário que o professor não tem não é horário caro: é horário inexistente.
    PRÉDIO E DESLOCAMENTO
    • Travessia impossível. Duas sedes a trinta minutos uma da outra não recebem aulas coladas do mesmo professor.
    • Teto de trocas de prédio no dia, quando a escola declara um.
    • Aula travada não se move. O que já foi combinado com alguém entra fixo na rodada seguinte, e o solver otimiza o resto em volta.
    PEDAGÓGICO DECLARADO
    • Geminadas de verdade. Aula dupla ou tripla sai emendada, e não partida pelo recreio se a escola disser que não pode.
    • Teto absoluto por área do conhecimento no dia. Diferente do peso de “mesma área”, que só encarece a repetição: aqui é limite.
    • Máximo de aulas da mesma disciplina no dia da turma.
    • Turmas que assistem juntas ocupam o mesmo horário com o mesmo professor.
    • A reunião do grupo cabe na semana. Quem acha a janela comum de oito professores é o motor, que já tem a agenda de todos na frente.
    Tela de regras: interjornada em 660 minutos, hora-atividade em 333 milésimos, aulas seguidas e trocas de prédio em branco, e o quadro de horários bloqueados do laboratório.
    Regras e espaços — os limites da convenção num lugar só. Campo em branco lê “sem limite”, e a tela diz isso ao lado do campo.

    A semana da coordenação

    Do cadastro ao quadro publicado, em quatro passos

    A ordem não é decorativa: sem malha de horários não há onde encaixar aula, e sem grade curricular não há o que encaixar. O sistema mostra o estado de cada etapa em número e marca a próxima com “comece por aqui”.

    PASSO 1

    A escola inteira se cadastra pela tela

    Sedes, períodos letivos, turnos com início e fim, o gerador da malha (quantas aulas por dia, de quantos minutos, com quanto de intervalo), turmas, disciplinas e ambientes. Sem seeder, sem planilha de importação obrigatória.

    A grade curricular é a entrada que mais decide o resultado: quais disciplinas cada turma tem, com qual professor, quantas aulas por semana, quantas podem cair no mesmo dia e o que é geminado. O resumo diz na hora se a carga cabe na malha do turno — antes de a rodada existir.

    Tela da grade curricular, com as disciplinas de cada turma, o professor, as aulas por semana e a geminação.
    Grade curricular — a entrada mais importante do sistema.

    PASSO 2

    O solver propõe; quem publica é você

    Uma rodada tem tempo limite e pesos ajustáveis, barra de progresso ao vivo e o melhor resultado até agora. Dá para cancelar no meio, gerar várias propostas e comparar duas aula por aula — porque score parecido não quer dizer grade parecida.

    Rascunho não vale para ninguém. O painel da escola sempre descreve o cenário publicado, e não a proposta que alguém deixou aberta ontem à noite.

    Tela de geração: nova rodada com tempo limite e pesos, lista de cinco cenários com score, e o comparador de duas propostas.
    Gerar horário — cinco propostas, uma publicada.

    PASSO 3

    Mover uma aula é uma pergunta, não um risco

    Clique na aula, clique no horário de destino, e o sistema responde o que aconteceria — só então aparece Confirmar movimento. Nada é gravado sem você confirmar, e aula travada tem cadeado e não se move.

    Ao lado do quadro fica a conta da nota: cada incômodo que sobrou, quantas vezes aparece e quanto pesou. É a mesma tabela do painel do herói desta página, com os números do cenário real.

    Quadro de horários da turma 6A, cinco dias por cinco aulas, com cor por disciplina, e o painel de qualidade da proposta abaixo.
    Quadro de horários — por turma ou por professor, com impressão e planilha.

    PASSO 4

    A escola numa tela, na ordem das perguntas das oito da manhã

    O horário está publicado e cobre a grade toda? Faltou alguém hoje, e as aulas dele estão cobertas? Quem está no limite da jornada? Em que turma o quadro não fechou?

    Cada rótulo que decide um número tem um “?” ao lado com uma ou duas frases do que ele é — porque a dúvida aparece com a tela aberta, e trocar de tela para tirá-la é o que ninguém faz.

    Painel: cobertura do quadro em 99%, 220 de 222 aulas na semana, 21 professores, 10 turmas, ninguém faltou hoje, aulas por dia e ocupação dos professores.
    Painel — 99% de cobertura, 220 de 222 aulas, e a turma que ainda não fechou.

    O problema diário

    Sete da manhã: faltou o professor de inglês

    Registre quem não vem e o sistema mostra as aulas que ficaram sem professor e quem pode cobrir cada uma, ordenado por quanto faz sentido: quem dá a mesma disciplina, quem já conhece a turma, quem já está na escola naquele dia — e descontando quem já cobriu muito no mês.

    Só entra quem pode

    As travas duras valem aqui também

    A lista de candidatos passa pelas mesmas regras do horário. Sugerir alguém que já tem aula naquele horário seria criar um segundo problema para a mesma manhã.

    Cada nome diz por quê

    “Dá inglês em outra turma · já está na escola hoje”

    A ordem não é ranking opaco: cada candidato traz os motivos que o puseram ali. É o que permite discordar do sistema com argumento.

    Vale só para o dia

    O quadro da semana não é reescrito

    Gravar o substituto na aula o poria nela toda semana, para sempre. Quem pede a grade de uma data recebe as aulas que trocaram de dono marcadas ao lado da célula, com o titular intacto.

    Tela de faltas: cinco aulas sem professor na segunda-feira, cada uma com a lista de quem pode cobrir e o motivo de cada candidato.
    Faltas e substituições — cinco aulas descobertas, e para cada uma os candidatos com o motivo ao lado do nome.

    Quem vê o quê

    O professor não recebe a tela da coordenação com filtro

    São dois papéis de verdade. Coordenação monta, compara e publica; o professor entra e vê a agenda dele, numa aplicação de uma página só. A separação é de servidor, e não de menu escondido — há teste que falha se uma rota da coordenação responder a uma conta de professor.

    Coordenação

    Monta, compara, publica

    Todas as telas de cadastro, geração e publicação. Publicar é ato de gente: o solver propõe, e nenhuma rodada troca sozinha o horário que está valendo.

    Professor

    A agenda dele, e só

    Uma página, uma rota. A conta nasce ligada à pessoa da grade, então a tela sabe de quem é a jornada sem que ninguém precise escolher num filtro.

    Conferência de carga

    O contratado contra o escalado

    A tela de ponto compara o que foi contratado com o que a grade escalou, professor por professor. Não é relógio de ponto: não registra entrada nem saída.

    A assistente

    A Íris explica a grade. Ela não escreve a grade.

    O assistente faz as duas coisas que a arquitetura autoriza um modelo de linguagem a fazer num sistema de horários — ler o resultado e explicar em português, e entender o que você quer priorizar para ajustar os pesos da próxima rodada. A terceira ele não faz, e a fronteira está no código, não na boa vontade.

    Lê a proposta e diz o que a encareceu

    “Esta grade tem 63 repetições de área no mesmo dia; foi isso que pesou 189 na nota.”

    Traduz intenção em peso

    “Quero menos buraco na agenda dos professores” vira uma sugestão de peso — que você confirma antes de rodar.

    Não calcula, e não grava

    Quem faz a conta é a aplicação; nenhuma rota da assistente escreve no banco, e há teste que falha se alguém criar uma.

    O que sustenta

    A regra dura só existe se um teste cai quando ela some

    A suíte é a única prova de que uma restrição está no modelo. Cada uma é validada por mutação: desliga a restrição, o teste tem de cair; restaura, ele volta. Os números abaixo são de 22/08/2026, e a página só afirma o que foi rodado.

    211
    testes na aplicação

    585 asserções, incluindo a separação entre coordenação e professor.

    77
    testes no solver

    Um por restrição dura, mais os de objetivo e de inviabilidade diagnosticada.

    9
    preferências com peso

    Janela do professor e da turma, mesma área, grupo sozinho, dias trabalhados, aula única, preferência, deslocamento e último horário.

    390
    pixels de largura

    Nenhuma das dez telas rola de lado no celular — e isso é medido, não olhado.

    Honestidade de escopo

    O que este sistema não faz

    Está aqui de propósito. Combinar o limite agora é mais barato do que descobri-lo na terceira semana de implantação — e é coerente com um produto que também mostra ao usuário o que recusa e por quê.

    Não é diário de classe

    Não lança nota, frequência de aluno nem conteúdo dado. Ele monta e mantém o quadro; o diário é outro sistema.

    Não faz matrícula nem secretaria

    A turma existe no sistema como unidade de horário. Aluno por aluno, enturmação e documentação ficam fora.

    Não é relógio de ponto

    A conferência de carga compara contratado com escalado. Registro de entrada e saída não passa por aqui.

    Não lê a sua convenção coletiva

    O sistema aplica o número que a escola declarar. Quem lê o acordo e digita 660 ou 720 é gente — e é assim que ele serve a redes com convenções diferentes.

    Não publica sozinho

    Nenhuma rodada troca o horário que está valendo. O solver propõe; publicar é decisão de quem coordena, e fica registrada.

    Não promete grade ótima em qualquer tempo

    A rodada tem tempo limite, e o que ela devolve é a melhor proposta encontrada até ali — com a nota na tela, para você decidir se vale rodar mais.

    Vamos montar o horário da sua escola numa rodada

    Traga a grade curricular e a lista de professores com a jornada de cada um. Em uma conversa a gente cadastra a malha do seu turno e roda — e você vê a proposta, a nota e o diagnóstico do que não fechou.

    Falar no WhatsApp