Commit Graph

186 Commits

Author SHA1 Message Date
Lucas Berger 07aeace1fd fix(16): resolve 3 UAT issues — update flow, batch cancel, text commands
- Fix update sub-workflow: remove unsupported GraphQL filter arg, fix node
  reference (Format Pull Error → Format Update Error), fix field case
  (data.image → data.Image)
- Fix batch cancel: connect Route Callback output 20 (batchcancel) to
  Prepare Batch UI Input (was empty connection array)
- Fix text commands: change .item.json to .first().json for paired item
  breakage after GraphQL chain expansion; convert Send Batch Confirmation
  from Telegram node to HTTP Request to fix double-serialized reply_markup

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 12:28:21 -05:00
Lucas Berger d4fcad827a test(16): complete UAT - 6 passed, 3 issues 2026-02-09 12:17:30 -05:00
Lucas Berger 3eeff5bf50 docs(phase-16): mark all 6 plans complete in roadmap
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 11:46:42 -05:00
Lucas Berger ac3a0b37fc docs(phase-16): verification passed — all 6 must-haves verified
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 11:46:29 -05:00
Lucas Berger 245e4875c2 docs(phase-16): complete phase execution — all 6 plans finished
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 11:42:40 -05:00
Lucas Berger d5bc0be2fe docs(16-06): add critical lessons from hotfix to gap closure plan
Incorporates 5 lessons from commit 216f3a4 into the plan:
- Connection keys/targets must use node names, not IDs
- HTTP auth must use Header Auth credential, not manual env vars
- Node names must be unique
- Use $('Node Name') after GraphQL chains, not $input.item.json
- Added validation checklist to verification section

Marks Task 2 as already completed (dead code removal done in hotfix).
Updates node counts from 193 to 181 baseline.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 11:31:53 -05:00
Lucas Berger c002ba8fd9 docs(16): add Phase 16 verification report with gap analysis
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 11:06:28 -05:00
Lucas Berger afda21cf3e docs(16-api-migration): create gap closure plan 16-06 2026-02-09 11:01:59 -05:00
Lucas Berger 93c74f9956 docs(16-05): complete main workflow GraphQL migration plan
Phase 16-05 SUMMARY:
- Task 1: Migrated 6 Docker API queries to Unraid GraphQL (GET → POST, added 12 nodes)
- Task 2: Analyzed callback data encoding (names used, token encoding unnecessary)
- Task 3: Implemented hybrid batch update (parallel for <=5, serial for >5 containers)

Updated STATE.md:
- Phase 16 marked complete (5/5 plans)
- Progress: 70% complete (7/10 plans in v1.4)
- Updated metrics: 57 plans total, 26 minutes for v1.4
- Added 3 key decisions from Phase 16-05
- Updated session info and next steps (Phase 17 ready)

