Document validators module with Check protocol, metric validators, constraint validators, composite validators, and factory functions.
29 lines
1.5 KiB
Markdown
29 lines
1.5 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to Veritext will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [Unreleased]
|
|
|
|
### Added
|
|
|
|
- Project scaffold with pyproject.toml and development tooling
|
|
- Core exception hierarchy (`VeritextError` and subclasses)
|
|
- Core types: `ValidationContext`, `CheckResult`, `ValidationResult`
|
|
- Word tokeniser with Unicode normalisation support
|
|
- Configuration module with pydantic-settings
|
|
- Structured logging with structlog
|
|
- Metrics module with `Metric` protocol, `AggregateStats`, and `BatchResult` types
|
|
- BLEU metric implementation (BLEU-1 through BLEU-4 with brevity penalty)
|
|
- Lexical similarity metric (Jaccard similarity and token overlap)
|
|
- ROUGE metric (ROUGE-1, ROUGE-2, ROUGE-L with precision/recall/F-measure)
|
|
- Flesch-Kincaid readability metrics (grade level and reading ease)
|
|
- Batch scoring with aggregate statistics for all metrics
|
|
- Validators module with `Check` protocol for validation checks
|
|
- Metric-based validators: `BleuValidator`, `RougeValidator`, `LexicalValidator`
|
|
- Constraint validators: `LengthValidator`, `ReadabilityValidator`, `ContainsValidator`, `ExcludesValidator`
|
|
- Composite validators: `AllOf` (all checks must pass), `AnyOf` (any check must pass)
|
|
- Factory functions for clean validator API (`bleu()`, `rouge()`, `lexical()`, `length()`, `readability()`, `contains()`, `excludes()`, `all_of()`, `any_of()`)
|