Skip to content

build: make optional capabilities installable #121

Description

@QueryPlanner

Summary

Align the dependency graph with Blacki's lightweight, cloud-first philosophy.
Memory, sandbox, and provider-specific observability packages are installed in
every environment even when those capabilities are disabled.

Priority

P2

Level of Effort

Medium (4-8 hours)

Scope

  • Define a minimal core runtime dependency set.
  • Move memory, sandbox, and provider-specific observability packages into explicit
    optional extras or deployment groups.
  • Select required capabilities explicitly in Docker builds.
  • Make capability discovery fail gracefully when an optional extra is absent.
  • Document supported install profiles.

Passing Criteria

  • A clean minimal installation can import Blacki and start its core server without
    memory or sandbox packages installed.
  • Separate automated test jobs validate minimal, memory, sandbox, and full profiles.
  • Tool registration reports disabled optional capabilities without stack traces.
  • The production Docker build explicitly selects its required profile.
  • uv sync --locked succeeds for every documented profile.
  • Dependency-tree output demonstrates that the minimal profile excludes Mem0,
    OpenSandbox, and unused provider-specific exporters.

Sources

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions