[P1][Android Scheduled] Implement scheduled-task list, inspection, and safe controls #316

Open
opened 2026-09-08 02:03:31 +00:00 by nsaspy · 1 comment
Owner

Parent: #648
Depends on: #650
Design freeze: PR #649

Goal

Implement the Scheduled drawer surface as a real projection of Zara's canonical long-horizon task/scheduling runtime. Do not build an Android-only scheduler.

Required Zara behavior

  • list upcoming, active, completed and failed scheduled work;
  • inspect schedule/cadence, next run and last outcome;
  • inspect bounded task state/evidence where safe;
  • pause/resume/cancel where the caller is authorized;
  • create/edit through the existing validated task/scheduling boundary;
  • explicit offline/local/remote ownership and degraded state;
  • restart/reconnect does not duplicate task identity or runs.

Zara-first reuse rule

If the existing task runtime lacks a clean typed query/control projection, implement the smallest coherent Zara-side contract and deterministic fixtures first. Then open a focused Prolog-RLM extraction issue that links this issue and the executable Zara tests. The upstream issue must generalize the scheduler/task protocol, not own Android UI or product policy.

RED-first tests

  • upcoming/active/completed/failed classification;
  • stable task IDs across recreation/reconnect;
  • next-run/last-run state projection;
  • pause/resume/cancel authority denial before dispatch;
  • repeated control request is idempotent or explicitly reconciled;
  • cancellation prevents later work where runtime semantics require it;
  • stale/degraded remote state is explicit;
  • secret/private task payloads are not dumped into the list UI.

Screenshot evidence

  • upcoming task list;
  • active task inspection;
  • failed/degraded task;
  • pause/resume/cancel controls;
  • empty scheduled state.

Acceptance

  • Scheduled is backed by canonical Zara task identity/state;
  • no second scheduler is introduced;
  • control actions use existing capability/authority boundaries;
  • local/remote state is explicit;
  • any generic upstream issue points back to working Zara implementation/tests;
  • deterministic screenshots and Android/Core exact-head gates are green.
Parent: #648 Depends on: #650 Design freeze: PR #649 ## Goal Implement the Scheduled drawer surface as a real projection of Zara's canonical long-horizon task/scheduling runtime. Do not build an Android-only scheduler. ## Required Zara behavior - list upcoming, active, completed and failed scheduled work; - inspect schedule/cadence, next run and last outcome; - inspect bounded task state/evidence where safe; - pause/resume/cancel where the caller is authorized; - create/edit through the existing validated task/scheduling boundary; - explicit offline/local/remote ownership and degraded state; - restart/reconnect does not duplicate task identity or runs. ## Zara-first reuse rule If the existing task runtime lacks a clean typed query/control projection, implement the smallest coherent Zara-side contract and deterministic fixtures first. Then open a focused Prolog-RLM extraction issue that links this issue and the executable Zara tests. The upstream issue must generalize the scheduler/task protocol, not own Android UI or product policy. ## RED-first tests - upcoming/active/completed/failed classification; - stable task IDs across recreation/reconnect; - next-run/last-run state projection; - pause/resume/cancel authority denial before dispatch; - repeated control request is idempotent or explicitly reconciled; - cancellation prevents later work where runtime semantics require it; - stale/degraded remote state is explicit; - secret/private task payloads are not dumped into the list UI. ## Screenshot evidence - upcoming task list; - active task inspection; - failed/degraded task; - pause/resume/cancel controls; - empty scheduled state. ## Acceptance - [ ] Scheduled is backed by canonical Zara task identity/state; - [ ] no second scheduler is introduced; - [ ] control actions use existing capability/authority boundaries; - [ ] local/remote state is explicit; - [ ] any generic upstream issue points back to working Zara implementation/tests; - [ ] deterministic screenshots and Android/Core exact-head gates are green.
Author
Owner

Reuse follow-up

Prolog-RLM extraction issue: lost-rob0t/prolog-rlm#415.

#415 is intentionally blocked on this Zara implementation. Once Zara has the actual task projection/control adapter and race/idempotency tests, link them there and extract only the proven generic contract. Do not move the Android product or create a parallel scheduler upstream.

### Reuse follow-up Prolog-RLM extraction issue: `lost-rob0t/prolog-rlm#415`. #415 is intentionally **blocked on this Zara implementation**. Once Zara has the actual task projection/control adapter and race/idempotency tests, link them there and extract only the proven generic contract. Do not move the Android product or create a parallel scheduler upstream.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nsaspy/zara#316
No description provided.