# Adapters

Adapters traduzem a pipeline SDD para ferramentas específicas sem mudar o fluxo.

## Regra

O fluxo permanece igual. O adapter só define:

- dono do conteúdo;
- dono do estado;
- identificador canônico;
- evento de entrada;
- evento de saída;
- fallback;
- observabilidade.

## Adapters disponíveis

| Adapter | Arquivo | Uso |
|---|---|---|
| Atlassian | `.sdd/adapters/atlassian.yaml` | Jira, Confluence, Bitbucket, Pipelines, Slack |
| GitHub | `.sdd/adapters/github.yaml` | GitHub Issues, PRs, Actions, Markdown |
| GitLab | `.sdd/adapters/gitlab.yaml` | GitLab Issues, MRs, CI |
| Linear + Notion | `.sdd/adapters/linear-notion.yaml` | Linear para estado, Notion para docs |
| Markdown-only | `.sdd/adapters/markdown-only.yaml` | Repos simples sem suite de produto |

Mesmo com adapters externos, mantenha `docs/<slug-da-orquestracao>/` como fallback mínimo quando `artifact_store.enabled=true`.

## Como escolher

Configure em `sdd.config.yaml`:

```yaml
systems:
  work_tracker: github-issues
  docs: markdown
  repo: github
  ci: github-actions
  chat: none
```

Depois use `/sdd discover` para confirmar se o adapter reflete a realidade do projeto.

## Matriz esperada

Ao planejar uma integração, entregue:

| Etapa | Artefato | Sistema dono | Entrada | Saída | Aprovação | Fallback | Observabilidade |
|---|---|---|---|---|---|---|---|

Não use comentário livre como estado. Não duplique PRD/Tech Spec entre sistemas. Grave ponteiros canônicos e mantenha o arquivo local quando a integração externa ainda não estiver confiável.

## Arquivos de adapter

Cada arquivo em `.sdd/adapters/*.yaml` tem:

- `artifacts`: dono de conteúdo, dono de estado e ID canônico por etapa.
- `events`: eventos que acordam a próxima etapa.
- `fallbacks`: caminho quando a ferramenta não emite evento confiável.

Durante `/sdd discover`, confira se o adapter selecionado em `sdd.config.yaml` bate com a realidade do projeto.
