RewardHarness 0.4 keeps the canonical rewardharness.* namespace introduced in
0.3 and modernizes configuration handling and interpreter support without
changing CLI commands, Library files, or result schemas.
RewardHarnessConfigis now retained throughout benchmark and evolution workflows instead of being converted back to a legacy dictionary.- Use
RewardHarnessConfig.to_dict()for schema-v2 serialization.to_legacy_dict()remains available as a compatibility alias. - Evolution dataset loading now consumes exactly
train_n + val_nrows and fails early if the configured split sizes cannot be satisfied. - Python 3.13 is supported and continuously tested alongside 3.10–3.12.
No import changes are required when upgrading from 0.3.
RewardHarness 0.3 removed the deprecated src.* compatibility namespace that
was retained throughout the 0.2 release series.
| Removed import | Canonical replacement |
|---|---|
src.endpoint_pool |
rewardharness.clients.endpoints |
src.gemini_client |
rewardharness.clients.gemini |
src.library |
rewardharness.library |
src.router |
rewardharness.evaluation.router |
src.sub_agent |
rewardharness.evaluation.engine |
src.evaluator |
rewardharness.evaluation.metrics |
src.chain_analyzer |
rewardharness.evolution.analyzer |
src.evolver |
rewardharness.evolution.evolver |
src.pipeline |
rewardharness.evolution.pipeline |
Only the module path changes. Public symbol names such as EndpointPool,
Library, Router, SubAgent, ChainAnalyzer, Evolver, and
SelfEvolutionPipeline keep their v0.2 names and behavior.
-
Replace imports using the table above.
-
Upgrade and reject pre-release caching explicitly:
python -m pip install --upgrade "rewardharness>=0.4,<0.5" -
Confirm the installed package and configuration:
rewardharness --version rewardharness validate-library rewardharness check --help
-
Search application code for remaining legacy imports:
rg '(^|\s)(from|import) src(\.|\s|$)'
Projects that cannot migrate immediately should remain pinned to
rewardharness>=0.2.2,<0.3; the 0.3 wheel intentionally does not provide a
silent compatibility alias.