# Artifact store local

O artifact store local é o fallback mínimo da pipeline SDD. Ele garante que cada etapa tenha um artefato recuperável dentro do próprio projeto, mesmo quando Jira, Confluence, Bitbucket, GitHub, GitLab, Linear ou Notion ainda não estão configurados por completo.

## Convenção

Cada orquestração usa um diretório próprio:

```text
docs/<slug-da-orquestracao>/
```

Inicialize com:

```bash
sdd init "<nome-da-orquestracao>"
```

Sem argumento, `sdd init` inicializa a camada SDD no projeto atual. Com argumento, ele cria o artifact store da orquestração.

Exemplo:

```bash
sdd init "exportacao csv relatorio vendas"
```

Isso cria:

```text
docs/exportacao-csv-relatorio-vendas/
├── README.md
└── traceability-map.yaml
```

## Arquivos por etapa

| Etapa | Stage | Arquivo |
|---|---|---|
| Project Discovery | `project-discovery` | `00-project-discovery.md` |
| Risk Classification | `risk` | `00-risk-classification.md` |
| Ideia | `idea` | `01-idea.md` |
| PRD | `prd` | `02-prd.md` |
| Tech Spec | `techspec` | `03-techspec.md` |
| Tasks | `tasks` | `04-tasks.md` |
| Refinement | `refinement` | `05-refinement.md` |
| Execution | `execution` | `06-execution.md` |
| ADR | `adr` | `06-adr.md` |
| Review | `review` | `07-review.md` |
| Memory | `memory` | `08-memory.md` |

## Quando salvar

Salve etapas informativas como `recorded`:

```bash
sdd artifact save "<nome-da-orquestracao>" idea --file idea.md --state recorded
```

Salve etapas com checkpoint humano somente depois de aprovação explícita:

```bash
sdd artifact save "<nome-da-orquestracao>" prd --file prd.md --state approved
sdd artifact save "<nome-da-orquestracao>" techspec --file techspec.md --state approved
sdd artifact save "<nome-da-orquestracao>" review --file review.md --state approved
```

Para substituir uma versão após ajustes aprovados:

```bash
sdd artifact save "<nome-da-orquestracao>" prd --file prd.md --state approved --force
```

Para acumular várias tasks de execução no mesmo arquivo:

```bash
sdd artifact save "<nome-da-orquestracao>" execution --file execution-task-003.md --state recorded --append
```

## Ver status

```bash
sdd artifact status "<nome-da-orquestracao>"
```

O comando mostra quais arquivos já existem e quais ainda faltam.

## Relação com integrações externas

O store local não substitui Jira, Confluence ou o Git provider quando eles existem. Ele é a linha de base:

- se Confluence existe, salve o link externo no `traceability-map.yaml` e mantenha o arquivo local como fallback;
- se Jira existe, use Jira para estado/workflow e o arquivo local para evidência mínima;
- se não há integração externa confiável, `docs/<slug-da-orquestracao>/` é a fonte canônica da orquestração.
