/update — o motor completo
Sequência
- Conectores (se
config/.env+config/watch.yamlexistirem): executarscripts/connectors/na ordem — jira, github, slack, gmail, gdrive. Cada um escreve snapshots emvault/RAW/inbox/(prefixo da fonte). Conector ausente ou sem credencial: pular com 1 linha de aviso, não abortar o resto. /dump— processar toda a inbox (idempotente por construção).- Regenerar TODAS as views de FRESH: daily-brief, week, month,
open-actions, projects, stakeholders, live-items, pocket.
Cada uma com
generated-at:+fontes:. Views são reescritas inteiras — nada de patch incremental. (map.md e timeline.md NÃO rodam aqui — são sob demanda:/mape/timeline.)
month.md: lookahead 30-45 dias por goal → projeto → entregável (deadlines,
progresso, dependências cruzadas visíveis — cadeias de blocked-by/unblocks
que atravessam projetos). pocket.md: ver spec em commands/week/SKILL.md.
live-items.md (deriva de _indices/live-items-index.md + config/watch.yaml):
uma linha por item do registro — última mudança, idade, nº de snapshots; sem
mudança desde o estado inicial = "estável". Vigência: item presente na
watch.yaml = vigiado; item do registro que NÃO está mais na watch.yaml =
"arquivado (não vigiado)" — última linha histórica, sem idade corrente. Item
estável há >60d ganha nota: "considerar tirar da watchlist?" (sugestão, não
ação — a curadoria da watchlist é do dono, sem gate).
Reporte (≤10 linhas)
⚙ UPDATE — <data hora>
conectores: jira 3 novidades · github 2 · slack 1 · (gmail: sem credencial)
dump: 6 itens processados (0 duplicados) · inbox: 0 restantes
views regeneradas: 5 · duração: ~2min
Regras
- Rodar 2× = zero duplicatas (idempotência de conectores por hash + dump por artefato). Se não for o que aconteceu, reportar o defeito.
- Erro em UMA fonte não derruba as outras — isolar, avisar, seguir.
- Sem
.env/watch.yaml: pular etapa 1 em silêncio (cérebro manual é válido). - Este comando NÃO mexe em PLANNING (gate) e NUNCA em ferramentas externas além de LER via conectores.