O board de cinco estados Shipped
Cinco estados, e os dois que verificam alguma coisa
Os estados são os do Linear, de propósito — ninguém precisa de um vocabulário novo para o trabalho. O que muda é que duas das transições são gates: uma não deixa o trabalho começar sem uma spec, e a outra não deixa que ele feche sem evidência.
Os cinco
| Estado | O que significa aqui |
|---|---|
| Triage | Uma linha, de qualquer lugar. Um pedido que ainda não foi delimitado não é trabalho em andamento |
| Todo | Delimitada e aceita: os quatro campos têm resposta e as zones têm nome |
| In Progress | O primeiro gate. Existe um grant, preso a uma task e a um branch, e ele expira |
| In Review | Entregue. As zones fecharam no mesmo instante em que o board se moveu |
| Done | O segundo gate. Um manifest, a evidência que o quality gate nomeou e um registro no branch |
Uma task chega a Triage em cerca de quatro segundos — medido uma vez, para uma task, numa máquina. Capturar foi pensado para ser barato; são os dois gates que foram pensados para custar alguma coisa.
A spec de uma task: quatro campos, perguntados uma vez
O primeiro gate se recusa a abrir sem eles. São os campos de um design doc, não uma cerimônia inventada aqui.
- Goal — o que ela deve fazer, numa frase
- Non-goals — o que ela não deve fazer. É o campo que evita a maioria dos acidentes: nomeia a mudança vizinha tentadora antes que alguém caia na tentação
- Affected zones — de quais áreas protegidas ela precisa, o que também é o access request
- Acceptance criteria — como qualquer pessoa vai saber que funcionou. Vira o checklist da revisão
Não existe nenhum checklist obrigatório além desses quatro, em lugar nenhum do produto, e essa contenção foi defendida três vezes com dados. Uma ferramenta que bloqueia trabalho legítimo é desinstalada na segunda semana.
O gate é uma transição, não um comando
Não existe open-zone. O acesso existe porque uma task se moveu, e ele fica preso ao branch que essa task nomeou. Isso importa mais do que parece: no momento em que existe uma segunda porta, ela vira a que todo mundo usa com pressa, e um gate com um comando para contorná-lo é uma sugestão com passos extras.
Fechar tem a mesma forma, ao contrário. O segundo gate calcula um change manifest a partir do branch, pede a evidência que o quality gate nomeia, e escreveo audit record por último, para que ele contenha todo o resto.
Spike mode, para o trabalho que não deveria sobreviver
Explorar deixa resíduo: código que chegou a ser publicado porque ninguém decidiu que não deveria. Um spike tem time-box e é descartável por padrão — promovido de propósito ou descartado, num branch spike/, com tabelas sandbox que são removidas juntas.
A zone schema continua fechada durante todo o spike, diga o grant o que disser. É o único lugar onde um git revert não consegue te salvar, e por isso é a zone que a configuração sempre cria.
Onde ele para
- Não é um tracker melhor. O Linear e o Jira são boards melhores e vão continuar sendo. Se você já usa um, a história interessante é um gate por cima dele — não substituí-lo.
- O console não fecha uma task. Fechar compara um branch, e um servidor não tem repositório. Um botão que só consegue falhar não é oferecido.
- Um agente pode perguntar ao gate, nunca contorná-lo. As ferramentas MCP registram, delimitam e — pelo connector — pedem uma transição; o gate decide pelas mesmas regras seja quem for que pergunte, e nenhuma ferramenta aprova acesso.
Os estados e suas transições estão na documentação (em inglês), o modelo contra o qual uma task declara é o mapa de zones, e o que ela deixa para trás é o registro.