fn bucket_key(
project: &str,
task_id: Option<&TaskId>,
subject: Option<&str>,
rung: ChaseRung,
) -> StringExpand description
The key prefix every firing of one (project, row, rung, subject) shares: keys sort by it first, so its rows are one contiguous run and its newest firing is its last.