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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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