72 lines
4.1 KiB
Markdown
72 lines
4.1 KiB
Markdown
---
|
|
phase: 16-api-migration
|
|
task: UAT
|
|
total_tasks: 6 plans + UAT
|
|
status: paused
|
|
last_updated: 2026-02-09T17:47:48.705Z
|
|
---
|
|
|
|
<current_state>
|
|
v1.4 milestone PAUSED. Phase 16 code was built and pushed, but UAT revealed that the Unraid GraphQL API on the user's server (Unraid 7.2.x) only has `start` and `stop` Docker mutations. The `updateContainer`, `updateContainers`, and `updateAllContainers` mutations exist in the Unraid API source code (GitHub commit 277ac42046) but only ship in Unraid 7.3+ which has not been released yet.
|
|
|
|
v1.3 workflows have been restored to n8n and are running in production. The v1.4 work is preserved on branch `gsd/v1.0-unraid-api-native`.
|
|
</current_state>
|
|
|
|
<completed_work>
|
|
|
|
- Phase 15 (Infrastructure Foundation): 2/2 plans complete — Container ID Registry, Token Encoder/Decoder, GraphQL Normalizer, Error Handler
|
|
- Phase 16 Plan 01: Container Status migration (n8n-status.json) — WORKING
|
|
- Phase 16 Plan 02: Container Actions migration (n8n-actions.json) — WORKING (start/stop/restart)
|
|
- Phase 16 Plan 03: Container Update migration (n8n-update.json) — BLOCKED (updateContainer mutation doesn't exist on 7.2.x)
|
|
- Phase 16 Plan 04: Batch UI migration (n8n-batch-ui.json) — WORKING
|
|
- Phase 16 Plan 05: Main workflow routing migration (n8n-workflow.json) — PARTIALLY WORKING (queries work, batch update mutation doesn't exist)
|
|
- Phase 16 Plan 06: Gap closure (text command paths) — WORKING but had paired item bugs (fixed in debug)
|
|
- UAT: 6/9 tests passed, 3 blocked on missing updateContainer mutation
|
|
- Debug fixes committed: batch cancel wiring, text command paired item fix (.first().json), batch confirmation HTTP node
|
|
- v1.3 workflows restored to n8n (all 8 workflows, HTTP 200)
|
|
- STATE.md and ROADMAP.md updated to reflect pause
|
|
</completed_work>
|
|
|
|
<remaining_work>
|
|
|
|
- Wait for Unraid 7.3 release (ships updateContainer, updateContainers, updateAllContainers mutations)
|
|
- Re-run `/gsd:verify-work 16` to validate update operations work with 7.3
|
|
- Fix any remaining issues from UAT re-test
|
|
- Phase 17 (Cleanup): Remove docker-socket-proxy artifacts, container logs feature
|
|
- Phase 18 (Documentation): Update docs for Unraid API-native architecture
|
|
</remaining_work>
|
|
|
|
<decisions_made>
|
|
|
|
- PAUSE v1.4 rather than maintain hybrid Docker proxy + GraphQL architecture
|
|
- ROLLBACK to v1.3 workflows on n8n for stable production use
|
|
- v1.4 work preserved on branch (mutation signatures match what 7.3 will ship)
|
|
- The `DOCKER:UPDATE_ANY` API key permission exists because permission system was defined before mutations shipped
|
|
- Container update internally calls legacy Bash script (`/usr/local/emhttp/plugins/dynamix.docker.manager/scripts/update_container`)
|
|
</decisions_made>
|
|
|
|
<blockers>
|
|
- Unraid 7.3 not released — `updateContainer` mutation unavailable on current server (7.2.x)
|
|
- No workaround that maintains the "fully Unraid API native" architecture goal
|
|
</blockers>
|
|
|
|
<context>
|
|
The entire v1.4 milestone was about replacing Docker socket proxy with Unraid's GraphQL API. Status queries and start/stop/restart all migrated successfully and passed UAT. But container updates (single, batch, update-all) require a mutation that only exists in Unraid 7.3+. The user decided to pause rather than maintain a hybrid architecture. When Unraid 7.3 ships, the existing Phase 16 code should work as-is since the mutation signatures in our code match what the API source defines.
|
|
|
|
UAT also uncovered 3 bugs that were diagnosed and fixed by parallel debug agents:
|
|
1. Batch cancel button: Route Callback output 20 was wired to empty array
|
|
2. Text commands: Paired item breakage after GraphQL chain expansion (.item.json → .first().json)
|
|
3. Batch confirmation buttons: Telegram node double-serialized reply_markup (converted to HTTP Request)
|
|
|
|
These fixes are committed on the branch and will be ready when v1.4 resumes.
|
|
</context>
|
|
|
|
<next_action>
|
|
When Unraid 7.3 releases:
|
|
1. Check `__type(name: "DockerMutations")` introspection to confirm updateContainer is available
|
|
2. Switch to branch `gsd/v1.0-unraid-api-native`
|
|
3. Push v1.4 workflows to n8n
|
|
4. Run `/gsd:verify-work 16` — the 3 previously-blocked tests should now pass
|
|
5. Continue to Phase 17 (Cleanup) and Phase 18 (Documentation)
|
|
</next_action>
|