refactor: code simplification and v0.21.0 release #14
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Major refactoring to reduce code duplication and improve maintainability. Net reduction of ~800 lines while maintaining 95% test coverage.
Breaking Changes
HeadlineListItemmerged intoHeadlineDetails(type alias maintained for backward compatibility)Changes
Models
OptionalDatetimeandOptionalFloatannotated types using Pydantic'sBeforeValidatorparse_optional_datetimevalidatorsOperations Architecture
_transformsuffix naming (goals_transform.py, etc.)create_manymethods using generic helpersraise_for_status()__init__methods from async operationsDocumentation
Commits
refactor(models): consolidate validators and merge identical modelsrefactor(mixins): add transformation mixins with _transform suffixrefactor(utils): add generic bulk operations helpersrefactor(operations): simplify using mixins and bulk helperstest: update tests for refactored error handlingdocs: update documentation for v0.21.0 refactoringchore: bump version to 0.21.0Test plan
🤖 Generated with Claude Code