MUTATION in /mnt/5_hdd/felhom.eu/git/felhom-controller/controller/internal/stacks/update.go:
  - return !p.ProvenAt.IsZero() && now.Sub(p.ProvenAt) <= maxAge
  + return !p.ProvenAt.IsZero() && (p.Tier != UpdateTierSecondDrive || now.Sub(p.ProvenAt) <= maxAge)

=== RUN   TestR475_M_TheAgeRuleAppliesToTheChosenTier
=== RUN   TestR475_M_TheAgeRuleAppliesToTheChosenTier/control:_a_stale_second-drive_copy_is_backed_up_first
=== RUN   TestR475_M_TheAgeRuleAppliesToTheChosenTier/a_stale_own_unit_is_backed_up_first
    update_tiers_test.go:150: backed up first = false, want true (calls [CanBackUp RestorePoints SafetyDump HoldAfterFailedUpdate])
    update_tiers_test.go:156: the chosen copy is 30h0m0s old — past the age limit
=== RUN   TestR475_M_TheAgeRuleAppliesToTheChosenTier/a_stale_off-site_copy_is_backed_up_first
    update_tiers_test.go:150: backed up first = false, want true (calls [CanBackUp RestorePoints SafetyDump HoldAfterFailedUpdate])
    update_tiers_test.go:153: the chosen copy is tier 3, want 1 (hold {Tier:3 ProvenAt:2026-09-12 04:00:00 +0000 UTC}, err "HELD-SENTENCE")
    update_tiers_test.go:156: the chosen copy is 30h0m0s old — past the age limit
=== RUN   TestR475_M_TheAgeRuleAppliesToTheChosenTier/a_stale_second_drive_does_not_block_a_fresh_own_unit
--- FAIL: TestR475_M_TheAgeRuleAppliesToTheChosenTier (0.02s)
    --- PASS: TestR475_M_TheAgeRuleAppliesToTheChosenTier/control:_a_stale_second-drive_copy_is_backed_up_first (0.01s)
    --- FAIL: TestR475_M_TheAgeRuleAppliesToTheChosenTier/a_stale_own_unit_is_backed_up_first (0.01s)
    --- FAIL: TestR475_M_TheAgeRuleAppliesToTheChosenTier/a_stale_off-site_copy_is_backed_up_first (0.01s)
    --- PASS: TestR475_M_TheAgeRuleAppliesToTheChosenTier/a_stale_second_drive_does_not_block_a_fresh_own_unit (0.01s)
FAIL
FAIL	gitea.dooplex.hu/admin/felhom-controller/internal/stacks	0.032s
FAIL
exit=1
