Two CI bugs surfaced after PR #9466 deleted the streaming worker:
1. The shell command's -refresh loop never fires. runPass used the
outer ctx (full -runtime), so dailyrun.Run blocked for the entire
1800s s3tests window — the background worker only ran one pass
and never re-loaded configs that tests created mid-run.
test_lifecycle_expiration sees 6 objects when expecting 4 because
expire1/* never reaches the worker's snapshot. Cap each pass to
cadence+5s when cadence>0; one-shot (cadence=0) keeps the full ctx.
2. TestLifecycleExpiredDeleteMarkerCleanup's docstring says
"pass 1 cleans v1; pass 2 removes the now-orphaned marker," but
runLifecycleShard invoked with no -refresh — only one pass ran.
The marker rule can't fire in the same pass that dispatches v1's
delete because v1 is still in .versions/. Add -refresh 1s so the
10s runtime gets multiple passes.