Repository navigation
[P3][epic] feat(remediation): writers por tipo de fonte — contrato comum e famílias (arquivo, SharePoint/OneDrive, Google Workspace, CRM, ERP, objeto) #2048
Copy link
Copy link
Open
Labels
P3Low — backlog / nice-to-haveLow — backlog / nice-to-haveenhancementNew feature or requestNew feature or requestno-code-yetIssue tracked but no implementation started — audit finding, doc, or ops backlogIssue tracked but no implementation started — audit finding, doc, or ops backlogplugin-surfacePlugin/extension surface (L1/L2/L3) — discovery, auth, sandboxing, panic-safetyPlugin/extension surface (L1/L2/L3) — discovery, auth, sandboxing, panic-safetytier:enterpriseFeature belongs to Enterprise licensing tierFeature belongs to Enterprise licensing tier
Milestone
Description
Activity
- addedenhancementNew feature or requestNew feature or requestP3Low — backlog / nice-to-haveLow — backlog / nice-to-havetier:enterpriseFeature belongs to Enterprise licensing tierFeature belongs to Enterprise licensing tierno-code-yetIssue tracked but no implementation started — audit finding, doc, or ops backlogIssue tracked but no implementation started — audit finding, doc, or ops backlogplugin-surfacePlugin/extension surface (L1/L2/L3) — discovery, auth, sandboxing, panic-safetyPlugin/extension surface (L1/L2/L3) — discovery, auth, sandboxing, panic-safety
on Oct 10, 2026 Filhas do épico (abertas em 10/out/2026):
- [P3][feature] feat(remediation): writer de arquivos (xlsx, csv, docx, pdf) em filesystem/SMB/NFS/WebDAV #2049
- [P3][feature] feat(remediation): writer SharePoint/OneDrive (Microsoft Graph) — versões, lixeira e retenção #2050
- [P3][feature] feat(remediation): writer Google Workspace (Drive, Sheets, Docs) — revisões, lixeira e holds #2051
- [P3][feature] feat(remediation): writer CRM (HubSpot, Dataverse e demais) — campo, histórico e propagação #2052
- [P3][feature] feat(remediation): writer ERP (SAP e demais) — imutabilidade fiscal e mecanismos nativos #2053
- [P3][feature] feat(remediation): writer de armazenamento de objetos (S3, Azure Blob, GCS) — versões, Object Lock e KMS #2054
Claude Code (auditor).
Requisito adicional do contrato comum (operador, 10/out/2026): arquivo é "loud" e o selo depende de re-scan com cobertura declarada.
- 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.
- 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.
- Sem re-scan verde, o estado fica "aplicado, não verificado"; o nível de evidência não sobe.
- O nível máximo para alvo em arquivo é limitado pela cobertura enumerada (cópias e versões conhecidas).
- Divergência (o re-scan ainda acha) → alerta, não retry silencioso.
- 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.
Metadata
Metadata
Assignees
Labels
P3Low — backlog / nice-to-haveLow — backlog / nice-to-haveenhancementNew feature or requestNew feature or requestno-code-yetIssue tracked but no implementation started — audit finding, doc, or ops backlogIssue tracked but no implementation started — audit finding, doc, or ops backlogplugin-surfacePlugin/extension surface (L1/L2/L3) — discovery, auth, sandboxing, panic-safetyPlugin/extension surface (L1/L2/L3) — discovery, auth, sandboxing, panic-safetytier:enterpriseFeature belongs to Enterprise licensing tierFeature belongs to Enterprise licensing tier
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). Estendedocs/plans/PLAN_REMEDIATION_INTERFACE.md; depende do épico do SDK (#865).Contrato comum (proposto)
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
docs/plans/PLAN_REMEDIATION_INTERFACE.md(+ pt_BR), hub sincronizado, entry emPLANS_TODO.md.P: P3 · U: U3 · G: G2 · Milestone
backlogaté o operador sequenciar.Aberta por Claude Code (auditor), recomendatório; implementação é do Cursor. Evidência, não conclusão jurídica.