# NEXUS Tasks — a camada procedural

Se o DNA do agente (`agents/`) é **quem** o agente é, a task é **o que ele faz, passo a passo**. Uma
task é um workflow executável: um agente lê a task e a executa exatamente como escrita. Cada `owns:`
no DNA de um agente aponta para uma task aqui.

> **Uma task validada é lei.** Ela deve ser executada conforme configurada, com todas as suas
> pré-condições respeitadas, independente de quem a executa (agente, worker, clone ou humano). As
> tasks são o conhecimento procedural — o que faz o output sair bom **de forma repetível**.

## Formato canônico

Frontmatter YAML (metadados estruturados) + corpo Markdown (os passos executáveis).

```markdown
---
id: dev-develop-story        # kebab-case, único. Casa com o `owns:` do agente dono.
agent: dev                   # id do agente dono (governa a autoridade)
title: Implementar uma story
inputs: [story]              # o que a task precisa para começar
outputs: [código, testes, File List atualizada]  # o que ela produz
elicit: false                # true = exige interação humana num ponto (não pode ser pulado)
modes: [interactive, yolo]   # modos de execução suportados (default: [interactive])
---

# {title}

**Objetivo:** uma frase — o resultado que esta task entrega.

**Pré-condições:** o que tem que ser verdade antes de começar (senão, pare e reporte).

## Passos
1. Passo concreto e verificável.
2. ...

## Critério de pronto (DoD)
- [ ] Condições objetivas que separam "feito" de "feito direito".

## Falha / recuperação
- O que fazer quando um passo falha (rollback, escalar, HALT).
```

## Regras

- **elicit: true é sagrado.** Uma task com ponto de elicitação NÃO pode ser pulada "por eficiência" —
  exige a interação real do usuário no formato especificado.
- **Autoridade vem do agente dono.** Uma task de `agent: dev` não faz `git push` (isso é do devops),
  porque o Dex não tem essa autoridade. A task herda as guardas do DNA do dono.
- **Sem invenção (Constituição Art. IV).** Os passos produzem artefatos que rastreiam a um
  objetivo/story/spec — não inventam escopo.
- **NEXUS-nativo.** Agentes são os do roster (`nexus-master`, `dev`, `qa`…); comandos são `nexus run`
  / `nexus party`. Nada de frameworks externos.
- **Onde as coisas moram:**
  - `docs/{tipo}/` — artefatos PRODUZIDOS (stories em `docs/stories/`, PRD em `docs/prd/`, arquitetura
    em `docs/architecture/`, epics, qa, specs, research, design-system, data-models). É o trabalho.
  - `.nexus/` — estado de RUNTIME do framework (handoffs, mapas de sync, cache, registry, logs). Não
    é entregável; é a memória operacional.
  - `templates/` e `checklists/` — esqueletos e critérios que as tasks consomem.

## Tipos de task (por forma)

| Tipo | Forma | Exemplos |
|---|---|---|
| **Execução** | passos que produzem um artefato/código | `dev-develop-story`, `create-next-story`, `create-schema` |
| **Gate** | passos que avaliam e emitem um veredito | `qa-gate`, `validate-next-story`, `pre-push-quality-gate` |
| **Orquestração** | passos que decompõem e delegam (tocam o motor) | `orchestrate`, `deliberate`, `route` |
| **Checklist** | critérios a verificar item a item | `execute-checklist`, `accessibility-wcag-checklist` |

## Templates e checklists

`templates/` guarda os esqueletos de documento (story, PRD, arquitetura) que as tasks preenchem.
`checklists/` guarda os critérios de validação (DoD, prontidão de story) que os gates rodam.
