Skip to content

Latest commit

 

History

History
248 lines (198 loc) · 7.25 KB

File metadata and controls

248 lines (198 loc) · 7.25 KB

Changelog

All notable changes to DiaryMCP will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[2.1.0] - 2025-01-28

Added - Sprint #11 & #12: Auto-Capture e Busca Semântica

#11: Auto-Capture Inteligente

  • Git Hooks Automáticos

    • post-commit: Captura automática após cada commit
    • post-merge: Captura automática após merges/pulls
    • post-checkout: Captura automática ao trocar de branch
    • Execução não-bloqueante (background)
    • Instalação automática via install.sh
  • Daemon de Monitoramento

    • Monitoramento de arquivos em tempo real com watchdog
    • Captura inteligente baseada em:
      • Número mínimo de mudanças (configurável, padrão: 10)
      • Intervalo mínimo entre capturas (configurável, padrão: 5min)
      • Extensões de arquivo específicas
    • Scripts de controle: daemon.sh (start/stop/restart/status)
    • Logs em .diary/logs/daemon.log
  • Armazenamento Local de Entradas

    • Entradas salvas em .diary/data/entries/ com timestamps
    • Formato JSON estruturado
    • Integrado com anonimizador de dados
  • Configuração Flexível

    • Seção auto_capture em manifest.yaml
    • Controle granular de cada hook
    • Configuração de sensibilidade do daemon
    • Extensões de arquivo customizáveis

#12: Busca Semântica Local

  • Indexação Semântica

    • Motor de busca local com sentence-transformers + FAISS
    • Modelo all-MiniLM-L6-v2 (leve, rápido, multilíngue)
    • Embeddings de 384 dimensões
    • 100% offline (sem API calls)
  • CLI de Busca Poderosa

    • search.sh --index: Indexar todas entradas
    • search.sh "query": Busca semântica por linguagem natural
    • search.sh --recent N: Listar N entradas recentes
    • search.sh --stats: Estatísticas do índice
    • Filtros: --branch, --top-k, --min-files
  • Auto-Indexação

    • Entradas indexadas automaticamente ao serem capturadas
    • Integrado com capturas manuais, git hooks e daemon
    • Processo não-bloqueante e tolerante a falhas
  • Performance

    • Indexação: ~100ms por entrada (após download do modelo)
    • Busca: ~100-200ms por query
    • Armazenamento: ~2KB overhead por entrada
  • Estrutura de Dados

    • FAISS index para busca vetorial
    • SQLite para metadados e filtragem
    • Pickle para metadata cache

Changed

  • local/agent/cli.py

    • Adicionada função _save_entry_locally() para persistir entradas
    • Adicionada função _auto_index_entry() para indexação automática
    • Modificado run_capture() para integrar armazenamento e indexação
  • local/install.sh

    • Instalação automática de git hooks
    • Cópia de search.sh para .diary/
    • Cópia de daemon.sh para .diary/
    • Mensagens de instalação atualizadas com novas features
  • requirements.txt

    • Adicionado faiss-cpu>=1.7.4 para busca vetorial
    • Adicionado watchdog>=3.0.0 para monitoramento de arquivos
    • Atualizada seção de comentários para clarificar dependências
  • local/config/.diary.yaml

    • Nova seção auto_capture com configurações de hooks e daemon
    • Documentação inline de todas as opções

Documentation

  • docs/AUTO_CAPTURE.md - Guia completo de auto-capture

    • Explicação dos dois modos (git hooks + daemon)
    • Configuração detalhada
    • Troubleshooting
    • Melhores práticas
  • docs/SEMANTIC_SEARCH.md - Guia completo de busca semântica

    • Como funciona (tecnologias, pipeline)
    • Instalação e uso básico
    • Casos de uso reais
    • API programática Python
    • Configuração avançada
  • docs/QUICK_START_v2.md - Guia de início rápido atualizado

    • Instalação em 3 passos
    • Workflow recomendado
    • Exemplos práticos
    • Comandos úteis
  • README.md - Atualizado com:

    • Destaque para features v2.1
    • Links para nova documentação
    • Início rápido simplificado
  • CHANGELOG.md - Este arquivo

