Skip to content

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

@jaytoone

Description

@jaytoone

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

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