Skip to content

Improve discovery #23

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open

Improve discovery #23

wants to merge 8 commits into from

Conversation

SimplicityGuy
Copy link
Owner

No description provided.

SimplicityGuy and others added 8 commits July 18, 2025 19:23
…sive documentation

- Add Redis caching infrastructure with decorator-based async caching
- Implement interactive Discovery Playground with D3.js graph visualization
- Add comprehensive API endpoints for search, graph exploration, music journeys, trends, and heatmaps
- Create responsive frontend with Bootstrap 5 and D3.js visualizations
- Include detailed documentation and practical examples
- Update architecture diagram and service URLs in README

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
…r tests

- Add comprehensive Redis cache unit tests covering CacheManager class
  and @cached decorator functionality with proper async mock configuration
- Create robust HealthServer tests for lifecycle management and health
  check functionality
- Fix discovery service test imports by mocking cache_manager dependencies
- Add Redis dependency to project and test environment configuration
- Improve overall test coverage from ~49% to 57%+ in core modules

Test additions:
- tests/discovery/test_cache_unit.py: 18 cache tests with error handling
- tests/test_health_server.py: 8 health server tests (rewritten)
- Enhanced discovery test fixtures to prevent config execution issues

Coverage improvements:
- common/config.py: 88-92% coverage
- common/health_server.py: 80% coverage
- extractor/discogs.py: 68% coverage
- Fixed async mocking patterns for aioredis integration

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- Add return type annotation for async generator in test_cache_unit.py
- Fix fixture return type to use Generator[None] in conftest.py
- Update imports to use collections.abc for Python 3.13+ compatibility
- Fix indentation issues in test_health_server.py

All pre-commit hooks now pass successfully.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- Add redis to expected services list in docker-compose validation
- Update dashboard and discovery dependency checks to include redis
- Both services now correctly depend on redis for caching functionality

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- Remove three iOS-specific Pillow wheel entries that caused parsing errors
- iOS wheels (ios_13_0_arm64_iphoneos, ios_13_0_arm64_iphonesimulator,
  ios_13_0_x86_64_iphonesimulator) are not compatible with Linux containers
- Add remove-ios-wheels.sh script to detect and remove iOS wheels in future
- Docker builds now work correctly without platform tag errors

The issue occurred because uv included iOS-specific wheels when the lock file
was generated on macOS with iOS platform support. These wheels cannot be parsed
in Linux Docker containers.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- Add GitHub Actions workflow to check for iOS wheels in PRs and pushes
- Create update-dependencies.sh script that uses Docker to generate Linux-only wheels
- Add pre-commit hook to catch iOS wheels before commits
- Document the issue and prevention strategies in CLAUDE.md

Prevention strategies:
1. CI/CD: Automated checks fail builds if iOS wheels are detected
2. Development: Scripts to safely update dependencies and remove iOS wheels
3. Pre-commit: Local checks prevent committing iOS wheels
4. Documentation: Clear guidance on the issue and solutions

This ensures Docker builds never fail due to iOS-specific wheel compatibility issues.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
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.

1 participant