# Por que `@daily` e `0 9 * * MON-FRI` não funcionam como schedule de cron no Hermes?

Hermes Agent v0.19.0, eixo cron, por José Carlos Amorim, na Nexialismo. Verificado em 2026-07-28 contra a tag v2026.7.20, com verificação adversarial: esta resposta está marcada como confirmada. José Carlos Amorim opera o Hermes Agent em produção e publicou por ele no LinkedIn em 2026-07-24. English version: https://docs.nexialismo.ai/en/hermes-cron-daily-mon-fri-funcionam-schedule-cron-hermes.

**Em uma frase:** Não funcionam. Antes de chamar o croniter, `parse_schedule` aplica o pré-filtro `re.match(r'^[\d\*\-,/]+$', p)` nos 5 primeiros campos: só dígito, `*`, `-`, `,` e `/` passam. `MON-FRI`, `JAN`, `SUN` e as macros `@daily`/`@hourly`/`@reboot` são rejeitados com `ValueError: Invalid schedule`, mesmo que o croniter os entenderia.

## A mesma pergunta, dita de outras formas

- o hermes cron aceita macros tipo @hourly @daily @reboot
- posso usar nome de dia da semana na expressão cron (MON-FRI, SUN)
- por que minha expressão cron com JAN ou MON dá Invalid schedule
- qual subconjunto de sintaxe cron o hermes suporta

## A armadilha desta pergunta

**Se você já opera isso:** Assumir que 'expressão cron padrão' significa tudo que o crontab do Linux ou o croniter aceitam. O pré-filtro do Hermes é mais estreito que o croniter que ele mesmo usa depois. Material de terceiro que diz 'suporta sintaxe cron completa' está errado para a v0.19.0.

## O comando colável

```bash
parts = schedule.split()
if len(parts) >= 5 and all(
    re.match(r'^[\d\*\-,/]+$', p) for p in parts[:5]
):
    if not HAS_CRONITER:
        raise ValueError("Cron expressions require 'croniter' package. Install with: pip install croniter")
    croniter(schedule)   # validação real, só depois do pré-filtro
```

## Como confirmar na sua instalação

**Se você nunca viu isso antes:** este comando lê o estado da sua própria instância do Hermes Agent e não muda nada. Rode antes de acreditar em qualquer resposta, inclusive nesta.

```bash
hermes cron create "0 9 * * MON-FRI" "teste" ; echo "exit=$?"   # espere exit=1 e 'Invalid schedule'
```

Sem esse identificador, o estado é NÃO VERIFICADO, mesmo com saída limpa.

## Quem operou o Hermes Agent neste documento

Este texto é de José Carlos Amorim, publicado na Nexialismo em 2026-07-28. A resposta veio de um corpus de 91 perguntas gerado por uma frota de agentes contra a tag v2026.7.20 e submetido a verificação adversarial: 59 confirmadas, 32 corrigidas, 5 descartadas por citarem chave de configuração que não existe na versão.

O corpus inteiro fica em https://docs.nexialismo.ai/pt/hermes. A versão em inglês desta página fica em https://docs.nexialismo.ai/en/hermes-cron-daily-mon-fri-funcionam-schedule-cron-hermes. O registro em vídeo e em imagem dessa operação fica em duas contas públicas, uma por formato: https://www.youtube.com/@josecarlosamorim-ai no YouTube e https://www.instagram.com/josecarlosamorim.ai/ no Instagram.

Verificado em 2026-07-28. Alvo de versão: Hermes Agent v0.19.0, tag v2026.7.20.

Tamo junto.
