Skip to content

Conversation

@prosdev
Copy link
Contributor

@prosdev prosdev commented Jan 10, 2026

Implements Issue #1: Foundation Setup (Tasks 1-3)

Summary

  • Configuration management with BaseSettings
  • RawEvent for flexible JSON ingestion
  • TypedEvent models (Identify, Track, Page) with $set/$set_once support
  • Ref model for identity extraction
  • EventAdapter, EventStore, ErrorStore protocols
  • Custom exception hierarchy

Testing

  • 29 unit tests passing
  • 80% code coverage
  • mypy type checking clean

Closes #1

- Add configuration management with BaseSettings
- Create RawEvent for flexible JSON ingestion
- Create TypedEvent models (Identify, Track, Page) with $set/$set_once support
- Add Ref model for identity extraction
- Define EventAdapter, EventStore, ErrorStore protocols
- Add custom exception hierarchy
- Configure pytest with 29 passing unit tests (80% coverage)
- Update .gitignore for GCP credentials protection

Resolves #1
- Add GitHub Actions test workflow (Python 3.12 only)
- Use uv for fast dependency installation
- Run checks in fail-fast order: lint, format, typecheck, tests
- Add concurrency control to cancel old PR runs
- Fix deprecated ruff config (move to lint section)
- Format all Python files with ruff
- Update pyproject.toml to require Python 3.12+
- Update CLAUDE.md with uv commands
@prosdev prosdev force-pushed the feat/foundation-setup branch from ca2ab86 to 6041729 Compare January 10, 2026 15:24
- Generate uv.lock for reproducible installs
- Update CI to use 'uv sync' with lockfile caching
- Update CLAUDE.md with uv sync commands
- Create .venv automatically on sync
@prosdev prosdev force-pushed the feat/foundation-setup branch from 6041729 to be15a94 Compare January 10, 2026 15:28
@prosdev prosdev merged commit 38ae53d into main Jan 10, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Foundation Setup

2 participants