Skip to content

Add ADE brain self-update foundation#726

Merged
arul28 merged 4 commits into
mainfrom
feature/brain-self-update-foundation
Jul 8, 2026
Merged

Add ADE brain self-update foundation#726
arul28 merged 4 commits into
mainfrom
feature/brain-self-update-foundation

Conversation

@arul28

@arul28 arul28 commented Jul 7, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add a headless ade brain update flow that downloads checksummed runtime assets, stages native deps, applies with rollback, records update status, and restarts the brain service.
  • Preserve newer host brains from desktop downgrade/repair, surface version skew in desktop update/About UI, and keep the web client adapter compatible with the new status contract.
  • Add the mobile sync compatibility contract, host hello advertising, iOS limited-host handling/banner, and quality/test/release docs so future mobile-host compatibility stays guarded.

Validation

  • npm --prefix apps/ade-cli run typecheck
  • npm --prefix apps/ade-cli run test
  • npm --prefix apps/desktop run typecheck
  • npm run test:desktop:sharded
  • npm --prefix apps/desktop run lint (warnings only, existing)
  • npm --prefix apps/desktop run build
  • node scripts/validate-docs.mjs
  • sh -n apps/ade-cli/scripts/install-runtime.sh
  • standalone installer smoke test with fake release assets on darwin-arm64
  • XcodeBuildMCP targeted iOS tests: testSyncServiceKeepsLegacyHelloConnectedInLimitedCompatibilityMode, testSyncServiceReadsExplicitFullMobileCompatibilityFromHello, testFireAndForgetRemoteCommandDropsLocallyWhenHostDoesNotAdvertiseAction

Summary by CodeRabbit

  • New Features
    • Added mobile host compatibility contracts for sync (limited/full mode) and user-facing warnings for missing capabilities.
    • Added “ADE brain update” with staging/apply flows and expanded, checksum-verified runtime update artifacts.
    • Added desktop and iOS UI indicators for local runtime version skew and compatibility status.
  • Bug Fixes
    • Older hosts now degrade gracefully without failing WebSocket connections.
    • Runtime/service compatibility handling is more conservative, avoiding incorrect repair/reinstall when versions are out of sync.
  • Documentation / Tests
    • Updated install and release-asset verification documentation; added coverage for mobile compatibility, brain update, and skew UI behavior.

Greptile Summary

This PR adds the foundation for headless ADE brain updates and mobile host compatibility. The main changes are:

  • Adds ade brain update staging, checksum verification, apply, rollback, status, and service restart handling.
  • Publishes standalone runtime binaries, native archives, installer script, and checksum assets in the release workflow.
  • Surfaces runtime version skew in desktop update and About UI paths.
  • Adds shared mobile compatibility contracts for desktop, iOS, sync hello, and remote commands.
  • Updates docs and tests for runtime updates, release assets, and mobile limited-mode behavior.

Confidence Score: 5/5

This looks safe to merge.

No blocking issues were found in the changed code. The brain update restart path carries the self-mutation override, and restart failure rolls back promoted assets while recording the failed update state.

No files need attention.

T-Rex T-Rex Logs

What T-Rex did

  • T-Rex produced a proof for the posted P1 finding and linked it to the review comment detailing the finding.
  • T-Rex validated the contract by running the ADE CLI typecheck, which completed with exit code 0.
  • T-Rex ran a focused Vitest test subset and observed 1 failed test and 109 passed tests across 3 targeted files; the run exited with code 1.
  • T-Rex performed a shell syntax check of the installer script which completed with exit code 0.

View all artifacts

T-Rex Ran code and verified through T-Rex

Important Files Changed

