This release introduces a comprehensive assumption validation framework across all language implementations, ensuring consistent error handling when estimators receive invalid inputs.
Features
- Assumption validation framework — All estimators now validate input assumptions and throw structured errors with assumption ID (
validity,positivity,sparity) and subject (x,y) when violations occur- C#:
AssumptionViolationExceptionwithAssumptionIdenum - Go:
AssumptionErrortype withAssumptionIDandSubjectfields - Kotlin:
AssumptionViolationExceptionwithassumptionId/subjectproperties - Python:
AssumptionViolationErrorwithassumption_id/subjectproperties - R:
assumption_errorcondition class with cli_abort integration - Rust:
Result<T, AssumptionViolation>return type for all estimators - TypeScript:
AssumptionErrorclass with typedviolationproperty
- C#:
Documentation
- Add new assumptions chapter to manual documenting validity, positivity, and sparity assumptions
- Add assumption requirement tables to each toolkit function page
- Add cross-reference labels for hyperlinks between manual sections
- Fix assumptions chapter ordering (moved between algorithms and studies)
Internal
- Add shared assumption test data (
tests/assumptions/) for cross-language conformance testing - Add assumptions chapter support to web generation tooling
- Update
.gitignorewith common patterns - Add project instructions for Claude Code (
.claude/rules/project.md) - Remove obsolete
.cursorcommand files
Full Changelog: https://github.com/AndreyAkinshin/pragmastat/compare/v5.0.0...v5.1.0