feat: single-command Docker startup, fix UI bugs, add Selenium tests

- Add `make up` / `make up DEV=1` for one-command Docker startup with
  optional hot-reload via docker-compose.dev.yml overlay
- Add `timmy up --dev` / `timmy down` CLI commands
- Fix cross-platform font resolution in creative assembler (7 test failures)
- Fix Ollama host URL not passed to Agno model (container connectivity)
- Fix task panel route shadowing by reordering literal routes before
  parameterized routes in swarm.py
- Fix chat input not clearing after send (hx-on::after-request)
- Fix chat scroll overflow (CSS min-height: 0 on flex children)
- Add Selenium UI smoke tests (17 tests, gated behind SELENIUM_UI=1)
- Install fonts-dejavu-core in Dockerfile for container font support
- Remove obsolete docker-compose version key
- Bump CSS cache-bust to v4

833 unit tests pass, 15 Selenium tests pass (2 skipped).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Alexander Payne
2026-02-25 07:20:56 -05:00
parent 6bae3af268
commit 29292cfb84
16 changed files with 533 additions and 67 deletions

View File

@@ -272,7 +272,9 @@ a:hover { color: var(--orange); }
}
.mc-chat-panel > .card {
height: 100%;
overflow: clip;
min-height: 0; /* flex child: allow shrink below content */
margin-bottom: 0; /* override Bootstrap .card margin that breaks flex sizing */
overflow: hidden;
}
/* ── Panel / Card overrides ──────────────────────── */
@@ -396,6 +398,7 @@ a:hover { color: var(--orange); }
/* ── Chat ────────────────────────────────────────── */
.chat-log {
flex: 1;
min-height: 0; /* allow flex child to shrink below content height */
overflow-y: auto;
-webkit-overflow-scrolling: touch;
}