Phase 16 API Migration complete. All workflows migrated to Unraid GraphQL API.
2026-02-09 10:39:31 -05:00
Lucas Berger 0610f05dc8 docs(16-02): complete Container Actions GraphQL Migration plan
- Container lifecycle operations (start/stop/restart) migrated to Unraid GraphQL
- Restart implemented as sequential stop+start chain
- ALREADY_IN_STATE errors map to HTTP 304
- Format Result nodes unchanged (zero-change migration)
- Duration: 3 minutes (2 tasks, 1 file, 2 commits)
2026-02-09 10:26:16 -05:00
Lucas Berger 50326b9ed7 docs(16-03): complete Container Update GraphQL migration
- SUMMARY.md documents single updateContainer mutation replacing 5-step Docker flow
- Workflow reduced from 34 to 29 nodes (15% reduction)
- 60-second timeout accommodates large image pulls
- ImageId comparison determines update success
- Zero Docker socket proxy references remaining
- STATE.md updated: Phase 16 now 3/5 plans complete (60%)
2026-02-09 10:25:59 -05:00
Lucas Berger bb3200f246 docs(16-01): complete Container Status migration plan
- SUMMARY: Container status queries migrated to Unraid GraphQL API
- STATE: Phase 16 progress updated (2/5 plans complete)
- Metrics: 2 minutes, 1 task, 1 file modified (n8n-status.json)
- Decisions: Inline Code nodes for normalizers, same query for all paths, registry update on every query
- Next: Plans 16-02, 16-03, 16-05 remaining
2026-02-09 10:24:59 -05:00
Lucas Berger 8e8a5f9dc3 docs(16-04): complete Batch UI GraphQL migration plan
- Created 16-04-SUMMARY.md with full execution details
- Updated STATE.md: Phase 16 in progress (1/5 plans)
- Recorded decisions: 5 normalizer nodes, 15s timeout
- Updated progress: v1.4 now 30% complete (3/10 plans)
2026-02-09 10:24:47 -05:00
Lucas Berger f84d433b25 fix(16): revise plans based on checker feedback 2026-02-09 09:25:17 -05:00
Lucas Berger 4fc791dd43 docs(16): create API migration phase plans (5 plans in 2 waves) 2026-02-09 09:19:10 -05:00
Lucas Berger 5880dc4573 docs(16): research Unraid GraphQL API migration patterns 2026-02-09 09:10:14 -05:00
Lucas Berger 6d5b407a8e docs(phase-15): complete phase execution 2026-02-09 09:00:37 -05:00
Lucas Berger 4e29bdeb56 docs(15-01): complete Container ID Registry and Callback Token Encoding plan
- Added 15-01-SUMMARY.md documenting implementation and deviations
- Updated STATE.md: Phase 15 complete (2/2 plans), 52 total plans, v1.4 at 20%
- Task 1 (Container ID Registry) was pre-existing in baseline
- Task 2 (Token Encoder/Decoder) implemented and pushed to n8n
- All utility nodes standalone, ready for Phase 16 wiring

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 08:56:03 -05:00
Lucas Berger d25fc1b13f docs(15-02): complete GraphQL utility nodes plan 2026-02-09 08:55:01 -05:00
Lucas Berger a352b15954 docs(15): create phase plan — 2 plans for infrastructure foundation 2026-02-09 08:42:39 -05:00
Lucas Berger 62eaa4b1ec docs(15): research infrastructure foundation domain 2026-02-09 08:36:44 -05:00
Lucas Berger 16034bbdb8 docs: create milestone v1.4 roadmap (4 phases)
Phases 15-18: Infrastructure Foundation, API Migration, Cleanup, Documentation
23 requirements mapped across 4 phases with 0 gaps.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 08:29:16 -05:00
Lucas Berger 7eab41eaba docs: define milestone v1.4 requirements 2026-02-09 08:11:54 -05:00
Lucas Berger bab819f6c8 docs: complete v1.4 project research synthesis 2026-02-09 08:08:25 -05:00
Lucas Berger bb47664188 docs: start milestone v1.4 Unraid API Native 2026-02-09 07:52:53 -05:00
Lucas Berger 903e73d616 feat: v1.3 Unraid Update Status Sync
Unraid GraphQL API foundation — connectivity, authentication, and
container ID format verified for native Unraid API integration.

Phase 14: Unraid API Access (2 plans, 4 tasks)
- Established Unraid GraphQL API connectivity via myunraid.net cloud relay
- Dual credential storage (.env.unraid-api + n8n env vars)
- Container ID format: {server_hash}:{container_hash} (128-char SHA256 pair)
- Complete API contract documented in ARCHITECTURE.md
- "unraid" test command added to Telegram bot

Phases 15-16 dropped (superseded by v1.4 Unraid API Native).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 07:47:31 -05:00
Lucas Berger ff0773b84b docs(14): create phase plan 2026-02-08 20:22:11 -05:00
Lucas Berger 00f0dcfd21 docs(14): research Unraid GraphQL API access patterns 2026-02-08 20:16:06 -05:00
Lucas Berger 9385deb0da docs(14): capture phase context 2026-02-08 20:10:58 -05:00
Lucas Berger be66f01815 chore: persist research preference in config
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 20:02:00 -05:00
Lucas Berger 96c293f8f4 docs: create milestone v1.3 roadmap (3 phases) 2026-02-08 20:01:15 -05:00
Lucas Berger 59a97d1847 docs: define milestone v1.3 requirements 2026-02-08 19:57:10 -05:00
Lucas Berger 07cde0490a docs: complete v1.3 project research (STACK, FEATURES, ARCHITECTURE, PITFALLS, SUMMARY) 2026-02-08 19:52:57 -05:00
Lucas Berger c071b890ef docs: start milestone v1.3 Unraid Update Status Sync 2026-02-08 19:35:46 -05:00
Lucas Berger 1e84472efd chore: set git branching strategy to per-milestone
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 19:26:28 -05:00
Lucas Berger 328442554c docs: rename DEPLOY-SUBWORKFLOWS.md to ARCHITECTURE.md and rewrite
Restructured as a proper technical architecture document:
- Added Observability section (correlation IDs, structured errors, debugging)
- Reorganized into logical flow: overview, request flow, contracts, internals
- Removed stale rollback/backup references
- Updated all references in README, CLAUDE.md, PROJECT.md, STATE.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 19:15:56 -05:00
Lucas Berger e7eadd088c chore: complete v1.2 milestone — archive and tag
Archive v1.2 Modularization & Polish milestone:
- Archive ROADMAP.md, REQUIREMENTS.md, and audit to milestones/
- Evolve PROJECT.md with v1.2 validated requirements and decisions
- Reorganize ROADMAP.md with collapsed milestone groupings
- Delete REQUIREMENTS.md (fresh for next milestone)
- Update STATE.md and MILESTONES.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 18:56:44 -05:00
Lucas Berger 4b82044031 docs(phase-13): complete phase execution 2026-02-08 18:56:44 -05:00
Lucas Berger 4228cca9a3 docs(13-01): complete documentation overhaul plan
- README expanded from 139 to 264 lines (+90%)
- Added Architecture, Configuration, and Troubleshooting sections
- Documented all v1.2 features (batch selection, Update All button, inline keyboard)
- Removed outdated DEPLOYMENT_GUIDE.md (Phase 10-05, 3 sub-workflows)
- Consolidated to single technical reference: DEPLOY-SUBWORKFLOWS.md
- Updated STATE.md: Phase 13 complete, v1.2 milestone 100% COMPLETE
- Created 13-01-SUMMARY.md with full execution record

