Uma fila de tarefas durável e limitada em profundidade que estaciona trabalho T4 e retoma após crashes.
@alembic/swarm pega um RunSpec (um objetivo mais tarefas) e as drena. Tarefas declaram dependências; a fila as promove quando prontas. Tarefas T4 são estacionadas em t4-parked.jsonl e nunca executam autonomamente.
Cada mudança de estado é registrada em events.jsonl. Se o processo crashar, reexecutar o mesmo spec retoma do mesmo diretório porque o run id é content-addressed.
Pense assim… um gerente de projeto com um quadro branco e uma câmera: o quadro mostra tarefas atuais, e a câmera grava cada movimento para que nada se perca.
O orquestrador suporta três níveis de profundidade: orchestrator → lead → worker (MAX_DEPTH = 2). Leads podem fan out subtasks com metadata de ramp. Workers escrevem arquivos de report e os renomeiam atomicamente para .complete.md ou .failed.md. JsonlStore é o journal autoritativo; SqliteIndex é um cache derivado opcional.
# execute um spec swarm alembic run tasks.json --offline # assista ao vivo alembic tui <run-id>
Um TaskSpec carrega id, title, tier, dependsOn, roleHint e metadata. partitionByAutonomy divide tarefas em conjuntos autônomos e estacionados. O orquestrador drena tarefas prontas com um worker pool limitado e escreve cada evento para a store.
Crie um tasks.json com duas tarefas dependentes e execute offline. Observe o arquivo de eventos crescer.