- Upgraded Rust base image from 1.75 to 1.81 in client.Dockerfile
- Replaced python -m pip with uv pip for NER dependency installation in server.Dockerfile
- Updated spaCy model download and verification commands to use uv run python
- Added server-gpu and full-gpu Docker Compose profiles with NVIDIA CUDA support for GPU-accelerated inference
- Created server-gpu.Dockerfile with PyTorch CUDA base image and GPU runtime configuration
- Added compose.gpu.yaml for optional GPU allocation customization (device count, IDs, memory settings)
- Documented GPU setup requirements for Linux (nvidia-container-toolkit), Windows WSL2, and macOS in docker/CLAUDE
- Introduced memory snapshot logging to track resource usage during summarization and diarization processes.
- Added action item extraction capabilities from meeting segments, improving the summarization output.
- Refactored summarization and diarization mixins to integrate new logging and extraction functionalities.
- Implemented a bounded audio buffer for streaming diarization to manage memory efficiently.
- Enhanced error handling and diagnostics in summarization and diarization workflows.
- Moved all hookify configuration files from `.claude/` to `.claude/hooks/` subdirectory for better organization
- Added four new blocking hooks to prevent common error handling anti-patterns:
- `block-broad-exception-handler`: Prevents catching generic `Exception` with only logging
- `block-datetime-now-fallback`: Blocks returning `datetime.now()` as fallback on parse failures to prevent data corruption
- `block-default
- Updated `pyproject.toml` to include new optional dependencies for Ollama: `anthropic`, `openai`, and `pywinctl`.
- Modified `compose.yaml` to add a new volume for the server's virtual environment.
- Enhanced the server Dockerfile to install all optional dependencies during the build process, improving flexibility and functionality.
All quality checks pass.
- Added important notes regarding Docker operations to prevent disruption of the hot-reload server.
- Introduced a section outlining forbidden Docker commands without explicit user permission.
- Refactored `pyproject.toml` to categorize audio-related dependencies under an optional section.
- Updated dependencies for `weasyprint` and `spacy` to their latest versions.
- Adjusted the server Dockerfile to ensure the hot-reload server starts correctly.
All quality checks pass.
- Updated client submodule to the latest commit 2d6f36f for improved integration.
- Modified `schema.sql` to conditionally add constraints for meetings, segments, tasks, integrations, and settings tables, ensuring they are only added if they do not already exist.
- Enhanced recovery service to handle cases where the `diarization_jobs` table may not exist, improving robustness during crash recovery.
- Updated database persistence logic to check for the existence of critical tables and ensure schema readiness, including stamping the Alembic version when necessary.
Sprint 0 consolidates all proto schema changes and database migrations
for Sprints 1-6 into a coordinated release.
Infrastructure:
- Add named_entities table migration with updated_at trigger
- Add webhook_configs and webhook_deliveries migrations
- Add httpx dependency for webhooks
- Multi-stage Docker build with NER support (with-ner target)
- Enable depends_on for db service in compose.yaml
Proto schema:
- Add SummarizationOptions message (Sprint 1)
- Add EXPORT_FORMAT_PDF enum value (Sprint 3)
- Add ExtractEntities RPC and messages (Sprint 4)
- Add Calendar RPCs and messages (Sprint 5)
- Proto regeneration script at scripts/regenerate_proto.sh
Tests:
- Add proto compilation tests verifying Sprint 0 messages
- Add feature flag tests with env var parsing
- Add migration structure and trigger tests
Documentation:
- Fix PROTO_CHANGELOG.md CalendarProvider field names
- Update COMPLETION_PLAN.md status to 100%
Client submodule updated with Sprint 0 TypeScript types.
- Updated the Summary entity to include provider and model names, along with tokens used and latency metrics for better tracking of summarization performance.
- Modified the ORM converters and repository methods to accommodate new attributes, ensuring backward compatibility.
- Introduced word timing position indexing to maintain order within summaries.
- Added a new SQLAlchemy model structure for improved organization of persistence layers, including core, identity, and integration models.
- Removed deprecated models and files to streamline the codebase.
- Updated .dockerignore to include additional cache and environment files, improving build efficiency.
- Changed the Dockerfile reference in compose.yaml to point to the new server-specific Dockerfile.
- Added `diart` as a dependency in pyproject.toml and uv.lock to support enhanced diarization features.
- Created a new server.Dockerfile for a streamlined development environment setup with necessary dependencies.