Parent: #315
Follow-up de: #49, #108 e docs/ARCHITECTURE.md.
Problema
A documentação ainda enumera violações produtivas em fluxos auxiliares de anexos, indexação, árvore e status do workspace. Enquanto existirem tokio::fs, walkers/ripgrep ou metadata locais fora do boundary autorizado, o Code não pode afirmar que Runtime é a autoridade integral de filesystem.
Objetivo
Fazer todo acesso produtivo ao workspace passar por interfaces tipadas Runtime-backed, com sandbox e receipt, e promover scripts/audit_workspace_access.py a gate de release com zero violações não classificadas.
Caminho mais rápido
- Gerar inventário exato antes de editar.
- Classificar cada ocorrência como produtiva, fixture/teste, build-time ou terceiro imutável.
- Migrar por família: stat/list/tree → search/index → attachments/status.
- Reusar
SimplicioRuntimeFs/resources existentes; não criar adapters paralelos.
- Ativar gate hard-fail somente após baseline revisada e exata.
Passo a passo
- Executar audit em source, tests, examples, scripts e artefatos empacotados.
- Registrar path, função, chamada, superfície, motivo, owner e substituto para cada finding.
- Proibir exclusões amplas por diretório/glob.
- Ligar tree/list/stat ao backend compartilhado.
- Ligar indexação e busca ao
AsyncSearch/SearchBackend canônico.
- Converter attachments para handles limitados validados pelo Runtime.
- Remover leitura local do status de workspace; consumir read model/receipt.
- Garantir que rebuild/reconnect preserve os resources injetados.
- Proibir fallback para rg/walker/fs após erro do Runtime quando sessão produtiva estiver ativa.
- Manter backend local somente em fixtures explicitamente marcadas.
- Adicionar lint para novas importações/chamadas proibidas em escopo produtivo.
- Escanear binário/package para writers/readers legados.
- Atualizar arquitetura e capability inventory a partir do resultado, não manualmente.
- Rodar E2E com path traversal, symlink, case folding e races.
- Medir impacto de list/search/tree cold/warm.
Testes obrigatórios
- arquivo/diretório normal;
- path absoluto e
..;
- symlink/junction escape;
- rename/delete concorrente;
- árvore grande;
- glob malicioso;
- attachment oversized/truncado;
- Runtime ausente/restart/incompatível;
- reconnect durante list/search;
- backend local de teste não alcançável em build produtivo;
- TUI/headless/workspace/ACP;
- Linux/macOS/Windows.
Evidência para fechar
Inventário before/after, saída do audit, diff, testes adversariais, receipts, package scan, benchmark e SHAs das dependências.
Execução
- Implementar o objetivo descrito.
- Fazer a implantação aplicável.
- Executar e registrar os testes.
Parent: #315
Follow-up de: #49, #108 e
docs/ARCHITECTURE.md.Problema
A documentação ainda enumera violações produtivas em fluxos auxiliares de anexos, indexação, árvore e status do workspace. Enquanto existirem
tokio::fs, walkers/ripgrep ou metadata locais fora do boundary autorizado, o Code não pode afirmar que Runtime é a autoridade integral de filesystem.Objetivo
Fazer todo acesso produtivo ao workspace passar por interfaces tipadas Runtime-backed, com sandbox e receipt, e promover
scripts/audit_workspace_access.pya gate de release com zero violações não classificadas.Caminho mais rápido
SimplicioRuntimeFs/resources existentes; não criar adapters paralelos.Passo a passo
AsyncSearch/SearchBackendcanônico.Testes obrigatórios
..;Evidência para fechar
Inventário before/after, saída do audit, diff, testes adversariais, receipts, package scan, benchmark e SHAs das dependências.
Execução