Surfaced while verifying the pg_store.py split (branch chore/issue-pgstore-split-1384-lines, commit d78df4f4).
That split brought the ten modules it produced under the local 300-line cap (CLAUDE.md § Code Style), the largest being pg_store_search.py at 280. Measuring the whole pg_store_* family afterwards shows three pre-existing siblings still over it:
| File |
Lines |
mcp_server/infrastructure/pg_store_stats.py |
406 |
mcp_server/infrastructure/pg_store_queries.py |
401 |
mcp_server/infrastructure/pg_store_auxiliary.py |
397 |
Measured 2026-08-09 with wc -l on the branch above; none of the three is touched by that diff, so this is out of its blast radius and is filed rather than folded in.
Worth noting for whoever picks this up: pg_store_auxiliary.py is named for a grab-bag, which coding-standards.md §9 lists as an anti-pattern in its own right ("utility grab-bag modules — every module has a single cohesive purpose"). Its size is likely a symptom of that, not an independent problem, so splitting it by line count alone would miss the cause. The same concern-scoped mixin pattern the pg_store.py split used applies here.
Surfaced while verifying the
pg_store.pysplit (branchchore/issue-pgstore-split-1384-lines, commitd78df4f4).That split brought the ten modules it produced under the local 300-line cap (
CLAUDE.md§ Code Style), the largest beingpg_store_search.pyat 280. Measuring the wholepg_store_*family afterwards shows three pre-existing siblings still over it:mcp_server/infrastructure/pg_store_stats.pymcp_server/infrastructure/pg_store_queries.pymcp_server/infrastructure/pg_store_auxiliary.pyMeasured 2026-08-09 with
wc -lon the branch above; none of the three is touched by that diff, so this is out of its blast radius and is filed rather than folded in.Worth noting for whoever picks this up:
pg_store_auxiliary.pyis named for a grab-bag, whichcoding-standards.md§9 lists as an anti-pattern in its own right ("utility grab-bag modules — every module has a single cohesive purpose"). Its size is likely a symptom of that, not an independent problem, so splitting it by line count alone would miss the cause. The same concern-scoped mixin pattern thepg_store.pysplit used applies here.