docs: sync design pack — design/DECISIONS.md

This commit is contained in:
Ty
2026-07-27 15:47:51 +00:00
parent db053d0b10
commit cfe1707709
+100
View File
@@ -0,0 +1,100 @@
# Resolved design decisions — Lumina / Salon_Assistant
Record of decisions from the planning session. Supersedes chat-only memory.
---
## Product
| ID | Decision |
|----|----------|
| D-01 | Product name working title **Lumina**; repo **Salon_Assistant** under **Ty_Tech** |
| D-02 | Demo persona Claire Bennett (fixtures only); real owner set at intro |
| D-03 | Hermes under NemoClaw; not OpenClaw-first |
| D-04 | No agent payments / bill-pay / refunds |
| D-05 | Client outbound and social: **draft only**; owner sends/posts |
| D-06 | Social media is a **first-class plane** (incl. owner photo/video craft) |
---
## Channels
| ID | Decision |
|----|----------|
| D-10 | Owner MVP channels: **WhatsApp, Email, Telegram** |
| D-11 | Hermes dashboard secondary |
| D-12 | **iMessage** not a supported bot channel |
| D-13 | Channels via Hermes/NemoClaw messaging — not IDE MCPs |
---
## SaaS and MCP
| ID | Decision |
|----|----------|
| D-20 | Scheduling: **Vagaro and/or Square** + fixtures |
| D-21 | Books: **QuickBooks Online** + fixtures |
| D-22 | Agent↔SaaS: **MCP when possible**; scripts/CI use **REST/fixtures** |
| D-23 | **Remote MCP preferred**; local MCP only if necessary |
| D-24 | **Square:** remote MCP; allow bookings/customers/catalog/inventory reads; deny pay tools |
| D-25 | **QBO:** local MCP on same Docker network as Hermes; read tools; deny payment tools; write/update/delete off for MVP |
| D-26 | **Vagaro:** no public MCP → REST + webhooks |
| D-27 | Setup teaches connecting **the owners** accounts, not demo tenants only |
---
## Platform / install
| ID | Decision |
|----|----------|
| D-30 | **Docker-first** runtime; bootstrap installs Docker if missing |
| D-31 | Model OpenAI-compatible endpoint **may be outside** containers |
| D-32 | Host scripts outside containers; some automation in-container — documented split |
| D-33 | **No bespoke control API**; all mutations via `nemohermes` / `openshell` + product scripts |
| D-34 | Hermes write-safety stays on; config via sealed host commands |
| D-35 | Owner never receives terminal/nano/docker instructions |
| D-36 | One Hermes profile MVP; **intro name = profile/sandbox name** |
| D-37 | Multimodal: **aux vision required** for media social; other aux default to base/main |
| D-38 | Prefer platform-native ops; bespoke last resort |
---
## Memory / learning
| ID | Decision |
|----|----------|
| D-40 | Base memory: profile, style pack, structured notes, skills |
| D-41 | Confirm-to-learn / forget; no silent finetune |
| D-42 | No holographic memory MVP |
| D-43 | Optional curated wiki later |
---
## Updates / observability
| ID | Decision |
|----|----------|
| D-50 | Automatic updates **ON by default** |
| D-51 | Owner-transparent (no upgrade chat) |
| D-52 | `upgrade.sh` parent process; pins, volumes, migrations, rollback |
| D-53 | Suppress Hermes interactive update during product upgrade |
| D-54 | Log levels: production (default), debug, trace |
| D-55 | Optional external trace UIs not MVP |
---
## Documentation process
| ID | Decision |
|----|----------|
| D-60 | Use-case SSOT: `design/use-cases.md` (this tree) |
| D-61 | Scenarios: `design/scenarios.md` |
| D-62 | Full architecture plan: `docs/DESIGN_PLAN.md` |
| D-63 | Workspace seed = repo root content for Gitea check-in |
| D-64 | Plan approval ≠ build authorization |
---
## Queues absorbed (historical labels)
Q1 Setup UX · Q2 Educational setup/degrade/identity · Q3 Learning · Q4 Base memory · Q5 Channels MVP · Q6 Media social · Q7 UC SSOT · Q8 Minimal Hermes · Q9 Observability · P1P6 packages · Docker/MCP/profile/update decisions above.