summaryrefslogtreecommitdiff
path: root/docs/superpowers
diff options
context:
space:
mode:
authorPeter Stone <thepeterstone@gmail.com>2026-07-17 22:28:08 +0000
committerPeter Stone <thepeterstone@gmail.com>2026-07-17 22:28:08 +0000
commit9460b768335dcaf7f89020caf00f1a125de14b20 (patch)
tree035b7b66f8becac8896663352705d1116c17a262 /docs/superpowers
parent0739ea660e6507d3cfbbe9bc4a0903d75b7db9ef (diff)
Document deferred UI screens for chains and buckets
Fleshes out the "not built" notes in both specs into actionable follow-up scope: what data/API layer already exists, what the screen needs to do, and precedent to follow. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ7ikw2ukGJFTHE3bJS7zL
Diffstat (limited to 'docs/superpowers')
-rw-r--r--docs/superpowers/specs/2026-07-15-linear-task-chains-design.md11
-rw-r--r--docs/superpowers/specs/2026-07-15-recurring-maintenance-buckets-design.md9
2 files changed, 20 insertions, 0 deletions
diff --git a/docs/superpowers/specs/2026-07-15-linear-task-chains-design.md b/docs/superpowers/specs/2026-07-15-linear-task-chains-design.md
index 98198b2..16e5337 100644
--- a/docs/superpowers/specs/2026-07-15-linear-task-chains-design.md
+++ b/docs/superpowers/specs/2026-07-15-linear-task-chains-design.md
@@ -61,3 +61,14 @@ Store-layer tests for: creating a chain seeds positions correctly (only position
- Looping chains for ongoing practice — always terminates, per the interview.
- Interaction with maintenance buckets ([[doot-future-task-scheduling-ideas]] item 3) — independent concepts, not designed to compose.
- Web UI specifics for the chain/checklist view.
+
+## Deferred: Android chain-checklist screen
+
+Not built as of 2026-07-17. What exists today: a row-level "N/M" badge on the currently-unlocked task (`WidgetRows.kt`'s `TaskRow`), and the data layer to fetch the full ordered list (`WidgetRepository.fetchChain(id)` → `ChainDetail{chain, tasks}`, hitting `GET /api/widget/chains/{id}`; `Chain`/`ChainTask` models already defined in `WidgetItem.kt`). What's missing is the actual screen: tapping the badge does nothing yet (no `clickable`/`actionStartActivity` wired on it).
+
+Rough shape for whoever picks this up:
+- A new Activity (matching the existing pattern of `TaskDetailActivity`/`EventDetailActivity`-style popups — check current detail-popup activities for the `taskAffinity` fix mentioned in the 2026-07-12 worklog entry, so it doesn't reopen behind Settings) launched via `actionStartActivity` from the chain badge, passing the chain id.
+- On launch: call `WidgetRepository.fetchChain(id)`, render `tasks` in `chain_position` order — locked items dimmed/non-interactive (no due date, not completable from here), the one `chain_unlocked` item shown with its existing Complete affordance.
+- Chain-level actions (pause/resume/abandon) as a small menu or buttons — repository methods `pauseChain`/`resumeChain`/`abandonChain` already exist and are ready to call.
+- No automated Compose UI test harness in this project (established convention) — verify by building and a manual on-device/emulator check, same as every prior widget UI task this session.
+- Web gets nothing here per the original spec ("Web UI specifics... out of scope") — this is Android-only follow-up work.
diff --git a/docs/superpowers/specs/2026-07-15-recurring-maintenance-buckets-design.md b/docs/superpowers/specs/2026-07-15-recurring-maintenance-buckets-design.md
index 2bfb5ba..69ce370 100644
--- a/docs/superpowers/specs/2026-07-15-recurring-maintenance-buckets-design.md
+++ b/docs/superpowers/specs/2026-07-15-recurring-maintenance-buckets-design.md
@@ -68,3 +68,12 @@ Store-layer tests for the selection algorithm (given a pool with known staleness
- UI design.
- Multi-bucket item membership (exactly one bucket per item, per the interview).
- Any interaction with the linear-task-chains feature ([[doot-future-task-scheduling-ideas]] item 4) — buckets and chains are independent concepts, not designed to compose.
+
+## Deferred: bucket-management UI
+
+Not built as of 2026-07-17. What exists: the full CRUD API and store layer (`CreateBucket`, `GetBuckets`, `AddBucketItem`, `RemoveBucketItem`, all with store+handler tests), reachable at `GET/POST /api/widget/buckets`, `POST /api/widget/buckets/{id}/items`, `POST /api/widget/buckets/{id}/items/remove`. The Defer action itself (the part end users actually interact with day-to-day) IS live on both web timeline rows and the Android widget row. What's missing is the create/configure/manage surface — there is currently no way to create a bucket or assign a task to one except direct API calls.
+
+Rough shape for whoever picks this up, per the spec's own minimum bar ("create bucket, add/remove pool items, see cycle settings"):
+- **Web**: closest existing precedent is the Projects list under Settings (`HandleWidgetProjectsGet`/`Create` + whatever template renders it) — a Buckets management page would follow the same shape: a list of buckets (name, cycle_days, pick_n, pool size), a create form, and per-bucket pool membership (search/pick an existing task, or type a new title, to add; remove from the same list).
+- **Android**: per the spec's explicit scoping, this is web-only — the widget only needs Complete/Defer on items it already displays, which is done.
+- No scoring-formula tuning UI needed — that's explicitly out of scope in the spec above, not just deferred.