1.4.0
Highlights
Curriculum mixed-phase streaming now honors review mixing policy, exercise abstractions are consolidated, and test coverage reaches ~94% (305 tests). This release also removes publish_to: none to prepare for pub.dev.
Added
CurriculumPhaseDataset—CurriculumDataset.mixed()now interleaves review entries viaDataset.stream/batchesExerciseMetadataKeys,ExerciseCatalog,CatalogExerciseGeneratorshared exercise abstractionsDatasetStoreCapabilitiesextension (configureBulkInsertIfSupported,listDistinctMetadataValues)CurriculumLifecycle.stageStats()for per-stage entry countsdoc/ARCHITECTURE.md,CONTRIBUTING.md,test/fixtures/for CI/tests- Query, lifecycle, mixed-phase, exception, and codec validation tests
Changed
CurriculumBuilder.failIfVersionExistsdefaults totrue(aligned withDatasetPipeline)- Public exports deduplicated in
lib/llm_dataset.dart(exercise modules viacurriculum_api.dartonly) - Metadata keys consolidated under
ExerciseMetadataKeys/TextExerciseMetadata - Tests load curriculum and phrase templates from
test/fixtures/
Fixed
CurriculumDataset.mixed()no longer ignores manifest review mixing policy
Full changelog: https://github.com/OmnyGrid/llm_dataset/blob/v1.4.0/CHANGELOG.md