Skip to content

Automatic Lane Naming -> Primary - #977

Merged
arul28 merged 9 commits into
mainfrom
ade/automatic-lane-naming
Jul 31, 2026
Merged

Automatic Lane Naming -> Primary#977
arul28 merged 9 commits into
mainfrom
ade/automatic-lane-naming

Conversation

@arul28

@arul28 arul28 commented Jul 31, 2026

Copy link
Copy Markdown
Owner

ADE   Open in ADE  ·  ade/automatic-lane-naming branch  ·  PR #977

Summary by CodeRabbit

  • New Features

    • GitHub authentication now prioritizes environment credentials, GitHub CLI, then stored tokens.
    • Added clearer GitHub permission details and rate-limit warnings.
    • Lane renaming shows an accessible animated “Naming lane…” state and refreshes automatically.
    • Chat sessions display accurate turn timing and concise status notes.
    • Lane updates refresh the desktop interface immediately without unnecessary notifications.
  • Documentation

    • Updated CLI help and agent guidance with six-word status-note limits and clearer workflows.
  • Bug Fixes

    • Improved chat steering, session lifecycle tracking, and authentication fallback behavior.

@vercel

vercel Bot commented Jul 31, 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 Jul 31, 2026 10:17am

@coderabbitai

coderabbitai Bot commented Jul 31, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

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

Next review available in: 27 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

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: 6a527bae-37bc-46c1-9c91-d863efbffa55

📥 Commits

Reviewing files that changed from the base of the PR and between e61031d and eb8fa83.

📒 Files selected for processing (4)
  • apps/ade-cli/src/adeRpcServer.test.ts
  • apps/ade-cli/src/headlessLinearServices.test.ts
  • apps/desktop/src/renderer/components/github/GitHubAppInstallPanel.test.tsx
  • apps/desktop/src/renderer/components/github/GitHubAppInstallPanel.tsx
📝 Walkthrough

Walkthrough

Changes

ADE status, chat lifecycle, lane updates, and GitHub authentication

