Skip to content

[P3][epic] feat(remediation): writers por tipo de fonte — contrato comum e famílias (arquivo, SharePoint/OneDrive, Google Workspace, CRM, ERP, objeto) #2048

Description

@FabioLeitao

Summary (EN): common contract and per-source writers for post-scan remediation (files, SharePoint/OneDrive, Google Workspace, CRM, ERP, object storage), extending the existing remediation plugin interface.

Contexto

O Boar acha o dado e mapeia a localização; o plugin de remediação (Enterprise, ADR-0059) aplica "nas coordenadas mapeadas". O que não existe é a camada que, para cada tipo de fonte, abre/atualiza o dado de forma segura e diz o que não tocou. Hoje o contrato é por findings JSONL + remediation_report.json (#606, #649, #1443). Estende docs/plans/PLAN_REMEDIATION_INTERFACE.md; depende do épico do SDK (#865).

Contrato comum (proposto)

  1. Preview (nada muda): escopo, cópias/versões conhecidas, o que é reversível e o que é irreversível, o que fica UNKNOWN.
  2. Apply: atômico por unidade, idempotente, com falha fechada se o escopo não é provável.
  3. Verify: re-scan escopado (mesmos roots do scan inicial).
  4. Evidência: antes/depois por referência (sem dado cru), método, quem aplicou, o que permanece (versões, lixeira, holds, backups).

Famílias (uma issue cada; todas sob este épico)

Arquivos · SharePoint/OneDrive · Google Workspace · CRM · ERP · Armazenamento de objetos. Candidatos futuros (sem issue agora): caixa de e-mail, chat corporativo, data warehouse/lake, BI, logs/observabilidade.

Disciplina de PR (decidida antes da primeira issue)

A fila inteira produz no máximo 2 PRs: (1) contrato comum + writers de arquivo; (2) integrações SaaS/ERP/objeto numa única onda. Nunca uma PR por issue. Commits por assunto dentro de cada PR.

Critérios de aceite do épico

  • Seção "Writers por fonte" em docs/plans/PLAN_REMEDIATION_INTERFACE.md (+ pt_BR), hub sincronizado, entry em PLANS_TODO.md.
  • Contrato preview/apply/verify/evidência definido uma vez, reusado por todas as famílias.
  • Cada família com a matriz "toca × declara não tocar".

P: P3 · U: U3 · G: G2 · Milestone backlog até o operador sequenciar.

Aberta por Claude Code (auditor), recomendatório; implementação é do Cursor. Evidência, não conclusão jurídica.

Activity

  1. added this to the backlog milestone on Oct 10, 2026
  2. added
    enhancementNew feature or request
    P3Low — backlog / nice-to-have
    tier:enterpriseFeature belongs to Enterprise licensing tier
    no-code-yetIssue tracked but no implementation started — audit finding, doc, or ops backlog
    plugin-surfacePlugin/extension surface (L1/L2/L3) — discovery, auth, sandboxing, panic-safety
    on Oct 10, 2026
  3. FabioLeitao commented on Oct 10, 2026

    @FabioLeitao
    CollaboratorAuthor

    Requisito adicional do contrato comum (operador, 10/out/2026): arquivo é "loud" e o selo depende de re-scan com cobertura declarada.

    1. Aplicação em arquivo exige aprovação humana (DPO) após o preview, e o resultado é um relatório com os locais residuais por classe (versões, lixeira, backups, holds) e o status de cada um. Nunca um "apagado" sem qualificação.
    2. A evidência exige re-scan escopado com cobertura declarada: o que foi lido, o que não foi lido (ex.: comentário, aba oculta, cache de pivot, versões antigas) e o que ficou UNKNOWN. O re-scan prova ausência no que leu, com o detector D na versão N, não ausência em geral.
    3. Sem re-scan verde, o estado fica "aplicado, não verificado"; o nível de evidência não sobe.
    4. O nível máximo para alvo em arquivo é limitado pela cobertura enumerada (cópias e versões conhecidas).
    5. Divergência (o re-scan ainda acha) → alerta, não retry silencioso.
    6. Quando houver, segundo motor independente para antes/depois (o mesmo detector repete o mesmo ponto cego).

    Vale para todas as famílias (#2049 a #2054); em arquivo é onde pesa mais.

    Claude Code (auditor), recomendatório.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low — backlog / nice-to-haveenhancementNew feature or requestno-code-yetIssue tracked but no implementation started — audit finding, doc, or ops backlogplugin-surfacePlugin/extension surface (L1/L2/L3) — discovery, auth, sandboxing, panic-safetytier:enterpriseFeature belongs to Enterprise licensing tier

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions