This repository was archived by the owner on Sep 28, 2025. It is now read-only.
Repository navigation
v0.3.0 - Aggregation Testing & GitHub Actions Fix
v0.3.0 - Aggregation Testing & GitHub Actions Fix
🐛 Bug Fixes
- Fixed GitHub Actions aggregation error: Resolved "'dict' object has no attribute 'total_runs'" error in reporting pipeline
- Improved msgspec type loading: All
msgspec.json.decode()calls now specify proper type parameters - Fixed enum object preservation: Framework and DocumentCategory enums are now correctly maintained during serialization/deserialization
🧪 Testing Improvements
- Added comprehensive integration tests covering the full aggregation-to-reporting pipeline
- CLI report generation testing from aggregated files on disk
- msgspec type loading consistency validation to prevent regression
- GitHub Actions scenario coverage for the exact failure case
🔄 Files Updated
src/cli.py- Fixed aggregated results loading with proper type specificationsrc/aggregate.py- Fixed benchmark results loading with type specificationsrc/quality_assessment.py- Fixed benchmark results loading with type specificationsrc/visualize.py- Fixed aggregated results loading with type specification.github/workflows/deploy-pages.yml- Fixed aggregated results loading with proper msgspec usagetests/aggregation_test.py- New comprehensive test suite (12 tests)tests/conftest.py- Test configuration
🎯 What This Fixes
The aggregation step in GitHub Actions was failing because:
- Root Cause:
msgspec.json.decode()without type specification returns plain Python dictionaries - Error Chain: Aggregation → Save → Load (as dict) → Report generation (expects AggregatedResults object) → AttributeError
- Solution: All decode operations now use
type=AggregatedResultsortype=list[BenchmarkResult]as appropriate
⚡ Performance Impact
- No performance degradation - msgspec with type specification is equally fast
- Better type safety and validation during JSON loading
- Prevents silent data corruption issues
This release ensures the full benchmark automation pipeline works reliably in GitHub Actions.
🤖 Generated with Claude Code
Co-Authored-By: Claude noreply@anthropic.com