Skip to content

Output formatting#84

Open
hmgaudecker wants to merge 54 commits intomainfrom
output-formatting
Open

Output formatting#84
hmgaudecker wants to merge 54 commits intomainfrom
output-formatting

Conversation

@hmgaudecker
Copy link
Member

@hmgaudecker hmgaudecker commented Feb 15, 2026

  • Add diagnostic_plots module for model diagnostics
  • Add variance_decomposition module for decomposing measurement variance
  • Improve visualize_transition_equations; allow passing states directly to get_transition_plots
  • Increase test coverage to close to 100% (new tests for 13 modules)
  • Bump to dags 0.5.1, pandas 3.0 compatibility; stricter ruff rules

hmgaudecker and others added 30 commits January 8, 2026 18:53
Introduce strongly-typed dataclasses for model configuration:
- Dimensions, Labels, Anchoring, EstimationOptions, TransitionInfo
- FactorEndogenousInfo, EndogenousFactorsInfo

This improves type safety and enables IDE autocompletion while keeping
user-facing model_dict as a plain dictionary.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace dict fields with frozendict in frozen dataclasses to ensure
true immutability:
- Labels.aug_periods_to_periods
- Labels.aug_stages_to_stages
- Anchoring.outcomes
- TransitionInfo.param_names, individual_functions, function_names
- EndogenousFactorsInfo.aug_periods_to_aug_period_meas_types, factor_info

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Update process_model() to return a ProcessedModel frozen dataclass
and update all consumers to use attribute access instead of dict access.

This provides:
- Better type safety with explicit typed fields
- Immutability via frozen dataclass
- IDE autocomplete support
- Clear documentation of the model structure

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…c so that config.TEST_DATA_DIR is valid also for skillmodels the package (as opposed to the project).
The filtered_states DataFrame and params index both use aug_period as the
period identifier, not period. This fixes KeyError when calling
decompose_measurement_variance.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
debug_loglike already returns processed debug data (it calls
process_debug_data internally). Remove the redundant second call
to process_debug_data which was causing AttributeError when trying
to iterate over already-processed DataFrames.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@codecov
Copy link

codecov bot commented Feb 15, 2026

Codecov Report

❌ Patch coverage is 96.32107% with 33 lines in your changes missing coverage. Please review.
✅ Project coverage is 97.28%. Comparing base (fd70d45) to head (67d7b44).

Files with missing lines Patch % Lines
src/skillmodels/visualize_transition_equations.py 76.81% 16 Missing ⚠️
src/skillmodels/visualize_factor_distributions.py 0.00% 7 Missing ⚠️
src/skillmodels/variance_decomposition.py 86.84% 5 Missing ⚠️
src/skillmodels/process_debug_data.py 80.00% 2 Missing ⚠️
tests/conftest.py 91.66% 2 Missing ⚠️
src/skillmodels/utilities.py 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #84      +/-   ##
==========================================
+ Coverage   91.09%   97.28%   +6.19%     
==========================================
  Files          47       57      +10     
  Lines        3987     4796     +809     
==========================================
+ Hits         3632     4666    +1034     
+ Misses        355      130     -225     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Base automatically changed from strong-typing to main March 9, 2026 07:15
@hmgaudecker hmgaudecker marked this pull request as ready for review March 15, 2026 15:46
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