Skip to content

[Architecture][P2] Phase 2: Decompose terraphim_service by capability #524

@AlexMikhalev

Description

@AlexMikhalev

Parent: #520
Related plan: docs/architecture-improvement-plan.md

Goal

Decompose terraphim_service into capability-focused modules with stable trait boundaries so logic is reusable and easier to test.

Deliverables

  • Capability modules for:
    • search service
    • KG/thesaurus service
    • document service
    • LLM/chat service
  • Stable crate facade with explicit interfaces and reduced monolithic lib.rs

Tasks

  • Split branching workflows into strategy objects or focused modules
  • Introduce typed service interfaces for integration and adapter reuse
  • Keep external API compatibility while refactoring internals
  • Add isolated tests per capability module

Acceptance Criteria

  • crates/terraphim_service/src/lib.rs is primarily a facade/wiring layer
  • Each service capability has isolated tests and explicit dependency boundaries
  • Existing public consumers compile with no behavioral regression

Metadata

Metadata

Assignees

No one assigned

    Labels

    architectureArchitecture and design decisionsenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions