From a392433291e3ac25adddc5c2c129e54709bb45d3 Mon Sep 17 00:00:00 2001 From: Adam Moussa Date: Thu, 2 Jul 2026 16:17:52 -0400 Subject: [PATCH] [#136] Add admin UI evaluation spike doc --- docs/admin-ui-evaluation.md | 200 ++++++++++++++++++++++++++++++++++++ 1 file changed, 200 insertions(+) create mode 100644 docs/admin-ui-evaluation.md diff --git a/docs/admin-ui-evaluation.md b/docs/admin-ui-evaluation.md new file mode 100644 index 0000000..a08f334 --- /dev/null +++ b/docs/admin-ui-evaluation.md @@ -0,0 +1,200 @@ +# Evaluation: admin web UI vs. clarifying/expanding in-Slack admin commands + +_Spike for issue #136 — decide how to make administration easier: a separate +**admin web UI**, or **clarifying/expanding the in-Slack admin commands** (Block +Kit modals + an App Home admin section). This document records the options, a +recommendation, and the scope of the follow-up build. It is a "decide and +recommend" spike — no admin-surface code ships in this PR. The route is left for +sign-off (see "Decision needed" at the end)._ + +## Current admin surface + +Every admin action is a positional-text subcommand of `/oncall admin …`, +authorized by `is_admin = user_id in schedule.get_admin_users()` +(`src/shared/shared/schedule.py`, `get_admin_users`) and handled in +`_handle_admin()` / `_handle_admin_holiday()` (`src/slack-bot/app.py`): + +- `admin override [day|night]` — assign a shift +- `admin open [day|night]` — mark a shift open +- `admin clear [day|night]` — remove an override (revert to weekly) +- `admin roster add|remove|rename [name]` +- `admin holiday add [x]