Skip to content

Output formatting#84

Draft
hmgaudecker wants to merge 40 commits intomainfrom
output-formatting
Draft

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

Conversation

@hmgaudecker
Copy link
Member

Improve output formatting.

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 63.41463% with 75 lines in your changes missing coverage. Please review.
✅ Project coverage is 89.75%. Comparing base (fd70d45) to head (f3ffdec).

Files with missing lines Patch % Lines
src/skillmodels/diagnostic_plots.py 18.96% 47 Missing ⚠️
src/skillmodels/visualize_transition_equations.py 79.66% 12 Missing ⚠️
src/skillmodels/simulate_data.py 10.00% 9 Missing ⚠️
src/skillmodels/process_debug_data.py 42.85% 4 Missing ⚠️
src/skillmodels/variance_decomposition.py 91.42% 3 Missing ⚠️

❌ Your patch check has failed because the patch coverage (63.41%) is below the target coverage (80.00%). You can increase the patch coverage or adjust the target coverage.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #84      +/-   ##
==========================================
- Coverage   91.09%   89.75%   -1.35%     
==========================================
  Files          47       50       +3     
  Lines        3987     4168     +181     
==========================================
+ Hits         3632     3741     +109     
- Misses        355      427      +72     

☔ 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
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