chore: complete v1.1 milestone

Archived:
- milestones/v1.1-ROADMAP.md
- milestones/v1.1-REQUIREMENTS.md

Deleted (fresh for next milestone):
- REQUIREMENTS.md

Updated:
- MILESTONES.md (new v1.1 entry)
- PROJECT.md (requirements → Validated, updated current state)
- ROADMAP.md (v1.1 collapsed, v1.2 phases added)
- STATE.md (reset for v1.2)

v1.1 shipped: Inline keyboard UX and Docker security hardening
- Phases 6-9 complete (11 plans)
- 4 requirements deferred to v1.2 (UNR-01, ENV-01, ENV-02, WEB-01)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Lucas Berger
2026-02-04 10:55:26 -05:00
parent fa7c60394e
commit b89f78db21
6 changed files with 346 additions and 246 deletions
+129
View File
@@ -0,0 +1,129 @@
# Requirements Archive: v1.1 n8n Integration & Polish
**Archived:** 2026-02-04
**Status:** ✅ SHIPPED
This is the archived requirements specification for v1.1.
For current requirements, see `.planning/REQUIREMENTS.md` (created for next milestone).
---
# Requirements: Unraid Docker Manager
**Defined:** 2026-02-02
**Core Value:** Immediate container control from your phone
## v1.1 Requirements
Requirements for milestone v1.1 — n8n Integration & Polish.
### Security
- [x] **SEC-01**: Docker socket proxy deployed and configured
- [x] **SEC-02**: n8n uses socket proxy instead of direct socket mount
- [x] **SEC-03**: Socket proxy blocks dangerous APIs (exec, create, build)
- [x] **SEC-04**: All existing bot commands work through socket proxy
### n8n API
- [x] **API-01**: n8n API key created and accessible
- [x] **API-02**: Claude Code can read workflow via API
- [x] **API-03**: Claude Code can update workflow via API
- [x] **API-04**: Claude Code can view execution history and logs
### Telegram Keyboards
- [x] **KEY-01**: Status command shows container list with inline action buttons
- [x] **KEY-02**: Tapping action button performs start/stop/restart on container
- [x] **KEY-03**: Dangerous actions (stop, restart, update) show confirmation dialog
- [x] **KEY-04**: Progress shown via message edit during operations
- [x] **KEY-05**: Buttons removed after action completes
### Batch Operations
- [x] **BAT-01**: User can update multiple containers in one command
- [x] **BAT-02**: Batch updates execute sequentially with per-container feedback
- [x] **BAT-03**: "Update all" command updates all containers with updates available
- [x] **BAT-04**: "Update all" requires confirmation before executing
- [x] **BAT-05**: One container failure doesn't abort remaining batch
- [x] **BAT-06**: Final summary shows success/failure count
### Deferred to v1.2
- [ ] **UNR-01**: After bot updates a container, Unraid's update badge clears
- [ ] **ENV-01**: Verify if TELEGRAM_USERID container var is needed (vs hardcoded)
- [ ] **ENV-02**: Verify if TELEGRAM_BOT_TOKEN container var is needed (vs n8n credential)
- [ ] **WEB-01**: Fix Telegram webhook so workflow responds when published
## v1.0 Requirements (Validated)
Shipped 2026-02-02.
- [x] **MSG-01**: Send a message to the bot and receive a response
- [x] **STA-01**: Check container status ("status")
- [x] **CTL-01**: Start a container by name
- [x] **CTL-02**: Stop a container by name
- [x] **CTL-03**: Restart a container by name
- [x] **UPD-01**: Update a container (pull new image, recreate)
- [x] **LOG-01**: View container logs with configurable line count
- [x] **AUTH-01**: Bot only responds to your Telegram user ID
## Out of Scope
| Feature | Reason |
|---------|--------|
| Proactive update notifications | Bot is reactive; Unraid Telegram integration handles notifications |
| Natural language understanding | Keyword matching works well; Claude API adds complexity |
| Deploy new containers | Manage existing only; rarely needed from mobile |
| Resource monitoring queries | Deferred to future version |
| Automatic scheduled updates | User-initiated only; avoids downtime at bad times |
| MCP server for n8n | REST API simpler for v1.1; reconsider if iteration is slow |
## Traceability
| Requirement | Phase | Status |
|-------------|-------|--------|
| API-01 | Phase 6 | Complete |
| API-02 | Phase 6 | Complete |
| API-03 | Phase 6 | Complete |
| API-04 | Phase 6 | Complete |
| SEC-01 | Phase 7 | Complete |
| SEC-02 | Phase 7 | Complete |
| SEC-03 | Phase 7 | Complete |
| SEC-04 | Phase 7 | Complete |
| KEY-01 | Phase 8 | Complete |
| KEY-02 | Phase 8 | Complete |
| KEY-03 | Phase 8 | Complete |
| KEY-04 | Phase 8 | Complete |
| KEY-05 | Phase 8 | Complete |
| BAT-01 | Phase 9 | Complete |
| BAT-02 | Phase 9 | Complete |
| BAT-03 | Phase 9 | Complete |
| BAT-04 | Phase 9 | Complete |
| BAT-05 | Phase 9 | Complete |
| BAT-06 | Phase 9 | Complete |
| UNR-01 | Phase 10 | Deferred to v1.2 |
| ENV-01 | Phase 10 | Deferred to v1.2 |
| ENV-02 | Phase 10 | Deferred to v1.2 |
| WEB-01 | Phase 10 | Deferred to v1.2 |
**Coverage:**
- v1.1 requirements: 23 total
- Shipped: 19
- Deferred: 4
---
## Milestone Summary
**Shipped:** 19 of 23 v1.1 requirements
**Adjusted:**
- KEY-03: Originally "stop, restart, update" but restart was changed to immediate (low risk)
- BAT-03/BAT-04: "Update all" implemented for :latest containers only (performance optimization)
**Deferred:**
- UNR-01, ENV-01, ENV-02, WEB-01 — Moved to v1.2 Phase 10
---
*Archived: 2026-02-04 as part of v1.1 milestone completion*