chore: release v1.1.0 - Phase 3 Butler Orchestration

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 <noreply@anthropic.com>
This commit is contained in:
2025-12-11 21:34:46 +01:00
co-authored by Claude Opus 4.5
parent 09e468e7f8
commit 27375cd6d2
2 changed files with 79 additions and 2 deletions
+78 -1
View File
@@ -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
+1 -1
View File
@@ -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 = []