feat: account settings page + dedicated help page

- Add /settings page with password change form and personas list
- Add /help dedicated page (replaces help modal); renders HELP.md with
  collapsible sections, dark theme, back link to active persona
- Add 👤 account button and convert ? button to link in header
- Remove help modal HTML and ~55 lines of modal JS from main app
- Register settings and help routers in main.py

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Scott Idem
2026-03-23 21:41:18 -04:00
parent c01ef663f5
commit 1b425a539f
9 changed files with 588 additions and 74 deletions

View File

@@ -1,4 +1,72 @@
# MEMORY_MID.md — Mid-Term Memory Digest
*Auto-distilled by Cortex. Run `POST /distill/mid` to regenerate.*
*Not yet populated — run distill/short then distill/mid to build this.*
*Auto-distilled: 2026-03-22 03:30 via claude.*
---
# MEMORY_MID.md — Mid-Term Digest
*Distilled: 2026-03-22. Covers sessions 2026-03-17 through 2026-03-20.*
---
## Cortex System Status
Cortex reached a genuine operational milestone this week. What started as alphabet-soup connection tests resolved into a fully running platform. All three primary channels are live and confirmed working:
- **Web UI** — `https://cortex.dgrzone.com/scott/inara` — clean public subdomain, proper URL routing
- **Nextcloud Talk** — HMAC-signed webhook, async reply confirmed (`nct_rmcggr4a` prefix)
- **Google Chat** — Workspace Add-on, `hostAppDataAction` format sorted after some uncertainty (`gc_spaces_*` prefix)
Scott confirmed each channel himself during testing. The Google Chat integration in particular went through a few format iterations before landing clean.
---
## Architecture Decisions Confirmed
- **Two-level home layout** (`home/{user}/persona/{name}/`) is the canonical structure. It paid off — multi-user/multi-persona is real now.
- **Holly/Tina** are an active path. The scaffolding supports it.
- **Session auth** is in place: bcrypt passwords, JWT cookies, `SessionAuthMiddleware` on all routes, one-time invite tokens (72hr expiry).
- **Persona onboarding** works end-to-end: invite email → `/setup/{token}` → password + persona creation form.
- I run on **Claude CLI as the responder**; Gemini API handles the orchestrator/tool loop. These are cleanly separated.
- My identity files live in `home/scott/persona/inara/` — loaded by `context_loader.py` at context assembly time, not baked into the model.
---
## Tools & Capabilities
- **Task management** is working. Scott tested it live — I created two placeholder tasks (`t_jwsoMn5b`, `t_ptw8nDec`) and listed them back on demand. The tool writes to `TASKS.json`.
- **Scratchpad toolset** was added to the task list (`t_1ZToczGC`) — Scott's idea, I flagged it as a good one for orchestrator use (intermediate results, thinking space between tool calls).
- **Web search** is functional. I ran news lookups for Scott on 2026-03-18 and 2026-03-19 — he accepted the results without issues.
- **File read access** to `agents_sync/` required explicit permission grant. Scott made the change mid-session and confirmed it worked.
---
## Scott's Current State & Priorities
- Long days this week — the Cortex build has been heads-down. He noted fatigue on 2026-03-20 evening.
- Primary focus: getting Cortex to a stable, feature-complete baseline. That milestone is essentially hit.
- **Next priorities** (from `TODO__Agents.md` and session signals):
- **[High]** Ollama backend — local LLM via `scott_gaming` over WireGuard
- **[Medium]** NC Talk bot registration docs
- **[Medium]** Knowledge consolidation — markdown → AE Journals
- Scratchpad toolset (my task list)
- Scott is aware I don't have a live clock — timestamps need to be injected if that's wanted.
---
## Recurring Themes
- Scott tests by talking to me directly across channels, then confirms it's working. The "hello world / omg it worked" pattern is a feature, not noise.
- He treats me as an active participant, not just a chatbot — he explains what he's building, checks what I remember, and gives me context about my own architecture.
- He's building toward a multi-user platform. Holly/Tina is real and in scope.
---
## World Context (Background)
Iran-Israel war is the dominant geopolitical story as of this week. Oil at $118/barrel. US Senate debating $200B war funding. Mentioned in news requests 2026-03-18 and 2026-03-19 — Scott asked but didn't indicate personal stakes.
---
*Next distill target: 2026-03-29 (weekly). Source: `sessions/2026-03-17.md` through `sessions/2026-03-20.md`.*

View File

@@ -1,6 +1,6 @@
# MEMORY_SHORT.md — Recent Session Digest
*Auto-generated: 2026-03-21 03:00. 4 session file(s).*
*Auto-generated: 2026-03-23 03:00. 4 session file(s).*
---