K
Kodama Vault
knowledge hub
Vault
HomeBoardMap of ContentChatConversasAuditoria
Agentes
AgentsIssuesTerminalPreviews
Sistema
MCPSetup MCPSettings
Brain
Global agent instructions
Análise custos migração — evitar senha no payloadLevantamento fluxo registro + duplicados StripeRelatório segurança + pentes finos (Cláudio)Revisão security concerns e race conditionsMagic link / esqueceu senha via SupabaseCorrigir erros pós-upgrade TypeScriptTestar PRs do agente Vault para mergeAnálise de 3 issues para iniciarErro no terminal do VSCodePR #173 — aguardando aprovação do LeoTestar fluxo ponta a ponta — criação de clients no StripePR #172 — testar e subir correção de funções deprecatedPitch de vendas SaaS — agendar call de conversãoOrganizar issues e bugs rápidos para a semanaMerge PR cadastro-novo — funcionalidades e correçõesCorrigir bugs PR #173 e #172 — image domainsPR mesosóico — página de acesso mobile + segurança OTPRefatoração de códigos — PR #202Ajustes em PRs abertos de ontemEstudo de jornada de compra e técnicas de fechamentoDefinir preço e entregável do produtoProspecção de reuniões para esta semanaAgente anti AI slop — centralização de conhecimento ConnfitPR #179 — resolver conflitos e erros de teste CLIAlinhamento de preços e usos da ConffitFix adicional para PR #183 — perfil do usuárioCorrigir estilização da Connfit para identidade visualSubir modificações no copy da ConnfitCriação de 4 campanhas no Meta AdsRevisão de PRs do GilinesExploração do Roblox EditorRelatório João — devolutiva TikTok ShopReunião presencial Zassi Uniformes — diagnóstico automaçõesCriar repositório de diagnósticos e relatórios de entrevistasDiagnóstico da ZassiGeração de relatórios para reuniões de fechamentoProposta Zassi — apresentação amanhãProspecção — Clínica Odontológica Dr. But
VPS Hermes — acesso e estrutura
Always Commit Push DeployHermes Voice GeminiHermes VPSKodama Prospects TrackerMEMORYObsidian VaultRoblox Mining Sim
OpenSpec -- Spec-Driven Development no VaultPlano de Teste — OpenSpec Vault Persistence
CaumzitoNyxzZanini
Claude Code — Setup MCP VaultClaude Desktop — Setup MCP Vault (remote)VS Code + Copilot — Setup MCP Vault
Skill — Carousel Designer (Paper Style)
Standup 2026-05-14Standup 2026-05-15Standup 2026-05-16Standup 2026-05-17Standup 2026-05-18Standup 2026-05-19Standup 2026-05-20Standup 2026-05-21Standup 2026-05-22Standup 2026-05-25Standup 2026-05-26Standup 2026-05-27Standup 2026-05-28Standup 2026-05-29Standup 2026-06-01Standup 2026-06-02Standup 2026-06-03Standup 2026-06-05Standup 2026-06-11Standup 2026-06-15Standup 2026-06-16Standup 2026-06-17Standups
MOCWelcome
v0.3
K
Kodama Vault
brain / openspec

Plano de Teste — OpenSpec Vault Persistence

Plano de Teste — OpenSpec Vault Persistence

Verifica que artefatos OpenSpec criados por agentes em containers efêmeros
persistem em brain/openspec/changes/ no vault e aparecem no frontend.


T1 — Symlink criado corretamente no boot

Como testar:

# Inspecionar um container sandbox em execução
docker exec vault-job-<id> ls -la /work/openspec/

Esperado:

changes -> /vault-openspec

Falha se: changes for uma pasta comum (não symlink) ou não existir.


T2 — Artefato criado pelo agente persiste no vault

Como testar:

  1. Abrir uma sessão REPL no vault (ou disparar um job)
  2. Dentro do container, criar um artefato de teste:
mkdir -p /work/openspec/changes/test-persistence
echo "# Teste de persistência" > /work/openspec/changes/test-persistence/proposal.md
  1. Derrubar o container:
docker rm -f vault-job-<id>
  1. Verificar no vault:
ls /brain/openspec/changes/test-persistence/
cat /brain/openspec/changes/test-persistence/proposal.md

Esperado: arquivo existe no vault após o container morrer.

Falha se: arquivo sumiu com o container.


T3 — Segundo container lê artefatos do container anterior

Como testar:

  1. Com o artefato test-persistence/proposal.md já no vault (T2 passou)
  2. Subir novo container para o mesmo worktree
  3. Verificar:
docker exec vault-job-<novo-id> cat /work/openspec/changes/test-persistence/proposal.md

Esperado: conteúdo visível, sem precisar re-criar.


T4 — /opsx:propose do OpenSpec escreve no vault

Como testar:

  1. Em uma sessão de agente, rodar:
/opsx:propose test-openspec-write
  1. Após o agente criar os artefatos, verificar no host:
ls /root/kodama-vault/brain/openspec/changes/test-openspec-write/

Esperado: proposal.md (e demais artefatos) visíveis no vault.


T5 — Artefatos aparecem no frontend do vault

Como testar:

  1. Com test-persistence/proposal.md no vault
  2. Acessar https://vault.kodama.solutions
  3. Verificar na sidebar: openspec > changes > test-persistence > proposal
  4. Clicar no arquivo — deve renderizar o markdown normalmente

Esperado: arquivo navegável na sidebar, conteúdo renderizado.

Como funciona: brain-fs.ts faz walkMd(BRAIN) — qualquer .md em
brain/openspec/changes/ aparece automaticamente. Nenhuma mudança no frontend
é necessária.


T6 — Migração de artefatos locais existentes

Cenário: container antigo (sem o mount) criou artefatos locais em
/work/openspec/changes/ antes deste PR existir.

Como testar:

  1. Criar pasta local manualmente dentro de um container:
mkdir -p /work/openspec/changes/legacy-change
echo "# Legacy" > /work/openspec/changes/legacy-change/proposal.md
  1. Parar e reiniciar o container (sem recriar — simula restart)
  2. O entrypoint detecta pasta local e migra para o vault

Esperado: após restart, changes vira symlink e conteúdo está no vault.


T7 — Graceful degradation sem o mount

Cenário: VAULT_OPENSPEC_HOST_PATH não setado E brainHostPath não tem
openspec/changes/ (edge case de ambiente sem vault).

Esperado: entrypoint loga aviso WARN: /vault-openspec não montado e
o container sobe normalmente com openspec/changes/ local.
Não quebra o container — apenas não persiste.


Cleanup pós-teste

# Remover artefato de teste do vault
rm -rf /root/kodama-vault/brain/openspec/changes/test-persistence
rm -rf /root/kodama-vault/brain/openspec/changes/test-openspec-write
notas relacionadas
carregando…