- Added bind mount for .venv directory in devcontainer to persist Python virtual environment across container rebuilds
- Enabled updateRemoteUserUID for proper file permissions in devcontainer
- Normalized peer dependency flags in package-lock.json (removed inconsistent "peer": true from core dependencies, added to test-only dependencies)
- Added empty codex file placeholder
- Created comprehensive
- Moved sprint-15-platform-hardening (README.md, RESILIENCE_TEST_PLAN.md) to docs/sprints/.archive
- Moved sprint-16-identity-foundation (README.md) to docs/sprints/.archive
- Moved sprint-17-custom-oauth (README.md) to docs/sprints/.archive
- Moved sprint-18-projects (README.md, CLOSEOUT.md) to docs/sprints/.archive
- 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 client submodule to commit 3748f0b.
- Added logging standards to `docs/observability.md` to improve error handling and operational transparency.
- Marked implementation checklist items as complete in `README.md` and `IMPLEMENTATION_CHECKLIST.md` for sprint GAP-012.
- Updated client submodule to commit 87642fa.
- Adjusted basedpyright linting configuration, downgrading version to 1.36.1 and reducing analysis time from 13.105s to 11.303s.
- Added new documentation files for ongoing sprints addressing wiring gaps and error observability audits.
- Updated basedpyright linting results (705 files analyzed, analysis time reduced from 22.928s to 13.105s).
- Updated biome linting artifact with warning about unnecessary hook dependency (preferencesVersion) in MeetingDetail.tsx.
- Enabled frontend-design, serena, typescript-lsp, playwright, pyright-lsp, and rust-analyzer-lsp plugins in Claude settings for enhanced development capabilities.
- Updated client submodule to latest commit.
- Added comprehensive documentation for SPRINT-GAP-012 addressing state synchronization and observability gaps, including detailed implementation checklist covering server address timing fixes, OAuth state consistency improvements
- Updated the client submodule to the latest commit for improved features and stability.
- Introduced new linter configuration files to block modifications to critical frontend and Python linter settings, ensuring project integrity.
- Enhanced documentation for quality checks and baseline editing warnings to maintain code quality standards.
- 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.
- Updated the client submodule to the latest commit for improved features and bug fixes.
- Added detailed documentation for the post-processing pipeline, including implementation checklists, testing strategies, and identified gaps in the current workflow.
- Introduced new files for tracking the implementation of automatic post-processing features, enhancing user experience and system efficiency.
- 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.
- 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.
- Refactored audio capture and playback components to improve handling of the optional `sounddevice` module, allowing for better compatibility in environments lacking PortAudio.
- Introduced a new `sounddevice_support.py` module to centralize the management of sounddevice interactions and error handling.
- Updated the `SoundDeviceCapture` and `SoundDevicePlayback` classes to utilize the new support module, ensuring consistent stream management and error logging.
- Improved the `generate_dek` method in the crypto module to enforce key size validation, enhancing security and reliability.
- Enhanced the key file existence check in the keystore to include validation of the key content, improving robustness against invalid key files.
- Revised the Tauri command flow to ensure a gRPC connection is established before starting the recording, addressing issues with silent failures and missing backend logs.
- Enhanced logging across various components, including network calls, state transitions, and error handling, to provide better visibility into operations and facilitate debugging.
- Updated documentation to reflect changes and clarify the connection requirements between the frontend and backend systems.
- 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.
- 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.
- 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.
- Renamed the PostgreSQL service to 'db' for clarity in the docker-compose file.
- Updated the database connection URL to reflect the new service name.
- Added 'extra_hosts' configuration to facilitate communication with the host from within the containers.
- Introduced logging enhancements in the Ollama provider to improve visibility during configuration loading and client creation.
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.
- Updated client submodule reference to the latest commit.
- Revised project management documentation to reflect changes in project roles, settings, and rule inheritance.
- Enhanced roadmap and sprint documentation with detailed objectives and deliverables for upcoming sprints.
- Improved clarity on project scoping and dependencies in the context of workspace management.
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.
- Introduced identity management features, including user and workspace context handling.
- Added `IdentityService` for orchestrating user identity and workspace management.
- Created domain entities and repository protocols for `User` and `Workspace`.
- Implemented SQLAlchemy repositories for user and workspace persistence.
- Enhanced gRPC interceptors to propagate identity context across RPC calls.
- Updated application services to integrate identity management into existing workflows.
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 the latest commit.
- Refactored calendar settings to distinguish between integration and trigger settings, renaming `CalendarSettings` to `CalendarIntegrationSettings` and introducing `CalendarTriggerSettings`.
- Enhanced asset deletion logic in `MeetingService` to utilize the correct asset path.
- Updated tests to reflect changes in calendar settings and asset management.
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.
- Added behavioral tests for OAuth integration in `tests/grpc/test_oauth.py` and frontend in `use-oauth-flow.test.ts`, ensuring 19 tests for each.
- Updated Sprint 11 documentation to reflect 100% verification of trigger infrastructure with 108 passing tests across various components.
- Clarified implementation status in the roadmap, confirming all trigger-related tests and quality gates are passing.
- Improved documentation for behavioral test specifications and quality gates in Sprint 10 and Sprint 11 READMEs.