# Locked 2026-09-21 against Adam's answers. Employee self-service plus admin After Hours in `internal-portal`. Slack stays. Decisions: - After Hours is a primary nav item (`/shifts`, `/shifts/admin`). - Identity is roster `email` from Paychex `PUT /roster` (optional for backward compatibility; portal mapping needs it). Admin remains `get_admin_users()` Slack IDs after that lookup. - Swap and late-pickup are in-portal pending actions and still DM on Slack. - Slack App Home admin modals stay as-is. Tickets: DEV-286 (epic), DEV-287 (API), DEV-288 (portal UI).