Layer / File(s) Summary
Shared contracts and normalization
apps/desktop/src/shared/*
Added credential selectors, active-turn timestamps, lane lifecycle events, and six-word status-note normalization.
GitHub credential precedence
apps/desktop/src/main/services/github/*, apps/ade-cli/src/headlessLinearServices.ts, apps/ade-cli/src/cli.ts
REST authentication now selects environment credentials, GitHub CLI credentials, then stored PAT credentials. GitHub App credentials remain read-only for webhook-backed updates.
Chat lifecycle and steering
apps/desktop/src/main/services/chat/*, apps/desktop/src/main/services/ipc/registerIpc.ts, apps/ade-cli/src/services/sync/*
Active chat turns track their start time. Accepted user steering uses steerUserMessage, with marker cleanup tied to dispatch acceptance.
Status guidance and persistence
apps/desktop/src/shared/adeCliGuidance.ts, apps/desktop/resources/agent-skills/*, apps/desktop/src/main/services/sessions/*, apps/ade-cli/src/services/sync/rosterBuilder.ts
ADE guidance defines concise notes, asks, blocking behavior, and session-control limits. Persisted notes and settlement outcomes use the shared normalization rules.
Lane lifecycle and naming UI
apps/desktop/src/main/services/lanes/*, apps/desktop/src/renderer/components/terminals/*, apps/ade-cli/src/tuiClient/*
Lane branch updates emit lifecycle events and refresh the TUI. Desktop lane views show an accessible animated “Naming lane…” label during auto-naming.
GitHub status UI
apps/desktop/src/renderer/lib/githubIntegrationStatus.ts, apps/desktop/src/renderer/components/github/*, apps/desktop/src/renderer/components/settings/GitHubSection.tsx
GitHub credential presentation distinguishes App and token modes. Repository views show rate-limit warnings and updated permission details.

Estimated code review effort: 4 (Complex) | ~60 minutes

Possibly related PRs

Suggested labels: desktop, docs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 9.76% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the automatic lane naming feature, which is a substantial and directly represented part of the changeset.
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
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ade/automatic-lane-naming

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.

@arul28

arul28 commented Jul 31, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Another round soon, please!

Reviewed commit: 15d69bc3c0

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@arul28

arul28 commented Jul 31, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: af1888c69c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/desktop/src/main/services/ipc/registerIpc.ts
@arul28

arul28 commented Jul 31, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3e7d688df6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/desktop/src/main/services/github/githubService.ts Outdated
Comment thread apps/desktop/src/main/services/chat/agentChatService.ts Outdated
@arul28
arul28 force-pushed the ade/automatic-lane-naming branch from 3e7d688 to ab62838 Compare July 31, 2026 08:11
@arul28

arul28 commented Jul 31, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Another round soon, please!

Reviewed commit: ab62838071

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@arul28

arul28 commented Jul 31, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Delightful!

Reviewed commit: 3930a5757f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@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: 12

🧹 Nitpick comments (1)
apps/desktop/src/renderer/components/settings/GitHubSection.tsx (1)

38-46: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Reuse REQUIRED_GITHUB_REPOSITORY_PERMISSIONS in the error copy.

The constant now includes Checks: Read and write and Commit statuses: Read. Two error messages in this file still list only Contents, Pull requests, Metadata, Actions, and Workflows (the handleSaveToken message and the repoProbeFailed message). The lists can drift further. Derive both messages from this constant.

🤖 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 `@apps/desktop/src/renderer/components/settings/GitHubSection.tsx` around lines
38 - 46, Update the handleSaveToken and repoProbeFailed error messages in
GitHubSection to derive their permission lists from
REQUIRED_GITHUB_REPOSITORY_PERMISSIONS instead of duplicating hardcoded entries.
Preserve the existing message context while ensuring both messages include every
permission currently defined by the constant.
🤖 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 `@apps/ade-cli/src/cli.ts`:
- Line 1721: Separate the example command from its explanatory description in
the CLI help text near the chat note example. Move the description to its own
line or prefix it with the surrounding comment marker so it cannot be
interpreted as additional ade chat note arguments.

In `@apps/ade-cli/src/headlessLinearServices.test.ts`:
- Around line 672-677: Prevent inherited GitHub environment tokens from
affecting both new credential tests. In
apps/ade-cli/src/headlessLinearServices.test.ts at lines 672-677, capture and
delete ADE_GITHUB_TOKEN, GITHUB_TOKEN, and GH_TOKEN before creating the service,
then restore them in the existing finally block; apply the same handling at
lines 729-742 alongside GH_CONFIG_DIR and ADE_DISABLE_GH_AUTH_FALLBACK,
restoring each original value in that test’s finally block.

In `@apps/ade-cli/src/headlessLinearServices.ts`:
- Around line 592-603: Preserve the GitHub CLI metadata when the PAT resolver
wins: update the `pat` resolver in the lookup and the corresponding
`readTokenAsync` path to merge the previously observed `ghCliPath` and
`ghAuthError` from `ghAuthToken()` into the PAT result instead of resetting them
to null. Keep the PAT token and source fields unchanged while ensuring
`getStatus` can report CLI diagnostics after a PAT fallback.

In `@apps/desktop/resources/agent-skills/ade-cli-control-plane/SKILL.md`:
- Around line 193-195: Update the status-note guidance in
apps/desktop/resources/agent-skills/ade-cli-control-plane/SKILL.md:193-195 to
state the 3–6-word and 72-character limits. Update the corresponding source help
definition in apps/desktop/resources/ade-cli-help.txt:605 to include both
limits, then regenerate the help digest so it matches.

In `@apps/desktop/src/main/services/chat/agentChatService.ts`:
- Around line 35516-35556: Update steerUserMessage and its steerWithOptions
dispatch flow so idle OpenCode, Cursor, and Droid sessions resolve immediately
once the steer is accepted and its dispatched steer id is available, without
awaiting executePreparedSendMessage or the full turn. Clear turn-start markers
after acceptance, while preserving existing queue-full and non-idle behavior.
- Around line 35519-35530: Update waitsForProviderDispatch to narrow
managed.runtime by its kind before accessing busy, following the existing
canRouteActiveSendToSteer pattern. Ensure the check only reads busy on runtime
variants that declare it while preserving the current provider, busy, and
session-status conditions.

In `@apps/desktop/src/main/services/github/githubService.ts`:
- Around line 716-724: The CLI credential selectors report an incorrect
patTokenStored value for environment and gh sources. In
apps/ade-cli/src/headlessLinearServices.ts lines 585-603 and 626-644, update the
environment and gh branches of readToken and readTokenAsync to return the actual
stored-PAT state, matching the reference behavior in
apps/desktop/src/main/services/github/githubService.ts lines 716-724; no direct
change is required at the desktop site.

In `@apps/desktop/src/main/services/lanes/laneService.ts`:
- Around line 6666-6674: Emit the lane-branch-updated lifecycle event from every
path that changes lanes.branch_ref, specifically the branch-ref updates in
switchBranch and the keep-head path of resolveBranchDrift. Reuse the existing
lane lookup and event payload pattern shown here, while preserving any existing
lane-renamed emission.

In `@apps/desktop/src/renderer/components/chat/AgentChatPane.tsx`:
- Around line 10165-10170: Update the failed dispatch catch path in the
send/steer flow to reconcile the optimistic changes made by touchSession and
activeTurnSessionSummaryPatch: after dispatch failure, refresh the session
summary or restore its prior state so the session is not left active with a
stale currentTurnStartedAt, while preserving the existing composer restoration.

In `@apps/desktop/src/renderer/components/terminals/LaneNamingLabel.tsx`:
- Around line 11-17: Update the naming indicator in LaneNamingLabel so its
"Naming lane…" label is exposed through a valid accessible role: use
role="status" on the live indicator, or provide equivalent visually hidden
accessible text while removing the unsupported aria-label from the span. Verify
the resulting accessibility tree in Chromium/Electron.

In `@apps/desktop/src/shared/adeCliGuidance.test.ts`:
- Around line 64-82: Add the 72-character status-note limit string to the
invariant list in the test case “keeps the bundled control-plane skill aligned
with the bootstrap lifecycle contract,” ensuring both bootstrap guidance and
SKILL.md are checked for this requirement alongside the existing lifecycle
phrases.

In `@apps/desktop/src/shared/sessionStatusNote.ts`:
- Around line 16-19: Update the word-based truncation in the status-note
formatting logic to reserve one character for the ellipsis, ensuring any result
produced when additional words exist remains within MAX_STATUS_NOTE_CHARACTERS.
Preserve the existing character-based truncation and untruncated wordSummary
behavior.

---

Nitpick comments:
In `@apps/desktop/src/renderer/components/settings/GitHubSection.tsx`:
- Around line 38-46: Update the handleSaveToken and repoProbeFailed error
messages in GitHubSection to derive their permission lists from
REQUIRED_GITHUB_REPOSITORY_PERMISSIONS instead of duplicating hardcoded entries.
Preserve the existing message context while ensuring both messages include every
permission currently defined by the constant.
🪄 Autofix (Beta)

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: b338a776-155d-41da-9372-b3164d6303a9

📥 Commits

Reviewing files that changed from the base of the PR and between b84bef3 and 3930a57.

⛔ Files ignored due to path filters (8)
  • CHANGELOG.md is excluded by !*.md
  • docs/features/agents/README.md is excluded by !docs/**
  • docs/features/chat/README.md is excluded by !docs/**
  • docs/features/chat/composer-and-ui.md is excluded by !docs/**
  • docs/features/lanes/README.md is excluded by !docs/**
  • docs/features/onboarding-and-settings/README.md is excluded by !docs/**
  • docs/features/terminals-and-sessions/README.md is excluded by !docs/**
  • docs/features/terminals-and-sessions/ui-surfaces.md is excluded by !docs/**
📒 Files selected for processing (50)
  • apps/ade-cli/README.md
  • apps/ade-cli/src/cli.ts
  • apps/ade-cli/src/headlessLinearServices.test.ts
  • apps/ade-cli/src/headlessLinearServices.ts
  • apps/ade-cli/src/services/sync/rosterBuilder.test.ts
  • apps/ade-cli/src/services/sync/rosterBuilder.ts
  • apps/ade-cli/src/services/sync/syncRemoteCommandService.test.ts
  • apps/ade-cli/src/services/sync/syncRemoteCommandService.ts
  • apps/ade-cli/src/tuiClient/__tests__/appPolling.test.tsx
  • apps/ade-cli/src/tuiClient/app.tsx
  • apps/ade-cli/src/tuiClient/remoteLauncher.ts
  • apps/desktop/resources/ade-cli-help.txt
  • apps/desktop/resources/agent-skills/ade-cli-control-plane/SKILL.md
  • apps/desktop/src/main/services/ai/tools/orchestrationTools.test.ts
  • apps/desktop/src/main/services/ai/tools/systemPrompt.test.ts
  • apps/desktop/src/main/services/chat/agentChatService.test.ts
  • apps/desktop/src/main/services/chat/agentChatService.ts
  • apps/desktop/src/main/services/chat/cursorSdkSystemPrompt.test.ts
  • apps/desktop/src/main/services/github/githubService.test.ts
  • apps/desktop/src/main/services/github/githubService.ts
  • apps/desktop/src/main/services/ipc/registerIpc.ts
  • apps/desktop/src/main/services/lanes/laneService.test.ts
  • apps/desktop/src/main/services/lanes/laneService.ts
  • apps/desktop/src/main/services/sessions/chatSessionProjection.ts
  • apps/desktop/src/main/services/sessions/sessionService.test.ts
  • apps/desktop/src/main/services/sessions/sessionService.ts
  • apps/desktop/src/main/services/sync/syncRemoteCommandService.test.ts
  • apps/desktop/src/renderer/components/app/toast/useLaneEventToasts.ts
  • apps/desktop/src/renderer/components/chat/AgentChatPane.test.tsx
  • apps/desktop/src/renderer/components/chat/AgentChatPane.tsx
  • apps/desktop/src/renderer/components/github/GitHubAppInstallPanel.tsx
  • apps/desktop/src/renderer/components/settings/GitHubSection.tsx
  • apps/desktop/src/renderer/components/terminals/LaneNamingLabel.tsx
  • apps/desktop/src/renderer/components/terminals/SessionCard.test.tsx
  • apps/desktop/src/renderer/components/terminals/SessionCard.tsx
  • apps/desktop/src/renderer/components/terminals/SessionListPane.test.tsx
  • apps/desktop/src/renderer/components/terminals/SessionListPane.tsx
  • apps/desktop/src/renderer/components/terminals/SessionStatusSlot.tsx
  • apps/desktop/src/renderer/index.css
  • apps/desktop/src/renderer/lib/githubIntegrationStatus.test.ts
  • apps/desktop/src/renderer/lib/githubIntegrationStatus.ts
  • apps/desktop/src/renderer/lib/sessions.ts
  • apps/desktop/src/renderer/state/laneNamingStore.ts
  • apps/desktop/src/shared/adeCliGuidance.test.ts
  • apps/desktop/src/shared/adeCliGuidance.ts
  • apps/desktop/src/shared/githubOperationCredential.ts
  • apps/desktop/src/shared/sessionStatusNote.ts
  • apps/desktop/src/shared/types/chat.ts
  • apps/desktop/src/shared/types/lanes.ts
  • apps/desktop/src/shared/types/sessions.ts

Comment thread apps/ade-cli/src/cli.ts Outdated
Comment thread apps/ade-cli/src/headlessLinearServices.test.ts
Comment thread apps/ade-cli/src/headlessLinearServices.ts
Comment thread apps/desktop/resources/agent-skills/ade-cli-control-plane/SKILL.md Outdated
Comment thread apps/desktop/src/main/services/chat/agentChatService.ts
Comment thread apps/desktop/src/main/services/lanes/laneService.ts
Comment thread apps/desktop/src/renderer/components/chat/AgentChatPane.tsx
Comment thread apps/desktop/src/renderer/components/terminals/LaneNamingLabel.tsx
Comment thread apps/desktop/src/shared/adeCliGuidance.test.ts
Comment thread apps/desktop/src/shared/sessionStatusNote.ts Outdated
@arul28
arul28 force-pushed the ade/automatic-lane-naming branch from 3930a57 to 3d1e54c Compare July 31, 2026 08:58
@arul28

arul28 commented Jul 31, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3d1e54c301

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/ade-cli/src/headlessLinearServices.ts Outdated
@arul28

arul28 commented Jul 31, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5b57ef7823

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/desktop/src/main/services/ipc/registerIpc.ts
@arul28

arul28 commented Jul 31, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e61031d93a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/desktop/src/renderer/components/github/GitHubAppInstallPanel.tsx Outdated

@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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
apps/ade-cli/src/adeRpcServer.test.ts (1)

2332-2332: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Assert that createCall exists before checking its environment.

createCall comes from mock.calls.at(-1)?.[0], so the assertion can pass when no ptyService.create call exists. Add an explicit expect(createCall).toBeDefined(); before createCall?.env.

🤖 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 `@apps/ade-cli/src/adeRpcServer.test.ts` at line 2332, In the test assertion
around createCall, first assert that createCall is defined, then check its env
does not contain ADE_BUNDLED_AGENT_SKILLS_DIR_ENV. Remove the optional chaining
from the environment assertion so the test cannot pass when no ptyService.create
call was recorded.
🤖 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 `@apps/ade-cli/src/headlessLinearServices.test.ts`:
- Around line 674-682: The test setup stores and clears environment tokens but
does not isolate GH_CONFIG_DIR, allowing the host's GitHub CLI credentials to
interfere with the test. Add a store of the previous GH_CONFIG_DIR value
alongside the other previousX variables, set process.env.GH_CONFIG_DIR to a new
temporary directory using fs.mkdtempSync with a unique name pattern (matching
the ADE_HOME pattern), and restore it in the finally block along with the other
restored environment variables.

---

Outside diff comments:
In `@apps/ade-cli/src/adeRpcServer.test.ts`:
- Line 2332: In the test assertion around createCall, first assert that
createCall is defined, then check its env does not contain
ADE_BUNDLED_AGENT_SKILLS_DIR_ENV. Remove the optional chaining from the
environment assertion so the test cannot pass when no ptyService.create call was
recorded.
🪄 Autofix (Beta)

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: 0fa64d45-c539-49cc-b423-b3d81121a11d

📥 Commits

Reviewing files that changed from the base of the PR and between 3930a57 and e61031d.

⛔ Files ignored due to path filters (8)
  • CHANGELOG.md is excluded by !*.md
  • docs/features/agents/README.md is excluded by !docs/**
  • docs/features/chat/README.md is excluded by !docs/**
  • docs/features/chat/composer-and-ui.md is excluded by !docs/**
  • docs/features/lanes/README.md is excluded by !docs/**
  • docs/features/onboarding-and-settings/README.md is excluded by !docs/**
  • docs/features/terminals-and-sessions/README.md is excluded by !docs/**
  • docs/features/terminals-and-sessions/ui-surfaces.md is excluded by !docs/**
📒 Files selected for processing (55)
  • apps/ade-cli/README.md
  • apps/ade-cli/src/adeRpcServer.test.ts
  • apps/ade-cli/src/cli.ts
  • apps/ade-cli/src/headlessLinearServices.test.ts
  • apps/ade-cli/src/headlessLinearServices.ts
  • apps/ade-cli/src/services/sync/rosterBuilder.test.ts
  • apps/ade-cli/src/services/sync/rosterBuilder.ts
  • apps/ade-cli/src/services/sync/syncRemoteCommandService.test.ts
  • apps/ade-cli/src/services/sync/syncRemoteCommandService.ts
  • apps/ade-cli/src/tuiClient/__tests__/appPolling.test.tsx
  • apps/ade-cli/src/tuiClient/app.tsx
  • apps/ade-cli/src/tuiClient/remoteLauncher.ts
  • apps/desktop/resources/ade-cli-help.txt
  • apps/desktop/resources/agent-skills/ade-cli-control-plane/SKILL.md
  • apps/desktop/src/main/services/adeActions/registry.test.ts
  • apps/desktop/src/main/services/adeActions/registry.ts
  • apps/desktop/src/main/services/ai/tools/orchestrationTools.test.ts
  • apps/desktop/src/main/services/ai/tools/systemPrompt.test.ts
  • apps/desktop/src/main/services/chat/agentChatService.test.ts
  • apps/desktop/src/main/services/chat/agentChatService.ts
  • apps/desktop/src/main/services/chat/cursorSdkSystemPrompt.test.ts
  • apps/desktop/src/main/services/github/githubService.test.ts
  • apps/desktop/src/main/services/github/githubService.ts
  • apps/desktop/src/main/services/ipc/registerIpc.ts
  • apps/desktop/src/main/services/ipc/runtimeBridge.test.ts
  • apps/desktop/src/main/services/lanes/laneService.test.ts
  • apps/desktop/src/main/services/lanes/laneService.ts
  • apps/desktop/src/main/services/sessions/chatSessionProjection.ts
  • apps/desktop/src/main/services/sessions/sessionService.test.ts
  • apps/desktop/src/main/services/sessions/sessionService.ts
  • apps/desktop/src/main/services/sync/syncRemoteCommandService.test.ts
  • apps/desktop/src/renderer/components/app/toast/useLaneEventToasts.ts
  • apps/desktop/src/renderer/components/chat/AgentChatPane.test.tsx
  • apps/desktop/src/renderer/components/chat/AgentChatPane.tsx
  • apps/desktop/src/renderer/components/github/GitHubAppInstallPanel.tsx
  • apps/desktop/src/renderer/components/settings/GitHubSection.tsx
  • apps/desktop/src/renderer/components/terminals/LaneNamingLabel.tsx
  • apps/desktop/src/renderer/components/terminals/SessionCard.test.tsx
  • apps/desktop/src/renderer/components/terminals/SessionCard.tsx
  • apps/desktop/src/renderer/components/terminals/SessionListPane.test.tsx
  • apps/desktop/src/renderer/components/terminals/SessionListPane.tsx
  • apps/desktop/src/renderer/components/terminals/SessionStatusSlot.tsx
  • apps/desktop/src/renderer/index.css
  • apps/desktop/src/renderer/lib/githubIntegrationStatus.test.ts
  • apps/desktop/src/renderer/lib/githubIntegrationStatus.ts
  • apps/desktop/src/renderer/lib/sessions.ts
  • apps/desktop/src/renderer/state/laneNamingStore.ts
  • apps/desktop/src/shared/adeCliGuidance.test.ts
  • apps/desktop/src/shared/adeCliGuidance.ts
  • apps/desktop/src/shared/githubOperationCredential.ts
  • apps/desktop/src/shared/sessionStatusNote.test.ts
  • apps/desktop/src/shared/sessionStatusNote.ts
  • apps/desktop/src/shared/types/chat.ts
  • apps/desktop/src/shared/types/lanes.ts
  • apps/desktop/src/shared/types/sessions.ts
🚧 Files skipped from review as they are similar to previous changes (46)
  • apps/ade-cli/src/tuiClient/remoteLauncher.ts
  • apps/ade-cli/README.md
  • apps/ade-cli/src/services/sync/rosterBuilder.ts
  • apps/desktop/resources/ade-cli-help.txt
  • apps/desktop/src/shared/types/sessions.ts
  • apps/desktop/src/renderer/index.css
  • apps/desktop/src/main/services/ai/tools/orchestrationTools.test.ts
  • apps/desktop/src/main/services/ai/tools/systemPrompt.test.ts
  • apps/desktop/src/main/services/sync/syncRemoteCommandService.test.ts
  • apps/desktop/src/renderer/components/terminals/LaneNamingLabel.tsx
  • apps/desktop/src/shared/sessionStatusNote.ts
  • apps/desktop/src/main/services/ipc/registerIpc.ts
  • apps/desktop/src/shared/adeCliGuidance.ts
  • apps/desktop/src/renderer/components/terminals/SessionListPane.test.tsx
  • apps/desktop/src/renderer/components/github/GitHubAppInstallPanel.tsx
  • apps/desktop/src/renderer/lib/sessions.ts
  • apps/desktop/src/renderer/state/laneNamingStore.ts
  • apps/desktop/src/shared/types/lanes.ts
  • apps/ade-cli/src/services/sync/syncRemoteCommandService.test.ts
  • apps/ade-cli/src/cli.ts
  • apps/ade-cli/src/tuiClient/tests/appPolling.test.tsx
  • apps/desktop/src/main/services/lanes/laneService.ts
  • apps/desktop/src/renderer/components/terminals/SessionStatusSlot.tsx
  • apps/desktop/src/renderer/lib/githubIntegrationStatus.test.ts
  • apps/ade-cli/src/services/sync/syncRemoteCommandService.ts
  • apps/desktop/src/shared/types/chat.ts
  • apps/desktop/src/renderer/components/terminals/SessionCard.test.tsx
  • apps/desktop/src/shared/githubOperationCredential.ts
  • apps/desktop/src/renderer/components/chat/AgentChatPane.test.tsx
  • apps/desktop/src/renderer/lib/githubIntegrationStatus.ts
  • apps/ade-cli/src/services/sync/rosterBuilder.test.ts
  • apps/desktop/src/main/services/sessions/sessionService.test.ts
  • apps/desktop/src/main/services/chat/cursorSdkSystemPrompt.test.ts
  • apps/desktop/src/renderer/components/terminals/SessionListPane.tsx
  • apps/ade-cli/src/tuiClient/app.tsx
  • apps/desktop/src/main/services/github/githubService.ts
  • apps/desktop/src/main/services/lanes/laneService.test.ts
  • apps/desktop/resources/agent-skills/ade-cli-control-plane/SKILL.md
  • apps/desktop/src/renderer/components/terminals/SessionCard.tsx
  • apps/desktop/src/main/services/sessions/chatSessionProjection.ts
  • apps/desktop/src/main/services/sessions/sessionService.ts
  • apps/desktop/src/renderer/components/chat/AgentChatPane.tsx
  • apps/desktop/src/renderer/components/settings/GitHubSection.tsx
  • apps/desktop/src/renderer/components/app/toast/useLaneEventToasts.ts
  • apps/desktop/src/main/services/github/githubService.test.ts
  • apps/ade-cli/src/headlessLinearServices.ts

Comment thread apps/ade-cli/src/headlessLinearServices.test.ts
@arul28

arul28 commented Jul 31, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: eb8fa83beb

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +35571 to +35575
&& result.reason !== "queue_full"
&& !args.metadata?.scheduledWake
&& (!waitsForProviderDispatch || markersCleared)
) {
clearAcceptedUserMarkers();

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Keep markers when an attachment-only steer is dropped

When a user answers a busy Droid chat with only a file or image, Droid's active-turn branch calls prepareSendMessage with attachments: [], so preparation returns null and no steer is queued. This condition nevertheless treats the resulting { queued: false } as accepted and clears the turn-start/attention markers, making the Needs you hand-raise disappear even though the attachment never reached the provider; only clear markers after preparation or queueing confirms acceptance.

Useful? React with 👍 / 👎.

@arul28
arul28 merged commit 8073158 into main Jul 31, 2026
33 checks passed
@arul28
arul28 deleted the ade/automatic-lane-naming branch July 31, 2026 10:32
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