65d23cb25d
transfers_mark gains an explicit dir kwarg; push_batch (sole caller) passes dir=subdir so marking is precise. failed_names keys status_by by (dir, name) instead of name alone, so a podcast and a routine asset with the same basename are tracked as two distinct records. Adds test_failed_names_disambiguation_by_dir covering this case.