docs(observatory): record cache proof and pending activation
This commit is contained in:
@@ -54,6 +54,26 @@ compute packages/registries сохранены. Старые agents stopped/rest
|
||||
Следующий шаг: verified published-cache projection. Этап1 по-прежнему открыт;
|
||||
готовый cache/selector/progress и полный расчёт записей ещё не доказаны.
|
||||
|
||||
**Третий инкремент, 2026-09-03: verified cache реализован в коде.** Каталог и
|
||||
preflight принимают только successful/published job с точным source snapshot,
|
||||
RunDefinition, Session provenance и целым пакетом артефактов. Фронтенд читает
|
||||
проверенную привязку вместо прежнего запрета непустых `existing_results`.
|
||||
Готовый результат доступен без dispatch/подготовки raw source; повреждённый
|
||||
не скрывает возможность нового расчёта. Повторный submit и гонка с публикацией
|
||||
защищены внутри queue INSERT transaction; холодная проверка больших файлов
|
||||
требует Refresh и не выполняется под write lock. История не удаляется.
|
||||
|
||||
120 focused backend tests,23 frontend/architecture tests, Ruff, mypy пяти
|
||||
source files и focused TypeScript check PASS. Полная production build и browser
|
||||
QA **пока не выполнены**: Mac memory-pressure=2 при swap~7.6–7.8GiB, чужие постоянные
|
||||
сервисы не остановлены. Canonical8000/PID57796 оставлен на прежнем согласованном
|
||||
backend/frontend release, health200; новый cache ещё не активирован. Worker,
|
||||
модели и живые очереди не изменялись. Полный LAB-run не запускался.
|
||||
[Проверки и следующий шаг](../experiments/perception/OBSERVATORY_PUBLISHED_CACHE_2026-09-03.md).
|
||||
Этап1 остаётся открытым до сборки/активации согласованного release и проверки
|
||||
каталога; затем этап2 — селектор, прогресс и полный цикл на записях. Не повторять
|
||||
уже закрытый ремонт claim/v3 и не возвращаться к сетевым latency canary.
|
||||
|
||||
- Сверить каталог, очередь, публикацию и просмотр для текущих M4.9T5 и LAB V1.
|
||||
- Связать готовность с точной исходной записью и immutable RunDefinition,
|
||||
включающей image/model/config/adapter/result-contract identities.
|
||||
|
||||
@@ -81,6 +81,39 @@ All pre-existing queue row hashes are unchanged. This repairs dispatch polling,
|
||||
not published-cache verification or full recorded-workflow acceptance.
|
||||
See the [repair evidence and rollback boundary](../../experiments/perception/OBSERVATORY_RECORDED_CLAIM_REPAIR_2026-09-02.md).
|
||||
|
||||
## Third increment: exact published-result cache (2026-09-03)
|
||||
|
||||
Implemented in source; activation of the matching backend/frontend release is
|
||||
pending the local resource gate. This does not claim a completed recorded run.
|
||||
|
||||
The portable catalog now joins successful **published** queue receipts to the
|
||||
current per-source catalog snapshot, immutable definition, Session publication
|
||||
binding, calculation profile, package contract, central manifest and every
|
||||
artifact. No matching by LAB name, operator label, or the newest 100-job page.
|
||||
The queue receives two indexes, with no deletion or rewriting of history.
|
||||
The existing computation identity remains the only computation key.
|
||||
|
||||
An exact usable result projects `existing / open-existing`, its result ID and
|
||||
path-free source/definition/package identities. It disables new submission but
|
||||
does not require Worker dispatch or raw-source preparation for cached review.
|
||||
Missing/corrupt artifacts do not count as coverage; the older evidence remains.
|
||||
The newest verified exact candidate is returned; other versions are not hidden
|
||||
from the evidence catalog or mistaken for the current calculation.
|
||||
|
||||
Large immutable result objects are hashed in 1 MiB chunks on first use or file
|
||||
metadata change. A bounded 4096-entry memo rechecks dev/inode/size/mtime/ctime;
|
||||
normal refresh does not reread unchanged large objects. This is result-integrity
|
||||
IO, not source upload, source decoding, model inference, or an FPS measurement.
|
||||
The queue INSERT fence rechecks the published candidate atomically. It never
|
||||
streams large files while holding the write lock: cold/concurrent/changed
|
||||
verification returns HTTP409 requesting Refresh. Exact idempotency retries still
|
||||
return the original job. Verified corruption permits a new request.
|
||||
|
||||
The frontend's existing portable decoder now accepts only bound, internally
|
||||
consistent cached results. No per-LAB page, renderer or selector implementation
|
||||
was introduced. Full selector/progress/product acceptance remains stage 2.
|
||||
See [verification and activation status](../../experiments/perception/OBSERVATORY_PUBLISHED_CACHE_2026-09-03.md).
|
||||
|
||||
## Boundaries
|
||||
|
||||
No Synology deployment, hardware actuation, motor integration, new capture,
|
||||
|
||||
Reference in New Issue
Block a user