Technical Details

Novos Módulos

  • local/daemon/

    • __init__.py: Exports principais
    • watcher.py: Classe DiaryWatcher com lógica de monitoramento
  • local/search/

    • __init__.py: Exports principais
    • indexer.py: Classe EntryIndexer para indexação
    • searcher.py: Classe EntrySearcher para busca
  • local/hooks/git/

    • post-commit: Hook Git para auto-capture
    • post-merge: Hook Git para auto-capture
    • post-checkout: Hook Git para auto-capture
  • local/scripts/

    • daemon.sh: Controle do daemon (start/stop/restart/status)
    • search.sh: CLI de busca semântica

Arquitetura

Captura Flow:
  Git Event/File Change
    ↓
  Git Hook / Daemon Trigger
    ↓
  capture.sh (background)
    ↓
  local.agent.cli.run_capture()
    ↓
  ContextCollector.collect_full_context()
    ↓
  DataAnonymizer.anonymize()
    ↓
  _save_entry_locally() → .diary/data/entries/
    ↓
  _auto_index_entry() → .diary/search/
    ↓
  CloudUploader.upload() (opcional)

Busca Flow:
  User Query
    ↓
  search.sh
    ↓
  EntrySearcher.search()
    ↓
  SentenceTransformer.encode(query)
    ↓
  FAISS.search(embedding)
    ↓
  SQLite.filter(results)
    ↓
  Ranked Results

[2.0.0] - 2025-01-15

Added - Sprint Inicial: 5 Tarefas Críticas

  • Requirements Management

    • requirements.txt expandido com LLMs, vector stores, retry logic
    • requirements-dev.txt para desenvolvimento e testes
  • Logging System

    • shared/utils/logging.py com logger centralizado
    • Integrado em todos os módulos principais
  • API Key Authentication

    • cloud/middleware/auth.py com autenticação via API key
    • Validação de headers e tokens
  • Real LLM Integration

    • cloud/llm/client.py com suporte OpenAI/Anthropic
    • cloud/llm/prompts.py com prompts especializados por agente
    • Retry logic com tenacity
    • Fallback para heurísticas se LLM falhar
  • Unit Tests

    • tests/conftest.py com fixtures pytest
    • tests/test_validators.py - 15 testes de validação
    • tests/test_consensus.py - 12 testes de consenso
    • tests/test_api.py - 10 testes de API
    • tests/test_collector.py - 15 testes de coleta
    • Total: 52 testes unitários

Documentation

  • docs/AUTENTICACAO.md - Guia de autenticação
  • docs/LLM_INTEGRATION.md - Guia de integração LLM
  • docs/CHANGELOG_v2_improvements.md - Log de melhorias v2.0
  • docs/PLANEJAMENTO_PROXIMOS_SPRINTS.md - Roadmap futuro

[1.0.0] - 2025-01-01

Added - Versão Inicial v2 Architecture

  • Arquitetura federada completa
  • Orquestrador FastAPI
  • Sistema de agentes especializados
  • Consenso bizantino básico
  • Fila de processamento
  • Agente local com collector, anonymizer, uploader
  • Estrutura de deployment

Roadmap

Veja docs/PLANEJAMENTO_PROXIMOS_SPRINTS.md para features planejadas:

  • #6: Fila Persistente (Redis/RabbitMQ)
  • #7: Real Byzantine Consensus
  • #8: Complete Telegram Bot
  • #9: Thread-Safety com locks
  • #10: Padronização de Idioma (EN)
  • #11: Auto-Capture Inteligente ✅
  • #12: Busca Semântica Local ✅

Legend:

  • Added: New features
  • Changed: Changes to existing functionality
  • Deprecated: Soon-to-be removed features
  • Removed: Removed features
  • Fixed: Bug fixes
  • Security: Security improvements