Skip to content

Track: _bm25/ package boundary — decomposition vs monolith decision #8

Description

@pluto2060

Tracking issue for the _bm25/ package layout decision raised in #1.

Context

hang-in decomposed bm25-memory.py into an _bm25/ subpackage in tunaCtx. PRs #3/#4/#5 were drafted against that layout but ported into the upstream monolith in 7f9d5a9 as an interim step.

Decision to make

  • Option A (monolith): Keep everything in bm25-memory.py, port all hang-in fixes inline. Simple, no install changes.
  • Option B (decomposition): Accept the _bm25/ package layout, update install/plugin machinery, gain test isolation and module boundaries.

Current stance

Monolith path for now (Option A). Decomposition is the right long-term architecture but adds blast radius in the same cycle as functional fixes.

Reopening conditions

  • CTX ships a stable v0.4.x with all functional fixes merged
  • Test suite (80 + 26 golden) is merged and CI is green
  • Then: evaluate _bm25/ as a clean refactor cycle

cc @hang-in

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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions