# Tasks — Project Intelligence Layer
## Rastreabilidade
- Orquestração: Project Intelligence Layer
- Slug: project-intelligence-layer
- Origem: docs/project-intelligence-layer/03-techspec.md
- Estado atual: recorded
- PRD aprovado: docs/project-intelligence-layer/02-prd.md
- Tech Spec aprovada: docs/project-intelligence-layer/03-techspec.md
- Fonte canônica local: docs/project-intelligence-layer/traceability-map.yaml
- Próximo artefato recomendado: docs/project-intelligence-layer/05-refinement.md
## Backlog
### T-01 — Configurar contratos de CLI e config da camada de inteligência
**Resultado verificável:** o CLI expõe os novos subcomandos sem quebrar `context recommend` e `memory learn`.
**Escopo:**
- Adicionar `Command::Intelligence`.
- Adicionar `ContextCommand::Build`.
- Adicionar structs de args para `context build`, `intelligence learn`, `intelligence status` e `intelligence health`.
- Adicionar `IntelligenceConfig` com defaults compatíveis em `src/domain/providers.rs`.
- Manter `memory` intacto.
**Arquivos prováveis:**
- `src/main.rs`
- `src/domain/providers.rs`
- `sdd.config.example.yaml`
- `sdd.config.yaml`
**Evidência esperada:**
- `./target/debug/sdd context --help` lista `build` e `recommend`.
- `./target/debug/sdd intelligence --help` lista `learn`, `status` e `health`.
### T-02 — Criar inventário determinístico de fontes e hashes
**Resultado verificável:** o SDD inventaria artefatos da orquestração, fontes globais permitidas e hashes SHA-256.
**Escopo:**
- Reusar `STAGE_FILES` para fontes em `docs/<slug>/`.
- Ler `traceability-map.yaml`.
- Incluir fontes globais pequenas e textuais: `AGENTS.md`, `CLAUDE.md`, rules, `sdd.config.yaml`, `docs/_project-intelligence/*`.
- Excluir diretórios volumosos ou sensíveis.
- Persistir `SourceRecord` em `.sdd/intelligence/sources.index.jsonl`.
**Arquivos prováveis:**
- `src/main.rs`
- possível `src/domain/intelligence.rs`
- `tests/cli.rs`
**Evidência esperada:**
- Teste cobre `source_artifact`, `hash`, `stage` e exclusões.
### T-03 — Evoluir ingestão de learnings sem quebrar `memory learn`
**Resultado verificável:** `sdd intelligence learn` cria registros derivados enriquecidos, e `sdd memory learn` continua compatível.
**Escopo:**
- Extrair rotina compartilhada para learnings.
- Preservar `.sdd/memory/learnings.jsonl`.
- Adicionar `.sdd/intelligence/learnings.jsonl`.
- Incluir `kind`, `tags`, `confidence`, `status` e `derived`.
- Aplicar `runtime::redaction::redact_text` em summaries.
**Arquivos prováveis:**
- `src/main.rs`
- `src/runtime/redaction.rs`
- `tests/cli.rs`
**Evidência esperada:**
- `sdd memory learn --name "Project Intelligence Layer"` ainda gera índice compatível.
- `sdd intelligence learn --name "Project Intelligence Layer"` gera JSONL enriquecido.
### T-04 — Implementar stale detection e precedência mínima
**Resultado verificável:** aprendizados com `source_hash` divergente são marcados como `stale`, e o Context Pack aplica precedência entre fontes.
**Escopo:**
- Recalcular hash das fontes no momento do status/build.
- Marcar registros derivados como `stale` quando a origem mudou.
- Implementar precedência: ADR aprovada, Tech Spec aprovada, PRD aprovado, Tasks, Execution/Review, Memory, índice derivado.
- Registrar conflitos no manifesto.
**Arquivos prováveis:**
- `src/main.rs`
- possível `src/domain/intelligence.rs`
- `tests/cli.rs`
**Evidência esperada:**
- Teste altera artefato após ingestão e observa `stale`.
- Teste com conflito simples registra conflito no Context Pack.
### T-05 — Implementar `sdd context build`
**Resultado verificável:** o comando gera Context Pack por stage com manifesto auditável.
**Escopo:**
- Aceitar `--name`, `--stage`, `--json`, `--write`, `--dry-run` e `--root`.
- Rankear fontes por stage usando pesos determinísticos.
- Renderizar Markdown com as seções definidas na Tech Spec.
- Escrever em `.sdd/intelligence/context-packs/<slug>/<stage>.md` quando `--write`.
- Imprimir o conteúdo no stdout quando `--write` não for usado.
**Arquivos prováveis:**
- `src/main.rs`
- `tests/cli.rs`
- `docs/USAGE.md`
**Evidência esperada:**
- `sdd context build --name "Project Intelligence Layer" --stage techspec --write` gera arquivo com `Manifesto de contexto`.
### T-06 — Implementar `sdd intelligence status`
**Resultado verificável:** status mostra quantidade de fontes, learnings, stale sources, conflitos e último erro.
**Escopo:**
- Ler `.sdd/intelligence/*.jsonl`.
- Produzir saída humana e JSON.
- Não falhar quando os índices ainda não existem; retornar contadores zerados.
- Redigir erros persistíveis.
**Arquivos prováveis:**
- `src/main.rs`
- `tests/cli.rs`
**Evidência esperada:**
- `sdd intelligence status --json` retorna JSON válido com `sources_indexed`, `learnings`, `stale_sources`, `conflicts` e `last_error`.
### T-07 — Implementar `sdd intelligence health`
**Resultado verificável:** health expõe sinais objetivos sobre lacunas de artefatos, memória e obsolescência.
**Escopo:**
- Detectar orquestrações sem `08-memory.md`.
- Detectar artefatos obrigatórios ausentes.
- Detectar índices stale.
- Detectar PRD/Tech Spec presentes e não aprovados pelo traceability map quando possível.
- Produzir JSON por severidade.
**Arquivos prováveis:**
- `src/main.rs`
- `src/tui/orchestration.rs`, apenas se reusar parser existente for mais seguro.
- `tests/cli.rs`
**Evidência esperada:**
- Projeto com orquestração incompleta retorna sinais de health sem quebrar o comando.
### T-08 — Atualizar docs, skills e superfícies de cliente
**Resultado verificável:** documentação e superfícies instaláveis descrevem Context Packs e inteligência sem contradizer memory/artifact store.
**Escopo:**
- Atualizar `README.md`, `docs/USAGE.md`, `docs/ARTIFACT-STORE.md` ou documento novo específico.
- Atualizar skills relevantes em `plugins/orchestration/skills/*`.
- Espelhar para `.agents`, `.claude`, `.trae`, `.opencode` e clients somente quando a superfície gerada exigir consistência.
- Preservar PT-BR com acentos em texto humano.
**Arquivos prováveis:**
- `README.md`
- `docs/USAGE.md`
- `plugins/orchestration/skills/memory/SKILL.md`
- `plugins/orchestration/skills/orchestration/SKILL.md`
- superfícies geradas correspondentes
**Evidência esperada:**
- `rg "context build|intelligence learn|Context Pack"` encontra referências consistentes nas superfícies necessárias.
### T-09 — Regressão completa e artifact evidence
**Resultado verificável:** a entrega passa nos checks do projeto e gera evidência SDD.
**Escopo:**
- Rodar testes focados durante as tasks.
- Rodar `cargo test`.
- Rodar `cargo clippy -- -D warnings`.
- Validar artefatos SDD.
- Registrar execução em `06-execution.md`.
**Arquivos prováveis:**
- `tests/cli.rs`
- `docs/project-intelligence-layer/06-execution.md`
**Evidência esperada:**
- Comandos de validação registrados em Execution.
## Dependências
- T-01 desbloqueia todos os novos comandos.
- T-02 desbloqueia T-03, T-04, T-05, T-06 e T-07.
- T-03 desbloqueia status enriquecido e compatibilidade com `memory learn`.
- T-04 deve vir antes de T-05 para evitar Context Pack usando learnings obsoletos como verdade.
- T-05 é a primeira entrega visível para o usuário final.
- T-06 e T-07 podem ser implementadas depois de T-05.
- T-08 deve acontecer depois de estabilizar a interface CLI.
- T-09 fecha a execução.
## Critérios de aceite
```gherkin
Funcionalidade: CLI de inteligência
Cenário: Listar comandos novos
Dado que o binário sdd foi compilado
Quando eu executar sdd intelligence --help
Então os comandos learn, status e health devem aparecer
```
```gherkin
Funcionalidade: Context Pack
Cenário: Gerar contexto para uma etapa
Dado que existe a orquestração Project Intelligence Layer
Quando eu executar sdd context build --name "Project Intelligence Layer" --stage techspec --write
Então um arquivo deve ser criado em .sdd/intelligence/context-packs/project-intelligence-layer/techspec.md
E o arquivo deve conter Rastreabilidade, Contexto essencial e Manifesto de contexto
```
```gherkin
Funcionalidade: Learnings derivados
Cenário: Aprender a partir de artefatos
Dado que existem artefatos em docs/project-intelligence-layer
Quando eu executar sdd intelligence learn --name "Project Intelligence Layer"
Então .sdd/intelligence/learnings.jsonl deve conter registros com source_artifact, source_hash, status e derived
```
```gherkin
Funcionalidade: Compatibilidade com memory
Cenário: Manter memory learn funcionando
Dado que a camada de inteligência foi adicionada
Quando eu executar sdd memory learn --name "Project Intelligence Layer"
Então .sdd/memory/learnings.jsonl deve continuar sendo gerado
```
```gherkin
Funcionalidade: Health local
Cenário: Reportar lacunas objetivas
Dado que uma orquestração ainda não possui memory final
Quando eu executar sdd intelligence health --json
Então o JSON deve reportar um sinal sobre memory ausente sem falhar o comando
```
## Definition of Done
- CLI novo documentado e coberto por testes.
- `context recommend` continua funcionando.
- `memory learn` continua funcionando.
- Índices derivados carregam `source_artifact`, `source_hash`, `status` e `derived`.
- Context Pack tem manifesto auditável.
- Health usa sinais objetivos e não bloqueia projeto incompleto.
- Redaction aplicada antes de persistir conteúdo derivado.
- Artefatos em `docs/project-intelligence-layer/` validados por schema.
- Nenhuma mudança local não relacionada é revertida.
## Estratégia de testes
- Começar por testes CLI pequenos em `tests/cli.rs` usando diretórios temporários.
- Validar help output antes da lógica interna.
- Criar fixture mínima com `docs/<slug>/01-idea.md`, `02-prd.md`, `03-techspec.md` e `traceability-map.yaml`.
- Testar `--json` com strings esperadas para evitar acoplamento excessivo ao formato.
- Testar stale detection alterando o conteúdo de um artefato depois do primeiro learn.
- Rodar:
```bash
cargo test
cargo clippy -- -D warnings
./target/debug/sdd validate-artifact tasks docs/project-intelligence-layer/04-tasks.md
```
## Ordem sugerida
1. T-01 — Configurar contratos de CLI e config.
2. T-02 — Criar inventário determinístico de fontes e hashes.
3. T-03 — Evoluir ingestão de learnings sem quebrar `memory learn`.
4. T-04 — Implementar stale detection e precedência mínima.
5. T-05 — Implementar `sdd context build`.
6. T-06 — Implementar `sdd intelligence status`.
7. T-07 — Implementar `sdd intelligence health`.
8. T-08 — Atualizar docs, skills e superfícies de cliente.
9. T-09 — Regressão completa e artifact evidence.
Refinement é recomendado antes da execução porque o backlog toca CLI central, config, testes, docs e superfícies espelhadas.
## Prompts Agent
### T-01 — Configurar contratos de CLI e config
#### Prompt Agent
Você é um agente de código executando uma task SDD isolada no workspace.
Origem:
- PRD: `docs/project-intelligence-layer/02-prd.md`
- Tech Spec: `docs/project-intelligence-layer/03-techspec.md`
- Tasks: `docs/project-intelligence-layer/04-tasks.md`
Objetivo:
- Expor os contratos CLI e config da Project Intelligence Layer sem implementar ainda toda a lógica interna.
Escopo:
- Incluir: structs de args, enum de comandos, defaults de config e ajuda CLI.
- Não incluir: ranking completo, stale detection ou health final.
Arquivos prováveis:
- `src/main.rs`: adicionar comandos e roteamento mínimo.
- `src/domain/providers.rs`: adicionar `IntelligenceConfig` com defaults.
- `sdd.config.example.yaml`: documentar defaults.
- `sdd.config.yaml`: manter compatível com o repo atual.
Regras e constraints:
- Preserve alterações locais existentes.
- Não quebre `sdd context recommend`.
- Não quebre `sdd memory learn`.
- Preserve PT-BR com acentos em docs e mensagens humanas.
Validação:
- `cargo test` focado quando houver teste.
- `./target/debug/sdd context --help`
- `./target/debug/sdd intelligence --help`
Saída final:
- Resumo, arquivos alterados, comandos executados, evidências, decisões, riscos e pendências.
### T-02 — Criar inventário determinístico de fontes e hashes
#### Prompt Agent
Você é um agente de código executando uma task SDD isolada no workspace.
Origem:
- PRD: `docs/project-intelligence-layer/02-prd.md`
- Tech Spec: `docs/project-intelligence-layer/03-techspec.md`
- Tasks: `docs/project-intelligence-layer/04-tasks.md`
Objetivo:
- Implementar inventário local de fontes textuais e hashes SHA-256 para alimentar learnings e Context Packs.
Escopo:
- Incluir: scanner de artefatos por `STAGE_FILES`, traceability map, fontes globais permitidas e exclusões.
- Não incluir: embeddings, vector DB, MCP ou busca semântica.
Arquivos prováveis:
- `src/main.rs`
- possível `src/domain/intelligence.rs`
- `tests/cli.rs`
Regras e constraints:
- Não indexar `.env`, `.git`, `target`, `node_modules`, `dist`, `build` ou binários.
- Aplicar redaction antes de persistir conteúdo derivado.
Validação:
- Teste CLI ou unitário que confirme `source_artifact`, `hash` e exclusões.
Saída final:
- Resumo, arquivos alterados, comandos executados, evidências, decisões, riscos e pendências.
### T-03 — Evoluir ingestão de learnings sem quebrar memory
#### Prompt Agent
Você é um agente de código executando uma task SDD isolada no workspace.
Origem:
- PRD: `docs/project-intelligence-layer/02-prd.md`
- Tech Spec: `docs/project-intelligence-layer/03-techspec.md`
- Tasks: `docs/project-intelligence-layer/04-tasks.md`
Objetivo:
- Adicionar `sdd intelligence learn` com registros enriquecidos e manter `sdd memory learn` compatível.
Escopo:
- Incluir: rotina compartilhada de learnings, JSONL enriquecido e redaction.
- Não incluir: Context Pack final ou health completo.
Arquivos prováveis:
- `src/main.rs`
- `tests/cli.rs`
Regras e constraints:
- `.sdd/memory/learnings.jsonl` continua derivado e reconstruível.
- `.sdd/intelligence/learnings.jsonl` não vira fonte canônica.
Validação:
- `sdd memory learn --name "Project Intelligence Layer"`
- `sdd intelligence learn --name "Project Intelligence Layer"`
- Testes em `tests/cli.rs`.
Saída final:
- Resumo, arquivos alterados, comandos executados, evidências, decisões, riscos e pendências.
### T-04 — Implementar stale detection e precedência mínima
#### Prompt Agent
Você é um agente de código executando uma task SDD isolada no workspace.
Origem:
- PRD: `docs/project-intelligence-layer/02-prd.md`
- Tech Spec: `docs/project-intelligence-layer/03-techspec.md`
- Tasks: `docs/project-intelligence-layer/04-tasks.md`
Objetivo:
- Detectar learnings obsoletos por hash e aplicar precedência mínima entre fontes.
Escopo:
- Incluir: stale detection, status `stale`, precedência e registro de conflitos.
- Não incluir: UI, TUI ou dashboard.
Arquivos prováveis:
- `src/main.rs`
- possível `src/domain/intelligence.rs`
- `tests/cli.rs`
Regras e constraints:
- ADR aprovada tem precedência sobre memória e índices derivados.
- Índice derivado nunca substitui artefato aprovado.
Validação:
- Teste que altera artefato após learn e verifica stale.
- Teste de precedência simples.
Saída final:
- Resumo, arquivos alterados, comandos executados, evidências, decisões, riscos e pendências.
### T-05 — Implementar context build
#### Prompt Agent
Você é um agente de código executando uma task SDD isolada no workspace.
Origem:
- PRD: `docs/project-intelligence-layer/02-prd.md`
- Tech Spec: `docs/project-intelligence-layer/03-techspec.md`
- Tasks: `docs/project-intelligence-layer/04-tasks.md`
Objetivo:
- Implementar `sdd context build` gerando Context Pack Markdown por stage.
Escopo:
- Incluir: ranking determinístico, manifesto, `--write`, `--json`, `--dry-run`.
- Não incluir: embeddings, vector DB ou APIs externas.
Arquivos prováveis:
- `src/main.rs`
- possível `src/domain/intelligence.rs`
- `tests/cli.rs`
Regras e constraints:
- Context Pack deve citar fontes incluídas e excluídas.
- Respeitar `max_context_chars`.
- Preservar `context recommend`.
Validação:
- `sdd context build --name "Project Intelligence Layer" --stage techspec --write`
- Teste confirma arquivo em `.sdd/intelligence/context-packs/project-intelligence-layer/techspec.md`.
Saída final:
- Resumo, arquivos alterados, comandos executados, evidências, decisões, riscos e pendências.
### T-06 — Implementar intelligence status
#### Prompt Agent
Você é um agente de código executando uma task SDD isolada no workspace.
Origem:
- PRD: `docs/project-intelligence-layer/02-prd.md`
- Tech Spec: `docs/project-intelligence-layer/03-techspec.md`
- Tasks: `docs/project-intelligence-layer/04-tasks.md`
Objetivo:
- Implementar status humano e JSON para a camada de inteligência.
Escopo:
- Incluir: contadores de fontes, learnings, stale sources, conflitos e last_error.
- Não incluir: health detalhado.
Arquivos prováveis:
- `src/main.rs`
- `tests/cli.rs`
Regras e constraints:
- Status deve funcionar mesmo sem índices existentes.
- Erros persistíveis devem ser redigidos.
Validação:
- `sdd intelligence status --json`
- Teste com projeto sem índice retorna contadores zerados.
Saída final:
- Resumo, arquivos alterados, comandos executados, evidências, decisões, riscos e pendências.
### T-07 — Implementar intelligence health
#### Prompt Agent
Você é um agente de código executando uma task SDD isolada no workspace.
Origem:
- PRD: `docs/project-intelligence-layer/02-prd.md`
- Tech Spec: `docs/project-intelligence-layer/03-techspec.md`
- Tasks: `docs/project-intelligence-layer/04-tasks.md`
Objetivo:
- Implementar sinais objetivos de saúde da camada SDD.
Escopo:
- Incluir: memória ausente, artefatos ausentes, stale sources e artefatos não aprovados quando detectável.
- Não incluir: score subjetivo ou dashboard visual.
Arquivos prováveis:
- `src/main.rs`
- `tests/cli.rs`
Regras e constraints:
- Health não deve falhar em projeto incompleto.
- Sinais devem ser objetivos e rastreáveis.
Validação:
- `sdd intelligence health --json`
- Teste com orquestração incompleta retorna sinal de `memory` ausente.
Saída final:
- Resumo, arquivos alterados, comandos executados, evidências, decisões, riscos e pendências.
### T-08 — Atualizar docs, skills e superfícies
#### Prompt Agent
Você é um agente de código executando uma task SDD isolada no workspace.
Origem:
- PRD: `docs/project-intelligence-layer/02-prd.md`
- Tech Spec: `docs/project-intelligence-layer/03-techspec.md`
- Tasks: `docs/project-intelligence-layer/04-tasks.md`
Objetivo:
- Documentar a Project Intelligence Layer nas superfícies certas sem duplicar fonte de verdade.
Escopo:
- Incluir: docs principais e skills relevantes.
- Não incluir: mudança de marketplace, plugin novo ou refactor amplo.
Arquivos prováveis:
- `README.md`
- `docs/USAGE.md`
- `plugins/orchestration/skills/memory/SKILL.md`
- `plugins/orchestration/skills/orchestration/SKILL.md`
- superfícies espelhadas quando exigido pelo pacote
Regras e constraints:
- Preserve acentos em PT-BR.
- Não contradizer `docs/<slug>/` como fonte canônica.
- Não transformar índice derivado em fonte de verdade.
Validação:
- `rg "context build|intelligence learn|Context Pack"`
- `cargo test` se docs gerados forem cobertos por testes.
Saída final:
- Resumo, arquivos alterados, comandos executados, evidências, decisões, riscos e pendências.
### T-09 — Regressão completa e artifact evidence
#### Prompt Agent
Você é um agente de código executando uma task SDD isolada no workspace.
Origem:
- PRD: `docs/project-intelligence-layer/02-prd.md`
- Tech Spec: `docs/project-intelligence-layer/03-techspec.md`
- Tasks: `docs/project-intelligence-layer/04-tasks.md`
Objetivo:
- Validar a implementação completa e registrar evidências no artifact store.
Escopo:
- Incluir: testes, clippy, validação de artefatos e `06-execution.md`.
- Não incluir: correções fora do escopo da Project Intelligence Layer.
Arquivos prováveis:
- `tests/cli.rs`
- `docs/project-intelligence-layer/06-execution.md`
Regras e constraints:
- Não reverter mudanças locais de terceiros.
- Registrar falhas e pendências se algum comando não puder ser executado.
Validação:
- `cargo test`
- `cargo clippy -- -D warnings`
- `./target/debug/sdd validate-artifact tasks docs/project-intelligence-layer/04-tasks.md`
Saída final:
- Resumo, arquivos alterados, comandos executados, evidências, decisões, riscos e pendências.