Skip to content

Commit 49744fe

Browse files
jsbattigclaude
andcommitted
feat: Implement Epic #678 - Payload Size Control with Server-Side Caching
Complete implementation of payload truncation and caching for all search types: Stories Implemented: - S1 (#679): Semantic search payload control with SQLite cache - S2 (#680): FTS search payload control - S3 (#681): Hybrid search payload control - S4 (#682): Temporal search payload control - S5 (#683): Multi-repo search payload control - S6 (#684): Regex search payload control - S7 (#685): SCIP queries payload control - S8 (#686): File content default chunking Key Features: - SQLite-based cache with WAL mode for concurrent access - UUID4 cache handles for content retrieval - Preview truncation at 2000 chars (configurable) - Paginated retrieval at 5000 chars/page - TTL-based cleanup (15 min default) - MCP tool: cidx-get-cached-content for retrieval - REST endpoint: /api/cache/{handle} - Web UI config for all payload cache settings - Full parity between MCP and REST interfaces Version bump: 8.4.46 → 8.5.0 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
1 parent d6bafce commit 49744fe

File tree

62 files changed

+11372
-154
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+11372
-154
lines changed

src/code_indexer/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@
66
HNSW graph indexing (O(log N) complexity).
77
"""
88

9-
__version__ = "8.4.46"
9+
__version__ = "8.5.0"
1010
__author__ = "Seba Battig"

src/code_indexer/server/app.py

Lines changed: 257 additions & 56 deletions
Large diffs are not rendered by default.

src/code_indexer/server/cache/__init__.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
44
Story #526: Provides singleton HNSW index cache for server-wide performance optimization.
55
Story #XXX: Provides singleton FTS (Tantivy) index cache for FTS query performance.
6+
Story #679: Provides PayloadCache for semantic search result truncation.
67
"""
78

89
from code_indexer.server.middleware.correlation import get_correlation_id
@@ -18,6 +19,11 @@
1819
FTSIndexCacheEntry,
1920
FTSIndexCacheStats,
2021
)
22+
from .payload_cache import (
23+
PayloadCache,
24+
PayloadCacheConfig,
25+
CacheNotFoundError,
26+
)
2127

2228
# Server-wide singleton cache instances
2329
# Initialized on first import, shared across all server components
@@ -177,4 +183,8 @@ def reset_global_fts_cache() -> None:
177183
"FTSIndexCacheStats",
178184
"get_global_fts_cache",
179185
"reset_global_fts_cache",
186+
# Payload cache exports (Story #679)
187+
"PayloadCache",
188+
"PayloadCacheConfig",
189+
"CacheNotFoundError",
180190
]

0 commit comments

Comments
 (0)