From 27375cd6d2cd75879b89257d896c9bd96d4f42b3 Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Thu, 11 Dec 2025 21:34:46 +0100 Subject: [PATCH] chore: release v1.1.0 - Phase 3 Butler Orchestration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Phase 3 complete with multi-agent coordination: - The Librarian agent with library-desk API integration - Agent communication protocol for inter-agent messaging - Coordination engine for task orchestration - HybridRAG research and wiki write capabilities - 72 new tests for Phase 3 components Version bump: 1.0.0a → 1.1.0 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- CHANGELOG.md | 79 +++++++++++++++++++++++++++++++++++++++++++++++++- pyproject.toml | 2 +- 2 files changed, 79 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c358bcf..47ece55 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,82 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [1.1.0] - 2025-12-11 + +### Added + +#### Phase 3: Butler Orchestration (Multi-Agent Coordination) +- **The Librarian Agent**: Expert agent for research and knowledge management + - PydanticAI agent with specialized research assistant personality + - Connects to library-desk API for HybridRAG capabilities + - System prompt emphasizes fetching wiki pages before summarizing + - Streaming support via `run_librarian_stream()` + +- **Library-Desk API Client** (`src/agents/librarian/client.py`): + - Async HTTP client with httpx for library-desk API integration + - HybridRAG search (vector + graph + web search) + - Wiki operations (search, get, list, create, update pages) + - Smart page creation with HybridRAG research (`POST /wiki/pages/smart-create`) + - Semantic vector search + - Knowledge graph queries (Cypher execution) + - Dossier (tag collection) browsing + - Health check endpoint + +- **Librarian Tools** (`src/agents/librarian/tools.py`): + - Research tools: + - `hybrid_search`: Combined vector, graph, and web search + - `search_wiki`: Full-text wiki page search + - `get_wiki_page`: Fetch full wiki page content by ID + - `semantic_search`: Vector similarity search + - `list_dossiers`: Browse knowledge collections + - `get_dossier_pages`: Get pages in a dossier + - `explore_knowledge_graph`: Entity and relationship discovery + - `find_related_entities`: Find connected concepts + - Write tools: + - `smart_create_wiki_page`: Create page with automatic HybridRAG research (PREFERRED for topic-based creation) + - `create_wiki_page`: Create page with user-provided content + - `update_wiki_page`: Update existing page (partial updates supported) + +- **Agent Communication Protocol** (`src/agents/protocol.py`): + - `AgentRequest`: Standardized task request with context and constraints + - `AgentResponse`: Response with result, reasoning, tool calls, confidence + - `DelegationIntent`: Routing intent with target agent and reason + - `CoordinationResult`: Aggregated multi-agent results + - `DelegationReason` enum: domain expertise, tool access, resource efficiency, user preference + - Error types: `AgentError`, `AgentTimeoutError`, `AgentUnavailableError` + +- **Coordination Engine** (`src/agents/coordination.py`): + - `CoordinationEngine`: Multi-agent task orchestration + - Routing tasks to appropriate expert agents + - Sequential and parallel execution support + - Result aggregation from multiple agents + - Graceful error handling and degradation + - Streaming delegation support + - Convenience functions: `delegate_to_librarian()`, `delegate_to_librarian_stream()` + +- **Librarian Capability Registration**: + - `LIBRARIAN_CAPABILITY` definition with research domains + - Automatic registration on application startup + - Integration with Household Registry + +- **Configuration**: + - `LIBRARY_DESK_HOST`: Library-desk API URL (default: `http://localhost:8089`) + - `LIBRARY_DESK_API_KEY`: Optional API key for authentication + - `LIBRARY_DESK_TIMEOUT`: Request timeout in seconds (default: 60) + +- **Test Suite**: + - 78 new tests for Phase 3 components + - Protocol model tests (requests, responses, intents, errors) + - Coordination engine tests (delegation, streaming, multi-agent) + - Library-desk client tests (all endpoints with mocked HTTP) + - Wiki write operation tests (update, smart-create) + - Capability registration tests + +### Changed +- Application startup now registers The Librarian with Household Registry +- Configuration expanded to support library-desk API integration +- **Version loading**: APP_VERSION now dynamically loaded from pyproject.toml + ## [1.0.0a] - 2025-12-11 ### Added @@ -314,7 +390,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - CORS middleware - Exception handlers (OpenAI-compatible error format) -[Unreleased]: https://git.schweitz.net/jpmschweitzer/tatlock/compare/v1.0.0a...main +[Unreleased]: https://git.schweitz.net/jpmschweitzer/tatlock/compare/v1.1.0...main +[1.1.0]: https://git.schweitz.net/jpmschweitzer/tatlock/compare/v1.0.0a...v1.1.0 [1.0.0a]: https://git.schweitz.net/jpmschweitzer/tatlock/compare/v0.2.5...v1.0.0a [0.2.5]: https://git.schweitz.net/jpmschweitzer/tatlock/compare/v0.2.0...v0.2.5 [0.2.0]: https://git.schweitz.net/jpmschweitzer/tatlock/compare/v0.1.1...v0.2.0 diff --git a/pyproject.toml b/pyproject.toml index 6f751c3..a8ca0cc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "tatlock" -version = "1.0.0a" +version = "1.1.0" description = "OpenAI-compatible API with Ollama backend" requires-python = ">=3.12" dependencies = []