# UI de ativação de módulos no CMS (backlog)

| Campo | Valor |
|---|---|
| **Prioridade** | Médio |
| **Status** | Aberto |
| **Origem** | Revisão F3/F4 (2026-10-20) — ADR-034 previa a tela no CMS, mas só o comando existe |
| **ADR provável** | ADR-034 (ativação em tempo real) / ADR-036 (shell como dado) |
| **Relaciona** | `wiki/plan/12`, `src/core/Internal/Generators/Console/README.md` |

## Objetivo

Dar ao perfil autorizado uma tela no painel para ligar/desligar módulos **sem terminal**, com a
mesma semântica do comando `core:module:activate` (dado em `core_module_discovery_settings`,
invalidação imediata do cache e filtragem do manifesto/nav — ADR-034).

## Escopo (o que fazer)

- [ ] Rota CMS + permissão dedicada (ex.: `core.modulos.editar`) e auditoria da mutação (ADR-035).
- [ ] Lista derivada do manifesto com estado atual; deny-by-default e confirmação explícita.
- [ ] Ação idempotente que reusa o caso de uso do comando (sem duplicar regra).
- [ ] Feedback de erro acessível (RFC 7807/`aria-live`) e sem JS obrigatório.

## Fora de escopo

- Editor de features/flags por tenant; ativação por URL ou por usuário.
- Substituir o comando de console (continua sendo a via de emergência/automação).

## Dependências

- Core `ModuleActivation` e `core:module:activate` (já implementados).
- Shell do CMS e permissões (ADR-033/ADR-036).

## Critérios de promoção (backlog → ADR/plano)

- [ ] `kd write` da decisão de escopo (UI de suporte ou de administrador).
- [ ] Estender `wiki/plan/12` + `00-index`; atualizar `AGENTS.md` se a permissão mudar.
- [ ] Implementar com teste estrutural (deny-by-default + 404 de módulo inativo) e e2e/axe.
- [ ] Remover este item do backlog.

## Notas

O texto do README do gerador já foi corrigido para não prometer o botão "Salvar e Sincronizar";
este item é o registro explícito de que a UI continua pendente.
