Added compatibility contracts that detect removal or incompatible changes to the
documented public API and verify that protected endpoints remain in the generated
reference documentation.
Verified optional torch.compile use across training, validation, testing,
prediction, automatic metrics, optimizer parameters, and checkpoint restoration.
Added strict-by-default metric lifecycle errors with the optional
metric_error_policy="warn" policy, protected runtime configuration from mutation
inside events, and made missing monitored metrics fail consistently.
Added TerminateOnNonFinite for selected loss and metric checks before unsafe
training operations and across evaluation phase results.
Added Event.ON_EXCEPTION for escaping workflow failures and failure-aware
experiment-tracker cleanup without final model artifact logging.
Introduced schema-version-3 checkpoints with Python, PyTorch CPU, available CUDA
and MPS, optional NumPy, and DataLoader generator RNG state while retaining schema
1 and 2 loading.
Made full and raw-model checkpoint restoration transactional, with complete
callback-state preflight, component rollback, and preservation of the original
load failure.
Clarified scalar batch-mean loss aggregation, DataPack generator behavior, and the
optional compile-before-Battery usage order in
PR #24.
Added Battery.fit() for training with optional per-epoch validation and
Battery.validate() for a required, optimizer-free standalone validation pass.
Added the public FitResult and ValidationResult contracts.
Retained validation through Battery.train() for compatibility while deprecating
its val_loader parameter and TrainResult.val_loss/val_metrics fields. The
compatibility path now logs and emits a deprecation warning only when validation
actually runs.
Unified charged-method discovery and dispatch behind shared handler infrastructure
while keeping the full public EventHandler and DataPackHandler APIs documented.
Split production classes, protocols, enums, and helper functions into focused
modules and natural data-types, event-core, trainer-types, progress-types, W&B,
logging, and metrics packages without changing existing public import paths.
Split Battery checkpointing, training, evaluation, prediction, and shared workflow
state into focused private modules while retaining checkpoint compatibility; made
@charge stackable with deterministic duplicate and competing-handler validation.
Updated guides, API references, executable documentation examples, and all seven
notebooks for fit(), standalone validation, result contracts, canonical
phase="validation", and the reorganized public API.
Aligned exception ownership, built-in error types, module-qualified logging,
lifecycle diagnostics, docstring coverage, and notebook-focused CI validation in
PR #23.
Renamed callback metric-monitoring configuration from stage to phase in
EarlyStopping, ModelCheckpoint, and LearningRateScheduler. The deprecated
stage= keyword remains available as a compatibility alias.
Added event-driven DataPack workflows for reusable dataset and DataLoader
construction across training, testing, and prediction while preserving the direct
DataLoader API.
Added validated phase-aware DataLoaderConfig materialization, deterministic
opt-in generators, guaranteed teardown, and DataPack state in schema-version-2
checkpoints with schema-version-1 compatibility.
Added context-managed DataPack.resolve() for constructing and inspecting datasets
and DataLoaders without a Battery, backed by the same lifecycle resolver used by
implicit Battery workflows.
Added the DataPack guide and API reference, converted the MNIST notebook to the
implicit DataPack workflow, and retained direct DataLoader coverage in the
function-fitting notebook in
PR #22.
Replaced pdoc with a structured MkDocs Material site, clarified public contracts,
updated all example notebooks, and added metadata-free static documentation and
notebook validation, and adopted the Apache License 2.0 without changing runtime
API behavior in
PR #21.
Introduced the explicit StepOutput contract and hardened workflow validation,
callback snapshots, checkpoint storage, logging, and regression coverage in
PR #19.
Expanded the image-classification notebook and example dependency set in
PR #12.
Subsequent repository maintenance at version 0.5.2 refined dependency groups,
workflow triggers, and release automation in
PR #15, updated contributor
guidance in PR #13, and added
a documentation badge in
PR #16.
Introduced Battery, event charging and dispatch, workflow result types, automatic
device and batch handling, progress reporting, package typing, and the first
end-to-end example in
PR #4.