Skip to content

feat: provider plugin lifecycle management (init/health_check/shutdown) #162

@luceinaltis

Description

@luceinaltis

Context

qracer/provider_catalog.py scans entry points for data/LLM providers, but full lifecycle management is missing. docs/architecture.md lines 80-122 describe a plugin system with providers.toml config-driven registration, but current code uses hardcoded _build_registries().

Goal

Complete the plugin lifecycle so third-party providers can be discovered, configured, health-checked, and shut down cleanly.

Scope

  • Add initialize(), health_check(), shutdown() protocol methods to provider base classes
  • Wire providers.toml config to provider_catalog.py for declarative provider registration
  • Call lifecycle hooks in _build_registries() and Server.shutdown()
  • Graceful degradation: if a provider fails health_check(), exclude it with a warning instead of crashing
  • Add example third-party provider entry point in docs

Related

  • qracer/provider_catalog.py (entry point scanning exists)
  • qracer/config/schema/providers.toml (config schema exists)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions