Reasoning controls
Per-request reasoning levels: Fast / Balanced / Extended, with a live "thinking" panel directly in chat. Plus per-schedule reasoning — each cron job picks its own effort. On the backend, max_tokens and temperature are now plumbed cleanly through the API → Agent layer.
Scheduler
Schedules have become a real product surface. Prompts are inline-editable, each run has its own reasoning level, and the new History tab links every task back to the conversation it produced (when the session still exists). URL-addressable too: #scheduler/history opens that tab directly.
Admin panel
- Hash-addressable (
#admin/<tab>, "Exit" restores the prior tab) - Read-only session viewer for any user
- Tokens per user as a daily chart over 7 days
- Chat-vs-task token sources — today's breakdown
- Distinct, well-separated color palette for the per-user chart
URL-addressable modals everywhere
Scheduler, Memory, Settings, Connections, Personalization, Files — all directly linkable. Memory supports sub-paths like #memory/deleted and #memory/<category>. Internal tasks are no longer written to URL state.
Connections & OAuth
The big enterprise integrations landed:
- Microsoft 365 and Google Workspace with per-user OAuth
- Multi-workspace Notion
- Expired-token state visible in Settings
- Notion
create_pagenow resolves titles correctly from the DB schema - New tool:
move_email - Google migrated from device-code to authorization-code flow (including several rounds of redirect_uri debugging)
Stripe
Integration landed (hidden inside the "Collapsible Messages + Stripe Integration + Reasoning Effort" commit — bundled, but real).
Backend hardening
- All DB calls offloaded from async handlers onto a thread pool
- SQLite
busy_timeoutraised to 30 seconds - Conversation storage normalized to append-only
session_messages - Proxy timeouts raised to 10 minutes, SSE fixed behind Cloudflare
- Real backend errors now surface again, instead of being masked by health checks
Polish & branding
- UI aligned to the Nolen brand guidelines throughout
- Collapsible sidebar in chat
- "Thinking" UI reworked
- Reasoning pill in the header toned down
- Attachments re-sent when editing a message
- Header buttons no longer trigger a 1Password save prompt
Ops
- CI auto-deploys stage on push to
master just backupnow works on deploy hostsdocker-composeparametrized for multi-environment- Playbook for
nolen.chadded