parent issue #21 ## Objective Add the indexing layer after O3 upload is successful ## Tasks - [ ] After O3 upload succeeds: - Extract metadata: `project_id`, `service`, `ts_start`, `ts_end`, `levels`, `tags` - Insert into `log_batches` table with `o3_object_key` - [ ] Ensure atomicity (upload + index write)