-
Notifications
You must be signed in to change notification settings - Fork 2
Split config/types.rs into domain-specific config modules #1735
Copy link
Copy link
Closed
Labels
refactorCode refactoring without functional changesCode refactoring without functional changes
Description
Problem
crates/zeph-core/src/config/types.rs is 3331 lines — a monolithic file containing all config struct definitions. Each new feature adds more config sections, making this file increasingly hard to navigate and maintain.
Proposed Changes
Split by domain:
config/agent.rs— AgentConfig, CompressionConfig, RoutingConfig, LearningConfigconfig/memory.rs— MemoryConfig, EmbeddingConfig, DocumentConfig, GraphConfigconfig/security.rs— SecurityConfig, TrustConfig, ExfiltrationGuardConfig, SandboxConfigconfig/providers.rs— ProviderConfig, OllamaConfig, ClaudeConfig, OpenAiConfig, GeminiConfigconfig/features.rs— Feature-gated configs (ExperimentConfig, OrchestrationConfig, SchedulerConfig)config/logging.rs— LoggingConfig, LogRotationconfig/ui.rs— TuiConfig, SubAgentConfig
Re-export all types from config/mod.rs to preserve the public API.
Acceptance Criteria
- No file in
config/exceeds 500 lines - All re-exports preserved in
config/mod.rs - All tests pass unchanged
- No change to serialized TOML format
Files
crates/zeph-core/src/config/types.rs(3331 lines)crates/zeph-core/src/config/mod.rs
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
refactorCode refactoring without functional changesCode refactoring without functional changes