Ao integrar, wt-insights e wt-cohort definiram a mesma família de eventos de telemetria com nomes incompatíveis. As duas passam no check e funcionam — não é defeito. É uma escolha de convenção que vira o padrão de telemetria de todos os projetos, por isso subiu pra você. A perdedora é renomeada e os eventos já gravados são migrados.
Enquanto você não decide, isto segura a integração .int-insights e a lane wt-cohort (as duas em "Em voo"). Decidir libera as duas.
push_opened push_dismissed push_deliveredpushOpen pushDismiss pushDeliverO Orchestrate (orchestrate.go:1059) sobe todas as tarefas como lanes de uma vez, sem teto de concorrência nem checagem de recurso. Muitos agents em paralelo estouram a RAM do droplet — foi o incidente OOM #160 (13 min de prod fora). Hoje a única rede é o preflight, e ele só roda no e2e, não no orchestrate.
MemAvailable em runtime.Quando você cutou o plano vivo como piloto (decisão #91), adiou o cutover do resto do corpus pra depois de viver com o piloto — julgamento, sem proxy mensurável na época. O gate marca que a condição amadureceu.
Ainda não-acionável aqui (gate-ack escreve state.json = root → v1.1). Por enquanto: core gates done cutover-corpus
Tarefa: Shell Android v11 — ponte push (getPushToken) + ads, conforme a spec do client v11. Solo + TDD.
Tarefa: pgvector (peça g) — busca semântica sobre decisions/specs/followups. Em revisão final, pronta pra integrar.
Segurada pela escalação #214 (a convenção de eventos). A lane terminou o trabalho, mas não integra até você escolher a convenção — senão landaria com os nomes errados. Retoma sozinha assim que você decidir.
Chat da Tower = camada leve que coordena, não executa. O Agent SDK interpreta a direção e despacha; a execução fica nas lanes de terminal (claude real, autonomia total). SDK executando direto perde autonomia.
Mesma conversa terminal↔web via sessão resumível (hand-off, não simultâneo). É Claude-Code-específico → o chat é efêmero; o durável vai pro banco (CLI-agnóstico intacto).
Escopo de F expande de "só decidir (fila)" pra "decidir + chat" — v2.
O watchdog roda no droplet — num freeze total do host, congela junto e não alarma. Precisa de um observador fora da caixa. O #7b (boot-inesperado por staleness de heartbeat) já saiu na (e); falta o #7a (heartbeat externo).
A Tower não resolve (roda no mesmo droplet) — é candidata só a superfície de alerta no v2+.
Worktree isola o file tree, não o estado fora dele: os Postgres são compartilhados por todas as lanes. O Postgres trata a concorrência dos dados; a costura é estreita — artefatos onde duas lanes escolhem o mesmo número/nome.
Caso provado: colisão de número de migration entre lanes (bateu 2×). Hoje há um gate que pega, não previne. Ponta-solta: alocação atômica vs manter o catch-gate.
O loop do Orchestrate dispara todas as tarefas como lanes sem cap nem checagem de recurso. A única proteção de RAM (preflight) está no e2e, não no orchestrate. Ligado à proposta #215 lá em cima.
Onde os TestConform_ (d) gateiam código, a (e) gateia/detecta comportamento — com o teto honesto do privilégio (coredev é root → advisory/detecção, não bloqueio-duro).
Três mecanismos: core preflight (RAM antes do e2e) · core deploycheck (alarma deploy-velho no SessionStart) · boot-inesperado (watchdog detecta freeze do host por staleness de heartbeat).
Invariantes de código que espelham uma fonte derivável, guardados por conformance tests TestConform_ rodados pelo go test do check.sh — build vermelho se driftar, zero token.
Governança-de-projeto + skills viram banco-canônico ENFORCING. Opção A: o template-file é projeção gerada do banco (write-through); create/sync/restore seguem lendo o template intocados.
O corpus de prosa Core-side inteiro (decisions, plan, governança, specs) vira banco-canônico — md gerado por write-through, edição só-por-verbo, drift-gate duro no check.sh.
A peça atual: superfície web de escrita sobre os verbos (non-root). v1 = cockpit consolidado do coredev + decidir a fila. Chat = v2.
Índice semântico sobre decisions/specs/followups pra recall e anti-duplicação. Aditiva, depois da Tower.