Summary
The open_lot end-to-end reference results shipped in v1.0.5 fail against v1.0.5's own code for the Animal, Feed and Manure domains — including on a completely stock checkout with no local modifications. The CropAndSoil domain passes. The three failing references were last regenerated on 02-Mar-2026; every other reference in the release (all four freestall, open_lot crop_soil, all three no_animal) was regenerated on 21-Aug-2026 and passes.
Evidence
expected_results_last_updated in input/data/end_to_end_testing/*/e2e_json_*_filter.json at tag v1.0.5:
| Regenerated |
References |
END_TO_END_TESTING verdict |
| 21-Aug-2026 |
freestall animal/crop_soil/feed/manure · open_lot crop_soil · no_animal crop_soil/feed/manure |
8/8 succeeded |
| 02-Mar-2026 |
open_lot animal · open_lot feed · open_lot manure |
3/3 failed |
Reproduced three ways, identical per-domain outcome each time: stock v1.0.5 (pip install ., no modifications), v1.0.5 with our two small local patches, and v1.0.3 with the same patches. Runner: ubuntu-latest, Python 3.12, parallel_workers=1, the shipped end_to_end_testing_task.json filtered to the open_lot sub-task.
What the DeepDiff shows (stock v1.0.5 vs the March references):
- Animal — 468
values_changed, led by AnimalModuleReporter.report_daily_ration_per_pen.* and report_daily_herd_total_ration.* (e.g. 6.799272 → 6.787926, ~0.2%), plus 26 iterable_item_added / 40 iterable_item_removed in report_manure_streams.* — i.e. the set of reported manure-stream variables changed, not only their values.
- Feed — 516
values_changed in silage storage mass / dry-matter loss and purchased-feed availability (e.g. 691.58 → 692.50), downstream of the ration change.
- Manure — 225
values_changed in Storage.OpenLot.lac_open_lot.* (N₂O-N, NH₃-N, CH₄, leaching; e.g. 79.942 → 80.077) and the feed-alley scraper / parlor handlers, plus 39 added / 53 removed.
- CropAndSoil — 0 differences.
The pattern is a small, broad, systematic drift starting in the animal ration model and propagating through feed and manure — consistent with model changes landed between March and August (reproduction, animal, emissions all changed in that window) against references that were not refreshed for this scenario.
Impact
Anyone using the shipped END_TO_END_TESTING task as a release check sees open_lot as failing on an unmodified release, which makes the task unusable as a regression gate for that scenario and masks any real regression that might land there.
Ask
Regenerate the open_lot animal / feed / manure expected results from the v1.0.5 code (as was done for the other eight on 21-Aug-2026), or note in the release if open_lot is intentionally excluded from the certified set. We're happy to re-run against a refreshed reference and confirm.
Environment
RuFaS v1.0.5 tag 865ce8d; Python 3.12; ubuntu-latest; parallel_workers=1; deepdiff 8.x. Related: #3254 (a separate crash in the same release).
Summary
The
open_lotend-to-end reference results shipped in v1.0.5 fail against v1.0.5's own code for the Animal, Feed and Manure domains — including on a completely stock checkout with no local modifications. The CropAndSoil domain passes. The three failing references were last regenerated on 02-Mar-2026; every other reference in the release (all fourfreestall,open_lotcrop_soil, all threeno_animal) was regenerated on 21-Aug-2026 and passes.Evidence
expected_results_last_updatedininput/data/end_to_end_testing/*/e2e_json_*_filter.jsonat tag v1.0.5:Reproduced three ways, identical per-domain outcome each time: stock v1.0.5 (
pip install ., no modifications), v1.0.5 with our two small local patches, and v1.0.3 with the same patches. Runner: ubuntu-latest, Python 3.12,parallel_workers=1, the shippedend_to_end_testing_task.jsonfiltered to theopen_lotsub-task.What the DeepDiff shows (stock v1.0.5 vs the March references):
values_changed, led byAnimalModuleReporter.report_daily_ration_per_pen.*andreport_daily_herd_total_ration.*(e.g.6.799272 → 6.787926, ~0.2%), plus 26iterable_item_added/ 40iterable_item_removedinreport_manure_streams.*— i.e. the set of reported manure-stream variables changed, not only their values.values_changedin silage storage mass / dry-matter loss and purchased-feed availability (e.g.691.58 → 692.50), downstream of the ration change.values_changedinStorage.OpenLot.lac_open_lot.*(N₂O-N, NH₃-N, CH₄, leaching; e.g.79.942 → 80.077) and the feed-alley scraper / parlor handlers, plus 39 added / 53 removed.The pattern is a small, broad, systematic drift starting in the animal ration model and propagating through feed and manure — consistent with model changes landed between March and August (reproduction, animal, emissions all changed in that window) against references that were not refreshed for this scenario.
Impact
Anyone using the shipped
END_TO_END_TESTINGtask as a release check seesopen_lotas failing on an unmodified release, which makes the task unusable as a regression gate for that scenario and masks any real regression that might land there.Ask
Regenerate the
open_lotanimal / feed / manure expected results from the v1.0.5 code (as was done for the other eight on 21-Aug-2026), or note in the release ifopen_lotis intentionally excluded from the certified set. We're happy to re-run against a refreshed reference and confirm.Environment
RuFaS v1.0.5 tag
865ce8d; Python 3.12; ubuntu-latest;parallel_workers=1; deepdiff 8.x. Related: #3254 (a separate crash in the same release).