Filename Overview
apps/ade-cli/src/commands/brainUpdate.ts Adds the brain update staging, apply, rollback, restart, and status flow.
apps/ade-cli/src/commands/brainUpdate.test.ts Covers target detection, asset URLs, detached staging, foreground apply, rollback, incomplete native deps, and checksum mismatch.
.github/workflows/release-core.yml Publishes standalone runtime assets and validates the runtime release manifest.
apps/desktop/src/shared/syncMobileCompatibility.ts Defines the shared compatibility contract for mobile hosts and required actions.
apps/ios/ADE/Services/SyncService.swift Handles limited host compatibility and gates unsupported remote actions on iOS.

Comments Outside Diff (1)

  1. General comment

    P1 Focused ADE CLI service manager test fails under the requested validation command

    • Bug
      • The requested focused Vitest validation command fails in resolveAdeServeCommand > uses node plus the CLI script when argv points at a real script. The test expected args to include /home/user/repo/src/cli.ts, but the resolver returned only ["serve"], causing the focused CLI validation subset to fail despite typecheck and installer syntax passing.
    • Cause
      • The failing test sets process.argv[1] = path.resolve("src/cli.ts") while Vitest is running from /home/user/repo, resolving to /home/user/repo/src/cli.ts. That path does not exist in this repository layout, so resolveAdeServeCommand() treats the entry as a nonexistent/synthetic script and falls back to command: process.execPath, args: ["serve"].
    • Fix
      • Make the test provide an actually existing CLI script path at the ADE CLI package location, such as resolving from apps/ade-cli/src/cli.ts, or create a real temporary script fixture before asserting the node-script branch. If the resolver is intended to locate the package CLI from repository-root invocations, update resolveAdeServeCommand() accordingly and add a regression test for that path.

    T-Rex Ran code and verified through T-Rex

Reviews (4): Last reviewed commit: "ship: address runtime promotion review f..." | Re-trigger Greptile

@vercel

vercel Bot commented Jul 7, 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 7, 2026 11:47pm

@cursor

cursor Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@arul28 arul28 changed the title Primary Add ADE brain self-update foundation Jul 7, 2026
@arul28

arul28 commented Jul 7, 2026

Copy link
Copy Markdown
Owner Author

@copilot review but do not make fixes

@coderabbitai

coderabbitai Bot commented Jul 7, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Adds mobile host compatibility signaling and enforcement, a brain runtime self-update command with checksum-verified staging, release packaging changes for standalone runtime artifacts, and desktop runtime version-skew tracking with related UI updates.

Changes

Mobile Host Compatibility Contract

Layer / File(s) Summary
Shared contract and types
apps/desktop/src/shared/syncMobileCompatibility.ts, apps/desktop/src/shared/types/sync.ts, apps/desktop/src/shared/types/core.ts
Defines the mobile compatibility contract version, required action lists, compatibility evaluation, and new sync/runtime type fields.
Sync host hello_ok payload
apps/ade-cli/src/services/sync/syncHostService.ts, apps/ade-cli/src/services/sync/syncHostService.test.ts, apps/desktop/src/main/services/sync/syncRemoteCommandService.test.ts
Builds and verifies features.mobileCompatibility in hello_ok using shared compatibility constants.
iOS compatibility handling
apps/ios/ADE/Services/SyncService.swift, apps/ios/ADE/Views/Settings/ConnectionSettingsView.swift, apps/ios/ADE/Views/Settings/SettingsConnectionHeader.swift, apps/ios/ADETests/ADETests.swift
Parses host compatibility, stores it in settings state, renders a warning banner, and blocks unsupported remote actions locally.
Review and test guidance
.agents/skills/quality/SKILL.md, .agents/skills/quality/references/ade-review-rules.md, .agents/skills/test/SKILL.md
Updates review and test instructions for mobile-host compatibility coverage.

Brain Runtime Self-Update and Release Packaging

Layer / File(s) Summary
brainUpdate command
apps/ade-cli/src/commands/brainUpdate.ts, apps/ade-cli/src/commands/brainUpdate.test.ts
Implements runtime update staging, checksum verification, manifest handling, apply/restart flow, status tracking, and failure cases.
CLI wiring and help
apps/ade-cli/src/cli.ts
Adds brain update dispatch and documents the new update commands in help text.
Runtime env passthrough and install script
apps/ade-cli/src/serviceManager/common.ts, apps/ade-cli/src/serviceManager/common.test.ts, apps/ade-cli/scripts/install-runtime.sh
Forwards runtime env variables to service processes and updates install-time checksum verification and runtime layout handling.
Release workflow and docs
.github/workflows/release-core.yml, .agents/skills/release/SKILL.md, apps/ade-cli/README.md
Publishes standalone runtime artifacts, validates draft assets and checksums, and updates release/install documentation.

Desktop Runtime Version Skew

Layer / File(s) Summary
Connection pool skew state
apps/desktop/src/main/services/localRuntime/localRuntimeConnectionPool.ts, apps/desktop/src/main/services/localRuntime/localRuntimeConnectionPool.test.ts
Adds runtime version comparison, skew-state tracking, isolated-runtime preservation, and matching tests.
Desktop skew UI
apps/desktop/src/shared/syncMobileCompatibility.ts, apps/desktop/src/shared/syncMobileCompatibility.test.ts, apps/desktop/src/shared/types/core.ts, apps/desktop/src/renderer/webclient/adapter/app.ts, apps/desktop/src/renderer/components/app/AutoUpdateControl.tsx, apps/desktop/src/renderer/components/app/AutoUpdateControl.test.tsx, apps/desktop/src/renderer/components/settings/AboutSection.tsx
Exposes runtime skew in shared status data and renders update/skew warnings in the desktop UI.

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

Possibly related PRs

  • arul28/ADE#500: Both modify apps/desktop/src/main/services/localRuntime/localRuntimeConnectionPool.ts and its connection/recovery flow.
  • arul28/ADE#561: Both modify isolated-recovery and compatibility handling in the local runtime pool.
  • arul28/ADE#597: Both change .agents/skills/release/SKILL.md release workflow expectations.
  • arul28/ADE#696: Both touch buildSyncHostHelloOkPayload-driven hello_ok construction.

Suggested labels: desktop, ios, ci

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
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.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is concise and accurately reflects the PR’s main theme of adding ADE brain self-update support.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/brain-self-update-foundation

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.

Comment thread apps/ade-cli/src/commands/brainUpdate.ts

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

Caution

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

⚠️ Outside diff range comments (1)
.agents/skills/release/SKILL.md (1)

549-586: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Stale "14-asset" count contradicts the 15-item list above.

Line 551 states the expected set is 15 assets and enumerates 15 items (552-566), but line 584 still refers to "the 14-asset set is incomplete." This looks like a leftover from before this PR's asset-count change and will confuse whoever runs this release checklist.

📝 Fix the stale count
-If a referenced file is missing, or the 14-asset set is incomplete → the build
+If a referenced file is missing, or the 15-asset set is incomplete → the build
 or upload broke; re-inspect the `build-mac-release` matrix jobs and the runtime
 artifact download/publish step.
🤖 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 @.agents/skills/release/SKILL.md around lines 549 - 586, Update the release
checklist in SKILL.md to remove the stale “14-asset” wording and make the count
consistent with the current per-arch matrix. The section around the asset
verification guidance should match the 15-item list already described, so change
the incomplete-set check to refer to the 15-asset set and keep the rest of the
validation logic aligned with the latest-mac.yml and release asset names.
🧹 Nitpick comments (1)
apps/ade-cli/scripts/install-runtime.sh (1)

139-150: 🩺 Stability & Availability | 🔵 Trivial | ⚡ Quick win

Non-atomic runtime extraction can leave a broken install on interruption.

rm -rf "$runtime_dir/node_modules" followed directly by tar -xzf ... -C "$runtime_dir" removes the old native deps before the new archive is fully extracted. If extraction is interrupted (disk full, killed process), the runtime is left in a broken state requiring a full re-run. brainUpdate.ts's staged-update flow uses atomic promotion for the same class of operation; consider extracting to a temp directory and renaming into place here too for consistency and resilience.

♻️ Suggested atomic extraction pattern
-rm -rf "$runtime_dir/node_modules"
-tar -xzf "$tmp_dir/native.tar.gz" -C "$runtime_dir"
+staged_runtime_dir="$runtime_dir.staging.$$"
+rm -rf "$staged_runtime_dir"
+mkdir -p "$staged_runtime_dir"
+tar -xzf "$tmp_dir/native.tar.gz" -C "$staged_runtime_dir"
+rm -rf "$runtime_dir/node_modules"
+mv "$staged_runtime_dir/node_modules" "$runtime_dir/node_modules"
+rm -rf "$staged_runtime_dir"
🤖 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/scripts/install-runtime.sh` around lines 139 - 150, The runtime
extraction in install-runtime.sh is non-atomic because it deletes
"$runtime_dir/node_modules" before unpacking the new archive, so an interrupted
install can leave a broken runtime. Update the install flow around the native
tar extraction to stage the new node_modules in a temporary directory, verify it
there, and then atomically replace the old directory by renaming/promotion into
"$runtime_dir/node_modules", following the same staged-update approach used by
brainUpdate.ts.
🤖 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/README.md`:
- Around line 329-330: Remove the duplicate `ade sync web` entries from the CLI
surface list in the README so each command appears only once; keep a single
canonical pair of lines for `ade sync web --text` and `ade sync web --open`, and
delete the redundant copy to avoid conflicting descriptions.

In `@apps/ade-cli/src/commands/brainUpdate.ts`:
- Around line 302-306: The update staging directories created by
defaultUpdateStagingDir are left behind after apply completes, so clean them up
in applyStagedBrainUpdate once the staged files are no longer needed. Make sure
the success path and the no-restart-needed path both remove the temporary
directory after promoteStagedNativeRuntime finishes, and preserve cleanup even
if promotion succeeds but the process exits early. Use the existing staging-dir
flow in brainUpdate.ts, especially defaultUpdateStagingDir,
promoteStagedNativeRuntime, and applyStagedBrainUpdate, to add a reliable final
cleanup step.
- Around line 314-348: The defaultDownloadFile request can hang forever because
it only handles "error" and never times out. Update defaultDownloadFile to apply
a timeout to the request returned by resolveDownload(url).get, and make sure the
timeout aborts/rejects the promise with a clear error so staging doesn’t block.
Keep the existing redirect and cleanup flow intact, and ensure the same timeout
behavior covers all callers using defaultDownloadFile.
- Around line 314-343: The redirect handling in defaultDownloadFile currently
accepts any 3xx Location returned by resolveDownload().get, which can downgrade
an HTTPS download to HTTP and weaken update integrity. In the redirect branch,
check the current URL scheme against the redirected URL produced from new
URL(location, url), and reject any redirect that changes from https: to http:.
Keep the fix localized to defaultDownloadFile so both the artifact and
SHA256SUMS fetch paths inherit the same HTTPS-only redirect policy.

In `@apps/desktop/src/main/services/localRuntime/localRuntimeConnectionPool.ts`:
- Around line 1698-1707: The compatibility error mapping in
LocalRuntimeConnectionPool currently treats a compareRuntimeVersionStrings()
result of 0 as runtime_older, which is incorrect for semver-equal versions with
different string forms. Update the LocalRuntimeCompatibilityError construction
in localRuntimeConnectionPool so the status is "unknown" when comparison === 0,
keeping "runtime_newer" and "runtime_older" only for positive and negative
comparisons respectively.

In `@apps/ios/ADE/Views/Settings/SettingsConnectionHeader.swift`:
- Around line 154-167: The compatibilityMessage logic in
SettingsConnectionHeader is producing a singular noun with a plural verb when
missingCount is 1. Update the String returned from compatibilityMessage so the
singular case uses correct verb agreement, while keeping the plural form
unchanged, and verify the branch that handles
hostCompatibilityMissingActions.count still reads naturally for both 1 and many.