Phase 13-01 duration: 113 seconds
Tasks: 2/2 complete
Commits: 54437aa, a483bfb
2026-02-08 18:56:44 -05:00
Lucas Berger 70115f7cd6 docs(13): create phase plan 2026-02-08 18:56:44 -05:00
Lucas Berger 820dff47f4 docs(13): research documentation overhaul requirements and best practices 2026-02-08 18:56:44 -05:00
Lucas Berger afddb6130a docs(12-02): complete Phase 12 — all v1.2 requirements closed
BATCH-04 and BATCH-05 UAT passed. 9 bugs fixed during testing.
All 12 v1.2 requirements now complete. Phase 13 (docs overhaul) next.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 18:56:44 -05:00
Lucas Berger b3909f00e5 docs(12-01): complete documentation audit plan
- Create 12-01-SUMMARY.md with execution metrics and decisions
- Update STATE.md: Phase 12 complete (1/1 plan)
- Record decision: Document Unraid limitation vs programmatic fix
- Closed 4 requirements: ENV-01, ENV-02, DEBT-01, DEBT-02
- Resolved UNR-01 as documented limitation
- Duration: 140 seconds, 2 tasks completed, 3 files modified

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 18:56:44 -05:00
Lucas Berger 7601e245a9 docs(12-01): document Unraid update badge limitation
- Add Known Limitations section to DEPLOY-SUBWORKFLOWS.md
- Document UNR-01: Unraid shows "apply update" after bot updates a container
- Explain root cause: bot bypasses Unraid's XML template system
- Provide workaround: click Apply Update in Unraid (instant, image cached)
- Clarify "Check for Updates" does NOT clear badge, may create new ones
- Mark UNR-01 as complete (documented limitation with workaround)
2026-02-08 18:56:44 -05:00
Lucas Berger e6e5df8754 docs(12-01): update environment and architecture documentation
- Update README to document docker-socket-proxy architecture instead of direct socket mount
- Clarify TELEGRAM_BOT_TOKEN needs both n8n credential AND env var
- Clarify user ID is hardcoded in IF nodes (no env var needed)
- Add missing commands to usage table (update all, /list)
- Document all 8 workflow files (main + 7 sub-workflows)
- Mark ENV-01, ENV-02, DEBT-01, DEBT-02 as complete in REQUIREMENTS.md
- Verify DEBT-02 is fixed (single --max-time 600 flag, no duplicates)
2026-02-08 18:56:44 -05:00
Lucas Berger 1ef726942a docs(12): plan phase with Unraid badge research and UAT
Research found Unraid badge issue is architectural (bot bypasses
Unraid's XML template system). Updated plans to document limitation
with workaround instead of attempting programmatic fix. Plan 01
covers docs/env/debt, Plan 02 covers deferred Update All UAT.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 18:56:44 -05:00
Lucas Berger 510b7d50dc docs(12): create phase plan 2026-02-08 18:56:44 -05:00
Lucas Berger c1d988f0e7 docs(12): research phase domain 2026-02-08 18:56:44 -05:00
Lucas Berger 732f692544 docs(12): capture phase context 2026-02-08 18:56:44 -05:00
Lucas Berger 16ae0b8bc0 docs(quick-1-1): complete orphan node removal task 2026-02-08 18:56:44 -05:00