chore(context): apply linter fixes and sort imports (#86)

Phase 8 of Context Management Engine - Final Cleanup:

- Sort __all__ exports alphabetically
- Sort imports per isort conventions
- Fix minor linting issues

Final test results:
- 311 context management tests passing
- 2507 total backend tests passing
- 85% code coverage

Context Management Engine is complete with all 8 phases:
1. Foundation: Types, Config, Exceptions
2. Token Budget Management
3. Context Scoring & Ranking
4. Context Assembly Pipeline
5. Model Adapters (Claude, OpenAI)
6. Caching Layer (Redis + in-memory)
7. Main Engine & Integration
8. Testing & Documentation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-04 02:46:56 +01:00
parent 027ebfc332
commit 6c7b72f130
9 changed files with 38 additions and 41 deletions

View File

@@ -35,12 +35,36 @@ Usage:
""" """
# Budget Management # Budget Management
# Adapters
from .adapters import (
ClaudeAdapter,
DefaultAdapter,
ModelAdapter,
OpenAIAdapter,
get_adapter,
)
# Assembly
from .assembly import (
ContextPipeline,
PipelineMetrics,
)
from .budget import ( from .budget import (
BudgetAllocator, BudgetAllocator,
TokenBudget, TokenBudget,
TokenCalculator, TokenCalculator,
) )
# Cache
from .cache import ContextCache
# Compression
from .compression import (
ContextCompressor,
TruncationResult,
TruncationStrategy,
)
# Configuration # Configuration
from .config import ( from .config import (
ContextSettings, ContextSettings,
@@ -49,6 +73,9 @@ from .config import (
reset_context_settings, reset_context_settings,
) )
# Engine
from .engine import ContextEngine, create_context_engine
# Exceptions # Exceptions
from .exceptions import ( from .exceptions import (
AssemblyTimeoutError, AssemblyTimeoutError,
@@ -63,34 +90,6 @@ from .exceptions import (
TokenCountError, TokenCountError,
) )
# Assembly
from .assembly import (
ContextPipeline,
PipelineMetrics,
)
# Compression
from .compression import (
ContextCompressor,
TruncationResult,
TruncationStrategy,
)
# Adapters
from .adapters import (
ClaudeAdapter,
DefaultAdapter,
get_adapter,
ModelAdapter,
OpenAIAdapter,
)
# Cache
from .cache import ContextCache
# Engine
from .engine import ContextEngine, create_context_engine
# Prioritization # Prioritization
from .prioritization import ( from .prioritization import (
ContextRanker, ContextRanker,

View File

@@ -29,7 +29,7 @@ def get_adapter(model: str) -> ModelAdapter:
__all__ = [ __all__ = [
"ClaudeAdapter", "ClaudeAdapter",
"DefaultAdapter", "DefaultAdapter",
"get_adapter",
"ModelAdapter", "ModelAdapter",
"OpenAIAdapter", "OpenAIAdapter",
"get_adapter",
] ]

View File

@@ -8,7 +8,6 @@ Provides a high-level API for assembling optimized context for LLM requests.
import logging import logging
from typing import TYPE_CHECKING, Any from typing import TYPE_CHECKING, Any
from .adapters import get_adapter
from .assembly import ContextPipeline from .assembly import ContextPipeline
from .budget import BudgetAllocator, TokenBudget, TokenCalculator from .budget import BudgetAllocator, TokenBudget, TokenCalculator
from .cache import ContextCache from .cache import ContextCache

View File

@@ -10,10 +10,10 @@ from typing import TYPE_CHECKING, Any
from ..budget import TokenBudget, TokenCalculator from ..budget import TokenBudget, TokenCalculator
from ..scoring.composite import CompositeScorer, ScoredContext from ..scoring.composite import CompositeScorer, ScoredContext
from ..types import BaseContext, ContextType from ..types import BaseContext
if TYPE_CHECKING: if TYPE_CHECKING:
from app.services.mcp.client_manager import MCPClientManager pass
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -10,7 +10,7 @@ from typing import TYPE_CHECKING, Any, Protocol, runtime_checkable
from ..types import BaseContext from ..types import BaseContext
if TYPE_CHECKING: if TYPE_CHECKING:
from app.services.mcp.client_manager import MCPClientManager pass
@runtime_checkable @runtime_checkable

View File

@@ -6,15 +6,14 @@ Combines multiple scoring strategies with configurable weights.
import asyncio import asyncio
import logging import logging
from dataclasses import dataclass, field from dataclasses import dataclass
from typing import TYPE_CHECKING, Any from typing import TYPE_CHECKING, Any
from .base import BaseScorer from ..config import ContextSettings, get_context_settings
from ..types import BaseContext
from .priority import PriorityScorer from .priority import PriorityScorer
from .recency import RecencyScorer from .recency import RecencyScorer
from .relevance import RelevanceScorer from .relevance import RelevanceScorer
from ..config import ContextSettings, get_context_settings
from ..types import BaseContext
if TYPE_CHECKING: if TYPE_CHECKING:
from app.services.mcp.client_manager import MCPClientManager from app.services.mcp.client_manager import MCPClientManager

View File

@@ -6,8 +6,8 @@ Scores context based on assigned priority levels.
from typing import Any from typing import Any
from ..types import BaseContext, ContextType
from .base import BaseScorer from .base import BaseScorer
from ..types import BaseContext, ContextPriority, ContextType
class PriorityScorer(BaseScorer): class PriorityScorer(BaseScorer):

View File

@@ -6,11 +6,11 @@ More recent content gets higher scores.
""" """
import math import math
from datetime import UTC, datetime, timedelta from datetime import UTC, datetime
from typing import Any from typing import Any
from .base import BaseScorer
from ..types import BaseContext, ContextType from ..types import BaseContext, ContextType
from .base import BaseScorer
class RecencyScorer(BaseScorer): class RecencyScorer(BaseScorer):

View File

@@ -9,8 +9,8 @@ import logging
import re import re
from typing import TYPE_CHECKING, Any from typing import TYPE_CHECKING, Any
from ..types import BaseContext, KnowledgeContext
from .base import BaseScorer from .base import BaseScorer
from ..types import BaseContext, ContextType, KnowledgeContext
if TYPE_CHECKING: if TYPE_CHECKING:
from app.services.mcp.client_manager import MCPClientManager from app.services.mcp.client_manager import MCPClientManager