docs(10.1-03): complete container status sub-workflow plan
Tasks completed: 3/3 - Task 1: Create n8n-status.json sub-workflow - Task 2: Update main workflow with sub-workflow calls - Task 3: Create backup for rollback SUMMARY: .planning/phases/10.1-aggressive-workflow-modularization/10.1-03-SUMMARY.md
This commit is contained in:
+25
-11
@@ -4,9 +4,9 @@
|
||||
|
||||
- **Milestone:** v1.2 — Modularization & Polish
|
||||
- **Phase:** 10.1 of 13 (Aggressive Workflow Modularization)
|
||||
- **Plan:** 2 of 5 complete
|
||||
- **Plan:** 3 of 5 complete
|
||||
- **Status:** In progress
|
||||
- **Last activity:** 2026-02-05 — Completed 10.1-02 (Batch UI Sub-workflow)
|
||||
- **Last activity:** 2026-02-05 — Completed 10.1-03 (Container Status Sub-workflow)
|
||||
|
||||
## Progress
|
||||
|
||||
@@ -14,10 +14,10 @@
|
||||
v1.0: [██████████] 100% SHIPPED
|
||||
v1.1: [██████████] 100% SHIPPED
|
||||
|
||||
v1.2: [████░░░░░░] 40%
|
||||
v1.2: [█████░░░░░] 50%
|
||||
|
||||
Phase 10: Workflow Modularization [██████████] 100% COMPLETE (+ 10-07 UAT fixes)
|
||||
Phase 10.1: Aggressive Modularization [████ ] 40% (2/5 plans)
|
||||
Phase 10.1: Aggressive Modularization [██████ ] 60% (3/5 plans)
|
||||
Phase 10.2: Better Logging & Log Management [ ] Pending (INSERTED)
|
||||
Phase 11: Update All & Callback Limits [ ] Pending
|
||||
Phase 12: Polish & Audit [ ] Pending
|
||||
@@ -47,8 +47,9 @@ Phase 13: Documentation Overhaul [ ] Pending
|
||||
|
||||
## Key Artifacts
|
||||
|
||||
- `n8n-workflow.json` — Main workflow (179 nodes, down from 192)
|
||||
- `n8n-workflow.json` — Main workflow (178 nodes, down from 192)
|
||||
- `n8n-batch-ui.json` — Batch UI sub-workflow (16 nodes) — TODO_DEPLOY
|
||||
- `n8n-status.json` — Container Status sub-workflow (11 nodes) — TODO_DEPLOY
|
||||
- `n8n-update.json` — ID: `7AvTzLtKXM2hZTio92_mC`
|
||||
- `n8n-actions.json` — ID: `fYSZS5PkH0VSEaT5`
|
||||
- `n8n-logs.json` — ID: `oE7aO2GhbksXDEIw`
|
||||
@@ -69,11 +70,12 @@ Phase 13: Documentation Overhaul [ ] Pending
|
||||
- Container Actions: containerId, containerName, action, chatId, messageId, responseMode
|
||||
- Container Logs: containerId/containerName, lineCount, chatId, messageId, responseMode
|
||||
- Batch UI: chatId, messageId, queryId, callbackData, action, batchPage, selectedCsv, toggleName
|
||||
- Container Status: chatId, messageId, action, containerId, containerName, page, queryId, searchTerm
|
||||
|
||||
**Sub-workflow output patterns:**
|
||||
- Batch UI returns `action` field (keyboard/confirmation/execute/cancel/limit_reached)
|
||||
- Container Status returns `action` field (list/status/paginate/status_direct)
|
||||
- Main workflow routes based on action to appropriate Telegram response handler
|
||||
- This pattern should be used for future sub-workflow extractions
|
||||
|
||||
**Data chain pattern (10-07):**
|
||||
- Use `$('Build Progress Message').item.json` to reference data across async nodes
|
||||
@@ -93,6 +95,7 @@ Phase 13: Documentation Overhaul [ ] Pending
|
||||
| 10.1-01 | Wave 2: Batch UI + Container List extraction | Highest-value domains with clear boundaries |
|
||||
| 10.1-02 | Partial batch UI extraction (UI only, not loop) | Batch execution loop cannot be in sub-workflow due to n8n limitations |
|
||||
| 10.1-02 | Action-based sub-workflow routing | Sub-workflow returns action field, main routes to Telegram handlers |
|
||||
| 10.1-03 | Minimal net node reduction due to integration overhead | Removed 10 nodes but added 9 integration nodes; value is complexity reduction |
|
||||
|
||||
## Phase 10.1 Progress
|
||||
|
||||
@@ -100,18 +103,23 @@ Phase 13: Documentation Overhaul [ ] Pending
|
||||
|------|-------------|--------|
|
||||
| 10.1-01 | Foundation and Domain Analysis | Complete |
|
||||
| 10.1-02 | Batch UI Sub-workflow (Wave 2) | Complete |
|
||||
| 10.1-03 | Container List Sub-workflow (Wave 2) | Pending |
|
||||
| 10.1-03 | Container Status Sub-workflow (Wave 2) | Complete |
|
||||
| 10.1-04 | Confirmation Sub-workflow (Wave 3) | Pending |
|
||||
| 10.1-05 | Integration Verification | Pending |
|
||||
|
||||
**Node count progress:**
|
||||
- Start: 192 nodes
|
||||
- After 10.1-02: 179 nodes (-13)
|
||||
- After 10.1-03: 178 nodes (-1)
|
||||
- Target: 115-125 nodes
|
||||
|
||||
**Approved extraction plan:**
|
||||
- Wave 2: Batch UI (done: -13), Container List (17->12-15)
|
||||
- Wave 3: Confirmation (30->15-20), Matching (optional)
|
||||
**Wave 2 Complete:**
|
||||
- Batch UI: -13 nodes (16 nodes in sub-workflow)
|
||||
- Container Status: -1 net (11 nodes in sub-workflow, complexity reduction)
|
||||
|
||||
**Remaining extraction (Wave 3):**
|
||||
- Confirmation (30->15-20 node reduction expected)
|
||||
- Matching (optional)
|
||||
- Target: 115-125 nodes (realistic given 58 locked Telegram nodes)
|
||||
|
||||
## Deployment Required
|
||||
@@ -122,9 +130,15 @@ Phase 13: Documentation Overhaul [ ] Pending
|
||||
3. Replace `TODO_DEPLOY_BATCH_UI_WORKFLOW` in n8n-workflow.json
|
||||
4. Re-import main workflow
|
||||
|
||||
**n8n-status.json needs deployment:**
|
||||
1. Import to n8n instance
|
||||
2. Note assigned workflow ID
|
||||
3. Replace `TODO_DEPLOY_STATUS_WORKFLOW` (4 occurrences) in n8n-workflow.json
|
||||
4. Re-import main workflow
|
||||
|
||||
## Next Step
|
||||
|
||||
Run plan 10.1-03 to extract Container List sub-workflow.
|
||||
Run plan 10.1-04 to extract Confirmation sub-workflow (Wave 3).
|
||||
|
||||
---
|
||||
*Auto-maintained by GSD workflow*
|
||||
|
||||
@@ -0,0 +1,114 @@
|
||||
---
|
||||
phase: 10.1-aggressive-workflow-modularization
|
||||
plan: 03
|
||||
subsystem: workflow
|
||||
tags: [n8n, sub-workflow, docker, telegram, modularization]
|
||||
|
||||
# Dependency graph
|
||||
requires:
|
||||
- phase: 10.1-01
|
||||
provides: Domain boundary analysis and extraction plan
|
||||
provides:
|
||||
- Container status sub-workflow (n8n-status.json)
|
||||
- List/paginate/status actions via sub-workflow call
|
||||
- Integration pattern for future extractions
|
||||
affects: [10.1-04, 10.1-05]
|
||||
|
||||
# Tech tracking
|
||||
tech-stack:
|
||||
added: []
|
||||
patterns:
|
||||
- "Sub-workflow returns structured data, main workflow handles Telegram responses"
|
||||
- "Action-based routing in sub-workflow (list/status/paginate)"
|
||||
|
||||
key-files:
|
||||
created:
|
||||
- n8n-status.json
|
||||
- n8n-workflow.json.backup-status
|
||||
modified:
|
||||
- n8n-workflow.json
|
||||
|
||||
key-decisions:
|
||||
- "Net node reduction minimal (+9 integration nodes, -10 logic nodes) due to sub-workflow call overhead"
|
||||
- "Extracted all Docker query and keyboard-building logic, kept Telegram responses in main"
|
||||
- "Added searchTerm support for /status <name> direct container lookup"
|
||||
|
||||
patterns-established:
|
||||
- "Prepare*Input -> Execute*Status -> Telegram Response pattern for sub-workflow integration"
|
||||
|
||||
# Metrics
|
||||
duration: 5min
|
||||
completed: 2026-02-05
|
||||
---
|
||||
|
||||
# Phase 10.1 Plan 03: Container Status Sub-workflow Summary
|
||||
|
||||
**Extracted container list, pagination, and status display into n8n-status.json with 11 nodes, integrating via 4 Execute Workflow nodes in main workflow**
|
||||
|
||||
## Performance
|
||||
|
||||
- **Duration:** 5 min
|
||||
- **Started:** 2026-02-05T02:22:48Z
|
||||
- **Completed:** 2026-02-05T02:27:33Z
|
||||
- **Tasks:** 3
|
||||
- **Files modified:** 3
|
||||
|
||||
## Accomplishments
|
||||
|
||||
- Created n8n-status.json sub-workflow with Docker query and keyboard-building logic
|
||||
- Integrated main workflow with 4 Execute Workflow calls (status, select, paginate, batch-cancel-return)
|
||||
- Maintained all Telegram response handling in main workflow per locked decision
|
||||
- Reduced complexity by extracting 10 nodes of business logic to sub-workflow
|
||||
|
||||
## Task Commits
|
||||
|
||||
Each task was committed atomically:
|
||||
|
||||
1. **Task 1: Create n8n-status.json sub-workflow** - `369eb2a` (feat)
|
||||
2. **Task 2: Update main workflow to call status sub-workflow** - `13ed81c` (feat)
|
||||
3. **Task 3: Create backup and commit extraction** - `4245a49` (chore)
|
||||
|
||||
## Files Created/Modified
|
||||
|
||||
- `n8n-status.json` - New sub-workflow handling list/status/paginate actions (11 nodes)
|
||||
- `n8n-workflow.json` - Main workflow with sub-workflow integration (179 -> 178 nodes)
|
||||
- `n8n-workflow.json.backup-status` - Backup for rollback capability
|
||||
|
||||
## Decisions Made
|
||||
|
||||
1. **Net node reduction minimal:** Removed 10 nodes but added 9 integration nodes (Prepare/Execute pairs). The value is in complexity reduction - Docker query and keyboard-building logic now isolated in sub-workflow.
|
||||
|
||||
2. **Four integration points:** Created separate Execute Workflow calls for:
|
||||
- `/status` command (via Keyword Router)
|
||||
- `select:` callbacks (container selection from list)
|
||||
- `list:` callbacks (pagination)
|
||||
- Batch cancel return (return to list after batch cancel)
|
||||
|
||||
3. **Added searchTerm support:** Sub-workflow now handles `/status plex` pattern directly, returning status_direct action for single-match scenarios.
|
||||
|
||||
## Deviations from Plan
|
||||
|
||||
None - plan executed exactly as written.
|
||||
|
||||
## Issues Encountered
|
||||
|
||||
None - integration followed established patterns from 10.1-02.
|
||||
|
||||
## User Setup Required
|
||||
|
||||
**n8n-status.json needs deployment:**
|
||||
1. Import to n8n instance
|
||||
2. Note assigned workflow ID
|
||||
3. Replace `TODO_DEPLOY_STATUS_WORKFLOW` (4 occurrences) in n8n-workflow.json
|
||||
4. Re-import main workflow
|
||||
|
||||
## Next Phase Readiness
|
||||
|
||||
- Container status domain fully extracted
|
||||
- Main workflow at 178 nodes (down from 192 at phase start)
|
||||
- Ready for 10.1-04 (Confirmation sub-workflow extraction)
|
||||
- Wave 2 complete: Batch UI (-13) + Container Status (-1 net, +complexity reduction)
|
||||
|
||||
---
|
||||
*Phase: 10.1-aggressive-workflow-modularization*
|
||||
*Completed: 2026-02-05*
|
||||
Reference in New Issue
Block a user