- 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
- Introduced logging for CRUD operations in repositories to enhance visibility into database interactions.
- Implemented timing logs for BaseRepository and UnitOfWork lifecycle events to track performance.
- Added export logging for size and duration without exposing sensitive content.
- Promoted logging levels for specific operations to improve clarity and reduce noise in logs.
- Established a framework for consistent logging practices across persistence and export functionalities.
- Updated the client submodule reference to the latest commit for improved functionality and integration.
- Refactored test assertions for clarity and consistency across multiple test files.
- Enhanced the handling of device availability checks in audio capture tests.
- Updated the client submodule to the latest commit for improved features and stability.
- Enhanced logging capabilities by introducing a new LogEntry structure, including trace context and semantic event types for better observability.
- Updated gRPC proto definitions to accommodate new logging fields, ensuring comprehensive logging data is captured.
- Improved the observability mixin to utilize the new log entry structure, streamlining log retrieval and formatting.
- Updated the client submodule to the latest commit for enhanced features and stability.
- Cleared previous linting errors, resulting in zero errors and warnings in the linting reports.
- Added a new documentation file outlining cross-stack wiring gaps and implementation checklists for gRPC RPCs.
- Changed the types-grpcio dependency from `>=1.0.0.20251009` to `==1.0.0.20251001` in `pyproject.toml` and `uv.lock` for consistency.
- Enhanced the meeting filtering logic in the `MeetingStore` and related classes to support filtering by multiple project IDs, improving query flexibility.
- Updated the gRPC proto definitions to include a new `project_ids` field for the `ListMeetingsRequest` message, allowing for more granular project filtering.
- Adjusted related repository and mixin classes to accommodate the new filtering capabilities.
- Introduced `IdentityMixin` to manage user identity operations, including `GetCurrentUser`, `ListWorkspaces`, and `SwitchWorkspace`.
- Added corresponding gRPC methods and message definitions in the proto file for identity management.
- Enhanced `AuthService` to support user authentication and token management.
- Updated `OAuthManager` to include rate limiting for authentication attempts and improved error handling.
- Implemented unit tests for the new identity management features to ensure functionality and reliability.
- Adjusted linting settings in `basedpyright.lint.json` to improve performance metrics.
- Updated `biome.json` to reflect changes in the number of unchanged files.
- Removed outdated sprint documentation files and added new plans for logging centralization and quality suite hardening.
- Enhanced logging functionality across various services to improve observability and error tracking.
- Introduced new test cases for gRPC interceptors and observability mixins to ensure robust error handling and logging.
- Updated server address handling to ensure consistent defaults across the codebase, with Python backend binding to `0.0.0.0` and Rust/TypeScript clients using `127.0.0.1`.
- Introduced a new test suite to validate synchronization of server address constants across different languages.
- Enhanced gRPC server configuration to include a bind address setting, improving flexibility in deployment scenarios.
- Removed deprecated methods and streamlined state management for streaming sessions, ensuring better resource handling and cleanup.
- Modified the `complete_oauth` method in `CalendarService` to return a UUID instead of a boolean, providing the server-assigned integration ID for sync operations.
- Updated the `CompleteOAuthResponse` message in the gRPC proto definition to include the new `integration_id` field.
- Adjusted tests to validate the integration ID returned from the OAuth flow, ensuring proper handling in the service and response.
- Updated the Docker Compose configuration to bind the service to all interfaces on port 50051 for improved accessibility.
- Updated the client submodule to the latest commit for compatibility improvements.
- Introduced new linting configurations for Basedpyright and ESLint to enhance code quality checks.
- Added a new JSON file for Basedpyright linting results, indicating no errors or warnings.
- Updated existing JSON files to reflect the latest quality checks and diagnostics.
- Enhanced documentation for sprint gaps to summarize completion and resolved issues.
All quality checks pass.
- Updated various gRPC mixins and repositories to enhance type handling by directly using appropriate types instead of wrapping them in proto types.
- Introduced utility functions for type conversion in the base repository to streamline code and improve readability.
- Refactored tests to utilize typed protocol definitions for gRPC messages, enhancing type safety and clarity in test cases.
- Cleaned up unnecessary method type stubs in mock classes to reduce clutter and improve maintainability.
All quality checks pass.
- Added GetUserIntegrations RPC to facilitate integration cache validation, allowing clients to retrieve all integrations for the current user/workspace.
- Implemented list_all method in integration repositories to return all integrations, improving data access.
- Updated error handling to ensure proper NOT_FOUND status for non-existent integrations.
- Enhanced test coverage for new functionality, ensuring robust validation of integration retrieval and error scenarios.
All quality checks pass.
- Updated the client submodule to the latest commit for improved compatibility.
- Adjusted logging configuration in tests to utilize a more consistent format.
- Enhanced test assertions for clarity by removing unnecessary messages and ensuring consistency across various test files.
All quality checks pass.
- Updated the client submodule to the latest commit for enhanced compatibility.
- Refactored HTML export logic to utilize a dedicated function for building HTML documents, improving code clarity and maintainability.
- Enhanced test assertions across various files to include descriptive messages, aiding in debugging and understanding test failures.
All quality checks pass.
- Updated the client submodule to the latest commit for improved compatibility.
- Enhanced test assertions across various files to include descriptive messages, improving clarity and maintainability.
- Refactored tests to ensure all assertions provide context for expected outcomes, aiding in debugging.
All quality checks pass.
- Updated assertions in various test files to include descriptive messages, improving readability and maintainability.
- Ensured that all assertions provide context for expected outcomes, aiding in debugging and understanding test failures.
- Refactored tests across multiple modules, including annotation, consent, and summarization, to enhance overall test quality.
All quality checks pass.
- Updated the client submodule to the latest commit for improved compatibility.
- Added new logging settings to the configuration, allowing for customizable log levels and formats.
- Enhanced the docker-compose file by introducing a new environment variable for log format.
- Improved logging setup in the gRPC server to utilize the new configuration.
All quality checks pass.
- Added new logging configuration to improve observability across various services.
- Introduced a `.repomixignore` file to exclude unnecessary files from version control.
- Updated `pyproject.toml` to include additional paths for script discovery.
- Refreshed submodule references for the client to ensure compatibility with recent changes.
All quality checks pass.
- Updated client submodule to the latest commit for improved integration.
- Added `types-psutil` as a dependency in `pyproject.toml` to support type checking for the `psutil` library.
- Enhanced observability by refining the `UsageEventSink` interface to include additional attributes for better event tracking.
- Improved project management documentation to reflect recent changes in project roles and settings.
All quality checks pass.
- Introduced OIDC provider management capabilities, including registration, retrieval, updating, and deletion of providers.
- Added support for OIDC discovery, allowing dynamic fetching of provider configurations from `.well-known/openid-configuration` endpoints.
- Created domain entities for OIDC configuration, including `ClaimMapping`, `OidcProviderConfig`, and presets for common identity providers.
- Implemented gRPC endpoints for OIDC provider management and discovery operations.
- Enhanced tests for OIDC domain entities and gRPC mixins to ensure comprehensive coverage.
All quality checks pass.
- Added observability support with OpenTelemetry integration, including usage event tracking and logging enhancements.
- Introduced new `UsageEvent` and `UsageEventSink` abstractions for analytics and billing.
- Implemented `BufferedDatabaseUsageEventSink` for efficient event storage and retrieval.
- Enhanced error handling with a centralized domain error taxonomy, improving consistency across the application.
- Updated dependencies in `pyproject.toml` to include OpenTelemetry packages.
All quality checks pass.
- Added `rich` library as a dependency for improved console output formatting.
- Updated `pyproject.toml` and `uv.lock` to include the new dependency.
- Enhanced logging in various services to provide clearer error handling and status updates.
All quality checks pass.
- Updated client submodule reference to indicate a dirty state.
- Refactored gRPC server initialization to streamline service creation, including calendar and NER services.
- Enhanced logging and comments for clarity on service setup and configuration.
- Removed unused imports and commented-out code to improve code cleanliness.
All quality checks pass.
- Introduced `pytest-benchmark` dependency for performance testing of critical code paths.
- Added a new `PartialAudioBuffer` class to optimize audio chunk handling, reducing memory allocations and improving efficiency.
- Implemented benchmark tests for audio processing, validating performance improvements and establishing baselines.
- Enhanced the `Segmenter` class to utilize cached sample counts for faster duration calculations.
- Updated gRPC service to leverage consolidated streaming state, reducing multiple dictionary lookups to a single access.
All quality checks pass.
- Mark cancelled diarization jobs as failed during servicer shutdown to ensure proper state management.
- Increase timeout for audio flush thread shutdown to 3 seconds for graceful resource cleanup.
- Explicitly release pipeline references in diarization sessions to facilitate garbage collection and GPU memory release.
- Enhance webhook executor to include timeout handling during HTTP client closure, preventing hangs on slow connections.
- Introduce a memory-based servicer fixture for faster unit testing of concurrency and state management.
All quality checks pass.
- Introduced `UsageEventSink` interface for capturing application-layer usage events.
- Updated `OtelUsageEventSink` to attach span events and emit usage events from application services.
- Enhanced logging by injecting `trace_id` and `span_id` into LogBuffer entries.
- Implemented metadata persistence for `Summary.tokens_used` and `Summary.latency_ms` before saving.
- Updated documentation to reflect changes in observability components and planned features for Sprint 15.
All quality checks pass.
- Introduced a new `AssetRepository` interface for managing binary assets, including a `FileSystemAssetRepository` implementation for deleting meeting assets.
- Updated the `RetentionService` and `MeetingService` to utilize the new asset management functionality, ensuring proper cleanup of associated assets during meeting deletions.
- Added versioning to the `Meeting` entity to handle concurrent modifications.
- Updated unit and integration tests to cover new asset management features and ensure robust functionality.
All quality checks pass.