# SQ-013: Control Plane - Topic Management **Status:** `[ ] TODO` **Blocked by:** SQ-012 **Priority:** Medium ## Description Implement the ControlPlane gRPC service for topic CRUD operations. ## Files to Create/Modify - `crates/sq-server/src/grpc/control_plane.rs` - ControlPlaneService impl - `crates/sq-storage/src/topic_metadata.rs` - topic registry (file-backed) - `crates/sq-server/src/grpc/mod.rs` - register ControlPlane service ## Acceptance Criteria - [ ] CreateTopic: creates topic with specified partitions and replication factor - [ ] CreateTopic: duplicate name returns AlreadyExists - [ ] ListTopics: returns all created topics - [ ] DescribeTopic: returns partition info with earliest/latest offsets - [ ] DeleteTopic: removes topic from registry - [ ] Publish to deleted topic: returns NotFound - [ ] Topic metadata persists across server restarts