Skip to content

Rename Tasks app to Routines (#2143) - #2298

Merged
jaylfc merged 2 commits into
devfrom
exec/tsk-fgj5yp
Aug 4, 2026
Merged

Rename Tasks app to Routines (#2143)#2298
jaylfc merged 2 commits into
devfrom
exec/tsk-fgj5yp

Conversation

@jaylfc

@jaylfc jaylfc commented Aug 4, 2026

Copy link
Copy Markdown
Owner

CARD TITLE (intent, not commit subject): Rename Tasks app to Routines (#2143)

Autonomous build of board card tsk-fgj5yp.

REVIEW WARNING (automated): this card's text asks for tests, but the diff changes no test file. Either the acceptance criteria are unmet or the card needs correcting. Do not merge without resolving this.

Files:
docs/design/plan-desktop-shell-core.md | 2 +-
docs/design/remote-desktop-app-audit.md | 2 +-
docs/superpowers/plans/2026-04-12-x-monitor.md | 2 +-
.../specs/2026-04-12-app-runtime-design.md | 2 +-
.../specs/2026-04-12-github-browser-design.md | 2 +-
.../specs/2026-04-12-x-monitor-design.md | 2 +-
docs/taos-agent-manual.md | 2 +-
10 files changed, 20 insertions(+), 56 deletions(-)

Summary by CodeRabbit

  • UI Updates

    • Renamed the Tasks app to Routines throughout the interface.
    • Updated headings, buttons, labels, dialogs, placeholders, accessibility text, and empty/loading states to use “Routine” terminology.
    • Updated the app registry and built-in app listings to display Routines.
  • Documentation

    • Updated monitoring guidance and testing instructions to refer to scheduled tasks and author watches in the Routines app.

@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@jaylfc, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 5 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: e8a1fe74-8d4a-408d-9142-8de58864d9c4

📥 Commits

Reviewing files that changed from the base of the PR and between 95f2e0c and 90676c0.

📒 Files selected for processing (2)
  • changelog.d/2298-tasks-to-routines.md
  • docs/agent-manual/04-apps.md
📝 Walkthrough

Walkthrough

The existing tasks app now presents itself as “Routines” across the desktop interface, registry, and related documentation. Its identifier, component, configuration, backend behavior, and task data handling remain unchanged.

Changes

Routine terminology

Layer / File(s) Summary
Routine app interface
desktop/src/apps/TasksApp.tsx
User-facing labels, accessibility text, dialog text, placeholders, and save actions now use routine terminology.
App naming and documentation alignment
desktop/src/registry/app-registry.ts, docs/design/*, docs/superpowers/*, docs/taos-agent-manual.md
The registry and related documentation now identify the app as Routines.

Estimated code review effort: 1 (Trivial) | ~5 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the primary change: renaming the Tasks app to Routines.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch exec/tsk-fgj5yp

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@gitar-bot

gitar-bot Bot commented Aug 4, 2026

Copy link
Copy Markdown

Gitar is working

Gitar

@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Rename Tasks app UI to “Routines” (keep app id/routes stable)

✨ Enhancement 📝 Documentation 🕐 10-20 Minutes

Grey Divider

AI Description

• Rename Tasks app UI copy and ARIA labels to “Routines”.
• Update desktop app registry display name from “Tasks” to “Routines”.
• Refresh design/spec docs references from TasksApp to Routines/RoutinesApp.
Diagram

graph TD
  U(("User")) --> S["Desktop Shell"] --> R["app-registry.ts"] --> A["TasksApp.tsx\n(Routines UI)"] --> API["/api/tasks\n(Tasks API)"]
  A --> D["Docs: design/specs" ]
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Full rename: ids/routes/files to “routines”
  • ➕ Eliminates lingering “tasks” terminology in code and URLs
  • ➕ More consistent mental model for new contributors
  • ➖ Higher blast radius: migrations, deep links, saved settings, docs, and API clients may break
  • ➖ Requires redirects/compat shims and broader QA
2. Dual-label approach (Tasks/Routines) during transition
  • ➕ Reduces user confusion during rollout; supports staged communication
  • ➕ Allows gradual doc/UI migration
  • ➖ UI copy becomes noisier and inconsistent
  • ➖ Prolongs the period of mixed terminology in product and docs

Recommendation: Current approach (rename only the user-facing name/copy while keeping id "tasks" and /api/tasks) is the lowest-risk path and likely preserves compatibility with stored app ids, deep links, and backend contracts. If the product direction is to permanently adopt “Routines”, consider a follow-up PR that either (a) adds compatibility aliases (e.g., routines id/route redirecting to tasks) or (b) performs a full rename with explicit migration/redirect plan. Also note the PR warning: no tests changed—either add minimal coverage (e.g., a UI snapshot/ARIA label assertion) or update the card acceptance criteria to reflect a copy-only change.

Files changed (9) +20 / -20

Enhancement (2) +13 / -13
TasksApp.tsxRename Tasks UI strings and ARIA labels to “Routines” +12/-12

Rename Tasks UI strings and ARIA labels to “Routines”

• Updates user-visible copy throughout the Tasks app (titles, empty state, buttons, placeholders, confirm prompts) to use “Routines” terminology. Adjusts ARIA labels accordingly for accessibility consistency.

desktop/src/apps/TasksApp.tsx

app-registry.tsUpdate app registry display name to “Routines” +1/-1

Update app registry display name to “Routines”

• Changes the manifest entry for app id "tasks" to display as “Routines” in the desktop shell while keeping the same component import and launch metadata.

desktop/src/registry/app-registry.ts

Documentation (7) +7 / -7
plan-desktop-shell-core.mdUpdate desktop shell core plan snippet to “Routines” +1/-1

Update desktop shell core plan snippet to “Routines”

• Updates the documented example app manifest list to show “Routines” for the tasks app entry.

docs/design/plan-desktop-shell-core.md

remote-desktop-app-audit.mdRename TasksApp reference to RoutinesApp in audit docs +1/-1

Rename TasksApp reference to RoutinesApp in audit docs

• Updates the remote desktop app audit list to refer to “RoutinesApp” instead of “TasksApp”.

docs/design/remote-desktop-app-audit.md

2026-04-12-x-monitor.mdUpdate X Monitor plan checklist reference to Routines app +1/-1

Update X Monitor plan checklist reference to Routines app

• Replaces “Tasks app” with “Routines app” in the verification checklist to match the new naming.

docs/superpowers/plans/2026-04-12-x-monitor.md

2026-04-12-app-runtime-design.mdRename core app list entry from Tasks to Routines +1/-1

Rename core app list entry from Tasks to Routines

• Updates the enumerated list of built-in core apps to use “Routines” instead of “Tasks”.

docs/superpowers/specs/2026-04-12-app-runtime-design.md

2026-04-12-github-browser-design.mdUpdate GitHub monitor spec reference to Routines app +1/-1

Update GitHub monitor spec reference to Routines app

• Changes the spec line describing where monitoring tasks are visible from “Tasks app” to “Routines app”.

docs/superpowers/specs/2026-04-12-github-browser-design.md

2026-04-12-x-monitor-design.mdUpdate X Monitor spec references to Routines app +1/-1

Update X Monitor spec references to Routines app

• Rewrites the spec narrative to reference scheduled tasks being managed in the “Routines app” rather than the “Tasks app”.

docs/superpowers/specs/2026-04-12-x-monitor-design.md

taos-agent-manual.mdUpdate agent manual bundled apps list to include Routines +1/-1

Update agent manual bundled apps list to include Routines

• Replaces “Tasks” with “Routines” in the list of bundled apps to align documentation with the new naming.

docs/taos-agent-manual.md

@jaylfc

jaylfc commented Aug 4, 2026

Copy link
Copy Markdown
Owner Author

nemotron-super review

VERDICT: No blocking issues found.

Automated first-pass review by the nemotron-super lane. The lead still reviews before merge.

The PR edited docs/taos-agent-manual.md, which is generated from
docs/agent-manual/*.md by scripts/build-agent-manual.py. The source still said
Tasks, so test_compiled_output_matches_committed failed and the next person to
run the build would have silently reverted the rename. Fixed the source and
regenerated. Changelog added as a fragment.
@jaylfc

jaylfc commented Aug 4, 2026

Copy link
Copy Markdown
Owner Author

Reviewed at 95f2e0c; lead-completed at 90676c0. The rename itself is right; it was edited in the wrong place.

THE RENAME IS CORRECT AND CORRECTLY MINIMAL: name 'Tasks' -> 'Routines' in app-registry.ts while KEEPING id: 'tasks' and the TasksApp component. Changing the id would have broken persisted layouts and pinned positions for every existing user, so leaving it is the right call, not an oversight.

THE DEFECT: the PR edited docs/taos-agent-manual.md, which is GENERATED from docs/agent-manual/*.md by scripts/build-agent-manual.py. The source (04-apps.md) still said Tasks. Two consequences: tests/test_agent_manual_compiled.py::test_compiled_output_matches_committed FAILS, and - worse than the red - the next person to run the build script would have silently reverted the rename, with nothing to indicate why it came back.

FIXED: renamed in the SOURCE, regenerated the manual (17617 chars, comfortably under the 18000 cap), sync test now 4/4.

Also added the changelog as a FRAGMENT (changelog.d/2298-tasks-to-routines.md) rather than a CHANGELOG.md edit - #2290 landed that mechanism today, and a rename PR is exactly the kind that sits open long enough to collide on the shared [Unreleased] anchor. doc-gate now clean.

Auto-merge armed on green.

@jaylfc
jaylfc enabled auto-merge (squash) August 4, 2026 17:23

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (2)
desktop/src/apps/TasksApp.tsx (2)

358-358: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick win

Expose the routine-list label to assistive technology.

aria-label on a plain <div> does not provide list semantics reliably. Use a semantic list, or add role="list" and matching role="listitem" children. The terminology change alone does not make the list name discoverable.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@desktop/src/apps/TasksApp.tsx` at line 358, Update the routine list container
in the TasksApp component around the “Routine list” aria-label to use semantic
list markup, preferably replacing the div with a list element and ensuring each
routine child is a list item so the accessible name is exposed reliably.

296-307: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Add regression coverage for the terminology change.

This PR changes toolbar, empty-state, dialog, and action labels, but no test file changes. Add a TasksApp component test for the visible and accessible Routines labels. Also assert that getApp("tasks") still returns the Routines display name while preserving the tasks identifier.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@desktop/src/apps/TasksApp.tsx` around lines 296 - 307, Add regression
coverage in the TasksApp component tests for the updated visible and accessible
“Routines” labels across the toolbar, empty state, dialog, and actions. Also
verify getApp("tasks") returns the “Routines” display name while retaining the
"tasks" identifier.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/design/remote-desktop-app-audit.md`:
- Line 26: Update the documented component entry from RoutinesApp to TasksApp,
preserving Routines only as an optional display name such as Routines
(TasksApp); align it with the exported TasksApp component and registry
identifier.

---

Nitpick comments:
In `@desktop/src/apps/TasksApp.tsx`:
- Line 358: Update the routine list container in the TasksApp component around
the “Routine list” aria-label to use semantic list markup, preferably replacing
the div with a list element and ensuring each routine child is a list item so
the accessible name is exposed reliably.
- Around line 296-307: Add regression coverage in the TasksApp component tests
for the updated visible and accessible “Routines” labels across the toolbar,
empty state, dialog, and actions. Also verify getApp("tasks") returns the
“Routines” display name while retaining the "tasks" identifier.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: f982d0ad-9de9-418c-8f8f-8c45a4ea8c92

📥 Commits

Reviewing files that changed from the base of the PR and between 28a6859 and 95f2e0c.

📒 Files selected for processing (9)
  • desktop/src/apps/TasksApp.tsx
  • desktop/src/registry/app-registry.ts
  • docs/design/plan-desktop-shell-core.md
  • docs/design/remote-desktop-app-audit.md
  • docs/superpowers/plans/2026-04-12-x-monitor.md
  • docs/superpowers/specs/2026-04-12-app-runtime-design.md
  • docs/superpowers/specs/2026-04-12-github-browser-design.md
  • docs/superpowers/specs/2026-04-12-x-monitor-design.md
  • docs/taos-agent-manual.md

- **ProjectsApp** — Kanban + canvas, server-side data
- **MemoryApp** — memory store
- **TasksApp** — server-side tasks
- **RoutinesApp** — server-side tasks

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Keep the documented component identifier as TasksApp.

desktop/src/apps/TasksApp.tsx still exports TasksApp, and the registry still loads that component. Routines is the display name only. Change this entry to TasksApp, or write Routines (TasksApp).

Suggested wording
-- **RoutinesApp** — server-side tasks
+- **Routines (TasksApp)** — server-side tasks
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- **RoutinesApp** — server-side tasks
- **Routines (TasksApp)** — server-side tasks
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/design/remote-desktop-app-audit.md` at line 26, Update the documented
component entry from RoutinesApp to TasksApp, preserving Routines only as an
optional display name such as Routines (TasksApp); align it with the exported
TasksApp component and registry identifier.

@qodo-code-review

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (2) 📘 Rule violations (0) 📜 Skill insights (1)

Context used
✅ Compliance rules (platform): 35 rules

Grey Divider


Remediation recommended

1. Launchpad can't find Tasks 🐞 Bug ≡ Correctness
Description
Launchpad search filters only by AppManifest.name, so after renaming the tasks app’s name to
“Routines”, searching for "tasks" will no longer surface this app even though its id remains
tasks. This regresses app discoverability/backward-compatibility for users/docs still using the
old name.
Code

desktop/src/registry/app-registry.ts[63]

+  { id: "tasks", name: "Routines", icon: "calendar-clock", category: "platform", component: () => import("@/apps/TasksApp").then((m) => ({ default: m.TasksApp })), defaultSize: { w: 800, h: 500 }, minSize: { w: 450, h: 350 }, singleton: true, pinned: false, launchpadOrder: 11 },
Relevance

●●● Strong

Team often accepts regression/backward-compat guards in desktop UI flows; this is a clear
discoverability regression.

PR-#1542

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The manifest rename makes the visible/searchable string “Routines”, while Launchpad search matches
only name, so the legacy query “tasks” no longer matches anything for this app.

desktop/src/registry/app-registry.ts[60-65]
desktop/src/components/Launchpad.tsx[40-50]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
The Launchpad search only matches `app.name`, so renaming the Tasks app to `name: "Routines"` makes the app undiscoverable when users search for the legacy term `tasks`.

### Issue Context
- The app manifest keeps `id: "tasks"` but changes `name` to "Routines".
- Launchpad filters with `a.name.toLowerCase().includes(q)` and does not consider `a.id` or legacy keywords.

### Fix Focus Areas
- desktop/src/components/Launchpad.tsx[40-50]
- desktop/src/registry/app-registry.ts[60-65]

### Suggested fix
Update the Launchpad filter to also match on `a.id` (and optionally a small keyword/alias list), e.g.:
- `a.name.toLowerCase().includes(q) || a.id.toLowerCase().includes(q)`
Optionally add explicit legacy keywords (e.g. `tasks`) if you don’t want ids searchable for all apps.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


2. Em dash in RoutinesApp line 📜 Skill insight ✧ Quality
Description
The updated documentation line contains an em dash character () in public-facing text, which is
disallowed. This can cause inconsistent typography/search behavior and violates the repo style
requirement.
Code

docs/design/remote-desktop-app-audit.md[26]

+- **RoutinesApp** — server-side tasks
Relevance

●● Moderate

No clear repo precedent on banning em dashes; docs often accept formatting/style tweaks but rule is
uncertain.

PR-#482

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
PR Compliance ID 2212258 forbids em dashes () in public-facing text. The changed line in
docs/design/remote-desktop-app-audit.md adds **RoutinesApp** — server-side tasks, which contains
an em dash.

docs/design/remote-desktop-app-audit.md[26-26]
Skill: taos-development-skill

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
A modified documentation line includes an em dash (`—`), which is disallowed in public-facing text.

## Issue Context
The PR updates `TasksApp` to `RoutinesApp` in docs, but the updated line still uses an em dash character.

## Fix Focus Areas
- docs/design/remote-desktop-app-audit.md[26-26]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Informational

3. Docs mention RoutinesApp 🐞 Bug ⚙ Maintainability
Description
docs/design/remote-desktop-app-audit.md now refers to a RoutinesApp, but the actual
implementation/export remains TasksApp. This documentation/code-name mismatch can mislead
maintainers trying to locate the referenced app implementation.
Code

docs/design/remote-desktop-app-audit.md[26]

+- **RoutinesApp** — server-side tasks
Relevance

●● Moderate

Docs/code naming mismatches are sometimes fixed, but rename intent may justify docs using product
name despite export staying TasksApp.

PR-#1542

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The doc explicitly names RoutinesApp, but the code still exports TasksApp, so the doc’s symbol
name is currently incorrect.

docs/design/remote-desktop-app-audit.md[20-28]
desktop/src/apps/TasksApp.tsx[50-56]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
A design doc now names the app `RoutinesApp`, but there is no such exported component; the app implementation is still `TasksApp`.

### Issue Context
The user-facing app name was renamed to “Routines”, but the code-level symbol/file has not been renamed.

### Fix Focus Areas
- docs/design/remote-desktop-app-audit.md[23-29]
- desktop/src/apps/TasksApp.tsx[50-56]

### Suggested fix
Either:
1) Update the doc to say `TasksApp` (and mention it’s branded as “Routines”), or
2) Perform a full code rename (`TasksApp` -> `RoutinesApp`, file/module rename, registry import updates) and keep an alias export if needed for compatibility.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

To customize comments, go to the Qodo configuration screen, or learn more in the docs.

Qodo Logo

- **ProjectsApp** — Kanban + canvas, server-side data
- **MemoryApp** — memory store
- **TasksApp** — server-side tasks
- **RoutinesApp** — server-side tasks

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remediation recommended

1. Em dash in routinesapp line 📜 Skill insight ✧ Quality

The updated documentation line contains an em dash character () in public-facing text, which is
disallowed. This can cause inconsistent typography/search behavior and violates the repo style
requirement.
Agent Prompt
## Issue description
A modified documentation line includes an em dash (`—`), which is disallowed in public-facing text.

## Issue Context
The PR updates `TasksApp` to `RoutinesApp` in docs, but the updated line still uses an em dash character.

## Fix Focus Areas
- docs/design/remote-desktop-app-audit.md[26-26]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

{ id: "channels", name: "Channels", icon: "radio", category: "platform", component: () => import("@/apps/ChannelsApp").then((m) => ({ default: m.ChannelsApp })), defaultSize: { w: 800, h: 500 }, minSize: { w: 450, h: 350 }, singleton: true, pinned: false, launchpadOrder: 9, tier: 3 },
{ id: "secrets", name: "Secrets", icon: "key-round", category: "platform", component: () => import("@/apps/SecretsApp").then((m) => ({ default: m.SecretsApp })), defaultSize: { w: 750, h: 500 }, minSize: { w: 400, h: 300 }, singleton: true, pinned: false, launchpadOrder: 10, tier: 2, group: "System" },
{ id: "tasks", name: "Tasks", icon: "calendar-clock", category: "platform", component: () => import("@/apps/TasksApp").then((m) => ({ default: m.TasksApp })), defaultSize: { w: 800, h: 500 }, minSize: { w: 450, h: 350 }, singleton: true, pinned: false, launchpadOrder: 11 },
{ id: "tasks", name: "Routines", icon: "calendar-clock", category: "platform", component: () => import("@/apps/TasksApp").then((m) => ({ default: m.TasksApp })), defaultSize: { w: 800, h: 500 }, minSize: { w: 450, h: 350 }, singleton: true, pinned: false, launchpadOrder: 11 },

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remediation recommended

2. Launchpad can't find tasks 🐞 Bug ≡ Correctness

Launchpad search filters only by AppManifest.name, so after renaming the tasks app’s name to
“Routines”, searching for "tasks" will no longer surface this app even though its id remains
tasks. This regresses app discoverability/backward-compatibility for users/docs still using the
old name.
Agent Prompt
### Issue description
The Launchpad search only matches `app.name`, so renaming the Tasks app to `name: "Routines"` makes the app undiscoverable when users search for the legacy term `tasks`.

### Issue Context
- The app manifest keeps `id: "tasks"` but changes `name` to "Routines".
- Launchpad filters with `a.name.toLowerCase().includes(q)` and does not consider `a.id` or legacy keywords.

### Fix Focus Areas
- desktop/src/components/Launchpad.tsx[40-50]
- desktop/src/registry/app-registry.ts[60-65]

### Suggested fix
Update the Launchpad filter to also match on `a.id` (and optionally a small keyword/alias list), e.g.:
- `a.name.toLowerCase().includes(q) || a.id.toLowerCase().includes(q)`
Optionally add explicit legacy keywords (e.g. `tasks`) if you don’t want ids searchable for all apps.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

- **ProjectsApp** — Kanban + canvas, server-side data
- **MemoryApp** — memory store
- **TasksApp** — server-side tasks
- **RoutinesApp** — server-side tasks

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Informational

3. Docs mention routinesapp 🐞 Bug ⚙ Maintainability

docs/design/remote-desktop-app-audit.md now refers to a RoutinesApp, but the actual
implementation/export remains TasksApp. This documentation/code-name mismatch can mislead
maintainers trying to locate the referenced app implementation.
Agent Prompt
### Issue description
A design doc now names the app `RoutinesApp`, but there is no such exported component; the app implementation is still `TasksApp`.

### Issue Context
The user-facing app name was renamed to “Routines”, but the code-level symbol/file has not been renamed.

### Fix Focus Areas
- docs/design/remote-desktop-app-audit.md[23-29]
- desktop/src/apps/TasksApp.tsx[50-56]

### Suggested fix
Either:
1) Update the doc to say `TasksApp` (and mention it’s branded as “Routines”), or
2) Perform a full code rename (`TasksApp` -> `RoutinesApp`, file/module rename, registry import updates) and keep an alias export if needed for compatibility.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

@kilo-code-bot

kilo-code-bot Bot commented Aug 4, 2026

Copy link
Copy Markdown

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Files Reviewed (11 files)
  • changelog.d/2298-tasks-to-routines.md
  • desktop/src/apps/TasksApp.tsx
  • desktop/src/registry/app-registry.ts
  • docs/agent-manual/04-apps.md
  • docs/design/plan-desktop-shell-core.md
  • docs/design/remote-desktop-app-audit.md
  • docs/superpowers/plans/2026-04-12-x-monitor.md
  • docs/superpowers/specs/2026-04-12-app-runtime-design.md
  • docs/superpowers/specs/2026-04-12-github-browser-design.md
  • docs/superpowers/specs/2026-04-12-x-monitor-design.md
  • docs/taos-agent-manual.md

Reviewed by step-3.7-flash · Input: 78.3K · Output: 9.9K · Cached: 287K

@jaylfc
jaylfc merged commit 7a4c62a into dev Aug 4, 2026
18 of 19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant