docs(observatory): record selector rules and local UI acceptance
This commit is contained in:
@@ -16,6 +16,9 @@ Docker-профилей, затем переносим выбранный про
|
||||
версий остаются в «Лабораторных доказательствах». Если рассчитаны все текущие
|
||||
совместимые профили, выбор пуст/недоступен, кнопки «Рассчитать» нет, «Обновить»
|
||||
остаётся. Старое имя LAB не доказывает совпадение версии конфигурации.
|
||||
Уточнение владельца 2026-09-03: никаких кнопок/плашек «Расчёт завершён»,
|
||||
«Результат опубликован» и аналогичных подтверждений. Готовность видна по
|
||||
результату с маркером профиля внизу; в выборе остаются только нерассчитанные.
|
||||
|
||||
### Этап 1 — Идентичность расчёта и переиспользование результата (в работе)
|
||||
|
||||
@@ -86,7 +89,7 @@ succeeded/not-required не принят за новый результат. В
|
||||
сохранены. Worker/model jobs не создавались. Browser: каталог, выбор, Refresh,
|
||||
normal/expanded и Escape проверены, console warnings/errors0.
|
||||
|
||||
Этап1 пользовательски ещё не закрыт: текущий селектор смешивает архивные entries
|
||||
На момент активации cache этап1 пользовательски ещё не был закрыт: селектор смешивал архивные entries
|
||||
и portable definitions, а source/setup-only выбор последней job показывает
|
||||
старое «Расчёт завершён» рядом с новым «Рассчитать». Это не текущий cache hit.
|
||||
Следующий шаг на стыке этапов1–2: exact-definition queue/status binding,
|
||||
@@ -95,6 +98,27 @@ normal/expanded и Escape проверены, console warnings/errors0.
|
||||
Подробности/rollback в том же отчёте выше; повторять сборку без изменения кода
|
||||
или снова освобождать память не требуется.
|
||||
|
||||
**Четвёртый инкремент, 2026-09-03: правило выбора исправлено.** Селектор получает
|
||||
только portable definitions, оставляет совместимые без проверенного exact cache
|
||||
hit; архивные LAB и рассчитанные версии остаются в доказательствах ниже.
|
||||
Кнопки/плашки завершения и дублирующее «Записанный разбор» убраны. Все загруженные
|
||||
результаты показаны без прежнего лимита6. «Рассчитать» отсутствует при пустом
|
||||
выборе и во время уже принятого расчёта; до успешной проверки запуска кнопка
|
||||
неактивна. Во время работы есть только индикатор ожидания, без вымышленных
|
||||
процентов. Ошибки и retry публикации сохранены вне строки выбора.
|
||||
Queue GET фильтрует точную definition SHA до LIMIT; при смене source/setup/SHA
|
||||
предыдущие jobs/errors не показываются даже до React effects. Публикация
|
||||
обновляет оба каталога; удаление projection также обновляет выбор.
|
||||
720 frontend tests,52 focused queue/API tests, architecture4/4, typecheck,
|
||||
Ruff/mypy и production build PASS. Подробная финальная runtime/UI-проверка —
|
||||
в [отчёте](../experiments/perception/OBSERVATORY_PUBLISHED_CACHE_2026-09-03.md).
|
||||
Визуальная проверка также выявила сжатие селекторов в узком обычном окне:
|
||||
существующая адаптивная раскладка теперь зависит от ширины окна Observatory,
|
||||
а не всего viewport. Старые terminal logs не выдаются за ошибку нового выбора.
|
||||
Полный новый LAB-run, реальные счётчики прогресса и positive cache/view на
|
||||
операторских данных остаются следующим acceptance этапа2, а не объявляются
|
||||
закрытыми этой правкой интерфейса.
|
||||
|
||||
- Сверить каталог, очередь, публикацию и просмотр для текущих M4.9T5 и LAB V1.
|
||||
- Связать готовность с точной исходной записью и immutable RunDefinition,
|
||||
включающей image/model/config/adapter/result-contract identities.
|
||||
|
||||
@@ -121,6 +121,28 @@ binding and separating archives from executable choices remain required;
|
||||
the activated backend cache does not prove those UI changes complete.
|
||||
See [verification and activation status](../../experiments/perception/OBSERVATORY_PUBLISHED_CACHE_2026-09-03.md).
|
||||
|
||||
## Selector contract clarification — 2026-09-03
|
||||
|
||||
The owner explicitly excludes completion buttons and status badges. A completed
|
||||
current profile is represented by its reviewable, profile-marked evidence below,
|
||||
not by a “calculation complete” control. The selector now contains compatible
|
||||
portable definitions with no verified exact published cache hit. An archived LAB
|
||||
or old definition never hides a new version. An empty selector has no Calculate.
|
||||
An in-flight computation has only an activity indicator; failed publication
|
||||
keeps a separate recovery action and never starts inference again.
|
||||
|
||||
Removed the six-card presentation cap; the existing catalog window limit remains
|
||||
explicit. Queue reads now filter definition SHA before pagination. Hook snapshots
|
||||
are fenced by source/setup/definition so previous jobs cannot flash in the next
|
||||
selection. New synthetic tests exercise none/all/partially cached choices,
|
||||
unavailable executors, legacy/new-version separation and pre-effect selection
|
||||
changes. Sequential validation:720 frontend tests,52 queue/API tests, architecture,
|
||||
typecheck, Ruff/mypy and production build PASS. Full recorded-run/product
|
||||
acceptance and measured progress counters remain stage2.
|
||||
Historical terminal logs do not become a new selection's error. The existing
|
||||
responsive selector layout follows workspace width, including restored narrow
|
||||
windows, rather than only the browser viewport.
|
||||
|
||||
## Boundaries
|
||||
|
||||
No Synology deployment, hardware actuation, motor integration, new capture,
|
||||
|
||||
Reference in New Issue
Block a user