- Add BotUIInstance struct to start botui alongside botserver
- Update E2ETestContext to start botui and use its URL as base_url
- Add start_botui() method to TestContext
- Fix harness to use env vars BOTUI_PORT and BOTSERVER_URL for botui
- Update harness to use debug build by default
- Add SKIP_LLM_SERVER env var to skip local LLM server in tests
- Make stack_path absolute and canonicalize botserver paths
- PostgresService: Find PostgreSQL from system paths or botserver-stack
- MinioService: Find MinIO from system paths or botserver-stack
- BotServerInstance: Pass --stack-path to create clean test stack
- Fix test_mock_services_available to only check enabled services
- Fix test_full_harness_has_all_services for current config
- Fix test_botserver_startup to skip if botserver not available
- All 41 e2e tests now pass
- PostgresService now uses binaries from botserver-stack/bin/tables/bin
- MinioService now uses binary from botserver-stack/bin/drive/minio
- Use absolute paths for PostgreSQL unix_socket_directories
- Add PostgreSQL startup log file for debugging
- Disable MinIO and Redis in full() config (MinIO segfaults, Redis not in stack)
- 38/41 e2e tests now pass