core/dr-catalog/src/runner.rs — the queue jobs.rs always had is now claimed from, completed, failed and recovered after a crash. That is FR-PLAT-AND-3's resumability as much as this requirement's.
What is missing — the platform half
A foreground Service.
FOREGROUND_SERVICE and POST_NOTIFICATIONS in the manifest.
A stated Doze behaviour.
The build step that used to block this is no longer a blocker: the APK compiles its own Java now.
And the part that is deliberately absent
No handler is registered, on purpose. 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 it is an async rewrite of library.rs. That is the real cost of this ticket and it should not be discovered halfway through.
Wire the sweep to the queue, or record a decision that the queue serves only remote work.
See docs/outstanding.md §5.
**FR-PLAT-AND-4 — background execution.** Half built.
## What is done
`core/dr-catalog/src/runner.rs` — the queue `jobs.rs` always had is now claimed from, completed, failed and recovered after a crash. That is FR-PLAT-AND-3's resumability as much as this requirement's.
## What is missing — the platform half
- [ ] A foreground `Service`.
- [ ] `FOREGROUND_SERVICE` and `POST_NOTIFICATIONS` in the manifest.
- [ ] A stated Doze behaviour.
The build step that used to block this is no longer a blocker: the APK compiles its own Java now.
## And the part that is deliberately absent
**No handler is registered**, on purpose. 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 it is an async rewrite of `library.rs`**. That is the real cost of this ticket and it should not be discovered halfway through.
- [ ] Wire the sweep to the queue, or record a decision that the queue serves only remote work.
See `docs/outstanding.md` §5.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
FR-PLAT-AND-4 — background execution. Half built.
What is done
core/dr-catalog/src/runner.rs— the queuejobs.rsalways had is now claimed from, completed, failed and recovered after a crash. That is FR-PLAT-AND-3's resumability as much as this requirement's.What is missing — the platform half
Service.FOREGROUND_SERVICEandPOST_NOTIFICATIONSin the manifest.The build step that used to block this is no longer a blocker: the APK compiles its own Java now.
And the part that is deliberately absent
No handler is registered, on purpose. 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 it is an async rewrite of
library.rs. That is the real cost of this ticket and it should not be discovered halfway through.See
docs/outstanding.md§5.