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
vek1 — arquiteturavek1 — autenticaçãovek1 — contextovek1 — regras de copy e marketingvek1 — modelo de dadosvek1 — decisões técnicasvek1 — domínio e modelo de negóciovek1 — featuresvek1 — gaps e riscosvek1 — gotchasvek1 — integrações externasvek1 — pricing design (Stripe sub + topup)vek1 — atividade recentevek1 — roteiro de vendas (SDR → fechamento)vek1 — estado e maturidadevek1 — Migração Evolution API → WhatsApp Cloud API (Meta oficial)
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 / projects / vek1

vek1 — atividade recente

Atividade recente

Sprint 2026-05-20 → 2026-05-21 — Billing end-to-end + landing 3D + pricing premium

Implementação completa das 3 fases do pricing (PRs A→B→C + UI), redesign da landing com 3D real CSS, reescrita do copy pra falar com lojista, premium positioning + páginas comparativas vs concorrentes.

Fase 1 do pricing (backend) — vek1#73 + vek1-api#24 + vek1-api#25

  • vek1 #73 (eb74c26) Schema billing + Stripe seed + beta migration
    • 4 tabelas novas: subscription_plans, company_subscriptions, company_billing_settings, token_topups
    • Alter token_usage: +billable, +topup_id, +reported_to_stripe_at
    • Scripts: seed-stripe-plans.ts (idempotente, cria Meter + 3 Products + 6 Prices), migrate-beta-companies.ts (legacy → past_due)
    • Indexes em recreate-indexes.ts
    • Aplicado em prod (Postgres VPS + Stripe test mode)
  • vek1-api #24 (7bf82e2) Billing service + endpoints + Stripe webhook
    • services/stripe_client.py singleton + services/billing_service.py com check_quota_or_block (state machine 3-day grace)
    • routers/billing.py (10 endpoints: plans, summary, subscriptions, setup-intent, topup, settings, invoices, debug triggers)
    • routers/stripe_webhook.py com signature HMAC validation pros 6 events
    • 25 service tests + 18 endpoint tests + 7 webhook tests + 4 E2E reais Stripe
  • vek1-api #25 (660b739) /chat enforcement + apscheduler + emails Resend
    • services/chat_billing.py extraído (resolve_company_id, quota_block_response, record_token_usage)
    • services/billing_emails.py (cota_warning_80, grace_started, grace_expired, charge_succeeded/failed)
    • apscheduler in-process cron 5min reportando usage_record pro Stripe
    • 223 tests passing + 4 E2E

Fase 2 do pricing (frontend UI) — vek1#74

  • vek1 #74 (b39a5d8) UI completa: /settings#billing + /pricing + signup wizard
    • apiClient.billing (10 funções tipadas)
    • app/actions/billing-actions.ts (server actions com validação)
    • BillingSection componente (planos + uso + cartão + topup + plan switch + invoices)
    • AddCardModal (SetupIntent + Stripe Elements)
    • TopupModal (PaymentIntent off-session ou Elements)
    • PlanCompareModal (3 tiers comparativos)
    • /pricing página pública com tiers + bônus 50% callout
    • /onboarding/billing wizard 3-step (plano → cartão → ativar)
    • company-registration.tsx redireciona pós-signup pra /onboarding/billing
    • Stripe Elements via @stripe/stripe-js + @stripe/react-stripe-js

Landing redesign + copy

  • vek1 #75 (f66b8e6) Landing 3D Industrial Atelier
    • Substitui landing antiga (cards genéricos) por composição editorial maximalist
    • 3D real CSS (perspective + preserve-3d, sem Three.js)
    • Hero phone diorama com mouse parallax (pointermove → CSS vars)
    • 6 floating chips com --z translateZ + animation float-3d
    • Iso grid floor no backdrop
    • Pricing 3D (Pro elevated translateZ(35px))
    • TiltCards no features
    • Instrument Serif italic display + IBM Plex Mono labels
    • Helpers globais: .editorial, .iso-stage, .float-3d, .stencil, .glow-primary, .reveal-up
  • vek1 #77 (afc...) Copy rewrite — remove jargão técnico
    • Status: "v3.0 · agentes RAG" → "ativo · pra lojistas no whatsapp"
    • Marquee: stack tech (deepseek, bge-m3, postgres…) → tipos de negócio (petshops, salões, padarias…)
    • Stats: stat fabricado "6.4× vs CRM" → value prop real "PIX confirmado direto no chat"
    • Features: "function calling" → "Não só responde — vende de verdade"
    • Reescrito tom: cliente PME, não dev
  • vek1 #78 Hero 2-col + CTAs aware logged + /billing internal page
    • CTAs detectam sessão (logged → "Ir pro painel" / anon → "Criar conta")
    • Grid md:grid-cols-2 em vez de só lg+ (phone não sobrepõe texto em md)
    • Phone scene responsive: h-[400px] md:h-[460px] lg:h-[520px]
    • /billing página dedicada (era seção em /settings) + sidebar link
  • vek1 #79 Comparativo + calculadora na /pricing
    • ComparisonTable 3-col (vek vs chatbot tradicional vs atendente humano) — não nomeia concorrentes
    • CostCalculator client interactive (salário CLT + headcount → economia)
    • Plano sugerido auto-pick

