- Fix auth middleware: make GET /api/agents public so agent profiles
load in Firefox mobile (browser doesn't send Basic Auth on XHR)
- Fix CSS: use display: grid; justify-items: center on .content
instead of margin: 0 auto on .panel — Firefox fails to honor
margin: auto with percentage width inside flex containers
- Add box-sizing: border-box to panel elements
- Bump cache busters (v=13 for CSS, v=2 for JS)
Root cause: Firefox mobile on Pixel 4a rendered .panel with
width:72%; margin:0 auto shifted 242px right (flush to edge).
CSS Grid centering resolves the cross-browser rendering difference.
- GET /api/agents - list known profiles with online/offline status
- POST /api/agents/{profile}/send - send message via Hermes CLI subprocess
- GET /api/agents/{profile}/history - retrieve conversation history
- SQLite conversation store at ~/.hermes/kanban/boards/hermes-command-center/conversations.db
- Response cleanup to strip Hermes CLI wrapper formatting
- Auth-gated via existing Basic Auth middleware
- Added GET /api/config/list - list whitelisted config files with metadata
- Added GET /api/config/read - read file content with line numbers
- Added POST /api/config/save - save with auto-backup and YAML validation
- Added POST /api/config/backup - manual backup endpoint
- Security: whitelist-based path validation, rejects paths outside whitelist
- Auto-backup before save with .bak.<timestamp> naming
- YAML validation for .yaml/.yml files
- Frontend: file list sidebar, code editor with line numbers, status bar
- Mobile-responsive layout (file list top, editor below)
- Config panel in nav, lazy-loaded when navigated to
- 13/13 tests passing