-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Description
Phase: 2 - Storage Layer
Estimated Effort: 3-4 hours
Tasks: Task 4 from specs/core-pipeline/tasks.md
Checklist
Task 4: Implement Firestore Storage (3-4 hours)
- Create FirestoreEventStore (implements EventStore Protocol)
- Implement write() with batch operations (max 500 docs)
- Implement read() by stream
- Implement query() with filters
- Add retry logic for transient errors
- Create FirestoreErrorStore (implements ErrorStore Protocol)
- Implement write_error()
- Implement query_errors()
- Write unit tests (mocked Firestore client)
- Write integration tests (Firestore emulator)
Acceptance Criteria
- FirestoreEventStore implements EventStore Protocol
- Batch writes work (tested with 100+ events)
- Document ID format:
{stream}/{timestamp}_{uuid} - Retry logic handles transient errors
- FirestoreErrorStore captures invalid events
- Unit tests pass
- Integration tests with emulator pass
Files to Create
src/eventkit/stores/firestore.py
tests/unit/stores/test_firestore.py
tests/integration/test_firestore_integration.py
Dependencies: Issue #1
User Stories: Story 2 (Stream Isolation), Story 5 (Batch Processing), Story 6 (Dead Letter Queue)
Metadata
Metadata
Assignees
Labels
No labels