- Implemented HubSnapshot and central HubStateStore for normalized in-memory state caching (<0.05ms) - Refactored AccountsView and RoutingView with reusable AccountCardWidget and RoutingRoleWidget to eliminate widget recreation - Implemented central HermesRefreshScheduler with 5s tick, concurrency throttling, dedup, and spread initial delays - Added typed EventBus with thread-safe UI main loop dispatching via root.after - Implemented dynamic ModelRegistry with capability-based role requirements and multi-dimensional scoring - Integrated Antigravity separate quota buckets (Claude vs Gemini) and same-account model fallback - Enhanced SessionAffinityTracker with TTL expiration and LRU capacity bounds - Eliminated long subprocess holding of _CM_LOCK and ensured Windows credential restoration in finally block - Added FastAPI REST contracts in gui_server.py as foundation for future Tauri frontend - Verified 100% pass across all 91 pytest tests and 7/7 release gate criteria
2.2 KiB
2.2 KiB
Задание: Hermes Hub — Plan A Stabilization, Refresh-архитектура, Delta UI и Smart Capability/Cost Model Routing
Цели
- Аудит текущего Git HEAD (
2b8b709). - Ввести единый
HubSnapshotиHubStateStore. - Убрать destroy/recreate из
AccountsViewиRoutingView(перевести на стабильные reused виджеты поprofile_id/role_id). - Убрать любые вызовы
scan_all()/ сетевые / файловые I/O из UI Views и_restore_status(). - Обновлять только активную вкладку; при скрытых вкладках сохранять generation и выполнять lazy update при открытии.
- Разработать централизованный
HermesRefreshScheduler(tick каждые 5с,max_concurrent_refresh=1, stable initial delays, running guard, overlap policy). - Поддержать single-account refresh, refresh-all (только configured), request deduplication и stale response sequence protection.
- Разработать типизированный thread-safe
EventBusс delta событиями. - Проверить и исправить Win32 single instance mutex lifetime, thread-safe singletons и SessionAffinityTracker TTL + LRU capacity.
- Разработать динамический
ModelRegistryиCapabilityPolicy(без жесткой привязки к номерам версий моделей: Fast/Dispatcher, Researcher, Core Coder, Routine Coder, Reviewer), scoring по capability, quality, reasoning, latency, cost, diversity, quota buckets, same-account fallback и формированием объяснимого trace. - Расширить
gui_server.pyи WebSocket/event contracts для будущего перехода на Tauri без изменения бизнес-логики. - Разработать и запустить бенчмарки и тесты (reuse, performance, dedup, stale, scheduler, mutex, session TTL, routing, capability, cost).
- Пройти полный pytest suite и
release_gate.py. - Закоммитить и запушить в
mainбез создания релизного тега v0.1.1.