From 13d27fd2d1c1342615654d1031df3d55df5c2971 Mon Sep 17 00:00:00 2001 From: Lucas Berger Date: Tue, 3 Feb 2026 20:44:58 -0500 Subject: [PATCH] docs(09): capture phase context Phase 09: Batch Operations - Implementation decisions documented - Phase boundary established --- .../phases/09-batch-operations/09-CONTEXT.md | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 .planning/phases/09-batch-operations/09-CONTEXT.md diff --git a/.planning/phases/09-batch-operations/09-CONTEXT.md b/.planning/phases/09-batch-operations/09-CONTEXT.md new file mode 100644 index 0000000..dc8f742 --- /dev/null +++ b/.planning/phases/09-batch-operations/09-CONTEXT.md @@ -0,0 +1,75 @@ +# Phase 9: Batch Operations - Context + +**Gathered:** 2026-02-03 +**Status:** Ready for planning + + +## Phase Boundary + +Execute actions on multiple containers in a single command with individual progress and consolidated results. Supports text commands and inline keyboard batch selection. "Update all" targets containers with available updates only. + + + + +## Implementation Decisions + +### Command syntax +- Space-separated container names: "update plex sonarr radarr" +- "Update all" = all containers with updates available (not all containers) +- No "start all", "stop all", or "restart all" commands — user cannot picture needing these +- Multiple named containers supported for start, stop, restart (e.g., "stop plex sonarr") +- Fuzzy name matching means disambiguation may be needed (see Confirmation rules) + +### Inline keyboard batch +- Support batch operations via UI buttons (Phase 8 keyboard infrastructure) +- Claude's discretion on selection UX — pick approach that fits existing keyboard flow (multi-select toggle or checkbox-style) + +### Progress display +- Claude's discretion on message strategy (single editing message vs stacked) +- Summary emphasizes failures over successes — user cares about what broke and why +- No retry button after completion — user manually re-runs if needed +- Claude's discretion on cancel button during batch + +### Failure handling +- Continue attempting remaining containers after a failure (don't abort batch) +- Show container name + failure reason (actionable error info) +- Distinguish warnings vs errors: + - Warning: "already stopped", "no update available" — non-critical + - Error: "image pull failed", "timeout" — actual failures +- Claude's discretion on whether warnings appear in final summary + +### Confirmation rules +- "Update all" requires confirmation showing count only: "Update 5 containers?" +- Named batches run immediately without confirmation (user was explicit) +- Exception: Batch stop confirms due to fuzzy matching risk + - If "stop plex" matches multiple containers (plex, jellyplex), show disambiguation +- Claude's discretion on handling exact-match vs fuzzy-match (when user wants JUST plex, not jellyplex) + +### Claude's Discretion +- Inline keyboard selection UX +- Single editing message vs stacked messages for progress +- Cancel button during batch (complexity vs usefulness) +- Warning visibility in final summary +- Exact-match priority vs fuzzy-match disambiguation behavior + + + + +## Specific Ideas + +- Fuzzy name matching should allow disambiguation: if "plex" matches both "plex" and "jellyplex", the user should be able to specify they want only "plex" +- Failures need to be identifiable with reason — "why did it fail?" is the key question + + + + +## Deferred Ideas + +None — discussion stayed within phase scope + + + +--- + +*Phase: 09-batch-operations* +*Context gathered: 2026-02-03*