Sobre o projeto

Beats PM Kit (o Beats Agentic PM Harness) é um projeto da OfficeBeats que empacota um harness local-first, compatível com várias runtimes, para fluxos de trabalho de gerenciamento de produtos baseados em evidências. Ele arquiva o contexto disperso do produto — reuniões, threads de chat, e-mails, documentos e notas — como Markdown simples localmente, torna-o pesquisável e triangula-o em fluxos de trabalho e tarefas que um agente de IA pode executar. O README afirma que nada é enviado por upload pelo próprio kit. Estrutura e conceitos O kit usa uma taxonomia de vault numerada: 0. Incoming, 1. Company, 2. Products, 3. Meetings, 4. People, 5. Trackers, 6. Resources, 6. SOPs, 7. Partners, 8. Clients, além de .agent/ para agentes canônicos, regras, habilidades, templates e fluxos de trabalho, e system/ para scripts, testes e docs. O estado canônico das tarefas reside em 5. Trackers/tasks/ como notas de Markdown legíveis por humanos com IDs estáveis, links de evidências, progresso e decisões; TASK_MASTER.md e as notas de fluxo de trabalho são descritos como navegação gerada sobre esses arquivos, em vez de uma segunda fonte de verdade. Fonte única de verdade .agent/command-registry.json controla o roteamento, aliases, perfis de execução e política de runtime; .agent/workflows/ contém o comportamento do fluxo de trabalho; .agent/skills/ contém métodos reutilizáveis de PM. Os arquivos de adaptador raiz (AGENTS.md, CLAUDE.md, GEMINI.md, CODEX_COMMANDS.md), .omp/config.yml e os arquivos de ignore de ferramentas são visualizações geradas produzidas por system/scripts/sync_cli_adapters.py — editar .agent/ e regenerar é o caminho pretendido, já que arquivos gerados editados manualmente são sobrescritos por design. Comandos e contexto Cada comando de barra é resolvido através do registro para um arquivo de fluxo de trabalho e um perfil de execução (Fast, Balanced ou Deep), e carrega um nível de promoção por runtime: comandos promovidos são enviados como habilidades nativas, comandos protegidos requerem confirmação, e o restante é apenas de despacho. O loop de execução documentado é rotear, carregar contexto limitado, agir com ferramentas, fazer checkpoint, verificar, persistir artefato; a recuperação inicial é limitada e as evidências brutas permanecem endereçáveis por hash localmente, com contexto compactado rastreável de volta aos arquivos de origem. Runtimes suportados Os pontos de entrada são listados para omp, Claude Code, OpenAI Codex CLI, Google Antigravity, Gemini CLI, GitHub Copilot, e uma UI opcional do Obsidian sobre o mesmo vault. O README diz que o comportamento é selecionado por capacidades detectadas positivamente, em vez de uma hierarquia de provedores, os padrões de modelo são herdados do runtime, e capacidades desconhecidas falham de forma fechada. Iniciando e fluxos de trabalho A configuração é um git clone mais ./install.sh, um wrapper fino em torno de python3 system/scripts/bootstrap.py --agent --non-interactive. O bootstrap verifica o repositório, executa um gate de compatibilidade de atualização em workspaces existentes, cria pastas de workspace locais ignoradas, semeia templates, sincroniza adaptadores de runtime, instala hooks de git quando possível, e executa verificações de privacidade e saúde do adaptador. Os usuários então abrem a pasta em um runtime e executam /start ou /help. Os fluxos de trabalho são agrupados em intake e evidências (/paste, /find, /memory, /context, /chat e integrações de mensagens), reuniões (/meet, /transcript, /prep, /boss), planejamento e estratégia (/plan, /create, /deck, /discover, /interview, /intel, /prioritize, /sprint, /retro), rastreamento (/track, /day, /week, /handoff), comunicação e documentos (/sop, /office-cli, /review, /challenge, /improve-plan), qualidade e manutenção (/accuracy, /regression, /build, /vibe, /maintain, /update, /vacuum, /archive) e configuração/orquestração (/start, /help, /obsidian, /pack, /team, /fan-out). A entrada em linguagem natural também é suportada. Utilitários locais O trabalho repetível é delegado a scripts Python somente stdlib em system/scripts/, incluindo vault_query.py para consultas de leitura somente limitadas sobre tarefas, labels e quotes; context_router.py para recuperação de texto completo indexada em pastas de evidências locais; task_store.py e task_intake_fast.py para escrita de notas de tarefas canônicas e intake rápido; transcript_pipeline.py para preparar, validar e processar transcrições de reuniões; pm_decision_router.py para classificar entradas de PM desordenadas antes da execução; obsidian_bridge.py para usar a pasta do kit como um vault do Obsidian; pack_manager.py para habilitar capacidades opcionais dormentes, como Trello; upgrade_compat.py para pré-verificação e migração reversível de configurações legadas; e privacy_guard.py / adapter_guard.py para bloquear vazamento de conteúdo privado e deriva de adaptador gerado. Privacidade e testes O postura de privacidade é local-first: pastas de vault pessoais são ignoradas pelo git e rastreadas apenas através de arquivos skeleton .gitkeep, com estado de runtime local em uma .beats/ ignorada. Scripts de guarda (privacy_guard.py --tree, adapter_guard.py --mode check) bloqueiam conteúdo privado, caminhos pessoais, strings semelhantes a tokens, transcrições e deriva de adaptador de commits compartilhados. WATCHDOG.md define regras de consultor, como não fabricar quotes, IDs ou datas, aprovação explícita do usuário para envios externos, e manter o estado das tarefas em trackers canônicos. O README adiciona a ressalva de que o kit nunca sincroniza arquivos com um serviço de nuvem, mas o runtime de IA escolhido processa prompts e saídas de ferramentas sob as próprias configurações desse provedor. Os testes estão em system/tests/ no estilo pytest e cobrem o registro, adaptadores, armazenamento de tarefas, pipeline de transcrição, guardas de privacidade e adaptador, compatibilidade de atualização e invariantes do vault. Créditos Beats PM Kit é construído a partir do trabalho diário de produto; a política de saída de ação-primeiro é descrita como uma abordagem de redação independente inspirada no projeto MIT-licensed i-have-adhd, sem nenhum plugin ou código de hook upstream empacotado.