---

Outside diff comments:
In @.agents/skills/release/SKILL.md:
- Around line 549-586: Update the release checklist in SKILL.md to remove the
stale “14-asset” wording and make the count consistent with the current per-arch
matrix. The section around the asset verification guidance should match the
15-item list already described, so change the incomplete-set check to refer to
the 15-asset set and keep the rest of the validation logic aligned with the
latest-mac.yml and release asset names.

---

Nitpick comments:
In `@apps/ade-cli/scripts/install-runtime.sh`:
- Around line 139-150: The runtime extraction in install-runtime.sh is
non-atomic because it deletes "$runtime_dir/node_modules" before unpacking the
new archive, so an interrupted install can leave a broken runtime. Update the
install flow around the native tar extraction to stage the new node_modules in a
temporary directory, verify it there, and then atomically replace the old
directory by renaming/promotion into "$runtime_dir/node_modules", following the
same staged-update approach used by brainUpdate.ts.
🪄 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

Run ID: 3f305feb-6fa2-43e2-acaa-eb665abcf604

📥 Commits

Reviewing files that changed from the base of the PR and between c648bd3 and 6e8363e.

⛔ Files ignored due to path filters (5)
  • docs/ARCHITECTURE.md is excluded by !docs/**
  • docs/features/remote-runtime/README.md is excluded by !docs/**
  • docs/features/sync-and-multi-device/README.md is excluded by !docs/**
  • docs/features/sync-and-multi-device/ios-companion.md is excluded by !docs/**
  • docs/features/sync-and-multi-device/remote-commands.md is excluded by !docs/**
📒 Files selected for processing (29)
  • .agents/skills/quality/SKILL.md
  • .agents/skills/quality/references/ade-review-rules.md
  • .agents/skills/release/SKILL.md
  • .agents/skills/test/SKILL.md
  • .github/workflows/release-core.yml
  • apps/ade-cli/README.md
  • apps/ade-cli/scripts/install-runtime.sh
  • apps/ade-cli/src/cli.ts
  • apps/ade-cli/src/commands/brainUpdate.test.ts
  • apps/ade-cli/src/commands/brainUpdate.ts
  • apps/ade-cli/src/serviceManager/common.test.ts
  • apps/ade-cli/src/serviceManager/common.ts
  • apps/ade-cli/src/services/sync/syncHostService.test.ts
  • apps/ade-cli/src/services/sync/syncHostService.ts
  • apps/desktop/src/main/services/localRuntime/localRuntimeConnectionPool.test.ts
  • apps/desktop/src/main/services/localRuntime/localRuntimeConnectionPool.ts
  • apps/desktop/src/main/services/sync/syncRemoteCommandService.test.ts
  • apps/desktop/src/renderer/components/app/AutoUpdateControl.test.tsx
  • apps/desktop/src/renderer/components/app/AutoUpdateControl.tsx
  • apps/desktop/src/renderer/components/settings/AboutSection.tsx
  • apps/desktop/src/renderer/webclient/adapter/app.ts
  • apps/desktop/src/shared/syncMobileCompatibility.test.ts
  • apps/desktop/src/shared/syncMobileCompatibility.ts
  • apps/desktop/src/shared/types/core.ts
  • apps/desktop/src/shared/types/sync.ts
  • apps/ios/ADE/Services/SyncService.swift
  • apps/ios/ADE/Views/Settings/ConnectionSettingsView.swift
  • apps/ios/ADE/Views/Settings/SettingsConnectionHeader.swift
  • apps/ios/ADETests/ADETests.swift

Comment thread apps/ade-cli/README.md Outdated
Comment thread apps/ade-cli/src/commands/brainUpdate.ts
Comment thread apps/ade-cli/src/commands/brainUpdate.ts
Comment thread apps/ade-cli/src/commands/brainUpdate.ts
Comment thread apps/desktop/src/main/services/localRuntime/localRuntimeConnectionPool.ts Outdated
Comment thread apps/ios/ADE/Views/Settings/SettingsConnectionHeader.swift
@arul28

arul28 commented Jul 7, 2026

Copy link
Copy Markdown
Owner Author

@codex review

Comment thread apps/ade-cli/src/commands/brainUpdate.ts

@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: 0aa2127478

ℹ️ 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 7, 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: d8ec0fcde6

ℹ️ 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/scripts/install-runtime.sh Outdated
Comment thread apps/desktop/src/main/services/localRuntime/localRuntimeConnectionPool.ts Outdated
Comment thread apps/ade-cli/src/commands/brainUpdate.ts Outdated
@cursor

cursor Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@arul28

arul28 commented Jul 7, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@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.

🧹 Nitpick comments (1)
apps/desktop/src/main/services/localRuntime/localRuntimeConnectionPool.test.ts (1)

1574-1576: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Remove duplicate tryConnect property declaration.

The internals type assertion declares tryConnect twice — this is a copy-paste artifact. While TypeScript allows duplicate property names in type literals (the last wins), it's confusing and should be a single declaration.

♻️ Proposed fix
       const internals = pool as unknown as {
         tryConnect: (socketPath: string) => Promise<{ socketPath: string } | null>;
-        tryConnect: (socketPath: string) => Promise<{ socketPath: string } | null>;
       };
🤖 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/main/services/localRuntime/localRuntimeConnectionPool.test.ts`
around lines 1574 - 1576, The `internals` type assertion in
`localRuntimeConnectionPool.test.ts` has a duplicate `tryConnect` property in
the inline type literal, which should be cleaned up. Update the `pool as unknown
as { ... }` cast to keep only one `tryConnect` declaration so the `internals`
shape is clear and unambiguous while preserving the existing `tryConnect` usage
in the test.
🤖 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.

Nitpick comments:
In
`@apps/desktop/src/main/services/localRuntime/localRuntimeConnectionPool.test.ts`:
- Around line 1574-1576: The `internals` type assertion in
`localRuntimeConnectionPool.test.ts` has a duplicate `tryConnect` property in
the inline type literal, which should be cleaned up. Update the `pool as unknown
as { ... }` cast to keep only one `tryConnect` declaration so the `internals`
shape is clear and unambiguous while preserving the existing `tryConnect` usage
in the test.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 371ad7f2-2009-4098-b747-3a693a5d3f05

📥 Commits

Reviewing files that changed from the base of the PR and between 6e8363e and c417903.

📒 Files selected for processing (8)
  • .agents/skills/release/SKILL.md
  • apps/ade-cli/README.md
  • apps/ade-cli/scripts/install-runtime.sh
  • apps/ade-cli/src/commands/brainUpdate.test.ts
  • apps/ade-cli/src/commands/brainUpdate.ts
  • apps/desktop/src/main/services/localRuntime/localRuntimeConnectionPool.test.ts
  • apps/desktop/src/main/services/localRuntime/localRuntimeConnectionPool.ts
  • apps/ios/ADE/Views/Settings/SettingsConnectionHeader.swift
💤 Files with no reviewable changes (1)
  • apps/ade-cli/README.md
🚧 Files skipped from review as they are similar to previous changes (5)
  • apps/ios/ADE/Views/Settings/SettingsConnectionHeader.swift
  • .agents/skills/release/SKILL.md
  • apps/ade-cli/scripts/install-runtime.sh
  • apps/desktop/src/main/services/localRuntime/localRuntimeConnectionPool.ts
  • apps/ade-cli/src/commands/brainUpdate.ts

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Keep them coming!

Reviewed commit: c417903852

ℹ️ 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 merged commit bfbc8ce into main Jul 8, 2026
33 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