User Story
As a guild owner or guild admin, I need a Station Bot dashboard portlet that tells me whether the Discord bot is installed and healthy for my guild so that I can see its current state at a glance and jump directly into the full Station-Bot administration experience when needed.
Definition of Done
Acceptance Criteria
- A
guild_owner or guild_admin who administers at least one mapped guild sees a Station Bot portlet on the dashboard
- A
guild_member who lacks Station-Bot admin access does not see the portlet
- The portlet displays a clear state such as:
Active
Installed, Needs Configuration
Read Only
Disconnected
Authentication Error
Not Installed
- When the bot is installed, reachable, and healthy for the guild, the portlet shows a green
Active state
- Clicking the expand/fullscreen affordance opens the full Station-Bot admin experience for the current guild, matching the inventory portlet interaction model
- The portlet never acts as a mini settings editor; it remains a health/discoverability entry point
Technical Elaboration
This story introduces the primary dashboard entry point for guild-scoped Station-Bot administration.
Recommended portlet content:
- Guild name
- Status badge
- Short state explanation
- Optional last successful status check / sync time
- Optional single warning summary such as
Verification incomplete or Manufacturing not configured
- Expand/fullscreen affordance
Recommended visibility rules:
- Show for users who have Station-Bot admin visibility for at least one mapped guild
- Hide for users with no guild-scoped Station-Bot admin access
- If desired,
station_super_admin may receive a different support/operator presentation later, but this story is focused on the guild-owner/guild-admin dashboard experience
Recommended status semantics:
Active: mapped guild exists, Station can authenticate to Station-Bot, Station-Bot reports the guild is reachable/known, and no blocking degraded state prevents admin use
Installed, Needs Configuration: bot is present but required domain configuration is incomplete
Read Only: bot is healthy enough to inspect but currently not accepting normal mutations
Disconnected: mapped but not currently reachable
Authentication Error: Station cannot authenticate to Station-Bot for this integration
Not Installed: no active bot installation / mapping for the guild
Implementation notes:
- The portlet should consume a lightweight summary/health payload from the Station-Bot admin backend contract rather than bootstrapping the entire admin UI payload for first paint
- The expand behavior should route into the full Station-Bot shell with the relevant guild context preselected
- The interaction pattern should intentionally mirror the inventory portlet to keep dashboard behavior consistent across Station
Design Elaboration
This portlet should be small, clear, and high-signal.
Its job is not to let admins configure the bot from the dashboard. Its job is to answer: Do I have the bot, is it healthy, and how do I jump into full administration? If the portlet does that well, discoverability and confidence both improve without cluttering the dashboard.
Parent Epic: #231
Depends on: #232, #233, #241, #242
User Story
As a guild owner or guild admin, I need a Station Bot dashboard portlet that tells me whether the Discord bot is installed and healthy for my guild so that I can see its current state at a glance and jump directly into the full Station-Bot administration experience when needed.
Definition of Done
pnpm typecheckpassesAcceptance Criteria
guild_ownerorguild_adminwho administers at least one mapped guild sees a Station Bot portlet on the dashboardguild_memberwho lacks Station-Bot admin access does not see the portletActiveInstalled, Needs ConfigurationRead OnlyDisconnectedAuthentication ErrorNot InstalledActivestateTechnical Elaboration
This story introduces the primary dashboard entry point for guild-scoped Station-Bot administration.
Recommended portlet content:
Verification incompleteorManufacturing not configuredRecommended visibility rules:
station_super_adminmay receive a different support/operator presentation later, but this story is focused on the guild-owner/guild-admin dashboard experienceRecommended status semantics:
Active: mapped guild exists, Station can authenticate to Station-Bot, Station-Bot reports the guild is reachable/known, and no blocking degraded state prevents admin useInstalled, Needs Configuration: bot is present but required domain configuration is incompleteRead Only: bot is healthy enough to inspect but currently not accepting normal mutationsDisconnected: mapped but not currently reachableAuthentication Error: Station cannot authenticate to Station-Bot for this integrationNot Installed: no active bot installation / mapping for the guildImplementation notes:
Design Elaboration
This portlet should be small, clear, and high-signal.
Its job is not to let admins configure the bot from the dashboard. Its job is to answer:
Do I have the bot, is it healthy, and how do I jump into full administration?If the portlet does that well, discoverability and confidence both improve without cluttering the dashboard.Parent Epic: #231
Depends on: #232, #233, #241, #242