Pricing premium + páginas vs concorrentes

  • vek1#80 Premium positioning (Stripe Prices v2)
    • Starter R$ 79 → R$ 199 / 500k → 1M tokens / overage R$ 25 → R$ 39
    • Pro R$ 299 → R$ 599 / overage R$ 18 → R$ 28
    • Business R$ 899 → R$ 1.499 / overage R$ 12 → R$ 20
    • Lookup keys versionados _v2 (Prices Stripe imutáveis); v1 antigos mantidos pra subs existentes
    • DB atualizada via SSH (script local timeout TCP firewall)
  • vek1#80 Páginas SEO /pricing/vs/[slug]
    • lib/competitors.ts com 6 concorrentes: octadesk, socialhub, blip, zenvia, chatguru, wati
    • Dynamic route com generateStaticParams + generateMetadata SEO-otimizada
    • Cada página: cards lado-a-lado preço, 5 advantages, seção "quando faz sentido escolher X" (sinal de honestidade), calculadora reaproveitada, cross-links
    • Footer /pricing tem 6 chips discretos linkando pras vs pages

Fixes pricing infra

  • vek1#76 Fallback hardcoded na /pricing quando DB inacessível
  • vek1#81 Fail-fast 3s timeout (era 30s default) + console.warn (era error) — UX melhor em dev sem firewall liberado
  • vek1-api #26 (b277363) Endpoint público /billing/plans-public — /pricing consome via HTTPS em vez de TCP direto Postgres
  • vek1#82 /pricing migrada de Drizzle direto pra fetch via vek1-api — funciona em qualquer rede (HTTPS 443 nunca bloqueado)

Pequenos UX

  • vek1#83 + vek1#84 /login e /register são páginas simples — removido redirect/banner quando logado (over-engineered)

Sprint anterior 2026-05-15 → 2026-05-20 — Industrial Linear, Orders, Leads, api-first cutover

Documentado abaixo em resumo (era sprint focado em features + cutover arquitetural).

UI Industrial Linear

  • PR #46-47 redesign agent settings + Evolution v2.3.6 align (dropou evolution-manager-library)
  • PR #49 Industrial Linear redesign + real dashboard
  • PR #57-58 sweep restante das pages

Leads + LLM enrichment

  • PR #48 lead tracking + LLM-powered profile enrichment (leads, lead_events, ensureLead, enqueueExtraction, buildLeadProfileSummary + embedding)

Orders + payments

  • PR #50 PIX (AbacatePay) + cash on delivery flow
  • PR #51 /settings page (account, company, store payment)
  • PR #59 orders real-time via SSE + Postgres LISTEN/NOTIFY
  • PR #60-61 create_order fixes (drop fake product_ids + full envelope pra getBase64FromMediaMessage)

WhatsApp robustness

  • PR #52-56 webhook Evolution nunca 500 + LID privacy handling (senderPn, key.remoteJidAlt)

Stock sync + audit

  • PR #62-63 bidirectional stock sync (HMAC) + hardening
  • PR #64 audit_log table + indexes

Cutover api-first

  • PR #65-71 vek1 fala 100% via HTTP com vek1-api; Better Auth via HTTP adapter; lib/supabase.ts virou shim snake_case
  • PR #72 forgot password Resend via vek1-api webhook scope

Hot fixes pós-cutover

  • 72b72c4, 5ed8b87, e6c6ff0, 30e1afa auth-adapter camelKeys/snake_case/findMany/updateMany

Estado do remote (snapshot 2026-05-21)

  • HEAD pós PR #84 — /login e /register plain
  • Branch: main, sync com origin
  • Pricing live em prod com premium positioning
  • 6 páginas /pricing/vs/[slug] prerendered
  • SEO: layout metadata + sitemap.xml + robots.txt + JSON-LD SoftwareApplication
  • Stripe webhook configurado pros 6 events em https://vek1-api.kodama.solutions/webhooks/stripe
  • vek1-api /billing/plans-public endpoint público
notas relacionadas
carregando…