Documentação / Orquestrar

A Fila

A Fila é a lista de tarefas do board — o que está pendente, em andamento, feito ou falhou, com o papel de cada card.

A Fila é a lista de tarefas do board. Ela é a superfície onde a delegação fica visível: o que está pendente, o que está rodando, o que terminou e o que falhou.

Quatro entidades, não uma

Confundir estas quatro é a origem da maior parte dos erros de orquestração:

  • Board — a tela infinita; a unidade de orquestração.
  • Card — onde o trabalho acontece. Um processo vivo, que morre.
  • Task — o trabalho em si. Sobrevive ao card, ao fechamento do board e ao restart do app. Uma task pode existir sem nenhum card.
  • Participação — liga um card a uma task com um papel (implementer ou reviewer). É a participação que dá direito de julgar, não o card em si.

Card e task nunca são fundidos. Connectors ligam cards; deps ligam tasks.

Status derivado

O status de uma task com card vivo aparece como em andamento sem ninguém escrever “running” à mão — ele é derivado das participações. Os estados que a Fila mostra são pendente, rodando, feito e falhou.

Julgamento append-only, lido por rodada

Cada rodada de participação termina numa linha de julgamento: {cardId, role, verdict, at}. É append-only — a história de quem aprovou o quê não é reescrita.

Ler essa linha, porém, exige uma pergunta a mais. Até pouco tempo o veredito de um relatório era carimbado em todos os vínculos vivos do card naquele instante — e num banco real 386 de 545 vereditos gravados nomeiam uma task que o relatório nunca declarou. O app consertou a leitura, sem reescrever nada, e hoje expõe três campos:

  • verdict — o veredito que se pode atribuir a esta task;
  • storedVerdict — o que a coluna diz; ele difere de verdict justamente naqueles carimbos de fan-out;
  • rule — por que. declared_this_task e sole_link são atribuições reais: a rodada declarou esta task, ou carimbou um vínculo só. declared_other_task diz que a rodada falava de outra task — e diz qual. undeclared_round é uma rodada que carimbou vários vínculos sem declarar nenhum: exatamente um é real, e não há como saber qual.

unknown nunca é um palpite: quem não pôde ser atribuído não propõe done nem fecha card. Quando a rodada acaba sem veredito (o agente morreu, por exemplo), o veredito é null, e isso é um dado, não um erro.

Onde a Fila fica

Existe um card de Fila no board, e a mesma lista é acessível por MCP e pela CLI — é por ali que um agente enxerga o que está pendente antes de decidir o que despachar. Ver Ferramentas MCP e acbridge (CLI).