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 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
|
||||
|
||||
- **Milestone:** v1.2 — Modularization & Polish
|
||||
- **Phase:** 10 of 13 (Workflow Modularization)
|
||||
- **Plan:** 3 of 4 complete
|
||||
- **Status:** In progress
|
||||
- **Last activity:** 2026-02-04 — Completed 10-03-PLAN.md (container actions sub-workflow)
|
||||
- **Plan:** 10-04 complete, 10-05 pending
|
||||
- **Status:** Wave 3 complete, Wave 4 ready
|
||||
- **Last activity:** 2026-02-04 — Sub-workflows working, need batch integration
|
||||
|
||||
## Progress
|
||||
|
||||
```
|
||||
v1.0: [##########] 100% SHIPPED
|
||||
v1.1: [##########] 100% SHIPPED
|
||||
v1.0: [██████████] 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 12: Polish & Audit [ ] 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:
|
||||
- Actual orphan count was 2, not 8 as originally estimated
|
||||
- n8n API deployment requires filtering JSON to allowed fields
|
||||
- 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)
|
||||
- `n8n-container-update.json` — ID: `7AvTzLtKXM2hZTio92_mC`
|
||||
- `n8n-container-actions.json` — ID: `fYSZS5PkH0VSEaT5`
|
||||
- Main workflow: 209 nodes (target: ~120-140 after 10-05)
|
||||
|
||||
Recent v1.1 decisions:
|
||||
- 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
|
||||
## Technical Notes
|
||||
|
||||
### Todos
|
||||
**n8n typeVersion 1.2 requirement:**
|
||||
```json
|
||||
"workflowId": { "__rl": true, "mode": "list", "value": "<id>" }
|
||||
```
|
||||
|
||||
- Deploy container-actions sub-workflow to n8n
|
||||
- Set CONTAINER_ACTIONS_WORKFLOW_ID environment variable in n8n
|
||||
- Verify action functionality after deployment
|
||||
**Docker API success detection:**
|
||||
- 204 No Content = success (empty response body)
|
||||
- Check `!response.message && !response.error`
|
||||
|
||||
### Blockers
|
||||
## Next Step
|
||||
|
||||
(none)
|
||||
|
||||
### 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
|
||||
`/gsd:execute-phase 10` — Will execute remaining plan 10-05
|
||||
|
||||
---
|
||||
*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