From 27b46a9fe709368fc2ecb08a197e304a9994e97d Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Thu, 11 Dec 2025 21:29:53 +0100 Subject: [PATCH] feat(phase3): register Librarian on application startup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add Librarian registration to household member registration - Error handling to prevent startup failure if Librarian unavailable 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- src/core/startup.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/core/startup.py b/src/core/startup.py index 59692e0..da94a81 100644 --- a/src/core/startup.py +++ b/src/core/startup.py @@ -5,6 +5,7 @@ Handles initialization of household registry and other startup tasks. This module should be called during application startup to register all household members. """ +from src.agents.librarian import register_librarian from src.agents.tatlock_core import TATLOCK_CORE_CAPABILITY, tatlock_core_tools from src.core.household_registry import get_household_registry from src.core.logging_config import get_logger @@ -21,11 +22,7 @@ def register_household_members(): Currently registers: - tatlock_core: Butler's core tools (calculator, datetime, web search) - - Future phases will add: - - librarian: Research and knowledge management - - developer: Software development assistance - - etc. + - librarian: Research and knowledge management (Phase 3) """ registry = get_household_registry() @@ -45,6 +42,16 @@ def register_household_members(): tool_count=len(tatlock_core_tools), ) + # Register The Librarian (Phase 3) + try: + register_librarian() + except Exception as e: + # Don't fail startup if Librarian registration fails + logger.warning( + "librarian_registration_failed", + error=str(e), + ) + logger.info( "household_registration_complete", total_members=len(registry),