Record why thumbnails are not queued
catalog.md §6 still described the design of 2026-08-09, where the grid enqueued Thumbnail jobs at Interactive and a runner drained them. It was never built that way: the grid asks a worker directly and the sweep's work list is what the thumbnail store lacks. The one enqueue that did exist fed a queue nobody claimed (#73). §6.1 now states the decision and its evidence: the store is shared between devices and is the only record that knows a thumbnail exists, metadata is owed through metadata_state the same way, the retired rows are dropped at open rather than by a migration so no older device loses the synced catalog, and every_queued_kind_has_a_consumer holds the rule. §6.3 notes that the priority ordering is had without the queue. outstanding.md's FR-PLAT-AND-4 paragraph said the scan's thumbnail jobs were the one reachable enqueue; it now says nothing enqueues, and that feeding the runner means a handler and its enqueue in the same change. Refs #73
This commit is contained in:
@@ -258,11 +258,13 @@ the platform half — a foreground `Service`, `FOREGROUND_SERVICE` and `POST_NOT
|
||||
manifest, and a stated Doze behaviour. The build step that blocked it is no longer a blocker: the
|
||||
APK now compiles its own Java.
|
||||
|
||||
Note also that **no handler is registered**, deliberately. The only enqueue site reachable in the
|
||||
shipping app produces remote thumbnail jobs already served by the async grid worker, and
|
||||
`walk::scan_root` — which holds the other two enqueue sites — has no caller outside an example.
|
||||
Wiring the sweep to claim from the queue is the honest next step and is an async rewrite of
|
||||
`library.rs`.
|
||||
Note also that **no handler is registered**, deliberately — and, since #73, nothing enqueues
|
||||
either. The remote scan's per-photograph `Thumbnail` jobs, and `walk::scan_root`'s `Thumbnail` and
|
||||
`ExtractMetadata` jobs, duplicated debts the thumbnail store and `metadata_state` already record,
|
||||
and were never claimed; they were removed and `Thumbnail` retired ([catalog.md §6.1](catalog.md)).
|
||||
Feeding FR-PLAT-AND-4's platform half is therefore a matter of choosing a kind whose work has no
|
||||
better source of truth, registering its handler, and enqueuing it in the same change —
|
||||
`every_queued_kind_has_a_consumer` refuses the enqueue without the handler.
|
||||
|
||||
**FR-PLAT-AND-5 — built.** A tiered eviction registry drives GPU caches, then proxies, then
|
||||
thumbnails, from `MainEvent::LowMemory` and `MainEvent::Stop`.
|
||||
|
||||
Reference in New Issue
Block a user