Skip to content

Chat 20260609 135513#548

Merged
arul28 merged 3 commits into
mainfrom
ade/chat-20260609-135513-9d5a51d0
Jun 9, 2026
Merged

Chat 20260609 135513#548
arul28 merged 3 commits into
mainfrom
ade/chat-20260609-135513-9d5a51d0

Conversation

@arul28

@arul28 arul28 commented Jun 9, 2026

Copy link
Copy Markdown
Owner

Summary

Describe the change.

What Changed

Key files and behaviors.

Validation

How you tested.

Risks

Anything to watch.

ADE   Open in ADE  ·  ade/chat-20260609-135513-9d5a51d0 branch  ·  PR #548

Greptile Summary

This PR introduces the claude-fable-5 model and ultracode reasoning tier across the full stack (desktop, CLI, iOS), and adds first-class task tracking via TaskCreate/TaskUpdate tool calls so the agents pane can display task progress independently of TodoWrite.

  • New model & tier: anthropic/claude-fable-5 is registered as the new Claude CLI flagship with a 1M context window, ultracode reasoning tier (translated to --effort xhigh --settings {\"ultracode\":true} at launch time), and promoted as the default model in all picker defaults (Claude CLI, Cursor, Droid, OpenCode). The ultracode tier is also added to Opus 4.8, and Sonnet gains a max tier.
  • Task tracking: A per-session claudeTaskTodosById map is maintained by updateClaudeTaskTodosFromToolInput and remapClaudeTaskTodoFromRuntimeEvent; the task_started runtime event now remaps a task from its tool-use ID to the SDK-assigned task ID and marks it in_progress — the fromId === toId edge case flagged in the previous review is correctly handled and tested.
  • UI consolidation: The standalone ChatTasksPanel sidebar is removed; task items are now rendered inside ChatSubagentsPanel (which shows whenever either subagents or tasks are present), using the newly extracted shared ChatTaskList component.

Confidence Score: 5/5

Safe to merge — new model, new effort tier, and task-tracking are all well-isolated and covered by new tests.

The fable model registration and ultracode effort translation follow established patterns and are tested end-to-end. The task-tracking remap logic (including the fromId===toId edge case from the previous review) is explicitly exercised by two new integration tests. No correctness issues were found in the changed paths.

apps/ade-cli/src/tuiClient/app.tsx — the fable default-effort rule is duplicated across two functions in this file and two more in AgentChatPane.tsx; worth consolidating before the pattern spreads further.

Important Files Changed

Filename Overview
apps/desktop/src/main/services/chat/agentChatService.ts Adds TaskCreate/TaskUpdate tool-call tracking via a per-session claudeTaskTodosById map, remapClaudeTaskTodoFromRuntimeEvent (correctly handles fromId===toId case flagged in a previous review), ultracode effort translation, and bumps the Agent SDK version to 0.3.170.
apps/desktop/src/shared/modelRegistry.ts Adds anthropic/claude-fable-5 descriptor, ultracode reasoning tier, and fable-aware defaults for all picker/discovery functions; also extends cursorCliLineGroupFromSdkId and droidCliLineGroupFromModelId regex to match fable.
apps/desktop/src/shared/cliLaunch.ts Replaces inline effort flag construction with claudeRuntimeEffortFlags (translates ultracode→xhigh) and claudeSessionSettingsFlags (injects {ultracode:true} into --settings), applied consistently in both launch and resume command builders.
apps/desktop/src/renderer/components/chat/AgentChatPane.tsx Moves task list into ChatSubagentsPanel (removes standalone ChatTasksPanel sidebar usage), passes todoItems prop, and adds fable-specific default effort selection in selectReasoningEffort.
apps/desktop/src/renderer/components/chat/ChatSubagentsPanel.tsx Accepts a new todoItems prop and renders a Tasks section above the Subagents section, including progress hints (completed/active counts).
apps/desktop/src/renderer/components/chat/ChatTasksPanel.tsx Extracts ChatTaskList as a standalone reusable component so both the drawer variant and the new agents-pane tasks section can share the same sorted task row rendering.
apps/ios/ADE/Views/Work/WorkModelCatalog.swift Adds claude-fable-5 to all three routed catalog groups (Claude CLI, Cursor, OpenCode), extends all string-matching helpers to cover fable, and adds fable-aware provider and tier detection.
apps/ios/ADE/Views/Components/ADEDesignSystem.swift Adds fable colour entries, reasoning-tier arrays, and a fable case in the cursor-SDK colour helper; also promotes Opus 4.8 and Sonnet to include ultracode/max tiers respectively.
apps/desktop/src/main/services/chat/agentChatService.test.ts Adds two well-structured integration tests: one for the full TaskCreate → task_started → TaskUpdate flow, and one specifically for the fromId === toId edge case that was flagged in the previous review.
apps/ade-cli/src/tuiClient/app.tsx Adds ultracode to the efforts array, fable-specific default effort in both firstReasoningEffortForModel and fallbackModelStatePatch — the same rule is duplicated across two functions plus two places in AgentChatPane.
apps/ade-cli/src/tuiClient/components/ModelPicker/modelPickerLayout.ts Fixes sub-provider label/key resolution: claude and codex families now always show providerLabel(family) rather than inheriting the catalog group label, matching the desktop model picker behaviour.

Sequence Diagram

sequenceDiagram
    participant SDK as Claude Agent SDK
    participant ACS as agentChatService
    participant Map as claudeTaskTodosById
    participant UI as ChatSubagentsPanel

    SDK->>ACS: "tool_use {name: TaskCreate, id: tu-1, input: {subject: ...}}"
    ACS->>Map: updateClaudeTaskTodosFromToolInput(tu-1, input)
    Map-->>ACS: "[{id:tu-1, status:pending, description:...}]"
    ACS->>UI: "todo_update {items: [...]}"

    SDK->>ACS: "system/task_started {parent_tool_use_id:tu-1, task_id:task-1}"
    ACS->>Map: remapClaudeTaskTodoFromRuntimeEvent(tu-1 to task-1, status:in_progress)
    Map-->>ACS: "[{id:task-1, status:in_progress, description:...}]"
    ACS->>UI: "todo_update {items: [...]}"

    SDK->>ACS: "tool_use {name: TaskUpdate, id: tu-2, input: {taskId:task-1, status:completed}}"
    ACS->>Map: updateClaudeTaskTodosFromToolInput(tu-2, input)
    Map-->>ACS: "[{id:task-1, status:completed, description:...}]"
    ACS->>UI: "todo_update {items: [...]}"
Loading

Fix All in Claude Code

Prompt To Fix All With AI
Fix the following 1 code review issue. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 1
apps/ade-cli/src/tuiClient/app.tsx:722-773
**Fable default-effort logic duplicated across three separate functions**

The "default to `high` for fable models" rule is inlined in `firstReasoningEffortForModel` (twice — once for the catalog entry, once for the registry descriptor) and again in `fallbackModelStatePatch`. An identical check already exists in `AgentChatPane.tsx:selectReasoningEffort`. If the intended default effort for fable ever changes, all three sites need to be updated in lock-step. Centralising this in one helper (or declaring a `defaultReasoningTier` field in the model descriptor) would remove the duplication.

Reviews (3): Last reviewed commit: "ship: iteration 2 - fix pricing and mode..." | Re-trigger Greptile

@vercel

vercel Bot commented Jun 9, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
ade Ignored Ignored Preview Jun 9, 2026 8:47pm

@coderabbitai

coderabbitai Bot commented Jun 9, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@arul28, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 5 minutes and 39 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

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.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 87f5678b-806d-46e2-a13c-c76d0a57bdf4

📥 Commits

Reviewing files that changed from the base of the PR and between 960b86d and 59d6e2e.

⛔ Files ignored due to path filters (2)
  • apps/ade-cli/package-lock.json is excluded by !**/package-lock.json, !**/package-lock.json
  • apps/desktop/package-lock.json is excluded by !**/package-lock.json, !**/package-lock.json
📒 Files selected for processing (28)
  • apps/ade-cli/package.json
  • apps/ade-cli/src/tuiClient/app.tsx
  • apps/ade-cli/src/tuiClient/components/ModelPicker/modelPickerLayout.ts
  • apps/desktop/package.json
  • apps/desktop/src/main/services/chat/agentChatService.test.ts
  • apps/desktop/src/main/services/chat/agentChatService.ts
  • apps/desktop/src/main/services/chat/cursorModelsDiscovery.ts
  • apps/desktop/src/main/services/chat/droidModelsDiscovery.ts
  • apps/desktop/src/main/services/opencode/openCodeInventory.ts
  • apps/desktop/src/main/services/usage/usagePricing.ts
  • apps/desktop/src/renderer/components/chat/AgentChatPane.tsx
  • apps/desktop/src/renderer/components/chat/ChatSubagentsPanel.test.tsx
  • apps/desktop/src/renderer/components/chat/ChatSubagentsPanel.tsx
  • apps/desktop/src/renderer/components/chat/ChatTasksPanel.tsx
  • apps/desktop/src/renderer/components/shared/ModelPicker/ModelListRow.tsx
  • apps/desktop/src/renderer/components/shared/ModelPicker/ReasoningEffortPicker.tsx
  • apps/desktop/src/renderer/components/terminals/cliLaunch.test.ts
  • apps/desktop/src/shared/claudeCliModels.ts
  • apps/desktop/src/shared/cliLaunch.ts
  • apps/desktop/src/shared/modelProfiles.test.ts
  • apps/desktop/src/shared/modelProfiles.ts
  • apps/desktop/src/shared/modelRegistry.test.ts
  • apps/desktop/src/shared/modelRegistry.ts
  • apps/desktop/src/shared/types/models.ts
  • apps/ios/ADE/Views/Components/ADEDesignSystem.swift
  • apps/ios/ADE/Views/Work/WorkModelCatalog.swift
  • apps/ios/ADE/Views/Work/WorkModelPickerSheet.swift
  • apps/ios/ADETests/ADETests.swift
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ade/chat-20260609-135513-9d5a51d0

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 and usage tips.

@arul28

arul28 commented Jun 9, 2026

Copy link
Copy Markdown
Owner Author

@copilot review but do not make fixes

@mintlify

mintlify Bot commented Jun 9, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
ade-ac1c6011 🟢 Ready View Preview Jun 9, 2026, 8:01 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@arul28

arul28 commented Jun 9, 2026

Copy link
Copy Markdown
Owner Author

@copilot review but do not make fixes

Comment thread apps/desktop/src/shared/modelRegistry.ts
Comment thread apps/desktop/src/main/services/chat/agentChatService.ts
Comment thread apps/ios/ADE/Views/Work/WorkModelCatalog.swift
@arul28

arul28 commented Jun 9, 2026

Copy link
Copy Markdown
Owner Author

@copilot review but do not make fixes

@arul28 arul28 force-pushed the ade/chat-20260609-135513-9d5a51d0 branch from ffb0b14 to 59d6e2e Compare June 9, 2026 20:47
@arul28

arul28 commented Jun 9, 2026

Copy link
Copy Markdown
Owner Author

@copilot review but do not make fixes

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