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
Tracking issue for the
_bm25/package layout decision raised in #1.Context
hang-in decomposed
bm25-memory.pyinto an_bm25/subpackage in tunaCtx. PRs #3/#4/#5 were drafted against that layout but ported into the upstream monolith in7f9d5a9as an interim step.Decision to make
bm25-memory.py, port all hang-in fixes inline. Simple, no install changes._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
_bm25/as a clean refactor cyclecc @hang-in