docs(08): capture phase context

Phase 08: Inline Keyboard Infrastructure
- Implementation decisions documented
- Phase boundary established

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Lucas Berger
2026-02-03 11:32:08 -05:00
parent d933663bf5
commit 6679fb7cf4
@@ -0,0 +1,67 @@
# Phase 8: Inline Keyboard Infrastructure - Context
**Gathered:** 2026-02-03
**Status:** Ready for planning
<domain>
## Phase Boundary
Users interact with containers via tappable buttons instead of typing commands. This phase adds inline keyboard buttons to the existing Telegram bot, creating a visual interface for container control. The core functionality (start, stop, restart, update, logs) remains the same — this changes HOW users invoke it.
</domain>
<decisions>
## Implementation Decisions
### Button layout & grouping
- Icons only for button labels (▶️ ⏹️ 🔄 ⬆️) — compact, mobile-friendly
- Container list is paginated (not all at once)
- Each container shows: name + status (e.g., "plex — Running")
- Update available indicator: use Unraid's native update detection if accessible (research needed)
### Container selection
- Two entry points: `/status` command AND a persistent menu button ("Containers")
- Tap container name → submenu with status details + action buttons
- Direct access supported: `/status plex` jumps straight to that container's submenu
- Submenu shows container status info (state, details) plus action buttons
### Confirmation flow
- Confirmation required for: Stop and Update only (not restart)
- Edit same message with "Stop plex? Yes / No" — keeps chat clean
- Timeout after 30 seconds — reverts to original buttons if no response
### Progress feedback
- Quick actions (start/stop/restart): show final result only
- Updates and batch operations: show progress (simple status, not detailed steps)
- Format: "Updating plex..." → "plex updated ✅"
- After completion: show result + "Back to menu" button
### Claude's Discretion
- Button row arrangement (single row vs grouped)
- Number of containers per page in list
- "No" confirmation behavior (return to container buttons or list)
- Error/failure handling approach
</decisions>
<specifics>
## Specific Ideas
- Navigation pattern: List → tap name → submenu (status details + actions) → tap action → execute
- Persistent menu button provides always-available access without typing
- Direct container access (`/status plex`) preserves power-user shortcuts
</specifics>
<deferred>
## Deferred Ideas
- Cached update status checking — only pursue if Unraid native detection isn't accessible
- Detailed progress steps during updates — keep simple for now
</deferred>
---
*Phase: 08-inline-keyboard-infrastructure*
*Context gathered: 2026-02-03*