Note
This page is generated by scripts/build-roadmap.mjs (spec 022) and refreshed automatically on
every commit by the pre-commit hook — a spec is added to the roadmap as soon as all its tasks are
complete, with no hand-editing. Stats are counted directly from each spec’s spec.md, tasks.md,
and contracts/. To curate phase / status / ADR linkage, edit docs/roadmap/roadmap.data.json
(never this file). Last updated 2026-06-15.
Delivery roadmap for Tasuku, generated from the SDD artifacts (specs, ADRs) under spec 022. Each slice maps to a spec directory; the stats below are counted directly from that spec’s spec.md, tasks.md, and contracts/.
30 roadmap slices across 9 phases —
25 merged, 0 verified on staging, 4 implemented, 1 planned.
30 specs realized: 101 user stories, 908/1094 tasks complete, 536 functional requirements, 34 API contracts.
19 Architecture Decision Records accepted.
Slices are coloured by status: merged (green), verified on staging (blue), implemented
(teal), planned (grey). ⏭ marks what comes next.
flowchart TB
classDef merged fill:#1f7a3d,stroke:#0d3d1f,color:#fff;
classDef verified fill:#2563eb,stroke:#13316b,color:#fff;
classDef implemented fill:#0d9488,stroke:#064e45,color:#fff;
classDef inProgress fill:#d97706,stroke:#7a4304,color:#fff;
classDef planned fill:#6b7280,stroke:#374151,color:#fff;
subgraph P0["Phase 0 — Foundation"]
direction TB
S1["S1 — Identity & access<br/>spec 001 · 3S · 38/50T · 19 FR · 1C<br/>ADR 001, 002, 003, 008, 010"]:::merged
end
subgraph P1["Phase 1 — Core task management (single user)"]
direction TB
S2["S2 — Lists CRUD + offline-sync foundation<br/>spec 002 · 4S · 42/51T · 19 FR · 1C<br/>ADR 009"]:::merged
S3["S3 — Tasks in a List<br/>spec 003 · 5S · 4/62T · 21 FR · 1C"]:::merged
S4["S4 — Steps (child of Task)<br/>spec 004 · 5S · 57/57T · 21 FR · 1C"]:::merged
S5["S5 — Task attributes I: notes, starred, due date<br/>spec 005 · 4S · 49/49T · 21 FR · 1C"]:::merged
end
subgraph P2["Phase 2 — Organization & retrieval"]
direction TB
S6["S6 — Sorting + drag-and-drop ordering<br/>spec 007 · 4S · 60/70T · 14 FR · 1C"]:::merged
S7["S7 — Groups (organize Lists)<br/>spec 008 · 4S · 58/58T · 18 FR · 1C"]:::merged
S8["S8 — Views: My Day, Important, Planned, Tasks<br/>spec 009 · 4S · 49/53T · 22 FR · 1C"]:::merged
S9["S9 — Search (tasks / steps / notes)<br/>spec 010 · 3S · 39/40T · 17 FR · 1C"]:::merged
end
subgraph P3["Phase 3 — Collaboration"]
direction TB
S10["S10 — List sharing & Members<br/>spec 011 · 3S · 35/36T · 20 FR · 1C"]:::merged
S11["S11 — Task assignment / delegation<br/>spec 012 · 3S · 37/37T · 15 FR · 1C"]:::merged
S12["S12 — Near-real-time updates (polling)<br/>spec 013 · 4S · 25/25T · 18 FR · 1C<br/>ADR 006"]:::merged
CI["CI — Full GitLab CI pipeline<br/>spec 006 · 4S · 2/78T · 15 FR · 1C<br/>ADR 007"]:::merged
end
subgraph P4["Phase 4 — Reminders, power features, lifecycle"]
direction TB
S13["S13 — Reminders (in-app) + recurrence<br/>spec 026 · 2S · 28/28T · 19 FR · 1C"]:::merged
S14["S14 — CLI (first-class API client)<br/>spec 028 · 3S · 40/40T · 27 FR · 2C<br/>ADR 004, 005, 014"]:::merged
S15["S15 — Account lifecycle: menu, data export & deletion<br/>spec 027 · 4S · 41/41T · 35 FR · 2C<br/>ADR 013"]:::merged
end
subgraph P5["Phase 5 — Mobile readiness"]
direction TB
S16A["S16-A — Mobile shell & stacked navigation<br/>spec 014 · 3S · 29/30T · 19 FR · 1C"]:::merged
S16B["S16-B — Mobile Lists screen — count badges + shared indicator<br/>spec 015 · 3S · 22/23T · 14 FR · 1C"]:::merged
S16C["S16-C — Mobile Task-list screen — iOS task cards<br/>spec 016 · 3S · 15/15T · 11 FR"]:::merged
S16D["S16-D — Mobile Task-detail / Subtasks screen<br/>spec 017 · 3S · 0/0T · 11 FR"]:::merged
S16E["S16-E — Mobile Empty states — ruled canvas + create-then-rename<br/>spec 018 · 2S · 0/0T · 9 FR"]:::merged
S16F["S16-F — Mobile Search sheet<br/>spec 019 · 3S · 0/0T · 7 FR"]:::merged
end
subgraph P6["Phase 6 — Verification & release enablement"]
direction TB
S17["S17 — Cloudflare staging environment<br/>spec 020 · 3S · 11/19T · 15 FR"]:::merged
S18["S18 — Event-based sync push<br/>spec 021 · 4S · 40/40T · 19 FR · 3C<br/>ADR 011"]:::merged
Docs["Docs — Graphify docs system<br/>spec 022 · 4S · 30/30T · 20 FR · 5C<br/>ADR 012"]:::merged
end
subgraph P7["Phase 7 — Notifications"]
direction TB
S19["S19 ⏭ — Web Push / OS notifications<br/>spec 029 · 3S · 39/44T · 20 FR · 1C<br/>ADR 015, 016"]:::planned
end
subgraph P["Pending triage"]
direction TB
031["031 — Support Section (Contact the Tasuku Team)<br/>spec 031 · 3S · 28/28T · 15 FR · 1C<br/>ADR 017"]:::implemented
032["032 — General Preferences (Behavior & Views)<br/>spec 032 · 2S · 30/30T · 15 FR · 1C"]:::implemented
033["033 — Microsoft To Do Import Wizard<br/>spec 033 · 3S · 36/36T · 25 FR · 2C"]:::implemented
038["038 — Auto-delete old completed tasks<br/>spec 038 · 3S · 24/24T · 15 FR · 1C"]:::implemented
end
P0 --> P1 --> P2 --> P3 --> P4 --> P5 --> P6 --> P7 --> P;
When each Architecture Decision Record was introduced, grouped by the phase that drove it.
timeline
title ADRs introduced across the roadmap
Phase 0 — Foundation : ADR-001 API Versioning Strategy : ADR-002 API Error Envelope Format : ADR-003 OpenAPI Contract Tooling : ADR-008 Internationalization & Localization : ADR-010 Auth UI via Clerk Prebuilt Components + Vendor Localization
Phase 1 — Core task management (single user) : ADR-009 PWA Tooling — `vite-plugin-pwa` Directly (Interim)
Phase 3 — Collaboration : ADR-006 Real-Time Update Transport : ADR-007 Supply-Chain Security Tooling
Phase 4 — Reminders, power features, lifecycle : ADR-004 CLI Authentication Mechanism : ADR-005 CLI Language and Distribution : ADR-013 Account Deletion Orchestration (hard delete across D1 + Clerk) : ADR-014 CLI Token Format, Verification Reuse & Logout Revocation
Phase 6 — Verification & release enablement : ADR-011 Event Push via a Per-User Inbox Durable Object : ADR-012 Documentation Site Toolchain (Astro Starlight)
Phase 7 — Notifications : ADR-015 Server-Side Scheduled Reminder Evaluation via Cloudflare Cron Triggers : ADR-016 Web Push Transport — VAPID + aes128gcm on WebCrypto
Pending triage : ADR-017 Outbound Transactional Email — Cloudflare Email Routing `send_email` to a Verified Destination (free tier)
Spec links open the spec directory; task counts are completed/total checkboxes in tasks.md. A
shipped slice can show fewer than all boxes ticked — some early specs were delivered without ticking
every task — so the Status column is the authoritative signal of what is done.
Slice Spec Title Status Stories FR Tasks Contracts ADRs S1 001 Identity & access Merged to main 3 19 38/50 1 001 , 002 , 003 , 008 , 010
Slice Spec Title Status Stories FR Tasks Contracts ADRs S2 002 Lists CRUD + offline-sync foundation Merged to main 4 19 42/51 1 009 S3 003 Tasks in a List Merged to main 5 21 4/62 1 — S4 004 Steps (child of Task) Merged to main 5 21 57/57 1 — S5 005 Task attributes I: notes, starred, due date Merged to main 4 21 49/49 1 —
Slice Spec Title Status Stories FR Tasks Contracts ADRs S6 007 Sorting + drag-and-drop ordering Merged to main 4 14 60/70 1 — S7 008 Groups (organize Lists) Merged to main 4 18 58/58 1 — S8 009 Views: My Day, Important, Planned, Tasks Merged to main 4 22 49/53 1 — S9 010 Search (tasks / steps / notes) Merged to main 3 17 39/40 1 —
Slice Spec Title Status Stories FR Tasks Contracts ADRs S10 011 List sharing & Members Merged to main 3 20 35/36 1 — S11 012 Task assignment / delegation Merged to main 3 15 37/37 1 — S12 013 Near-real-time updates (polling) Merged to main 4 18 25/25 1 006 CI 006 Full GitLab CI pipeline Merged to main 4 15 2/78 1 007
Slice Spec Title Status Stories FR Tasks Contracts ADRs S13 026 Reminders (in-app) + recurrence Merged to main 2 19 28/28 1 — S14 028 CLI (first-class API client) Merged to main 3 27 40/40 2 004 , 005 , 014 S15 027 Account lifecycle: menu, data export & deletion Merged to main 4 35 41/41 2 013
Slice Spec Title Status Stories FR Tasks Contracts ADRs S16-A 014 Mobile shell & stacked navigation Merged to main 3 19 29/30 1 — S16-B 015 Mobile Lists screen — count badges + shared indicator Merged to main 3 14 22/23 1 — S16-C 016 Mobile Task-list screen — iOS task cards Merged to main 3 11 15/15 0 — S16-D 017 Mobile Task-detail / Subtasks screen Merged to main 3 11 — 0 — S16-E 018 Mobile Empty states — ruled canvas + create-then-rename Merged to main 2 9 — 0 — S16-F 019 Mobile Search sheet Merged to main 3 7 — 0 —
Slice Spec Title Status Stories FR Tasks Contracts ADRs S17 020 Cloudflare staging environment Merged to main 3 15 11/19 0 — S18 021 Event-based sync push Merged to main 4 19 40/40 3 011 Docs 022 Graphify docs system Merged to main 4 20 30/30 5 012
Slice Spec Title Status Stories FR Tasks Contracts ADRs S19 029 Web Push / OS notifications Planned 3 20 39/44 1 015 , 016
Slice Spec Title Status Stories FR Tasks Contracts ADRs 031 031 Support Section (Contact the Tasuku Team) Implemented 3 15 28/28 1 017 032 032 General Preferences (Behavior & Views) Implemented 2 15 30/30 1 — 033 033 Microsoft To Do Import Wizard Implemented 3 25 36/36 2 — 038 038 Auto-delete old completed tasks Implemented 3 15 24/24 1 —