dbvideostriketeam / wubloader

MIT License
15 stars 8 forks source link

Schedulebot should handle multi-role people more gracefully #351

Open ekimekim opened 1 year ago

ekimekim commented 1 year ago

Currently the schedule format it accepts is the schedule CSV which only has one role per (person, hour). This leaves us with no way to represent shift sup backups or wub wranglers who do their duties at the same time as something else.

We need to know these roles in order to manage zulip user groups.

Currently our solution for this is a hacky workaround where we hard-code these group memberships per shift in the config file.

We should have something nicer for next year.

ekimekim commented 1 month ago

To clarify the current situation:

The schedulebot has two functions:

  1. To post an hourly schedule for sheeters, editors, chat ops, and sup. All this data is sourced from the schedule sheet.
  2. To manage zulip groups for sheeters, editors, chat ops, sup + backup (as one group), and wub wranglers. All but the last two are sourced from the schedule sheet. The last two are hard-coded in the config.

The only things that can be done at the same time as another role are backup sups and wub wranglers.

While it would be nice not to have to hard-code these, it's not vital and is annoying to change the schedule sheet itself to provide this info. So we're going to punt on this for now.

chrusher commented 1 month ago

Are wubloader wranglers considered non standard humans enough to not be included in the hourly schedule? Admittedly it is usually only other non-standard humans and the shift supers who need to know who is wrangling.

ekimekim commented 1 month ago

Yes, they aren't in the hourly schedule. Though tbh that's as much because they're not in the schedule doc as anything else. And yeah it's not normally vital for everyone to know about.

chrusher commented 1 month ago

Not sure it should be its own issue or not, or whether it is an operations question, but groups, including hard coded ones, should be depopulated after the run.