# Arquitetura do núcleo modular

O ficheiro principal apenas carrega `includes/platform/bootstrap.php`. Cada
responsabilidade nova permanece isolada:

- `migrations.php`: evolução transacional/versionada do esquema;
- `permissions.php`: matriz central de áreas e capabilities;
- `audit-log.php`: eventos append-only e verificação da cadeia;
- `job-queue.php`: claim atómico, deduplicação, retry e backoff;
- `mfa.php`: TOTP, recuperação e invalidação de sessões;
- `privacy-retention.php`: limpeza, exportador e eraser WordPress;
- `security-monitor.php`: verificações diárias e alertas;
- `admin-security-page.php`: interface e ações protegidas por nonce;
- `security-primitives.php`: Base32, TOTP e JSON canónico testáveis sem WP.

Os módulos comunicam por funções pequenas e hooks WordPress. O envio FCM é o
primeiro consumidor da fila genérica; novos trabalhos devem usar
`rmbz_job_enqueue()` e um filtro `rmbz_job_execute_{hook}` idempotente.

A matriz de permissões resolve a capability por módulo da app administrativa.
`manage_options` mantém compatibilidade para administradores existentes, mas
funções novas devem preferir a capability específica devolvida por
`rmbz_permission_for_module()`.

As migrações são cumulativas: acrescente uma função e uma nova versão ao mapa
`rmbz_platform_migrations()`. Nunca altere uma migração já distribuída.
