docs(10): checkpoint - waves 1-3 complete, wave 4 pending
Completed: - 10-01: Orphan cleanup (2 nodes removed) - 10-02: Container Update sub-workflow (31 nodes) - 10-03: Container Actions sub-workflow (8 nodes) - 10-04: Integration verified with user Pending: - 10-05: Wire batch ops to sub-workflows, extract logs Key fixes applied: - n8n typeVersion 1.2 requires __rl resource locator format - Docker 204 success detection via empty response check Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
+29
-55
@@ -1,83 +1,57 @@
|
|||||||
# Project State — Unraid Docker Manager
|
# Project State — Unraid Docker Manager
|
||||||
|
|
||||||
## Project Reference
|
|
||||||
|
|
||||||
See: .planning/PROJECT.md (updated 2026-02-04)
|
|
||||||
|
|
||||||
**Core value:** Immediate container control from your phone
|
|
||||||
**Current focus:** v1.2 — Modularization & Polish
|
|
||||||
|
|
||||||
## Current Position
|
## Current Position
|
||||||
|
|
||||||
- **Milestone:** v1.2 — Modularization & Polish
|
- **Milestone:** v1.2 — Modularization & Polish
|
||||||
- **Phase:** 10 of 13 (Workflow Modularization)
|
- **Phase:** 10 of 13 (Workflow Modularization)
|
||||||
- **Plan:** 3 of 4 complete
|
- **Plan:** 10-04 complete, 10-05 pending
|
||||||
- **Status:** In progress
|
- **Status:** Wave 3 complete, Wave 4 ready
|
||||||
- **Last activity:** 2026-02-04 — Completed 10-03-PLAN.md (container actions sub-workflow)
|
- **Last activity:** 2026-02-04 — Sub-workflows working, need batch integration
|
||||||
|
|
||||||
## Progress
|
## Progress
|
||||||
|
|
||||||
```
|
```
|
||||||
v1.0: [##########] 100% SHIPPED
|
v1.0: [██████████] 100% SHIPPED
|
||||||
v1.1: [##########] 100% SHIPPED
|
v1.1: [██████████] 100% SHIPPED
|
||||||
|
|
||||||
v1.2: [### ] 30%
|
v1.2: [██ ] 20%
|
||||||
|
|
||||||
Phase 10: Workflow Modularization [####### ] 75% (3/4 plans)
|
Phase 10: Workflow Modularization [████████ ] 80% (4/5 plans)
|
||||||
Phase 11: Update All & Callback Limits [ ] Pending
|
Phase 11: Update All & Callback Limits [ ] Pending
|
||||||
Phase 12: Polish & Audit [ ] Pending
|
Phase 12: Polish & Audit [ ] Pending
|
||||||
Phase 13: Documentation Overhaul [ ] Pending
|
Phase 13: Documentation Overhaul [ ] Pending
|
||||||
```
|
```
|
||||||
|
|
||||||
## Accumulated Context
|
## Phase 10 Status
|
||||||
|
|
||||||
### Key Decisions
|
| Plan | Description | Status |
|
||||||
|
|------|-------------|--------|
|
||||||
|
| 10-01 | Orphan node cleanup | ✓ Complete |
|
||||||
|
| 10-02 | Container Update sub-workflow | ✓ Complete |
|
||||||
|
| 10-03 | Container Actions sub-workflow | ✓ Complete |
|
||||||
|
| 10-04 | Integration verification | ✓ Complete |
|
||||||
|
| 10-05 | Complete modularization (batch, logs) | ○ Pending |
|
||||||
|
|
||||||
See PROJECT.md Key Decisions table for full history.
|
## Key Artifacts
|
||||||
|
|
||||||
Recent v1.2 decisions:
|
- `n8n-container-update.json` — ID: `7AvTzLtKXM2hZTio92_mC`
|
||||||
- Actual orphan count was 2, not 8 as originally estimated
|
- `n8n-container-actions.json` — ID: `fYSZS5PkH0VSEaT5`
|
||||||
- n8n API deployment requires filtering JSON to allowed fields
|
- Main workflow: 209 nodes (target: ~120-140 after 10-05)
|
||||||
- Environment variable pattern for sub-workflow ID references
|
|
||||||
- httpRequest nodes in sub-workflows for cleaner error handling
|
|
||||||
- Confirmation dialogs remain in main workflow (not extracted)
|
|
||||||
|
|
||||||
Recent v1.1 decisions:
|
## Technical Notes
|
||||||
- docker-socket-proxy for filtered Docker API access
|
|
||||||
- Colon-separated callback format for 64-byte compliance
|
|
||||||
- Two-phase batch execution for name-only callbacks
|
|
||||||
- Update all filters to :latest containers only
|
|
||||||
|
|
||||||
### Todos
|
**n8n typeVersion 1.2 requirement:**
|
||||||
|
```json
|
||||||
|
"workflowId": { "__rl": true, "mode": "list", "value": "<id>" }
|
||||||
|
```
|
||||||
|
|
||||||
- Deploy container-actions sub-workflow to n8n
|
**Docker API success detection:**
|
||||||
- Set CONTAINER_ACTIONS_WORKFLOW_ID environment variable in n8n
|
- 204 No Content = success (empty response body)
|
||||||
- Verify action functionality after deployment
|
- Check `!response.message && !response.error`
|
||||||
|
|
||||||
### Blockers
|
## Next Step
|
||||||
|
|
||||||
(none)
|
`/gsd:execute-phase 10` — Will execute remaining plan 10-05
|
||||||
|
|
||||||
### Known Limitations
|
|
||||||
|
|
||||||
- **64-byte callback_data limit** — Affects batch selection and long container names
|
|
||||||
- **Batch update via inline keyboard** — BATCH-05 in Phase 11
|
|
||||||
- **Batch selection limited to 2 containers** — BATCH-06/07 in Phase 11 (callback data limit)
|
|
||||||
|
|
||||||
### Technical Debt
|
|
||||||
|
|
||||||
Tracked in Phase 11:
|
|
||||||
- README.md still documents direct docker.sock mounting
|
|
||||||
- Duplicate --max-time flags in image pull
|
|
||||||
- ~~Update flow duplicated between single and batch paths~~ (resolved in 10-02)
|
|
||||||
- Workflow reduced from ~8,485 to ~7,400 lines (modularization ongoing)
|
|
||||||
|
|
||||||
## Session Continuity
|
|
||||||
|
|
||||||
- **Last session:** 2026-02-04T18:11:40Z
|
|
||||||
- **Stopped at:** Completed 10-03-PLAN.md (container actions sub-workflow)
|
|
||||||
- **Resume file:** None
|
|
||||||
- **Next step:** Execute 10-04-PLAN.md (if exists) or Phase 11
|
|
||||||
|
|
||||||
---
|
---
|
||||||
*Auto-maintained by GSD workflow*
|
*Auto-maintained by GSD workflow*
|
||||||
|
|||||||
@@ -0,0 +1,59 @@
|
|||||||
|
---
|
||||||
|
phase: 10-workflow-modularization
|
||||||
|
plan: 02
|
||||||
|
subsystem: infra
|
||||||
|
tags: [n8n, workflow, modularization, sub-workflow, update]
|
||||||
|
|
||||||
|
requires:
|
||||||
|
- phase: 10-01
|
||||||
|
provides: Clean workflow baseline (246 nodes)
|
||||||
|
provides:
|
||||||
|
- Container Update sub-workflow (n8n-container-update.json)
|
||||||
|
- Main workflow wired to call sub-workflow for updates
|
||||||
|
affects: [10-03, 10-04, 10-05]
|
||||||
|
|
||||||
|
tech-stack:
|
||||||
|
added: [n8n Execute Sub-workflow]
|
||||||
|
patterns: [Resource locator format for workflowId (__rl: true)]
|
||||||
|
|
||||||
|
key-files:
|
||||||
|
created: [n8n-container-update.json]
|
||||||
|
modified: [n8n-workflow.json]
|
||||||
|
|
||||||
|
key-decisions:
|
||||||
|
- "Use resource locator format for workflowId (required for typeVersion 1.2)"
|
||||||
|
- "Sub-workflow handles update execution, main workflow handles confirmation UI"
|
||||||
|
|
||||||
|
completed: 2026-02-04
|
||||||
|
---
|
||||||
|
|
||||||
|
# Phase 10 Plan 2: Container Update Sub-workflow Summary
|
||||||
|
|
||||||
|
**Extracted container update flow to dedicated sub-workflow**
|
||||||
|
|
||||||
|
## Accomplishments
|
||||||
|
|
||||||
|
- Created `n8n-container-update.json` (31 nodes)
|
||||||
|
- Wired main workflow to call sub-workflow for text and callback update paths
|
||||||
|
- Reduced main workflow from 246 to 200 nodes (-46 nodes)
|
||||||
|
|
||||||
|
## Key Files
|
||||||
|
|
||||||
|
- `n8n-container-update.json` - New sub-workflow with full update logic
|
||||||
|
- `n8n-workflow.json` - Added Execute Sub-workflow nodes
|
||||||
|
|
||||||
|
## Technical Notes
|
||||||
|
|
||||||
|
- n8n typeVersion 1.2 requires `workflowId` in resource locator format:
|
||||||
|
```json
|
||||||
|
"workflowId": { "__rl": true, "mode": "list", "value": "<id>" }
|
||||||
|
```
|
||||||
|
- Sub-workflow ID: `7AvTzLtKXM2hZTio92_mC`
|
||||||
|
|
||||||
|
## Issues Encountered
|
||||||
|
|
||||||
|
- Initial "workflow not found" error due to plain string workflowId format
|
||||||
|
- Fixed by converting to resource locator format with `__rl: true`
|
||||||
|
|
||||||
|
---
|
||||||
|
*Phase: 10-workflow-modularization | Completed: 2026-02-04*
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
---
|
||||||
|
phase: 10-workflow-modularization
|
||||||
|
plan: 04
|
||||||
|
completed: 2026-02-04
|
||||||
|
---
|
||||||
|
|
||||||
|
# Phase 10 Plan 4: Integration Verification Summary
|
||||||
|
|
||||||
|
**User verified modularized workflow works correctly**
|
||||||
|
|
||||||
|
## Status
|
||||||
|
- ✓ Stop action works via inline keyboard
|
||||||
|
- ✓ Success message displays correctly
|
||||||
|
- ✓ Sub-workflows callable from main workflow
|
||||||
|
|
||||||
|
## Remaining: Plan 10-05
|
||||||
|
- Wire batch operations to sub-workflows
|
||||||
|
- Extract logs to sub-workflow
|
||||||
|
- Target: reduce main workflow from 209 to ~120-140 nodes
|
||||||
Reference in New Issue
Block a user